Merge "Use WatchedItemStore in ApiQueryInfo::getWatchedInfo"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 21 Mar 2016 10:24:09 +0000 (10:24 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 21 Mar 2016 10:24:09 +0000 (10:24 +0000)
189 files changed:
RELEASE-NOTES-1.27
composer.json
includes/Block.php
includes/DefaultSettings.php
includes/EditPage.php
includes/HistoryBlob.php
includes/HtmlFormatter.php
includes/HttpFunctions.php
includes/Linker.php
includes/MediaWiki.php
includes/MovePage.php
includes/OutputPage.php
includes/Sanitizer.php
includes/Setup.php
includes/Title.php
includes/WikiMap.php
includes/actions/InfoAction.php
includes/api/ApiQuery.php
includes/api/ApiQueryStashImageInfo.php
includes/api/i18n/ba.json
includes/api/i18n/eo.json [new file with mode: 0644]
includes/api/i18n/nap.json
includes/api/i18n/ru.json
includes/cache/BacklinkCache.php
includes/db/DatabaseMysqli.php
includes/diff/DifferenceEngine.php
includes/export/XmlDumpWriter.php
includes/filebackend/SwiftFileBackend.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/htmlform/HTMLTitleTextField.php
includes/htmlform/HTMLUserTextField.php
includes/import/WikiImporter.php
includes/installer/CliInstaller.php
includes/installer/DatabaseInstaller.php
includes/installer/MssqlInstaller.php
includes/installer/PostgresInstaller.php
includes/installer/WebInstaller.php
includes/installer/WebInstallerComplete.php
includes/installer/WebInstallerInstall.php
includes/installer/WebInstallerName.php
includes/installer/WebInstallerOptions.php
includes/installer/i18n/ba.json
includes/installer/i18n/eo.json
includes/installer/i18n/es.json
includes/installer/i18n/lt.json
includes/installer/i18n/vi.json
includes/jobqueue/JobRunner.php
includes/jobqueue/JobSpecification.php
includes/jobqueue/utils/BacklinkJobUtils.php
includes/libs/objectcache/CachedBagOStuff.php
includes/logging/LogEventsList.php
includes/logging/LogPager.php
includes/mail/EmailNotification.php
includes/media/Bitmap_ClientOnly.php
includes/media/MediaTransformOutput.php
includes/media/SVG.php
includes/media/SVGMetadataExtractor.php
includes/media/TransformationalImageHandler.php
includes/media/XCF.php
includes/page/Article.php
includes/page/ImagePage.php
includes/page/WikiPage.php
includes/pager/ReverseChronologicalPager.php
includes/parser/CoreParserFunctions.php
includes/parser/Parser.php
includes/parser/ParserCache.php
includes/parser/ParserOptions.php
includes/resourceloader/ResourceLoaderImage.php
includes/session/BotPasswordSessionProvider.php
includes/skins/Skin.php
includes/specials/SpecialChangePassword.php
includes/specials/SpecialContributions.php
includes/specials/SpecialDeletedContributions.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialFileDuplicateSearch.php
includes/specials/SpecialJavaScriptTest.php
includes/specials/SpecialListDuplicatedFiles.php
includes/specials/SpecialListfiles.php
includes/specials/SpecialListusers.php
includes/specials/SpecialMediaStatistics.php
includes/specials/SpecialNewimages.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialRandomInCategory.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialRedirect.php
includes/specials/SpecialSearch.php
includes/specials/SpecialTags.php
includes/specials/SpecialUnblock.php
includes/specials/SpecialUploadStash.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialUserrights.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWhatlinkshere.php
includes/upload/UploadBase.php
includes/upload/UploadFromChunks.php
includes/upload/UploadFromUrl.php
includes/upload/UploadStash.php
includes/user/BotPassword.php
includes/user/LoggedOutEditToken.php
includes/user/User.php
languages/Language.php
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/ca.json
languages/i18n/cs.json
languages/i18n/de.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/ka.json
languages/i18n/kk-cyrl.json
languages/i18n/ko.json
languages/i18n/la.json
languages/i18n/mai.json
languages/i18n/my.json
languages/i18n/pdc.json
languages/i18n/pl.json
languages/i18n/ps.json
languages/i18n/pt.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/uk.json
languages/i18n/vi.json
languages/i18n/wa.json
languages/i18n/war.json
languages/i18n/zh-hans.json
maintenance/cleanupUploadStash.php
maintenance/commandLine.inc
maintenance/importImages.php
maintenance/language/checkDupeMessages.php
maintenance/language/checkLanguage.php
maintenance/language/transstat.php
maintenance/mcc.php
maintenance/namespaceDupes.php
maintenance/parse.php
maintenance/preprocessorFuzzTest.php
maintenance/resetUserEmail.php
maintenance/sqlite.php
maintenance/storage/checkStorage.php
maintenance/storage/fixBug20757.php
maintenance/storage/moveToExternal.php
maintenance/update.php
maintenance/updateSearchIndex.php
package.json
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/includes/BlockTest.php
tests/phpunit/includes/FauxResponseTest.php
tests/phpunit/includes/RevisionStorageTest.php
tests/phpunit/includes/TitlePermissionTest.php
tests/phpunit/includes/api/ApiLoginTest.php
tests/phpunit/includes/api/ApiUploadTest.php
tests/phpunit/includes/api/UserWrapper.php
tests/phpunit/includes/cache/GenderCacheTest.php
tests/phpunit/includes/context/RequestContextTest.php
tests/phpunit/includes/exception/HttpErrorTest.php
tests/phpunit/includes/filebackend/FileBackendTest.php
tests/phpunit/includes/filerepo/FileBackendDBRepoWrapperTest.php
tests/phpunit/includes/filerepo/file/FileTest.php
tests/phpunit/includes/filerepo/file/LocalFileTest.php
tests/phpunit/includes/media/BitmapMetadataHandlerTest.php
tests/phpunit/includes/media/MediaWikiMediaTestCase.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/includes/password/PasswordPolicyChecksTest.php
tests/phpunit/includes/password/UserPasswordPolicyTest.php
tests/phpunit/includes/session/BotPasswordSessionProviderTest.php
tests/phpunit/includes/session/CookieSessionProviderTest.php
tests/phpunit/includes/session/SessionManagerTest.php
tests/phpunit/includes/user/LocalIdLookupTest.php
tests/phpunit/languages/LanguageTest.php
tests/phpunit/maintenance/backupTextPassTest.php
tests/phpunit/maintenance/backup_LogTest.php
tests/phpunit/maintenance/backup_PageTest.php
tests/phpunit/skins/SideBarTest.php
tests/phpunit/structure/ApiDocumentationTest.php
tests/phpunit/suites/UploadFromUrlTestSuite.php

index 45b06e9..2f8f53a 100644 (file)
@@ -10,6 +10,9 @@ As of 1.27, MediaWiki now requires PHP 5.5.9 or higher. This corresponds with
 HHVM 3.1.
 
 === Configuration changes in 1.27 ===
+* $wgAllowMicrodataAttributes and $wgAllowRdfaAttributes were removed,
+  now always enabled. If you use RDFa on your wiki, you now have to explicitly
+  set $wgHtml5Version to 'HTML+RDFa 1.0' or 'XHTML+RDFa 1.0'.
 * $wgUseLinkNamespaceDBFields was removed.
 * Deprecated $wgResourceLoaderMinifierStatementsOnOwnLine and
   $wgResourceLoaderMinifierMaxLineLength, because there was little value in
@@ -242,6 +245,7 @@ HHVM 3.1.
 * Language::getLanguageNames() was removed (deprecated since 1.20).
 * Language::getTranslatedLanguageNames() was removed (deprecated since 1.20).
 * Language::specialPage() was removed (deprecated since 1.24).
+* MediaWikiTestCase::assertException() was removed (deprecated since 1.22).
 * OutputPage::getHeadItems() was removed (deprecated since 1.24).
 * OutputPage::getScript() was removed (deprecated since 1.24).
 * OutputPage::out() was removed (deprecated since 1.22).
index 0dc1511..b1c0277 100644 (file)
@@ -45,7 +45,7 @@
                "monolog/monolog": "~1.17.2",
                "nikic/php-parser": "1.4.1",
                "nmred/kafka-php": "0.1.5",
-               "phpunit/phpunit": "4.8.23",
+               "phpunit/phpunit": "4.8.24",
                "wikimedia/avro": "1.7.7"
        },
        "suggest": {
index b8e900d..93df004 100644 (file)
@@ -137,7 +137,7 @@ class Block {
 
                if ( $options['by'] ) {
                        # Local user
-                       $this->setBlocker( User::newFromID( $options['by'] ) );
+                       $this->setBlocker( User::newFromId( $options['by'] ) );
                } else {
                        # Foreign user
                        $this->setBlocker( $options['byText'] );
@@ -568,7 +568,7 @@ class Block {
                if ( $this->forcedTargetID ) {
                        $uid = $this->forcedTargetID;
                } else {
-                       $uid = $this->target instanceof User ? $this->target->getID() : 0;
+                       $uid = $this->target instanceof User ? $this->target->getId() : 0;
                }
 
                $a = [
index c09f2af..63d04c9 100644 (file)
@@ -3081,10 +3081,11 @@ $wgHtml5 = true;
 
 /**
  * Defines the value of the version attribute in the &lt;html&gt; tag, if any.
- * If $wgAllowRdfaAttributes is true, and this evaluates to boolean false
- * (like if it's left at the default null value), it will be auto-initialized
- * to the correct value for RDFa+HTML5.  As such, you should have no reason to
- * ever actually set this to anything.
+ *
+ * If your wiki uses RDFa, set it to the correct value for RDFa+HTML5.
+ * Correct current values are 'HTML+RDFa 1.0' or 'XHTML+RDFa 1.0'.
+ * See also http://www.w3.org/TR/rdfa-in-html/#document-conformance
+ * @since 1.16
  */
 $wgHtml5Version = null;
 
@@ -3105,17 +3106,6 @@ $wgHTMLFormAllowTableFormat = true;
  */
 $wgUseMediaWikiUIEverywhere = false;
 
-/**
- * Enabled RDFa attributes for use in wikitext.
- * NOTE: Interaction with HTML5 is somewhat underspecified.
- */
-$wgAllowRdfaAttributes = false;
-
-/**
- * Enabled HTML5 microdata attributes for use in wikitext.
- */
-$wgAllowMicrodataAttributes = false;
-
 /**
  * Should we try to make our HTML output well-formed XML?  If set to false,
  * output will be a few bytes shorter, and the HTML will arguably be more
index 3268700..b3bb07a 100644 (file)
@@ -530,11 +530,12 @@ class EditPage {
                if ( $permErrors ) {
                        wfDebug( __METHOD__ . ": User can't edit\n" );
                        // Auto-block user's IP if the account was "hard" blocked
-                       $user = $wgUser;
-                       DeferredUpdates::addCallableUpdate( function() use ( $user ) {
-                               $user->spreadAnyEditBlock();
-                       } );
-
+                       if ( !wfReadOnly() ) {
+                               $user = $wgUser;
+                               DeferredUpdates::addCallableUpdate( function () use ( $user ) {
+                                       $user->spreadAnyEditBlock();
+                               } );
+                       }
                        $this->displayPermissionsError( $permErrors );
 
                        return;
@@ -1520,7 +1521,7 @@ class EditPage {
                                // is if an extension hook aborted from inside ArticleSave.
                                // Render the status object into $this->hookError
                                // FIXME this sucks, we should just use the Status object throughout
-                               $this->hookError = '<div class="error">' . $status->getWikitext() .
+                               $this->hookError = '<div class="error">' . $status->getWikiText() .
                                        '</div>';
                                return true;
                }
@@ -1735,7 +1736,9 @@ class EditPage {
 
                if ( $wgUser->isBlockedFrom( $this->mTitle, false ) ) {
                        // Auto-block user's IP if the account was "hard" blocked
-                       $wgUser->spreadAnyEditBlock();
+                       if ( !wfReadOnly() ) {
+                               $wgUser->spreadAnyEditBlock();
+                       }
                        # Check block state against master, thus 'false'.
                        $status->setResult( false, self::AS_BLOCKED_PAGE_FOR_USER );
                        return $status;
index 87fc012..8673125 100644 (file)
@@ -263,7 +263,7 @@ class HistoryBlobStub {
                                if ( !isset( $parts[1] ) || $parts[1] == '' ) {
                                        return false;
                                }
-                               $row->old_text = ExternalStore::fetchFromUrl( $url );
+                               $row->old_text = ExternalStore::fetchFromURL( $url );
 
                        }
 
index 5b8122d..5749775 100644 (file)
@@ -290,7 +290,7 @@ class HtmlFormatter {
                        }
                        $html = $this->doc->saveHTML();
 
-                       $html = $this->fixLibXml( $html );
+                       $html = $this->fixLibXML( $html );
                        if ( wfIsWindows() ) {
                                // Cleanup for CRLF misprocessing of unknown origin on Windows.
                                // If this error continues in the future, please track it down in the
index f980a93..1a6e382 100644 (file)
@@ -991,7 +991,7 @@ class PhpHttpRequest extends MWHttpRequest {
                ];
 
                if ( $this->proxy ) {
-                       $options['http']['proxy'] = $this->urlToTCP( $this->proxy );
+                       $options['http']['proxy'] = $this->urlToTcp( $this->proxy );
                        $options['http']['request_fulluri'] = true;
                }
 
index 43df839..4ba3a75 100644 (file)
@@ -992,7 +992,7 @@ class Linker {
         */
        public static function makeMediaLinkFile( Title $title, $file, $html = '' ) {
                if ( $file && $file->exists() ) {
-                       $url = $file->getURL();
+                       $url = $file->getUrl();
                        $class = 'internal';
                } else {
                        $url = self::getUploadUrl( $title );
index 45a1385..ad02e68 100644 (file)
@@ -246,13 +246,13 @@ class MediaWiki {
                } elseif ( !$this->tryNormaliseRedirect( $title ) ) {
                        // Prevent information leak via Special:MyPage et al (T109724)
                        if ( $title->isSpecialPage() ) {
-                               $specialPage = SpecialPageFactory::getPage( $title->getDBKey() );
+                               $specialPage = SpecialPageFactory::getPage( $title->getDBkey() );
                                if ( $specialPage instanceof RedirectSpecialPage ) {
                                        $specialPage->setContext( $this->context );
                                        if ( $this->config->get( 'HideIdentifiableRedirects' )
                                                && $specialPage->personallyIdentifiableTarget()
                                        ) {
-                                               list( , $subpage ) = SpecialPageFactory::resolveAlias( $title->getDBKey() );
+                                               list( , $subpage ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
                                                $target = $specialPage->getRedirect( $subpage );
                                                // target can also be true. We let that case fall through to normal processing.
                                                if ( $target instanceof Title ) {
@@ -830,9 +830,18 @@ class MediaWiki {
                $errno = $errstr = null;
                $info = wfParseUrl( $this->config->get( 'Server' ) );
                MediaWiki\suppressWarnings();
+               $host = $info['host'];
+               $port = 80;
+               if ( isset( $info['scheme'] ) && $info['scheme'] == 'https' ) {
+                       $host = "tls://" . $host;
+                       $port = 443;
+               }
+               if ( isset( $info['port'] ) ) {
+                       $port = $info['port'];
+               }
                $sock = fsockopen(
-                       $info['host'],
-                       isset( $info['port'] ) ? $info['port'] : 80,
+                       $host,
+                       $port,
                        $errno,
                        $errstr,
                        // If it takes more than 100ms to connect to ourselves there
index 321b7e3..b9af755 100644 (file)
@@ -238,7 +238,7 @@ class MovePage {
                        $file->load( File::READ_LATEST );
                        if ( $file->exists() ) {
                                $status = $file->move( $this->newTitle );
-                               if ( !$status->isOk() ) {
+                               if ( !$status->isOK() ) {
                                        return $status;
                                }
                        }
index 6774072..6949f8b 100644 (file)
@@ -3209,7 +3209,7 @@ class OutputPage extends ContextSource {
                        'wgMonthNames' => $lang->getMonthNamesArray(),
                        'wgMonthNamesShort' => $lang->getMonthAbbreviationsArray(),
                        'wgRelevantPageName' => $relevantTitle->getPrefixedDBkey(),
-                       'wgRelevantArticleId' => $relevantTitle->getArticleId(),
+                       'wgRelevantArticleId' => $relevantTitle->getArticleID(),
                ];
 
                if ( $user->isLoggedIn() ) {
index d52bc07..d321e9f 100644 (file)
@@ -363,14 +363,14 @@ class Sanitizer {
         * @return array
         */
        public static function getRecognizedTagData( $extratags = [], $removetags = [] ) {
-               global $wgAllowMicrodataAttributes, $wgAllowImageTag;
+               global $wgAllowImageTag;
 
                static $htmlpairsStatic, $htmlsingle, $htmlsingleonly, $htmlnest, $tabletags,
                        $htmllist, $listtags, $htmlsingleallowed, $htmlelementsStatic, $staticInitialised;
 
                // Base our staticInitialised variable off of the global config state so that if the globals
                // are changed (like in the screwed up test system) we will re-initialise the settings.
-               $globalContext = implode( '-', compact( 'wgAllowMicrodataAttributes', 'wgAllowImageTag' ) );
+               $globalContext = $wgAllowImageTag;
                if ( !$staticInitialised || $staticInitialised != $globalContext ) {
                        $htmlpairsStatic = [ # Tags that must be closed
                                'b', 'bdi', 'del', 'i', 'ins', 'u', 'font', 'big', 'small', 'sub', 'sup', 'h1',
@@ -386,10 +386,10 @@ class Sanitizer {
                        $htmlsingleonly = [ # Elements that cannot have close tags
                                'br', 'wbr', 'hr'
                        ];
-                       if ( $wgAllowMicrodataAttributes ) {
-                               $htmlsingle[] = $htmlsingleonly[] = 'meta';
-                               $htmlsingle[] = $htmlsingleonly[] = 'link';
-                       }
+
+                       $htmlsingle[] = $htmlsingleonly[] = 'meta';
+                       $htmlsingle[] = $htmlsingleonly[] = 'link';
+
                        $htmlnest = [ # Tags that can be nested--??
                                'table', 'tr', 'td', 'th', 'div', 'blockquote', 'ol', 'ul',
                                'li', 'dl', 'dt', 'dd', 'font', 'big', 'small', 'sub', 'sup', 'span',
@@ -734,15 +734,13 @@ class Sanitizer {
         * @todo Check for unique id attribute :P
         */
        static function validateAttributes( $attribs, $whitelist ) {
-               global $wgAllowRdfaAttributes, $wgAllowMicrodataAttributes;
-
                $whitelist = array_flip( $whitelist );
                $hrefExp = '/^(' . wfUrlProtocols() . ')[^\s]+$/';
 
                $out = [];
                foreach ( $attribs as $attribute => $value ) {
-                       # allow XML namespace declaration if RDFa is enabled
-                       if ( $wgAllowRdfaAttributes && preg_match( self::XMLNS_ATTRIBUTE_PATTERN, $attribute ) ) {
+                       # Allow XML namespace declaration to allow RDFa
+                       if ( preg_match( self::XMLNS_ATTRIBUTE_PATTERN, $attribute ) ) {
                                if ( !preg_match( self::EVIL_URI_PATTERN, $value ) ) {
                                        $out[$attribute] = $value;
                                }
@@ -817,15 +815,14 @@ class Sanitizer {
                        $out[$attribute] = $value;
                }
 
-               if ( $wgAllowMicrodataAttributes ) {
-                       # itemtype, itemid, itemref don't make sense without itemscope
-                       if ( !array_key_exists( 'itemscope', $out ) ) {
-                               unset( $out['itemtype'] );
-                               unset( $out['itemid'] );
-                               unset( $out['itemref'] );
-                       }
-                       # TODO: Strip itemprop if we aren't descendants of an itemscope or pointed to by an itemref.
+               # itemtype, itemid, itemref don't make sense without itemscope
+               if ( !array_key_exists( 'itemscope', $out ) ) {
+                       unset( $out['itemtype'] );
+                       unset( $out['itemid'] );
+                       unset( $out['itemref'] );
                }
+               # TODO: Strip itemprop if we aren't descendants of an itemscope or pointed to by an itemref.
+
                return $out;
        }
 
@@ -1561,12 +1558,9 @@ class Sanitizer {
         * @return array
         */
        static function setupAttributeWhitelist() {
-               global $wgAllowRdfaAttributes, $wgAllowMicrodataAttributes;
-               static $whitelist, $staticInitialised;
+               static $whitelist;
 
-               $globalContext = implode( '-', compact( 'wgAllowRdfaAttributes', 'wgAllowMicrodataAttributes' ) );
-
-               if ( $whitelist !== null && $staticInitialised == $globalContext ) {
+               if ( $whitelist !== null ) {
                        return $whitelist;
                }
 
@@ -1586,23 +1580,24 @@ class Sanitizer {
                        'aria-labelledby',
                        'aria-owns',
                        'role',
-               ];
 
-               if ( $wgAllowRdfaAttributes ) {
-                       # RDFa attributes as specified in section 9 of
+                       # RDFa
+                       # These attributes are specified in section 9 of
                        # http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014
-                       $common = array_merge( $common, [
-                               'about', 'property', 'resource', 'datatype', 'typeof',
-                       ] );
-               }
+                       'about',
+                       'property',
+                       'resource',
+                       'datatype',
+                       'typeof',
 
-               if ( $wgAllowMicrodataAttributes ) {
-                       # add HTML5 microdata tags as specified by
+                       # Microdata. These are specified by
                        # http://www.whatwg.org/html/microdata.html#the-microdata-model
-                       $common = array_merge( $common, [
-                               'itemid', 'itemprop', 'itemref', 'itemscope', 'itemtype'
-                       ] );
-               }
+                       'itemid',
+                       'itemprop',
+                       'itemref',
+                       'itemscope',
+                       'itemtype',
+               ];
 
                $block = array_merge( $common, [ 'align' ] );
                $tablealign = [ 'align', 'valign' ];
@@ -1773,8 +1768,6 @@ class Sanitizer {
                        'link' => [ 'itemprop', 'href' ],
                ];
 
-               $staticInitialised = $globalContext;
-
                return $whitelist;
        }
 
index f26d789..f7d8d08 100644 (file)
@@ -443,15 +443,6 @@ $wgHtml5 = true;
 $wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
 $wgJsMimeType = 'text/javascript';
 
-if ( !$wgHtml5Version && $wgAllowRdfaAttributes ) {
-       // see http://www.w3.org/TR/rdfa-in-html/#document-conformance
-       if ( $wgMimeType == 'application/xhtml+xml' ) {
-               $wgHtml5Version = 'XHTML+RDFa 1.0';
-       } else {
-               $wgHtml5Version = 'HTML+RDFa 1.0';
-       }
-}
-
 // Blacklisted file extensions shouldn't appear on the "allowed" list
 $wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgFileBlacklist ) );
 
@@ -610,7 +601,7 @@ if ( !$wgPasswordSender ) {
        $wgPasswordSender = 'apache@' . $wgServerName;
 }
 if ( !$wgNoReplyAddress ) {
-       $wgNoReplyAddress = $wgNoReplyAddress;
+       $wgNoReplyAddress = $wgPasswordSender;
 }
 
 if ( $wgSecureLogin && substr( $wgServer, 0, 2 ) !== '//' ) {
index 0ac3e46..1a9ee39 100644 (file)
@@ -3570,9 +3570,9 @@ class Title implements LinkTarget {
 
                // If we are looking at a css/js user subpage, purge the action=raw.
                if ( $this->isJsSubpage() ) {
-                       $urls[] = $this->getInternalUrl( 'action=raw&ctype=text/javascript' );
+                       $urls[] = $this->getInternalURL( 'action=raw&ctype=text/javascript' );
                } elseif ( $this->isCssSubpage() ) {
-                       $urls[] = $this->getInternalUrl( 'action=raw&ctype=text/css' );
+                       $urls[] = $this->getInternalURL( 'action=raw&ctype=text/css' );
                }
 
                Hooks::run( 'TitleSquidURLs', [ $this, &$urls ] );
index dca0f32..4534414 100644 (file)
@@ -221,10 +221,10 @@ class WikiReference {
         * @return string relative URL, without the server part.
         */
        private function getLocalUrl( $page, $fragmentId = null ) {
-               $page = wfUrlEncode( str_replace( ' ', '_', $page ) );
+               $page = wfUrlencode( str_replace( ' ', '_', $page ) );
 
                if ( is_string( $fragmentId ) && $fragmentId !== '' ) {
-                       $page .= '#' . wfUrlEncode( $fragmentId );
+                       $page .= '#' . wfUrlencode( $fragmentId );
                }
 
                return str_replace( '$1', $page, $this->mPath );
index 4596e41..f7c30b7 100644 (file)
@@ -820,7 +820,7 @@ class InfoAction extends FormlessAction {
                                : $user->getUserPage();
 
                        $hiddenPrefs = $this->context->getConfig()->get( 'HiddenPrefs' );
-                       if ( $user->getID() == 0 ) {
+                       if ( $user->getId() == 0 ) {
                                $anon_ips[] = Linker::link( $page, htmlspecialchars( $user->getName() ) );
                        } elseif ( !in_array( 'realname', $hiddenPrefs ) && $user->getRealName() ) {
                                $real_names[] = Linker::link( $page, htmlspecialchars( $user->getRealName() ) );
index 4336907..733ea2c 100644 (file)
@@ -552,6 +552,26 @@ class ApiQuery extends ApiBase {
                return implode( "\n", $moduleDescriptions );
        }
 
+       public function isReadMode() {
+               // We need to make an exception for ApiQueryTokens so login tokens can
+               // be fetched on private wikis. Restrict that exception as much as
+               // possible: no other modules allowed, and no pageset parameters
+               // either. We do allow the 'rawcontinue' and 'indexpageids' parameters
+               // since frameworks might add these unconditionally and they can't
+               // expose anything here.
+               $params = array_filter(
+                       array_diff_key(
+                               $this->extractRequestParams() + $this->getPageSet()->extractRequestParams(),
+                               [ 'rawcontinue' => 1, 'indexpageids' => 1 ]
+                       )
+               );
+               if ( $params === [ 'meta' => [ 'tokens' ] ] ) {
+                       return false;
+               }
+
+               return true;
+       }
+
        protected function getExamplesMessages() {
                return [
                        'action=query&prop=revisions&meta=siteinfo&' .
index 6d1540b..b039a1e 100644 (file)
@@ -32,6 +32,10 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
        }
 
        public function execute() {
+               if ( !$this->getUser()->isLoggedIn() ) {
+                       $this->dieUsage( 'You must be logged-in to have an upload stash', 'notloggedin' );
+               }
+
                $params = $this->extractRequestParams();
                $modulePrefix = $this->getModulePrefix();
 
index 5bc6e67..6aee73d 100644 (file)
                "authors": [
                        "Рустам Нурыев",
                        "Азат Хәлилов",
-                       "Sagan"
+                       "Sagan",
+                       "Айсар",
+                       "Янмурза Баки"
                ]
        },
+       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Документация]]\n* [[mw:API:FAQ|ЧаВО]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Почта таратыу]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce  API яңылыҡтары]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R  Хаталар һәм яуаптар]\n</div>\n<strong>Статус:</strong> Был биттә  күрһәтелгән бар функциялар ҙа эшләргә тейеш,  шулай ҙа  API әүҙем эшкәртеү хәлендә тора һәм теләгән бер ваҡытта үҙгәрергә мөмкин. Яңыртылыуҙарҙы һәр саҡ белеп торор өсөн [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ почта таратыу mediawiki-api-announce], ошоға яҙыл.\n\n<strong>Хаталы һоратыуҙар:</strong> Әгәр API хаталы һоратыу алһа,     HTTP баш һүҙе   «MediaWiki-API-Error» асҡысы менән кире ҡайтарыла,  бынан һуң баш һүҙҙең мәғәнәһе һәм хата  коды кире ебәреләсәк һәм кире шул уҡ мәғәнәлә кире ҡуйыласаҡ. Киңерәк мәғлүмәтте ошонан ҡара  [[mw:API:Errors_and_warnings|API:Хаталар һәм иҫкәртеүҙәр]].\n\n<strong>Тестлау:</strong>   API-һоратыуҙарҙы тестлау уңайлы булһын өсөн ҡара. [[Special:ApiSandbox]].",
        "apihelp-main-param-action": "Хәрәкәтте нисек үтәргә?",
        "apihelp-main-param-format": "Мәғлүмәттәр сығарыу форматы.",
        "apihelp-main-param-smaxage": "Cache-Control HTTP-баш һүҙҙең <code>s-maxage</code>  мәғәнәһен бирелгән секунд эсендә билдәләй",
+       "apihelp-main-param-maxage": "Cache-Control HTTP-баш һүҙҙең <code>s-maxage</code>  мәғәнәһен бирелгән секунд эсендә билдәләй",
+       "apihelp-main-param-assert": "Әгәр <kbd>user</kbd>бирелһә ҡулланыусы танылған икәненә, йәки <kbd>bot</kbd>бирелһә ҡол хоҡуғына эйә икәненә ышанырға.",
+       "apihelp-main-param-requestid": "Бында бирелгән һәр мәғәнә яуапҡа индереләсәк. Һорауҙарҙы айырыу өсөн файҙаланылырға мөмкин.",
+       "apihelp-main-param-servedby": "Һөҙөмтәләргә һорауҙы эшкәрткән хост исемен индерергә.",
+       "apihelp-main-param-curtimestamp": "Һөҙөмтәләргә ваҡытлыса тамға ҡуйырға",
        "apihelp-block-description": "Ҡатнашыусыны бикләү",
        "apihelp-block-param-user": "Һеҙ бикләргә теләгән ҡатнашыусының IP адресы йәки  IP диапозоны",
+       "apihelp-block-param-reason": "Бикләү сәбәбе",
        "apihelp-block-param-anononly": "Аноним ҡатнашыусыларҙы бикләү (йәғни IP адресынан төҙәтеүҙе тыйыу)",
        "apihelp-block-param-nocreate": "Яңы иҫәп яҙыуҙарын булдырыуҙы тыйыу",
        "apihelp-block-param-autoblock": "Был ҡатнашыусы ҡулланған һуңғы IP адрестарҙы һәм артабан үҙгәртеү өсөн ҡулланрға тырышҡан IP адрестарҙы бикләргә.",
+       "apihelp-block-param-noemail": "Ҡулланыусының Вики аша электрон почта ебәреүен тыйыу. (Талап итә <code>blockemail</code> хоҡуғын)",
+       "apihelp-block-param-hidename": "Бикләү журналында ҡулланыусы исемен йәшерергә. (Хоҡуҡ талап ителә<code>hideuser</code>).",
+       "apihelp-block-param-allowusertalk": "Ҡатнашыусыларға үҙҙәренең биттәрен мөхәррирләргә мөмкинлек бирә (<var> менән бәйләнгән [[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
+       "apihelp-block-param-reblock": "Әгәр ҡатнашыусы бикләнгән булһа, ғәмәлдәге бикләүге күсереп яҙырға.",
+       "apihelp-block-param-watchuser": "Битте йәки IP-ҡатнашыусыны һәм фекер алышык битен күҙәтеү аҫтына аларға.",
+       "apihelp-checktoken-param-type": "Тамға тибы һынау үтә",
+       "apihelp-checktoken-param-token": "Тикшереү токены",
+       "apihelp-checktoken-param-maxtokenage": "Токендың максималь йәше (секундтарҙа).",
+       "apihelp-checktoken-example-simple": "<kbd>csrf</kbd>-токендың яраҡлығын тикшерергә.",
+       "apihelp-clearhasmsg-description": "Ағымдағы ҡуллыныусының <code>hasmsg</code> флагын таҙарта.",
+       "apihelp-clearhasmsg-example-1": "Ағымдағы ҡуллыныусының <code>hasmsg</code> флагын таҙарта.",
+       "apihelp-compare-param-fromtitle": "Сағыштырыу өсөн беренсе башлыҡ",
+       "apihelp-compare-param-fromid": "Сағыштырыу өсөн беренсе идентификатор",
+       "apihelp-compare-param-fromrev": "Сағыштырыу өсөн беренсе редакция",
+       "apihelp-compare-param-totitle": "Сағыштырыу өсөн икенсе башлыҡ",
+       "apihelp-compare-param-toid": "Сағыштырыу өсөн икенсе идентификатор",
+       "apihelp-compare-param-torev": "Сағыштырыу өсөн икенсе версия",
+       "apihelp-compare-example-1": "1-се һәм 2-се версиялар араһында айырма эшләү.",
+       "apihelp-createaccount-description": "Ҡатнашыусыларҙың яңы иҫәп яҙыуҙарын булдырыу",
+       "apihelp-createaccount-param-name": "Ҡатнашыусы исеме",
+       "apihelp-createaccount-param-password": "Серһүҙ (ignored if <var>$1mailpassword</var> is set).",
+       "apihelp-createaccount-param-domain": "Тышҡы аутентификация домены (өҫтәмә).",
+       "apihelp-createaccount-param-token": "Беренсе ғариза буйынса алынған токендың иҫәп яҙмаһын булдырыу",
+       "apihelp-createaccount-param-email": "Ҡатнашыусының электрон почта адресы (өҫтәмә)",
+       "apihelp-createaccount-param-realname": "Ҡатнашыусының ысын исеме(өҫтәмә)",
+       "apihelp-createaccount-param-mailpassword": "Әгәр ҙә теләһә ниндәй мәғәнә ҡуйылһа, осраҡлы серһүҙ ҡулланыусыға ебәреләсәк.",
+       "apihelp-createaccount-param-reason": "Журналға яҙыу өсөн иҫәп яҙмаһын булдырыуға өҫтәмә сәбәп.",
+       "apihelp-createaccount-example-pass": "<kbd>test123</kbd> серһүҙле <kbd>testuser</kbd> ҡулланыусыһын булдырыу.",
+       "apihelp-createaccount-example-mail": "<kbd>testmailuser</kbd> ҡулланыусыһын һәм электрон почтаны булдырыу, осраҡлы серһеҙ яһау.",
+       "apihelp-delete-description": "Битте юйырға",
+       "apihelp-delete-example-simple": "Юйырға: <kbd>Main Page</kbd>.",
+       "apihelp-delete-example-reason": "Юйырға <kbd>Main Page</kbd> сәбәп <kbd>Preparing for move</kbd>.",
+       "apihelp-disabled-description": "Был модуль һүндерелгән",
+       "apihelp-edit-description": "Биттәрҙе төҙөргә һәм мөхәррирләргә.",
+       "apihelp-edit-param-sectiontitle": "Яңы бүлек өсөн баш исем",
+       "apihelp-edit-param-text": "Биттең йөкмәткеһе.",
+       "apihelp-edit-param-minor": "Әҙ генә үҙгәртеүҙәр.",
+       "apihelp-edit-param-notminor": "Ҙур ғына үҙгәреш (ғәҙәттә, «әҙ»ҙән күберәк төҙәтеү).",
+       "apihelp-edit-param-bot": "Төҙәтеүҙе бот яһаған тип билдәләү.",
+       "apihelp-edit-param-createonly": "Булған битте мөхәррирләмәҫкә.",
+       "apihelp-edit-param-nocreate": "Сик күрһәтелмәһә, хаталарҙы ташларға.",
+       "apihelp-edit-param-watch": "Ҡулланыусының ағымдағы күҙәтеү исемлегенә бит өҫтәргә.",
+       "apihelp-edit-param-unwatch": "Ҡулланыусының ағымдағы күҙәтеү исемлегенән битте юйырға.",
+       "apihelp-edit-param-redirect": "Автоматик йүнәлтәүҙе рөхсәт итергә",
+       "apihelp-edit-param-contentformat": "Текстҡа ҡуйыу өсөн йөкмәткенең сериализация форматы",
+       "apihelp-edit-param-contentmodel": "Яңы йөкмәткенең контент моделе",
+       "apihelp-edit-example-edit": "Битте мөхәррирләү",
+       "apihelp-edit-example-prepend": "Бит башына тылсымлы һүҙ ҡуйырға <kbd>_&#95;NOTOC_&#95;</kbd>.",
+       "apihelp-edit-example-undo": " 13579-ҙан 13585-кә тиклем төҙәтеүҙәрҙе кире алырға",
+       "apihelp-emailuser-description": "Ҡатнашыусыға хат",
+       "apihelp-emailuser-param-target": "Ҡатнашыусы электрон хат ебәрә",
+       "apihelp-emailuser-param-subject": "Теманың баш һүҙе",
+       "apihelp-emailuser-param-text": "Хат эстәлеге",
+       "apihelp-emailuser-param-ccme": "Был хәбәрҙең копияһын миңә ебәрергә",
+       "apihelp-emailuser-example-email": "Ҡатнашыусыға хат ебәрергә <kbd>WikiSysop</kbd>текст <kbd>Content</kbd>.",
+       "apihelp-expandtemplates-description": "wikitext ҡалыптарын аса.",
+       "apihelp-expandtemplates-param-title": "Бит баш һүҙе",
+       "apihelp-expandtemplates-param-text": "Конвертлау өсөн викитекст",
+       "apihelp-expandtemplates-paramvalue-prop-wikitext": "Киңәйтелгән викитекст",
+       "apihelp-expandtemplates-paramvalue-prop-parsetree": "XML керетелә торған мәғлүмәт ағасы (шәжәрәһе)",
+       "apihelp-feedcontributions-param-feedformat": "Мәғлүмәттәр сығарыу форматы.",
+       "apihelp-feedcontributions-param-year": "Йылдан башлап (һәм элегерәк):",
+       "apihelp-feedcontributions-param-month": "Айҙан башлап (һәм элегерәк):",
+       "apihelp-feedcontributions-param-deletedonly": "Юйылған төҙәтеүҙәрҙе генә күрһәтергә.",
        "apihelp-feedcontributions-param-toponly": "Һуңғы өлгө булған төҙәтеүҙәрҙе генә күрһәтергә",
+       "apihelp-feedcontributions-param-newonly": "Яңы бит яһаған төҙәтеүҙәрҙе генә күрһәтергә",
        "apihelp-feedcontributions-param-showsizediff": "Өлгәоәр араһыдағы күләм айырмаһын күрһәтергә",
+       "apihelp-feedcontributions-example-simple": "Ҡулланыусының өлөшөн күрһәтергә <kbd>Example</kbd>.",
+       "apihelp-feedrecentchanges-param-feedformat": "Мәғлүмәттәр сығарыу форматы.",
+       "apihelp-feedrecentchanges-param-invert": "Һайланғандан башҡа исемдәр арауығы",
+       "apihelp-feedrecentchanges-param-limit": "Ҡайтарылған һөҙөмтәләрҙең максималь һаны.",
        "apihelp-feedrecentchanges-param-from": "Теге ваҡыттын булған үҙгәрештәрҙе күрһәтергә",
+       "apihelp-feedrecentchanges-param-hideminor": "Бәләкәй төҙәтеүҙәрҙе йәшерергә",
+       "apihelp-feedrecentchanges-param-hidebots": "Робот эшләгән төҙәтеүҙәрҙе йәшерергә",
+       "apihelp-feedrecentchanges-param-hideanons": "Аноним ҡатнашыусылар төҙәтеүен йәшерергә",
+       "apihelp-feedrecentchanges-param-hideliu": "Теркәлгән ҡатнашыусылар өлөшөн йәшерергә",
+       "apihelp-feedrecentchanges-param-hidepatrolled": "Патрулләнгән төҙәтеүҙәрҙе йәшерергә",
+       "apihelp-feedrecentchanges-param-hidemyself": "Ағымдаға ҡатнашыусы эшләгән үҙгәртеүҙәрҙе йәшерергә.",
+       "apihelp-feedrecentchanges-param-tagfilter": "Тэг буйынса һөҙгөс",
        "apihelp-feedrecentchanges-param-target": "Был биттән һылтанған биттәрҙә һуңғы үҙгәртеүҙәрҙе күрһәтергә",
+       "apihelp-feedrecentchanges-param-showlinkedto": "Киреһенсә, был биткә һылтанма яһаған биттәрҙәге үҙгәртеүҙәрҙе күрһәтергә",
        "apihelp-feedrecentchanges-example-simple": "Һуңғы үҙгәртеүҙәрҙе күрһәтергә.",
-       "apihelp-feedwatchlist-example-default": "Күҙәтеү каналын күрһәтергә"
+       "apihelp-feedrecentchanges-example-30days": "30 көн арауығындағы һуңғы үҙгәртеүҙәрҙе күрһәтергә.",
+       "apihelp-feedwatchlist-param-feedformat": "Мәғлүмәттәр сығарыу форматы.",
+       "apihelp-feedwatchlist-param-linktosections": "Мөмкин булһа, үҙгәртеүҙәр булған бүлеккә тура һылтанма.",
+       "apihelp-feedwatchlist-example-default": "Күҙәтеү каналын күрһәтергә",
+       "apihelp-filerevert-param-filename": "Префиксһыҙ файл исеме",
+       "apihelp-filerevert-param-comment": "Комментарий тейәргә",
+       "apihelp-filerevert-example-revert": "Кире <kbd>Wiki.png</kbd> юрауға <kbd>2011-03-05T15:27:40Z</kbd> ҡайтырға.",
+       "apihelp-help-description": "Күрһәтелгән модулдәр өсөн белешмәне тасуирлау.",
+       "apihelp-help-param-modules": " Белешмәләр тасуирлау өсөн (күрһәткестәр <var>action</var> һәм <var>format</var> дәүмәленә, йәки <kbd>main</kbd>). Модулдәрҙе a <kbd>+</kbd> ярҙамында күрһәтә алаһығыҙ.",
+       "apihelp-help-param-submodules": "Модуль исеменән субмодулдәр өсөн ярҙам индерә",
+       "apihelp-help-param-recursivesubmodules": "Рекурсив рәүешле субмодулдәр өсөн ярҙам индерә.",
+       "apihelp-help-param-helpformat": "Һөҙөмтәгә ярҙам форматы",
+       "apihelp-help-example-main": "Төп модулгә ярҙам",
+       "apihelp-help-example-submodules": "<kbd>action=query</kbd> һәм уның барлыҡ субмодулдәренә ярҙам итегеҙ",
+       "apihelp-help-example-recursive": "Бар белешмә бер бүлектә.",
+       "apihelp-help-example-help": "Модулдең үҙ ярҙамына ярҙам итеү",
+       "apihelp-help-example-query": "Подмодулдәрҙең ике һорауына ярҙам итергә.",
+       "apihelp-imagerotate-description": "Бер йәки бер нисә һүрәтте бороу.",
+       "apihelp-imagerotate-param-rotation": "Һүрәтте сәғәт йөрөшө буйынса нисә градусҡа борорға.",
+       "apihelp-imagerotate-example-simple": "<kbd>File:Example.png</kbd> на <kbd>90</kbd> градусҡа борорға.",
+       "apihelp-imagerotate-example-generator": "Бар һүрәттәрҙе лә <kbd>Category:Flip</kbd> на <kbd>180</kbd> градусҡа борорға.",
+       "apihelp-import-param-summary": "Йомғаҡты импортлау.",
+       "apihelp-import-param-xml": "Тултырылған XML-файл.",
+       "apihelp-import-param-interwikisource": "Интервики-импорт өсөн: Викинан импорт.",
+       "apihelp-import-param-interwikipage": "Интервики-импорт өсөн: битте импортлау.",
+       "apihelp-import-example-import": "Импортларға [[meta:Help:ParserFunctions]]  100 исемдәр арауығында тулы тарихы менән.",
+       "apihelp-login-param-name": "Ҡатнашыусы исеме.",
+       "apihelp-login-param-password": "Серһүҙ.",
+       "apihelp-login-param-domain": "Домен (мотлаҡ түгел).",
+       "apihelp-login-example-login": "Танылыу.",
+       "apihelp-logout-description": "Сығырға һәм сессия мәғлүмәтен юйырға.",
+       "apihelp-mergehistory-description": "Үҙгәртеүҙәр тарихын берләштереү.",
+       "apihelp-mergehistory-param-reason": "Тарихты берләштереү сәбәбе",
+       "apihelp-move-description": "Биттең исемен үҙгәртергә",
+       "apihelp-move-param-to": "Исемен үҙгәртергә тейешле биттең баш һүҙе",
+       "apihelp-move-param-reason": "Үҙгәртеү сәбәбе",
+       "apihelp-move-param-movetalk": "Фекер алышыу бите булһа, исемен үҙгәртергә.",
+       "apihelp-move-param-movesubpages": "Мөмкин булһа, ярҙамсы биттең исемен үҙгәртергә.",
+       "apihelp-move-param-noredirect": "Йүнәлтеүҙәр ҡуймаҫҡа",
+       "apihelp-move-param-watch": "Ағымдағы ҡулланыусының күҙәтеү битенә бит һәм йүнәлтеү өҫтәргә.",
+       "apihelp-move-param-unwatch": "Ағымдағы ҡулланыусының күҙәтеү битендә битте һәм йүнәлтеүҙе юйырға.",
+       "apihelp-move-param-ignorewarnings": "Бөтә иҫкәрмәләргә иғтибар итмәҫкә",
+       "apihelp-move-example-move": "Исемен үҙгәртергә <kbd>Badtitle</kbd>  <kbd>Goodtitle</kbd> йүнәлтеү ҡуймаҫҡа.",
+       "apihelp-opensearch-param-search": "Эҙләү юлы.",
+       "apihelp-opensearch-param-limit": "Ҡайтарылған һөҙөмтәләрҙең максималь һаны.",
+       "apihelp-opensearch-param-namespace": "Эҙләү өсөн исемдәр арауығы",
+       "apihelp-opensearch-param-format": "Мәғлүмәттәр сығарыу форматы.",
+       "apihelp-options-param-reset": "Килешеү буйынса көйләүҙәргә күсергә.",
+       "apihelp-options-example-reset": "Бөтә көйләүҙәрҙе ташларға",
+       "apihelp-paraminfo-description": "API модуле тураһында мәғлүмәт алырға.",
+       "apihelp-paraminfo-param-helpformat": "Белешмә юлы форматы.",
+       "apihelp-parse-example-page": "Битте тикшереү.",
+       "apihelp-parse-example-text": "Тикшереү: wikitext.",
+       "apihelp-patrol-param-rcid": "Яңы ID үҙгәртеүҙәрҙе патрулләү өсөн",
+       "apihelp-patrol-param-revid": "ID мөхәррирҙе патулләү",
+       "apihelp-protect-description": "Битте һаҡлау кимәлен үҙгәртергә",
+       "apihelp-protect-example-protect": "Битте һаҡларға.",
+       "apihelp-purge-param-forcelinkupdate": "Таблицалар бәйләнешен яңыртыу.",
+       "apihelp-query-param-list": "Ниндәй исемлекте ҡулланырға",
+       "apihelp-query-param-meta": "Ниндәй матамәғлүмәт ҡулланырға",
+       "apihelp-query+allcategories-description": "Бөтә категорияларҙы иҫәпләргә",
+       "apihelp-query+allcategories-param-limit": "Нисә категорияны кире ҡайтарырға",
+       "apihelp-query+allcategories-param-prop": "Ниндәй үҙенсәлек алырға:",
+       "apihelp-query+allmessages-param-prop": "Ниндәй үҙенсәлек алырға:"
 }
diff --git a/includes/api/i18n/eo.json b/includes/api/i18n/eo.json
new file mode 100644 (file)
index 0000000..45060c2
--- /dev/null
@@ -0,0 +1,13 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Robin van der Vliet"
+               ]
+       },
+       "apihelp-createaccount-param-name": "Uzantnomo.",
+       "apihelp-delete-description": "Forigi paĝon.",
+       "apihelp-edit-example-edit": "Redakti paĝon.",
+       "apihelp-login-param-name": "Uzantnomo.",
+       "apihelp-login-param-password": "Pasvorto.",
+       "apihelp-login-example-login": "Ensaluti."
+}
index bba61bf..9235247 100644 (file)
        "apihelp-main-param-maxlag": "'O massimo lag ca se putess'ausà quanno MediaWiki s'installasse ncopp'a nu cluster replicato 'e database. Pe' puté sarvà aziune ca causassero cchiù lag 'e replicato, stu parammetro putesse fà 'o cliente aspettà nfin'a quanno 'o tiempo 'e replicaziona fosse meno ca nu valore specificato. Si nce stesse cchiù assaje tiempo 'e lag, nu codece 'errore <samp>maxlag</samp> se turnasse comm'a na mmasciata tipo <samp>Aspettanno 'o $host: nu $lag secunde 'e lag</samp>.<br />Vedite [[mw:Manual:Maxlag_parameter|Manuale: Parammetro Maxlag]] pe' n'avé cchiù nfurmaziune.",
        "apihelp-main-param-smaxage": "Mpustate 'a cap' 'e cuntrollo 'e cache HTTP <code>s-maxage</code> a sta quantità 'e secondi. Ll'errure nun s'acchiappassero maje.",
        "apihelp-main-param-maxage": "Mpustate 'a cap' 'e cuntrollo 'e cache HTTP <code>max-age</code> a sta quantità 'e secondi. Ll'errure nun s'acchiappassero maje.",
+       "apihelp-main-param-assert": "Cuntrullate si l'utente è trasuto si sta mpustato comm' <kbd>user</kbd>, o pure ca téne o deritto 'e bot si <kbd>bot</kbd>.",
+       "apihelp-main-param-requestid": "Qualunque valore dato ccà se mpizzasse dint'a risposta. Se putess'ausà pe' puté distinguere richieste.",
        "apihelp-main-param-servedby": "Include 'o risultato 'e nomme d' 'o host ca servette 'a richiesta.",
        "apihelp-main-param-curtimestamp": "Include dint' 'o risultato 'o timestamp 'e mò.",
+       "apihelp-main-param-origin": "Quanno se trasesse a ll'API ausanno richieste 'e cross-dominio AJAX (CORS), mpustate chesto a 'o dominio origgenale. Chesto s'avess'azzeccà dint'a qualsiasi richiesta 'e pre-volo, e picciò avess'a ffà parte d' 'a richiesta d'URI (nun fosse 'o cuorpo POST). Chesto s'avess'azzeccà  a uno 'e ll'origgene dint' 'o cap' 'e paggena <code>Origin</code> pricisamente, picciò s'avessa mpustà coccosa tipo <kbd>https://en.wikipedia.org</kbd> o <kbd>https://meta.wikimedia.org</kbd>. Si stu parammetro nun s'azzeccasse c' 'o cap' 'e paggena <code>Origin</code>, allora na risposta 403 se turnasse. Si stu parammetro s'azzeccasse c' 'o cap' 'e paggena <code>Origin</code> e ll'origgene fosse dint' 'a lista janca, allora nu cap' 'e paggena <code>Access-Control-Allow-Origin</code> fosse mpustato.",
        "apihelp-block-description": "Blocca n'utente.",
        "apihelp-block-param-user": "Nomme utente, indirizzo IP o range IP 'a bluccà.",
        "apihelp-block-param-reason": "Mutive p' 'o blocco.",
index a692ff2..18dc60c 100644 (file)
                        "INS Pirat",
                        "Macofe",
                        "Краснорядцева Елена",
-                       "Iniquity"
+                       "Iniquity",
+                       "Лилиә"
                ]
        },
-       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Документация]]\n* [[mw:API:FAQ|ЧаВО]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Почтовая рассылка]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Новости API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Ошибки и запросы]\n</div>\n<strong>Статус:</strong> Все отображаемые на этой странице функции должны работать, однако API находится в статусе активной разработки, и может измениться в любой момент. Подпишитесь на  [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ почтовую рассылку mediawiki-api-announce], чтобы быть в курсе обновлений.\n\n<strong>Ошибочные запросы:</strong> Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом \"MediaWiki-API-Error\", после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. [[mw:API:Errors_and_warnings|API: Ошибки и предупреждения]].",
+       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Документация]]\n* [[mw:API:FAQ|ЧаВО]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Почтовая рассылка]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Новости API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Ошибки и запросы]\n</div>\n<strong>Статус:</strong> Все отображаемые на этой странице функции должны работать, однако API находится в статусе активной разработки и может измениться в любой момент. Подпишитесь на [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ почтовую рассылку mediawiki-api-announce], чтобы быть в курсе обновлений.\n\n<strong>Ошибочные запросы:</strong> Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. [[mw:API:Errors_and_warnings|API: Ошибки и предупреждения]].\n\n<strong>Тестирование:</strong> для удобства тестирования API-запросов, см. [[Special:ApiSandbox]].",
        "apihelp-main-param-action": "Действие, которое следует выполнить.",
        "apihelp-main-param-format": "Формат вывода.",
        "apihelp-main-param-smaxage": "Устанавливает значение HTTP-заголовка Cache-Control <code>s-maxage</code> в заданное число секунд. Ошибки никогда не кэшируются.",
@@ -32,7 +33,9 @@
        "apihelp-block-param-anononly": "Блокировать только анонимных пользователей (т. е. запретить анонимные правки для этого IP-адреса).",
        "apihelp-block-param-nocreate": "Запретить создание учётных записей.",
        "apihelp-block-param-autoblock": "Автоматически блокировать последний использованный IP-адрес и все последующие, с которых будут совершаться попытки авторизации.",
+       "apihelp-block-param-noemail": "Ҡулланыусының Вики аша электрон почта ебәреүен тыйыу. (Талап итә <code>blockemail</code> хоҡуғын)",
        "apihelp-block-param-hidename": "Скрыть имя участника из журнала блокировок. (Требуется право <code>hideuser</code>).",
+       "apihelp-block-param-allowusertalk": "Позволяет участникам редактировать их собственные страницы обсуждения (зависит от <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
        "apihelp-block-param-reblock": "Если участник уже заблокирован, перезаписать существующую блокировку.",
        "apihelp-block-param-watchuser": "Следить за страницей пользователя или IP-участника и страницей обсуждения.",
        "apihelp-checktoken-param-type": "Тип маркера проходит тестирование.",
        "apihelp-login-example-login": "Войти",
        "apihelp-logout-description": "Выйти и очистить данные сессии.",
        "apihelp-mergehistory-description": "Объединение историй правок",
+       "apihelp-mergehistory-param-reason": "Причина для объединения истории.",
        "apihelp-move-description": "Переместить страницу.",
        "apihelp-move-param-to": "Заголовок, в который следует переименовать страницу.",
        "apihelp-move-param-reason": "Причина переименования.",
        "apihelp-move-param-watch": "Добавить страницу и перенаправление в список наблюдения текущего пользователя.",
        "apihelp-move-param-unwatch": "Удалить страницу и перенаправление из списка наблюдения текущего пользователя.",
        "apihelp-move-param-ignorewarnings": "Игнорировать предупреждения",
+       "apihelp-move-example-move": "Переименовать <kbd>Badtitle</kbd> в <kbd>Goodtitle</kbd> без оставления перенаправления.",
        "apihelp-opensearch-param-search": "Строка поиска.",
        "apihelp-opensearch-param-limit": "Максимальное число возвращаемых результатов.",
        "apihelp-opensearch-param-namespace": "Пространства имён для поиска.",
        "apihelp-opensearch-param-format": "Формат вывода.",
+       "apihelp-options-param-reset": "Сбрасывает настройки на установленные по умолчанию.",
        "apihelp-options-example-reset": "Сбросить все настройки.",
        "apihelp-paraminfo-description": "Получить информацию о модулях API.",
        "apihelp-paraminfo-param-helpformat": "Формат строк справки.",
index a954d9f..361fe23 100644 (file)
@@ -279,7 +279,7 @@ class BacklinkCache {
                                $conds = [
                                        "{$prefix}_namespace" => $this->title->getNamespace(),
                                        "{$prefix}_title" => $this->title->getDBkey(),
-                                       $this->getDb()->makeList( [
+                                       $this->getDB()->makeList( [
                                                "{$prefix}_interwiki" => '',
                                                "{$prefix}_interwiki IS NULL",
                                        ], LIST_OR ),
index 8ca2362..d45805a 100644 (file)
@@ -322,7 +322,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
         * @return string
         */
        public function __toString() {
-               if ( $this->mConn instanceof Mysqli ) {
+               if ( $this->mConn instanceof mysqli ) {
                        return (string)$this->mConn->thread_id;
                } else {
                        // mConn might be false or something.
index 3b329da..4fdacc5 100644 (file)
@@ -232,7 +232,7 @@ class DifferenceEngine extends ContextSource {
                        ->params( $this->getLanguage()->listToText( $missing ) )
                        ->numParams( count( $missing ) )
                        ->parseAsBlock();
-               $out->addHtml( $msg );
+               $out->addHTML( $msg );
        }
 
        public function showDiffPage( $diffOnly = false ) {
@@ -715,7 +715,7 @@ class DifferenceEngine extends ContextSource {
                }
                // Short-circuit
                if ( $this->mOldRev === false || ( $this->mOldRev && $this->mNewRev
-                       && $this->mOldRev->getID() == $this->mNewRev->getID() )
+                       && $this->mOldRev->getId() == $this->mNewRev->getId() )
                ) {
                        return '';
                }
@@ -1060,12 +1060,12 @@ class DifferenceEngine extends ContextSource {
                $title = $rev->getTitle();
 
                $header = Linker::linkKnown( $title, $header, [],
-                       [ 'oldid' => $rev->getID() ] );
+                       [ 'oldid' => $rev->getId() ] );
 
                if ( $rev->userCan( Revision::DELETED_TEXT, $user ) ) {
                        $editQuery = [ 'action' => 'edit' ];
                        if ( !$rev->isCurrent() ) {
-                               $editQuery['oldid'] = $rev->getID();
+                               $editQuery['oldid'] = $rev->getId();
                        }
 
                        $key = $title->quickUserCan( 'edit', $user ) ? 'editold' : 'viewsourceold';
index a3ec66c..42168d7 100644 (file)
@@ -405,7 +405,7 @@ class XmlDumpWriter {
                        "      " . $comment . "\n" .
                        "      " . Xml::element( 'filename', null, $file->getName() ) . "\n" .
                        $archiveName .
-                       "      " . Xml::element( 'src', null, $file->getCanonicalURL() ) . "\n" .
+                       "      " . Xml::element( 'src', null, $file->getCanonicalUrl() ) . "\n" .
                        "      " . Xml::element( 'size', null, $file->getSize() ) . "\n" .
                        "      " . Xml::element( 'sha1base36', null, $file->getSha1() ) . "\n" .
                        "      " . Xml::element( 'rel', null, $file->getRel() ) . "\n" .
index 317346e..1f2cb06 100644 (file)
@@ -802,7 +802,7 @@ class SwiftFileBackend extends FileBackendStore {
        protected function doDirectoryExists( $fullCont, $dir, array $params ) {
                $prefix = ( $dir == '' ) ? null : "{$dir}/";
                $status = $this->objectListing( $fullCont, 'names', 1, null, $prefix );
-               if ( $status->isOk() ) {
+               if ( $status->isOK() ) {
                        return ( count( $status->value ) ) > 0;
                }
 
@@ -854,7 +854,7 @@ class SwiftFileBackend extends FileBackendStore {
                // Non-recursive: only list dirs right under $dir
                if ( !empty( $params['topOnly'] ) ) {
                        $status = $this->objectListing( $fullCont, 'names', $limit, $after, $prefix, '/' );
-                       if ( !$status->isOk() ) {
+                       if ( !$status->isOK() ) {
                                throw new FileBackendError( "Iterator page I/O error: {$status->getMessage()}" );
                        }
                        $objects = $status->value;
@@ -873,7 +873,7 @@ class SwiftFileBackend extends FileBackendStore {
                        $lastDir = $getParentDir( $after ); // must be first page
                        $status = $this->objectListing( $fullCont, 'names', $limit, $after, $prefix );
 
-                       if ( !$status->isOk() ) {
+                       if ( !$status->isOK() ) {
                                throw new FileBackendError( "Iterator page I/O error: {$status->getMessage()}" );
                        }
 
@@ -949,7 +949,7 @@ class SwiftFileBackend extends FileBackendStore {
                }
 
                // Reformat this list into a list of (name, stat array or null) entries
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        throw new FileBackendError( "Iterator page I/O error: {$status->getMessage()}" );
                }
 
index 433e395..7e00793 100644 (file)
@@ -393,10 +393,10 @@ abstract class File implements IDBAccessObject {
                                wfDebug( __METHOD__ . ': supposed to render ' . $this->getName() .
                                        ' (' . $this->getMimeType() . "), but can't!\n" );
 
-                               return $this->getURL(); # hm... return NULL?
+                               return $this->getUrl(); # hm... return NULL?
                        }
                } else {
-                       return $this->getURL();
+                       return $this->getUrl();
                }
        }
 
index 29b5891..609a8fb 100644 (file)
@@ -2771,7 +2771,7 @@ class LocalFileMoveBatch {
                $this->newName = $this->file->repo->getNameFromTitle( $this->target );
                $this->oldRel = $this->oldHash . $this->oldName;
                $this->newRel = $this->newHash . $this->newName;
-               $this->db = $file->getRepo()->getMasterDb();
+               $this->db = $file->getRepo()->getMasterDB();
        }
 
        /**
index 410d15d..fcf721a 100644 (file)
@@ -86,7 +86,7 @@ class HTMLTitleTextField extends HTMLTextField {
                $this->mClass .= 'mw-searchInput';
 
                // return the HTMLTextField html
-               return parent::getInputHtml( $value );
+               return parent::getInputHTML( $value );
        }
 
        protected function getDataAttribs() {
index 92b35a8..5a7e0b9 100644 (file)
@@ -51,6 +51,6 @@ class HTMLUserTextField extends HTMLTextField {
                $this->mClass .= ' mw-autocomplete-user';
 
                // return parent html
-               return parent::getInputHtml( $value );
+               return parent::getInputHTML( $value );
        }
 }
index b6740d2..259d514 100644 (file)
@@ -604,7 +604,7 @@ class WikiImporter {
                $normalFields = [ 'sitename', 'base', 'generator', 'case' ];
 
                while ( $this->reader->read() ) {
-                       if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
+                       if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
                                        $this->reader->localName == 'siteinfo' ) {
                                break;
                        }
@@ -693,7 +693,7 @@ class WikiImporter {
                if ( !isset( $logInfo['contributor']['username'] ) ) {
                        $revision->setUsername( 'Unknown user' );
                } else {
-                       $revision->setUserName( $logInfo['contributor']['username'] );
+                       $revision->setUsername( $logInfo['contributor']['username'] );
                }
 
                return $this->logItemCallback( $revision );
@@ -886,9 +886,9 @@ class WikiImporter {
                if ( isset( $revisionInfo['contributor']['ip'] ) ) {
                        $revision->setUserIP( $revisionInfo['contributor']['ip'] );
                } elseif ( isset( $revisionInfo['contributor']['username'] ) ) {
-                       $revision->setUserName( $revisionInfo['contributor']['username'] );
+                       $revision->setUsername( $revisionInfo['contributor']['username'] );
                } else {
-                       $revision->setUserName( 'Unknown user' );
+                       $revision->setUsername( 'Unknown user' );
                }
                $revision->setNoUpdates( $this->mNoUpdates );
 
@@ -992,7 +992,7 @@ class WikiImporter {
                        $revision->setUserIP( $uploadInfo['contributor']['ip'] );
                }
                if ( isset( $uploadInfo['contributor']['username'] ) ) {
-                       $revision->setUserName( $uploadInfo['contributor']['username'] );
+                       $revision->setUsername( $uploadInfo['contributor']['username'] );
                }
                $revision->setNoUpdates( $this->mNoUpdates );
 
index 7ecb71c..661c3ec 100644 (file)
@@ -199,7 +199,7 @@ class CliInstaller extends Installer {
                        }
                }
 
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        echo "\n";
                        exit( 1 );
                }
index 152f33a..79bd961 100644 (file)
@@ -202,7 +202,7 @@ abstract class DatabaseInstaller {
                        $this->db->commit( __METHOD__ );
                }
                // Resume normal operations
-               if ( $status->isOk() ) {
+               if ( $status->isOK() ) {
                        $this->enableLB();
                }
 
index f70401b..c6b8960 100644 (file)
@@ -634,7 +634,7 @@ class MssqlInstaller extends DatabaseInstaller {
                $status = parent::createTables();
 
                // Do last-minute stuff like fulltext indexes (since they can't be inside a transaction)
-               if ( $status->isOk() ) {
+               if ( $status->isOK() ) {
                        $searchindex = $this->db->tableName( 'searchindex' );
                        $schema = $this->db->addIdentifierQuotes( $this->getVar( 'wgDBmwschema' ) );
                        try {
index 234c209..0728415 100644 (file)
@@ -615,7 +615,7 @@ class PostgresInstaller extends DatabaseInstaller {
                        $conn->commit( __METHOD__ );
                }
                // Resume normal operations
-               if ( $status->isOk() ) {
+               if ( $status->isOK() ) {
                        $this->enableLB();
                }
 
index 7d09fd7..4c4e6b7 100644 (file)
@@ -1058,7 +1058,7 @@ class WebInstaller extends Installer {
                if ( !$status->isGood() ) {
                        $text = $status->getWikiText();
 
-                       if ( $status->isOk() ) {
+                       if ( $status->isOK() ) {
                                $box = $this->getWarningBox( $text );
                        } else {
                                $box = $this->getErrorBox( $text );
@@ -1149,7 +1149,7 @@ class WebInstaller extends Installer {
         */
        public function downloadLinkHook( $text, $attribs, $parser ) {
                $anchor = Html::rawElement( 'a',
-                       [ 'href' => $this->getURL( [ 'localsettings' => 1 ] ) ],
+                       [ 'href' => $this->getUrl( [ 'localsettings' => 1 ] ) ],
                        wfMessage( 'config-download-localsettings' )->parse()
                );
 
index ffab9bb..11a1833 100644 (file)
@@ -24,12 +24,12 @@ class WebInstallerComplete extends WebInstallerPage {
        public function execute() {
                // Pop up a dialog box, to make it difficult for the user to forget
                // to download the file
-               $lsUrl = $this->getVar( 'wgServer' ) . $this->parent->getURL( [ 'localsettings' => 1 ] );
+               $lsUrl = $this->getVar( 'wgServer' ) . $this->parent->getUrl( [ 'localsettings' => 1 ] );
                if ( isset( $_SERVER['HTTP_USER_AGENT'] ) &&
                        strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false
                ) {
                        // JS appears to be the only method that works consistently with IE7+
-                       $this->addHtml( "\n<script>jQuery( function () { location.href = " .
+                       $this->addHTML( "\n<script>jQuery( function () { location.href = " .
                                Xml::encodeJsVar( $lsUrl ) . "; } );</script>\n" );
                } else {
                        $this->parent->request->response()->header( "Refresh: 0;url=$lsUrl" );
index 9d0d680..63740e3 100644 (file)
@@ -81,9 +81,9 @@ class WebInstallerInstall extends WebInstallerPage {
                if ( $step == 'extension-tables' ) {
                        $this->endLiveBox();
                }
-               $msg = $status->isOk() ? 'config-install-step-done' : 'config-install-step-failed';
+               $msg = $status->isOK() ? 'config-install-step-done' : 'config-install-step-failed';
                $html = wfMessage( 'word-separator' )->escaped() . wfMessage( $msg )->escaped();
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        $html = "<span class=\"error\">$html</span>";
                }
                $this->addHTML( $html . "</li>\n" );
index 5564618..dcd30cf 100644 (file)
@@ -73,7 +73,7 @@ class WebInstallerName extends WebInstallerPage {
                                'label' => '', // @todo Needs a label?
                                'attribs' => [ 'readonly' => 'readonly', 'class' => 'enabledByOther' ]
                        ] ) .
-                       $this->getFieldSetStart( 'config-admin-box' ) .
+                       $this->getFieldsetStart( 'config-admin-box' ) .
                        $this->parent->getTextBox( [
                                'var' => '_AdminName',
                                'label' => 'config-admin-name',
@@ -100,7 +100,7 @@ class WebInstallerName extends WebInstallerPage {
                                'label' => 'config-subscribe',
                                'help' => $this->parent->getHelpBox( 'config-subscribe-help' )
                        ] ) .
-                       $this->getFieldSetEnd() .
+                       $this->getFieldsetEnd() .
                        $this->parent->getInfoBox( wfMessage( 'config-almost-done' )->text() ) .
                        // getRadioSet() builds a set of labeled radio buttons.
                        // For grep: The following messages are used as the item labels:
index 7cc5db2..0c01b64 100644 (file)
@@ -67,7 +67,7 @@ class WebInstallerOptions extends WebInstallerPage {
                        $this->parent->getHelpBox( 'config-license-help' ) .
 
                        # E-mail
-                       $this->getFieldSetStart( 'config-email-settings' ) .
+                       $this->getFieldsetStart( 'config-email-settings' ) .
                        $this->parent->getCheckBox( [
                                'var' => 'wgEnableEmail',
                                'label' => 'config-enable-email',
@@ -101,11 +101,11 @@ class WebInstallerOptions extends WebInstallerPage {
                        ] ) .
                        $this->parent->getHelpBox( 'config-email-auth-help' ) .
                        "</div>" .
-                       $this->getFieldSetEnd()
+                       $this->getFieldsetEnd()
                );
 
                $skins = $this->parent->findExtensions( 'skins' );
-               $skinHtml = $this->getFieldSetStart( 'config-skins' );
+               $skinHtml = $this->getFieldsetStart( 'config-skins' );
 
                $skinNames = array_map( 'strtolower', $skins );
                $chosenSkinName = $this->getVar( 'wgDefaultSkin', $this->parent->getDefaultSkin( $skinNames ) );
@@ -136,13 +136,13 @@ class WebInstallerOptions extends WebInstallerPage {
                }
 
                $skinHtml .= $this->parent->getHelpBox( 'config-skins-help' ) .
-                       $this->getFieldSetEnd();
+                       $this->getFieldsetEnd();
                $this->addHTML( $skinHtml );
 
                $extensions = $this->parent->findExtensions();
 
                if ( $extensions ) {
-                       $extHtml = $this->getFieldSetStart( 'config-extensions' );
+                       $extHtml = $this->getFieldsetStart( 'config-extensions' );
 
                        foreach ( $extensions as $ext ) {
                                $extHtml .= $this->parent->getCheckBox( [
@@ -152,7 +152,7 @@ class WebInstallerOptions extends WebInstallerPage {
                        }
 
                        $extHtml .= $this->parent->getHelpBox( 'config-extensions-help' ) .
-                               $this->getFieldSetEnd();
+                               $this->getFieldsetEnd();
                        $this->addHTML( $extHtml );
                }
 
@@ -167,7 +167,7 @@ class WebInstallerOptions extends WebInstallerPage {
                $uploadwrapperStyle = $this->getVar( 'wgEnableUploads' ) ? '' : 'display: none';
                $this->addHTML(
                        # Uploading
-                       $this->getFieldSetStart( 'config-upload-settings' ) .
+                       $this->getFieldsetStart( 'config-upload-settings' ) .
                        $this->parent->getCheckBox( [
                                'var' => 'wgEnableUploads',
                                'label' => 'config-upload-enable',
@@ -195,7 +195,7 @@ class WebInstallerOptions extends WebInstallerPage {
                                'label' => 'config-instantcommons',
                                'help' => $this->parent->getHelpBox( 'config-instantcommons-help' )
                        ] ) .
-                       $this->getFieldSetEnd()
+                       $this->getFieldsetEnd()
                );
 
                $caches = [ 'none' ];
@@ -219,7 +219,7 @@ class WebInstallerOptions extends WebInstallerPage {
                $hidden = ( $cacheval == 'memcached' ) ? '' : 'display: none';
                $this->addHTML(
                        # Advanced settings
-                       $this->getFieldSetStart( 'config-advanced-settings' ) .
+                       $this->getFieldsetStart( 'config-advanced-settings' ) .
                        # Object cache settings
                        // getRadioSet() builds a set of labeled radio buttons.
                        // For grep: The following messages are used as the item labels:
@@ -239,7 +239,7 @@ class WebInstallerOptions extends WebInstallerPage {
                                'help' => $this->parent->getHelpBox( 'config-memcached-help' )
                        ] ) .
                        '</div>' .
-                       $this->getFieldSetEnd()
+                       $this->getFieldsetEnd()
                );
                $this->endForm();
 
index 874ea28..64993a4 100644 (file)
@@ -5,7 +5,11 @@
                        "Seb35",
                        "Рустам Нурыев",
                        "Sagan",
-                       "Азат Хәлилов"
+                       "Азат Хәлилов",
+                       "Айсар",
+                       "Янмурза Баки",
+                       "Гульчатай",
+                       "Вильданова Гюзель"
                ]
        },
        "config-desc": "MediaWiki йөкләүсе",
        "config-help-restart": "Һеҙ үҙегеҙ индергән һәм  һаҡланған әлеге мәғлүмәттәрҙе юйып, урынлаштырыуҙың яңы процессын ебәрергә теләйһегеҙме?",
        "config-restart": "Эйе, яңынан башларға",
        "config-welcome": "=== Даирәне тикшереү ===",
+       "config-copyright": "=== Авторлыҡ хоҡуҡтары һәм шарттар ===\n\n$1\n\nMediaWiki - ирекле программа тьәминәте. Һеҙ уны ирекле программа тьәминәте фонды баҫып сығарған GNU General Public License лицензия талаптарына ярашлы рәүештә тарата һәм/йәки үҙгәртә алаһығыҙ;икенсе версияһына йәки ниндәйҙә булһа һуңғы версияһына ярашлы рәүештә.\nMediaWiki - файҙалы булыу өмөтө менән таратыла, ләкин <strong> бер ниндәй ҙә гарантияларһыҙ</strong>, хатта күҙ уңында тотолған гарантияларһыҙ <strong> коммерция ҡимәтенән тыш </strong> йәки </strong> ниндәй ҙә булһа маҡсатҡа яраҡһыҙ </strong>. Ҡара. тулыраҡ мәғлүмәт алыу өсөн GNU General Public License лицезияһы. \nҺеҙ <doclink href=Copying> копияһын GNU General Public License</doclink>ошо программа менән бергә алырға тейеш инегеҙ, әгәр алмаһағыҙ, Free Software Foundation, Inc. ошо адрес буйынса яҙығыҙ:51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA йәки  [http://www.gnu.org/copyleft/gpl.html уны онлайнда уҡығыҙ].",
+       "config-sidebar": "* [//www.mediawiki.org Сайт MediaWiki]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents/ru Ҡулланыусылар өсөн белешмә]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents/ru Администраторҙар өсөн белешмә]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/ru FAQ]\n----\n* <doclink href=Readme>Readme-файл</doclink>\n* <doclink href=ReleaseNotes>Сығарылыш тураһында мәғлүмәт</doclink>\n* <doclink href=Copying>Лицензия</doclink>\n* <doclink href=UpgradeDoc>Яңыртыуҙар</doclink>",
        "config-env-good": "Мөхитте тикшереү уңышлы тамамланды. MediaWiki урынлаштырырға мөмкин.",
        "config-env-bad": "Мөхит тикшерелде. Һеҙ MediaWiki урынлаштыра алмайһығыҙ.",
        "config-env-php": "PHP: $1 өлгөһө урынлаштырылды.",
        "config-env-hhvm": "HHVM $1 урынлаштырылды.",
+       "config-unicode-using-intl": " [http://pecl.php.net/intl ҡушылмаһы файҙаланасаҡ, «intl» для PECL]  Юникод нормаль эшләһен өсөн.",
+       "config-unicode-pure-php-warning": "'''Иғтибар!''': [http://pecl.php.net/intl ҡушылмаһы intl из PECL] Юникод өсөн рөхсәт ителмәгән PHP менән бик әкрен эшләйәсәк.\nҺеҙҙең сайт бик көсөргәнешле эшләһә [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations нормализации Юникодты нормалләштереү] өсөн уҡығыҙ.",
+       "config-unicode-update-warning": "\"Иҫкәртеү\". Ҡуйылған тышлыҡ Юникодты нормаға килтереүҙең иҫке китапхана версияһын ҡуллана[http://site.icu-project.org/ проекта ICU].Әгәр Юникодты тулы мәғәнәһендә ҡулланырға теләһәгеҙ, һеҙ [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations версияны яңыртырға] тейешһегеҙ.",
+       "config-no-db": "Мәғлүмәттәр базаһына тура килгән драйверҙарҙы табып булманы!Һеҙгә  PHP өсөн мәғлүмәттәр базаһының  драйверҙарын ҡуйырға кәрәк.{{PLURAL:$2|сираттағы төр ҡулланыла|сираттағы төрҙәр ҡулланыла}}мәғлүмәттәр базалары:$1.\nӘгәр һеҙ үҙегеҙ PHP -ға компиляция яһаған булһағыҙ,  мәғлүмәттәр базаһына клиентты индереп уны яңынан, мәҫәлән, <code>./configure --with-mysqli</code> ярҙамы менән көйләгеҙ. Әгәр ҙә һеҙ PHP -ны Debian йәки Ubuntu пакеттарынан ҡуйһағыҙ, һеҙгә, мәҫәлән,  <code>php5-mysql</code> пакетын да ҡуйырға кәрәк булыр.",
+       "config-outdated-sqlite": "'''Киҫәтеү''': Һеҙҙә SQLite  $1 ҡуйылған, $2 тейешле өлгөнән түбән . SQLite асылмаясаҡ.",
+       "config-no-fts3": "'''Иғтибар''': SQLite модулһыҙ йыйлған [//sqlite.org/fts3.html FTS3] — был мәғлүмәт базаһы өсөн эҙләү мөмкин булмаясаҡ.",
+       "config-mbstring": "\"Проблема\":  PHP опцияһы тоташтырылған\n[http://www.php.net/manual/en/ref.mbstring.php#mbstring.overload mbstring.func_overload]!'''\nБыл индерелгән мәғлүмәттәрҙең хаталарына һәм көтөлмәгән боҙолоуҙарға килтерә.\nОпцияны һүндермәйенсә MediaWikiны ҡуйыу һәм ҡулланыу мөмкин түгел.",
+       "config-xml-bad": "РНР өсөн XML-модуль юҡ. \nMediaWiki  бындай конфигурацияла эшләмәйәсәк, сөнки был модулдең функционалы талап ителә.\nБәлки, Һеҙгә RPM-пакет php-xml булдырырыға кәрәк булыр.",
+       "config-pcre-old": "'''Фаталь хата:'''  PCRE версияһы йәки яңырағы талап ителә $1.\nБашҡарылыусы файл PHP менән бәйләнгән PCRE  $2версияһы.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Ентекләберәк].",
+       "config-pcre-no-utf8": "'''Фаталь хата'''. PHP өсөн PCRE модуле  PCRE_UTF8 менән яраҡлыштырылмаған.\nMediaWiki дөрөҫ эшләһен өсөн UTF-8 талап ителә.",
+       "config-memory-raised": "Хәтер сикләнгән PHP  (<code>memory_limit</code>)  $1  $2 тиклем арттырылған.",
+       "config-memory-bad": "'''Иғтибар:''' PHP күләме <code>memory_limit</code> $1 тәшкил итә.\nБәлки, был саманан тыш аҙҙыр. \nҠуйылыштың уңышһыҙлыҡҡа осрауы бар!",
+       "config-iconv": "<strong>Фаталь хата:</strong> PHР тотороҡло эшләргә тейеш [http://www.php.net/manual/en/iconv.installation.php киңәйтеү iconv].",
+       "config-xcache": "[http://xcache.lighttpd.net/ XCache] урынлаштырылды",
+       "config-apc": "[http://www.php.net/apc APC] урынлаштырылды",
+       "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] урынлыштырылды",
+       "config-no-cache-apcu": "'''Иғтибар:'''  [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] табылманы йәки [http://www.iis.net/download/WinCacheForPhp WinCache].\nОбъекттарҙы кэшлау һүндереләсәк..",
+       "config-mod-security": "<strong>Иғтибар</strong>: һеҙҙең веб-серверығыҙҙа [http://modsecurity.org/ mod_security]/mod_security2 ҡабыҙылған. Уның күп кенә стандарт көйләүҙәре MediaWiki йәки бүтән ПО ҡулланыусыларға серверға ирекле контент ебәрегрә мөмкинлек буйынса проблемалар тыуҙырыуы мөмкин.\nКөтөлмәгән хаталарға тап булһағыҙ, ошонда [http://modsecurity.org/documentation/ документации mod_security]йәки үҙегеҙҙең хостинг-провайдерығыҙға мөрәжәғәт итегеҙ.",
+       "config-diff3-bad": "GNU diff3 табылманы.",
+       "config-git": "Git өлгөләрҙе контролләү системаһы табылды: <code>$1</code>.",
+       "config-git-bad": "Git өлгөләре менән идара итеү программаһы табылды?",
+       "config-imagemagick": "ImageMagick: <code>$1</code> табылды.\nФайлдарҙы тейәргә рөхсәт итһәгеҙ, рәсемдәрҙе миниатюр итеп күһәтеү мөминлеге бар.",
+       "config-gd": "Found GD graphics library built-in.\nImage thumbnailing will be enabled if you enable uploads.",
+       "config-no-scaling": "Эске китапхананы GD йәки ImageMagick табып булманы.\nМиниатюр рәсемдәр ҡарау мөмкин булмаясаҡ.",
+       "config-no-uri": "'''Хата:''' Ағымдағы URI билдәләп булмай.\nУрынлаштырыу өҙөлдө.",
+       "config-no-cli-uri": "'''Киҫәтеү''': параметр күрһәтелмәгән <code>--scriptpath</code>, килешеү байынса: <code>$1</code> .",
+       "config-using-server": "«<nowiki>$1</nowiki>» сервер исеме файҙаланыла.",
+       "config-using-uri": " \"<nowiki>$1$2</nowiki>\" сервер исеме файҙаланыла.",
+       "config-no-cli-uploads-check": "\"Иғтибар\" әйтмәйенсә тейәлеү өсөн каталог (<code>$1</code>) CLI  урынлаштырған мәлдә тиҙ боҙололоусанлыҡҡа, ирекле сценарийҙы үтәүгә тикшерелмәне.",
+       "config-db-type": "Мәғлүмәт базаһы төрө:",
+       "config-db-host": "Мәғлүмәт базаһы хосты:",
+       "config-db-host-help": "Әгәр ҙә серверҙың база мәғлүмәттәре икенсе серверҙа урынлашһа, бында уның исемен йәки IP-адресын индерегеҙ.\nӘгәр ҙә һеҙ виртуаль хостингты ҡулланһағыҙ, һеҙҙең провайдерығыҙ  хостың дөрөҫ исемен үҙенең документацияһында күрһәтергә тейеш.\nӘгәр ҙә һеҙ системаны Windows аҫтына ҡуяһығыҙ һәм MySQL - ды ҡулланаһығыҙ икән, «localhost» исемле сервер эшләй алмаясаҡ. Был осраҡта 127.0.0.1 локаль  IP-адресығыҙҙы күрһәтергә тырышығыҙ.\nӘгәр ҙә һеҙ  PostgreSQL-ды  ҡулланаһығыҙ икән, был шаҡмаҡты сокет Unix аша инеү өсөн буш ҡалдырығыҙ.",
+       "config-db-host-oracle": "TNS мәғлүмәт базаһы:",
+       "config-db-wiki-settings": "Был викиҙың идентификацияһы",
+       "config-db-name": "Мәғлүмәт базаһы исеме:",
+       "config-db-name-help": "Үҙегеҙҙең вики өсөн исем - идентификатор һайлағыҙ.\nИсемдә тултырылмаған урын булмаҫҡа тейеш.\nӘгәр һеҙ виртуаль хостингты ҡулланаһығыҙ икән, провайдер һеҙгә мәғлүмәттәр базаһының конкрет исемен бирер йәки идара итеү панеле ярҙамы менән мәғлүмәттәр базаһын булдырырға мөмкинлек бирер.",
+       "config-db-name-oracle": "Мәғлүмәт базаһы схемаһы",
+       "config-db-install-account": "Көйләү өсөн иҫәп яҙмаһы",
+       "config-db-username": "Мәғлүмәт базаһын ҡулланыусы исеме",
+       "config-db-password": "Мәғлүмәт базаһының серһүҙе",
+       "config-db-install-username": "Ҡуйылыш процесында мәғлүмәттәр базаһына тоташтырыу өсөн файҙаланасаҡ ҡулланыусы исемен индерегеҙ.\nБыл исем MediaWiki ҡулланыусыныҡы түгел, был мәғлүмәттәр базаһы өсөн ҡулланыусы исеме.",
+       "config-db-install-password": "Ҡуйылыш процесында мәғлүмәттәр базаһына тоташтырыу өсөн файҙаланасаҡ ҡулланыусы исемен индерегеҙ.\nБыл исем MediaWiki ҡулланыусыныҡы түгел, ә мәғлүмәттәр базаһы өсөн ҡулланыусы исеме.",
+       "config-db-install-help": "Ҡуйылыш процесын көйләгәндә мәғлүмәттәр базаһына тоташтырыу өсөн файҙаланасаҡ  ҡулланыусы исемен һәм паролен индерегеҙ.",
+       "config-db-account-lock": "Ғәҙәти эш өсөн шул уҡ ҡулланыусы исемен һәм серһүҙен файҙаланырға",
+       "config-db-wiki-account": "Ғәҙәти эш өсөн иҫәп яҙмаһы",
+       "config-db-prefix": "Мәғлүмәт базаһы таблицаларының префиксы",
+       "config-db-charset": "Мәғлүмәт базаһын кодлау",
+       "config-charset-mysql5-binary": "MySQL 4.1/5.0 бинарлы",
+       "config-charset-mysql5": "MySQL 4.1/5.0 UTF-8",
+       "config-charset-mysql4": "MySQL 4.0 һәм UTF-8 үҙ-ара бәйләнешле",
+       "config-mysql-old": "PostgreSQL $1 йәки тағы ла һуңыраҡ булған версия кәрәк. Һеҙҙә PostgreSQL $2 ҡуйылған.",
+       "config-db-port": "Мәғлүмәт базаһы порты:",
+       "config-db-schema": "MediaWiki өсөн схема:",
+       "config-db-schema-help": "Был схема ғәҙәттә яҡшы эшләй.\nУны, үҙегеҙгә кәрәк булһа ғына, үҙгәртегеҙ",
+       "config-pg-test-error": "Мәғлүмәт базаһына инеп булманы<strong>$1</strong>: $2",
+       "config-sqlite-dir": "SQLite мәғлүмәттәре директориһы:",
+       "config-oracle-def-ts": "Килешеү буйынса таблица арауығы:",
+       "config-oracle-temp-ts": "Таблицаларҙың ваҡытлы киңлеге:",
+       "config-type-mysql": "MySQL (йәки тура килгән)",
+       "config-type-mssql": "Microsoft SQL Server",
+       "config-support-info": "MediaWiki -ла түбәндәге СУБД бар:\n\n$1\n\nӘгәр мәғлүмәт һаҡлау системаһын исемлектә күрмәһәгеҙ, рөхсәт алыу өсөн өҫтәге һылтанмалағы инструкция буйынса эш итегеҙ.",
+       "config-dbsupport-postgres": "* [{{int:version-db-postgres-url}} PostgreSQL] —  СУБД-ның популяр открыткаһы, MySQL өсөн альтернатива.\nТөҙәтелмәгән хаталар булыуы мөмкин, эш схемаһында ҡулланыу тәҡдим ителмәй. ([http://www.php.net/manual/ru/pgsql.installation.php  PostgreSQL рөхсәт ителгән РНР йыйыу инструкцияһы]).",
+       "config-dbsupport-sqlite": "* [{{int:version-db-sqlite-url}} SQLite] — яҡшы һәм еңел мәғлүмәт базаһы системаһы. ([http://www.php.net/manual/ru/pdo.installation.php  собрать PHP  SQLite]  PDO менән эшләй торған инструкция)",
+       "config-dbsupport-oracle": "* [{{int:version-db-oracle-url}} Oracle] — предприятие масштабындаға коммерция базыһы. ([http://www.php.net/manual/ru/oci8.installation.php OCI8 ярҙамындағы РНР нисек йыйырға])",
+       "config-dbsupport-mssql": "* [{{int:version-db-oracle-url}} Oracle] — предприятие масштабындаға Windows өсөн коммерция базыһы. ([http://www.php.net/manual/ru/oci8.installation.php OCI8 ярҙамындағы РНР нисек йыйырға])",
+       "config-header-mysql": "MySQL көйләү",
+       "config-header-postgres": "PostgreSQL көйләү",
+       "config-header-sqlite": "SQLite көйләү",
+       "config-header-oracle": "Оракул көйләү",
+       "config-header-mssql": "Microsoft SQL Серверенең билдәле дәүмәлдәре",
+       "config-invalid-db-type": "Нигеҙ тибтарының дөрөҫ булмаған күрһәткестәре",
+       "config-missing-db-name": "Һеҙ мәғәнәне индерергә тейешһегеҙ «{{int:config-db-name}}».",
+       "config-missing-db-host": "Параметр мәғәнәһен индереү мотлаҡ «{{int:config-db-host}}».",
+       "config-missing-db-server-oracle": "Һеҙ бында мәғәнәне индерергә тейешһегеҙ «{{int:config-db-host-oracle}}».",
+       "config-invalid-db-prefix": "«$1» мәғлүмәттәр базаһының дөрөҫ булмаған префиксы. Тик ASCII (a-z, A-Z) хәрефтәрен, (0-9) һандарын, (_) аҫтына һыҙыу билдәһен һәм (-)дефисты ҡулланығыҙ.",
+       "config-connection-error": "$1.\n\nХостығыҙҙы, ҡулланыусы исемен һәм паролде тикшерегеҙ ҙә яңынан инеп ҡарағыҙ.",
+       "config-invalid-schema": "MediaWiki «$1» өсөн схема дөрөҫ түгел.\nБары тик ASCII символдарын (a-z, A-Z), цифрҙарҙы (0-9) һәм аҫҡы һыҙыҡты (_) ғына ҡулланығыҙ.",
+       "config-db-sys-create-oracle": "Яңы иҫәп-хисап яҙмаһын булдырыу өсөн урынлаштырыу программаһы тик SYSDBA ҡулланыу хуплана",
+       "config-db-sys-user-exists-oracle": "Иҫәп яҙмаһы \"$1\". SYSDBA яңы иҫәп-хисап яҙмаһын булдырыу өсөн генә ҡулланыла",
+       "config-postgres-old": "PostgreSQL $1 йәки тағы ла һуңыраҡ булған версия кәрәк. Һеҙҙә PostgreSQL $2 ҡуйылған.",
+       "config-mssql-old": "$1 йә һуңыраҡ версиянан Microsoft SQL Server кәрәк. Һеҙҙә $2 версияһы ҡуйылған.",
+       "config-sqlite-name-help": "Үҙегеҙҙең вики өсөн исем-идентификатор һайлағыҙ.\nДефисы һәм буш урын ҡалдырмағыҙ.\nЬыл юл SQLite файлының исемендә ҡулланыласаҡ.",
+       "config-sqlite-mkdir-error": "«$1» мәғлүмәттәре өсөн директорий яһауҙа хата.\nУрынлашыуын тикшерегеҙ һәм тағы ла эшләп ҡарағыҙ.",
+       "config-sqlite-dir-unwritable": " «$1» каталогына яҙыу булдырыу мөмкин түгел. Веб - сервер был каталогка яҙа алһын өсөн, инеү юлы көйләгесен  үҙгәртегеҙ һәм тағы ла бер мәртәбә ҡабатлап ҡарағыҙ.",
+       "config-sqlite-connection-error": "$1.\n\nМәғлүмәт базаһының исемен һәм мәғлүмәт директорияһын тикшерегеҙ ҙә яңынан эшләп ҡарағыҙ.",
+       "config-sqlite-readonly": "<code>$1</code> файлы яҙыу өсөн ябыҡ.",
+       "config-sqlite-cant-create-db": "<code>$1</code> мәғлүмәт базаһы файлын яһап булмай.",
+       "config-sqlite-fts3-downgrade": "PHP өсөн FTS3 булышлығы юҡ — таблицаларҙы алып ташлайбыҙ",
+       "config-can-upgrade": "Мәғлүмәттәр базаһында MediaWiki таблицалары бар.\nУларҙы MediaWiki $1 итеп яңыртыу өсөн '''«Дауам итергә»''' төймәһенә баҫығыҙ.",
+       "config-upgrade-done": "Яңыртыу тамамланды.\n\nХәҙер [$1 викины ҡуллана башларға] мөмкин.\n\nӘгәр ҙә <code>LocalSettings.php</code> файлын яңынан яһарға теләһәгеҙ, аҫтағы төймәгә баҫығыҙ. Ҡуйғанда проблемалар булмаһа, был '''тәҡдим ителмәй'''.",
+       "config-upgrade-done-no-regenerate": "Яңыртыу тамамланды.\nХәҙер [$1 вики менән эш башлай] алаһығыҙ.",
+       "config-regenerate": "LocalSettings.php яңынан төҙөргә →",
+       "config-show-table-status": "«<code>SHOW TABLE STATUS</code>» һорауы эшләнмәне!",
+       "config-unknown-collation": "'''Иғтибар:''' Мәғлүмәт базаһы сортировканың танылмаған ҡағиҙәләрен ҡуллана.",
+       "config-db-web-account": "Веб-серверҙан мәғлүмәт базаһына инеү өсөн иҫәп яҙмаһы",
+       "config-db-web-help": "Викиҙың ғәҙәттәге эшендә веб - сервер файҙалана торған  мәғлүмәттәр базаһының серверына тоташтырыу өсөн ҡулланыусының исемен һәм серһүҙен һайлағыҙ.",
+       "config-db-web-account-same": "Ҡуйыу өсөн булған иҫәп яҙмаһын ҡулланырға",
+       "config-db-web-create": "Иҫәп яҙмаһы булмаһа - яһарға",
+       "config-db-web-no-create-privs": "Ҡуйылыш өсөн күрһәтелгән иҫәп яҙмағыҙҙың уны барлыҡҡа килтереү өсөн етерлек хоҡуҡтары юҡ. \nКүрһәтелгән иҫәп яҙма бында булырға тейеш инде.",
+       "config-mysql-engine": "Мәғлүмәт базаһы шыуҙырмаһы",
+       "config-mysql-innodb": "InnoDB",
+       "config-mysql-myisam": "MyISAM",
+       "config-mysql-charset": "Мәғлүмәт базаһын кодлау",
+       "config-mysql-binary": "Икеле",
+       "config-mysql-utf8": "UTF-8",
+       "config-mssql-auth": "Аутентификация төрө :",
+       "config-mssql-sqlauth": "SQL Server ысынлығын тикшереү",
+       "config-mssql-windowsauth": "Windows нөсхәһен тикшереү",
+       "config-site-name": "Вики атамаһы:",
+       "config-site-name-help": "Исеме браузерҙың баш һүҙендә  һәм башҡа урындарҙа күрәнәсәк.",
+       "config-site-name-blank": "Сайт исемен яҙығыҙ",
+       "config-project-namespace": "Проекттың исемдәр арауығы:",
+       "config-ns-generic": "Проект",
+       "config-ns-site-name": "Викилағы кеүек исем: $1",
+       "config-ns-other": "Башҡа (күрһәтегеҙ)",
+       "config-ns-other-default": "MyWiki",
+       "config-admin-box": "Администраторҙың иҫәп яҙмаһы",
+       "config-admin-name": "Һеҙҙең ҡуланыусы исеме",
+       "config-admin-password": "Серһүҙ:",
+       "config-admin-password-confirm": "Серһүҙҙе ҡабатлағыҙ",
+       "config-admin-name-blank": "Администраторҙың ҡулланыусы исемен яҙығыҙ",
+       "config-admin-name-invalid": "Ҡулланыусының күрһәтелгән  «<nowiki>$1</nowiki>» исеме рөхсәт ителмәй. Уның икенсе исемен яҙығыҙ.",
+       "config-admin-password-blank": "Администраторҙың иҫәп яҙмаһы өсөн серһүҙҙе яҙығыҙ",
+       "config-admin-password-mismatch": "Һеҙ яҙған серһүҙҙәр тап килмәй.",
+       "config-admin-email": "Электрон почта адресығыҙ:",
+       "config-admin-error-user": "«<nowiki>$1</nowiki>» исеме менән администраторҙың иҫәп яҙмаһы төҙөгәндә эске хата.",
+       "config-admin-error-bademail": "Электрон почта адресы дөрөҫ түгел",
+       "config-almost-done": "Һеҙ маҡсатҡа яҡын!\nҠалған көйләүҙәрҙе төшөрөп ҡалдырып, вики ҡуя алаһығыҙ.",
+       "config-optional-continue": "Төплөрәк көйләргә",
+       "config-optional-skip": "Етәр, вики ҡуйығыҙ",
+       "config-profile": "Ҡулланыусылар хоҡуҡтары профиле:",
+       "config-profile-wiki": "Асыҡ вики",
+       "config-profile-no-anon": "Иҫәп яҙмаһы булдырырға",
+       "config-profile-fishbowl": "Бары тик авторлашҡан мәхәррирҙәр өсөн",
+       "config-profile-private": "Ябыҡ вики",
+       "config-license": "Автор хоҡуҡтары һәм лицензиялар:",
+       "config-license-none": "Лицензияны аҫта яҙмағыҙ",
+       "config-license-cc-by-sa": "Creative Commons Attribution Share Alike",
+       "config-license-cc-by": "Ижади лицензия, атрибутикалар",
+       "config-license-cc-by-nc-sa": "Creative Commons Attribution Non-Commercial Share Alike",
+       "config-license-cc-0": "Creative Commons Zero (йәмәғәт милке)",
+       "config-license-gfdl": "GNU Free Documentation License 1.3 йәки яңырағы",
+       "config-license-pd": "Йәмәғәт милке",
+       "config-license-cc-choose": "Creative Commons бер лицензияны һайлағыҙ",
+       "config-email-settings": "Электрон почта көйләүҙәре",
+       "config-enable-email": "e-mail сығыусы почтаны рәхсәт итергә",
+       "config-email-user": "Ҡатнашыусынан ҡатнашыусыға почтаны рөхсәт итергә",
+       "config-email-user-help": "Әгәр профилдә тейешле көйләү булһа, бөтә ҡатнашыусыларға электрон хат ебәрергә рөхсәт итергә.",
+       "config-email-usertalk": "Ҡулланыусыларҙы уларҙың фекерләшеү битендәге хәбәрҙәр хаҡында белдереүҙәрҙе файҙаланыу",
+       "config-email-usertalk-help": "Ҡулланыусылар үҙ көйләүҙәрендә рөхсәт бирһә, уларға фекерләү биттәрендәге үҙгәрештәр хаҡында белдереүҙәр алырға рөхсәт итеү.",
+       "config-email-watchlist": "Күҙәтеү исемлеген үҙгәртеү хаҡында электрон почтаға белдереү ебәрергә",
+       "config-email-watchlist-help": "Ҡулланыусылар үҙ көйләүҙәрендә рөхсәт бирһә, уларға фекерләү биттәрендәге үҙгәрештәр хаҡында белдереүҙәр алырға рөхсәт итеү.",
+       "config-email-auth": "Электрон почта аша аутентификация (ҡулланыусы тәҡдим иткән идентификаторҙы тикшереү) үткәреү",
+       "config-email-sender": "Электрон почта адресығыҙ",
+       "config-upload-settings": "Рәсем-һүрәттәрҙе һәм файлдарҙы тултырыу",
+       "config-upload-enable": "Файл тултырырға рөхсәт биреү",
+       "config-upload-help": "Файлды тейәргә рөхсәт итеү серверҙың хәүефһеҙлегенә янай. Өҫтәмә мәғлүмәт алыу өсөн Ҡулланманың [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Security хәүефһеҙлек бүлеген] уҡығыҙ.",
+       "config-upload-deleted": "Юйылған файлдарға директория",
+       "config-upload-deleted-help": "Юйылған файлдар архивы һаҡланасаҡ  каталогты һайлағыҙ.\nИң шәп осраҡта, интернет селтәренән был каталогҡа инеү рөхсәте булырға тейеш түгел.",
+       "config-logo": "Логотип URL-ы :",
+       "config-logo-help": "MediaWiki стантарт биҙәү темаһының ситтәге панелендә 135x160 пикселдән торған логотип урынлаштырыла. Шул ҙурлыҡтағы рәсемде тейәгеҙ, һәм  URL адресын яҙығыҙ.\nЛогитип сағыштырмаса ошо юлдарҙа ятһа, <code>$wgStylePath</code> йәки <code>$wgScriptPath</code> кодын файҙалана алаһығыҙ.\nӘгәр логотип кәрәк булмаһа, был урында буш ҡалдырығыҙ.",
+       "config-instantcommons": "Instant Commons-ты тоҡандырырға",
+       "config-instantcommons-help": "[//www.mediawiki.org/wiki/InstantCommons Instant Commons] — Викимилектәге рәсем, тауыш һәм башҡа медиафайлдарҙы файҙаланыу функцияһы  ([//commons.wikimedia.org/ Wikimedia Commons]).\n MediaWiki функцияһы менән эшләү өсөн интернетҡа инеү мөмкинлеге кәрәк.\n\nInstant Commons тураһында өҫтәмә мәғлүмәтте, һәм башҡа көйләүҙәрҙе [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos Ҡулланмала] табырға була.",
+       "config-cc-error": "Creative Commons лицензияһын һайлау механизмы нәтижә бирмәне.\nЛицензия исемен ҡулдан яҙығыҙ.",
+       "config-cc-again": "Ҡабаттан һайлағыҙ",
+       "config-cc-not-chosen": "Creative Commons лицензияһының ҡулланырға теләгәнен һайлағыҙ һәм \"proceed\" төймәһенә баҫыҡыҙ.",
+       "config-advanced-settings": "Өҫтәлмә көйләүҙәр",
+       "config-cache-options": "Объекттарҙы кэшлау параматры",
+       "config-cache-help": "Объекттарҙы кэшлау MediaWiki-ның тиҙлеген арттырыу өсөн ҡулланыла. Ҙур һәм уртаса сайттар өсөн кэшлау ҡәтғи тәҡдим ителә, белекәй сайттар өсөн өҫтөнлөк бирелә.",
+       "config-cache-none": "Кэш ҡулланмайынса (фуккция юғалмай, әммә эре вики-сайттар әкренерәк эшләйәсәк)",
+       "config-cache-accel": "Объекттарҙы PHP кэшлау  (APC, XCache йәки WinCache)",
+       "config-cache-memcached": "Memcached ҡулланырға (өҫтәлмә көйләү талап итә)",
+       "config-memcached-servers": "Memcached серверҙары:",
+       "config-memcached-help": "Memcached ҡулланған IP-адрестар исемлеге.\nҺәр юлға бер генә адрес яҙып һанап сығығыҙ. \nМәҫәлән:\n\n 127.0.0.1:11211\n 192.168.1.25:1234",
+       "config-memcache-needservers": "Һеҙ Memcached кэшлауҙы һайланыҡыҙ, әммә сервер адресын яҙманығыҙ.",
+       "config-memcache-badip": "Һеҙ Memcached өсөн хата IP-адрес яҙҙығыҙ: $1.",
+       "config-memcache-badport": "Memcached порттары $1 һәм $2 араһында ярырға тейеш.",
+       "config-extensions": "Киңәйтеүҙәр",
+       "config-skins": "Биҙәлеш темалары",
+       "config-skins-help": "Өҫтә һаналған биҙәү темалары һеҙҙең <code>./skins</code> каталогында табылды. Һеҙгә уларҙың берәүһен булһа ла эшләтергә һәм өндәшмәү буйынса ҡулланыласағын һайларға кәрәк.",
+       "config-skins-use-as-default": "Махсус әйтмәгәндә был биҙәлеү темаһын ҡулланырға",
+       "config-skins-missing": "Биҙәү темалары табылманы. Һеҙ яраҡлыһын ҡуйғансы, MediaWiki резерв теманы ҡулланасаҡ.",
+       "config-skins-must-enable-some": "Һеҙ иң кәмендә бер биҙәлеү темаһын эш өҫтөндә ҡалдырырға тейеш",
+       "config-skins-must-enable-default": "\n\nҺүҙһеҙ һайланған биҙәлеш темаһы теркәлергә тейеш.",
+       "config-install-alreadydone": "'''Иҫкәртеү:''' Һеҙ MediaWiki ҡуйҙығыҙ шикелле, әле быны икенсегә эшләйһегеҙ. Алдағы биткә күсегеҙ.",
+       "config-install-begin": "«{{int:config-continue}}» - бында баҫыу MediaWiki ҡуйыуҙы башлай.\nӘгәр һеҙ үҙгәреш индерергә теләһәгеҙ, баҫығыҙ: «{{int:config-back}}».",
+       "config-install-step-done": "Юҡ",
+       "config-install-step-failed": "килеп сыҡманы",
+       "config-install-extensions": "Шул иҫәптән киңәйтеүҙәр",
+       "config-install-database": "Мәғлүмәттәр базаһын  көйләү",
+       "config-install-schema": "Схемаға һалыу",
+       "config-install-pg-schema-not-exist": "PostgreSQL схемалары юҡ",
+       "config-install-pg-schema-failed": "Таблица эшләп булманы. Ҡулланыусы «$1» «$2»-се схема яҙа алыуына ышанырға.",
+       "config-install-pg-commit": "Үҙгәртеүҙәр индереү",
+       "config-install-pg-plpgsql": " PL/pgSQL телен тикшереү",
+       "config-pg-no-plpgsql": "Һеҙгә $1 мәғлүмәт базаһы өсөн PL/pgSQL тел яҡлауын ҡуйырға кәрәк",
+       "config-pg-no-create-privs": "Ҡуйыу өсөн күрһәтелгән иҫәп яҙмаһының иҫәп яҙмаһы булдырыу өсөн етерлек өҫтөнлөгө юҡ.",
+       "config-pg-not-in-role": "Веб-ҡулланыусының күрһәтелгән иҫәп яҙмаһы инде бар. Һеҙ ҡуйыу өсөн һайлаған иҫәп яҙмаһы супер ҡулланыусы яҙмаһы түгел һәм веб-ҡулланыусы роленә инмәй; шуға ла веб-ҡулланыусыныҡы булған объекттар төҙөп булмай\n\nMediaWiki хәҙерге ваҡытта таблицалар хужаһы веб-ҡулланыусы булыуын талап итә. Зинһар, веб-ҡулланыусы иҫәп яҙмаһы өсөн башҡа исем күрһәтегеҙ йәки, «артҡа» төймәһенә баҫып, ҡуйыу өсөн етерлек хоҡуҡтары булған ҡулланыусыны күрһәтегеҙ.",
+       "config-install-user": "Ҡулланыусының база дәүмәлдәрен теркәү",
+       "config-install-user-alreadyexists": "Ҡатнашыусы $1 бар инде",
+       "config-install-user-create-failed": "Ҡатнашыусы «$1» эшләү килеп сыҡманы: $2",
+       "config-install-user-grant-failed": "Ҡатнашыусы «$1»-гә хоҡуҡ биреү хата: $2",
+       "config-install-user-missing": "Күрһәтелгән ҡатнашыусы «$1» юҡ.",
+       "config-install-user-missing-create": "Күрһәтелгән ҡатнашыусы «$1» юҡ.\nӘгәр ҙә яһарға теләгәгеҙ булһа,зинһар, аҫта «Иҫәп яҙыуы булдырырға» билдәһе ҡуйығыҙ.",
+       "config-install-tables": "Таблица төҙөү",
+       "config-install-tables-exist": "'''Иҫкәртеү''': MediaWiki таблицаларының булыуы ихтимал. Икенсегә яһауҙы булдырмау.",
+       "config-install-tables-failed": "'''Хата''': Хата булыу сәбәпле таблица эшләнмәне: $1",
+       "config-install-interwiki": "Килешеү буйынса интервики таблицаларын тултырыу",
+       "config-install-interwiki-list": "Файл табылманы <code>interwiki.list</code>.",
+       "config-install-interwiki-exists": "'''Киҫәтеү''': интервики-таблицала яҙма бар.\nСтандарт исемлек төҙөү төшөп ҡалды.",
+       "config-install-stats": "Инициализация статистикаһы",
+       "config-install-keys": "Серле асҡыстар төҙөү",
+       "config-insecure-keys": "'''Киҫәтеү''' {{PLURAL:$2|1=Ҡатнашыусы булдырған хәүефһеҙлек асҡысы  $1 ышаныслы түгел}}. Асҡысты үҙгәртеү мөмкинлеген {{PLURAL:$2|1=}} ҡарағыҙ.",
+       "config-install-updates": "Кәрәкмәген яңыртыуҙар туҡтатылды",
+       "config-install-updates-failed": "<strong>Хата:</strong> Яңыртыуға асҡыс ҡуйыу түбәндәге хата менән тамамланды: $1",
+       "config-install-sysop": "Администратор иҫәп яҙмаһын булдырыу",
+       "config-install-subscribe-fail": "mediawiki-announce яҙылып булманы: $1",
+       "config-install-subscribe-notpossible": "cURL урынлаштырылмаған һәм опция асылмай<code>allow_url_fopen</code>.",
+       "config-install-mainpage": "Килешеү буйынса эстәлекле баш битте эшләү",
+       "config-install-extension-tables": "Ҡушымталар өсөн таблица эшләү",
+       "config-install-mainpage-failed": "Баш битте ҡуйып булмай:$1",
+       "config-install-done": "<strong>Ҡотлайбыҙ!</strong>\nMediaWiki уңышлы урынлаштырылды.\n\nФайл булдырылды <code>LocalSettings.php</code>.\nБыл файлда һеҙҙеү бөтә көәләүҙәр бар.\n\n\nАвтоматик тейәү башланмаһа йәки үҙегеҙ өҙһәгеҙ түбәндәге һылтанма буйынса тейәргә була:\n\n$3\n\n<strong>Иҫкәртмә</strong>: Файлда тейәмәйенсә сыҡһағыҙ киләсәктә бына эшләй алмайһығыҙ.\n\n\nӨҫтә яҙылғандарҙы эшләгәс<strong>[$2 беҙҙеү викиҙа инегеҙ]</strong>.",
+       "config-download-localsettings": "<code>LocalSettings.php</code> тейәргә",
        "config-help": "белешмә",
+       "config-help-tooltip": "асыр өсөн сиртегеҙ",
+       "config-nofile": "\"$1\" файлын табып булмай, ул юйылған.",
+       "config-extension-link": "Беҙҙең вики-проектта [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions ҡушымта] барлығын беләһегеҙме??\n\n[//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category категориялар буйынса ҡушымта] йәки [//www.mediawiki.org/wiki/Extension_Matrix матрица ҡсн ҡушымтаның] тулы исемлеген ҡарай алаһығыҙ.",
        "mainpagetext": "«MediaWiki» уңышлы рәүештә ҡоролдо.",
        "mainpagedocfooter": "Был вики менән эшләү тураһында мәғлүмәтте [//meta.wikimedia.org/wiki/Help:Contents ошонда] табып була.\n\n== Файҙалы сығанаҡтар ==\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Көйләүҙәр исемлеге (инг.)];\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki тураһында йыш бирелгән һорауҙар һәм яуаптар (инг.)];\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-ның яңы версиялары тураһында хәбәрҙәр алып тороу].\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]"
 }
index 0653a72..d70571d 100644 (file)
@@ -6,7 +6,8 @@
                        "KuboF",
                        "Fitoschido",
                        "Ochilov",
-                       "Tlustulimu"
+                       "Tlustulimu",
+                       "Robin van der Vliet"
                ]
        },
        "config-desc": "Instalilo de MediaWiki",
        "config-db-name": "Nomo de datumbazo:",
        "config-charset-mysql5": "MySQL 4.1/5.0 UTF-8",
        "config-type-mysql": "MySQL (aŭ kongrua)",
+       "config-header-mysql": "MySQL-agordoj",
+       "config-header-postgres": "PostgreSQL-agordoj",
+       "config-header-sqlite": "SQLite-agordoj",
+       "config-header-oracle": "Oracle-agordoj",
+       "config-header-mssql": "Microsoft SQL Server-agordoj",
+       "config-mysql-binary": "Duuma",
        "config-mysql-utf8": "UTF-8",
        "config-site-name": "Nomo de vikio:",
        "config-ns-generic": "Projekto",
index 9c1aaa7..3090edc 100644 (file)
        "config-install-mainpage": "Creando página principal con contenido predeterminado",
        "config-install-extension-tables": "Creando las tablas para las extensiones habilitadas",
        "config-install-mainpage-failed": "No se pudo insertar la página principal: $1",
-       "config-install-done": "<strong>¡Felicidades!</strong>\nHas instalado MediaWiki correctamente.\n\nEl instalador ha generado un  archivo <code>LocalSettings.php</code>.\nEste contiene toda su configuración.\n\nDeberás descargarlo y ponerlo en la base de la instalación de wiki (el mismo directorio que index.php). La descarga debería haber comenzado automáticamente.\n\nSi no comenzó la descarga, o si se ha cancelado, puedes reiniciar la descarga haciendo clic en el siguiente enlace:\n\n$3\n\n<strong>Nota</strong>: Si no haces esto ahora, este archivo de configuración generado no estará disponible más tarde si sales de la instalación sin descargarlo.\n\nCuando lo hayas hecho, podrás <strong>[$2  entrar en tu wiki]</strong>.",
+       "config-install-done": "<strong>¡Felicidades!</strong>\nHas instalado MediaWiki.\n\nEl instalador ha generado un archivo <code>LocalSettings.php</code>.\nEste contiene toda su configuración.\n\nDeberás descargarlo y ponerlo en la base de la instalación de wiki (el mismo directorio que index.php). La descarga debería haber comenzado automáticamente.\n\nSi no comenzó la descarga, o si se ha cancelado, puedes reiniciar la descarga haciendo clic en el siguiente enlace:\n\n$3\n\n<strong>Nota</strong>: si no haces esto ahora, este archivo de configuración generado no estará disponible más tarde si sales de la instalación sin descargarlo.\n\nCuando lo hayas hecho, podrás <strong>[$2  entrar en tu wiki]</strong>.",
        "config-download-localsettings": "Descargar <code>LocalSettings.php</code>",
        "config-help": "ayuda",
        "config-help-tooltip": "haz clic para ampliar",
index e7bed0e..9a30139 100644 (file)
@@ -43,6 +43,7 @@
        "config-page-existingwiki": "Esamas viki",
        "config-help-restart": "Ar norite ištrinti visus išsaugotus duomenis, kuriuos jūs įvedėte ir iš naujo paleisti diegimo procesą?",
        "config-restart": "Taip, paleiskite jį iš naujo",
+       "config-welcome": "== Aplinkos patikrinimas ==\nDabar bus atlikti pagrindiniai patikrinimai, po kurių paaiškės, ar ši aplinka yra tinkama MediaWiki įrangai.\nNepamirškite įtraukti šią informaciją, jeigu norite gauti pagalbos, kaip užbaigti įdiegimą.",
        "config-sidebar": "* [//www.mediawiki.org MediaWiki namų tinklalapis]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Vartotojo gidas]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents Administratoriaus gidas]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ DUK]\n----\n* <doclink href=Readme>Skaityk mane</doclink>\n* <doclink href=ReleaseNotes>Leidimo pastabos</doclink>\n* <doclink href=Copying>Kopijavimas</doclink>\n* <doclink href=UpgradeDoc>Atnaujinimas</doclink>",
        "config-env-good": "Aplinka buvo patikrinta.\nJūs galite įdiegti MediaWiki.",
        "config-env-bad": "Aplinka buvo patikrinta.\nJūs negalite įdiegti MediaWiki.",
        "config-xcache": "[http://xcache.lighttpd.net/ XCache] yra įdiegtas",
        "config-apc": "[http://www.php.net/apc APC] yra įdiegtas",
        "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] yra įdiegtas",
+       "config-no-cache-apcu": "<strong>Įspėjimas:</strong> Nepavyko rasti [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache] or [http://www.iis.net/download/WinCacheForPhp WinCache].\nObjekto spartinimas neįjungtas.",
        "config-diff3-bad": "GNU diff3 nerastas.",
-       "config-using-server": "Naudojant serverio pavadinimas „<nowiki>$1</nowiki>“.",
+       "config-git": "Rasta Git versijų kontrolės sistema: <code>$1</code>.",
+       "config-imagemagick": "Rastas „ImageMagick“: <code>$1</code>.\nPaveikslėlių miniatiūrizavimas bus įjungtas, jeigu įgalinsite vaizdų įkėlimą.",
+       "config-using-server": "Naudojamas serverio pavadinimas „<nowiki>$1</nowiki>“.",
        "config-using-uri": "Naudojamas serverio URL „<nowiki>$1$2</nowiki>“.",
        "config-db-type": "Duomenų bazės tipas:",
        "config-db-host": "Duomenų bazės serveris:",
index 57c4790..2644f3f 100644 (file)
@@ -15,7 +15,7 @@
        "config-localsettings-upgrade": "Một tập tin <code>LocalSettings.php</code> đã được phát hiện.\nĐể nâng cấp bản cài đặt này, xin nhập giá trị của <code>$wgUpgradeKey</code> trong hộp thoại bên dưới đây.\nBạn sẽ tìm thấy nó trong <code>LocalSettings.php</code>.",
        "config-localsettings-cli-upgrade": "Một tập tin <code>LocalSettings.php</code> đã được phát hiện.\nĐể nâng cấp bản cài đặt này, hãy chạy <code>update.php</code> thay thế.",
        "config-localsettings-key": "Chìa khóa nâng cấp:",
-       "config-localsettings-badkey": "Bạn đã cung cấp một chìa khóa sai.",
+       "config-localsettings-badkey": "Bạn đã cung cấp một chìa khóa nâng cấp sai.",
        "config-upgrade-key-missing": "Một bản cài đặt MediaWiki sẵn đã được phát hiện.\nĐể nâng cấp bản cài đặt này, hãy thêm dòng sau vào cuối <code>LocalSettings.php</code>:\n\n$1",
        "config-localsettings-incomplete": "Tập tin <code>LocalSettings.php</code> đã tồn tại hình như không hoàn chỉnh.\nBiến $1 chưa được đặt.\nXin hãy thay đổi <code>LocalSettings.php</code> để đặt biến này, rồi bấm “{{int:Config-continue}}”.",
        "config-localsettings-connection-error": "Đã xuất hiện lỗi khi kết nối với cơ sở dữ liệu dùng cấu hình trong <code>LocalSettings.php</code>. Xin hãy sửa lại cấu hình và thử lại.\n\n$1",
        "config-no-db": "Không tìm thấy một trình điều khiển cơ sở dữ liệu phù hợp! Bạn cần phải cài một trình điều khiển cơ sở dữ liệu cho PHP.\n{{PLURAL:$2|Loại|Các loại}} cơ sở dữ liệu sau đây được hỗ trợ: $1.\n\nNếu bạn đã biên dịch PHP lấy, cấu hình lại nó mà kích hoạt một trình khách cơ sở dữ liệu, ví dụ bằng lệnh <code>./configure --with-mysqli</code>.\nNếu bạn đã cài PHP từ một gói Debian hoặc Ubuntu, thì bạn cũng cần phải cài ví dụ gói <code>php5-mysql</code>.",
        "config-outdated-sqlite": "<strong>Chú ý:</strong> Bạn có SQLite $1, phiên bản này thấp hơn phiên bản yêu câu tối thiểu $2. SQLite sẽ không có tác dụng.",
        "config-no-fts3": "<strong>Chú ý:</strong> SQLite được biên dịch mà không có [//sqlite.org/fts3.html mô đun FTS3], nên các chức năng tìm kiếm sẽ bị vô hiệu trên hệ thống phía sau này.",
-       "config-register-globals-error": "<strong>Lỗi: Tùy chọn <code>[http://php.net/register_globals register_globals]</code> của PHP đã được kích hoạt.\nNó phải bị vô hiệu để tiếp tục quá trình cài đặt.</strong>\nXem [https://www.mediawiki.org/wiki/register_globals https://www.mediawiki.org/wiki/register_globals] để biết cách thực hiện.",
-       "config-magic-quotes-gpc": "<strong>Lỗi chí tử: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc magic_quotes_gpc] đang hoạt động!</strong>\nTùy chọn này sẽ làm hỏng dữ liệu nhập một cách không thể đoán trước.\nBạn không thể cài đặt hoặc sử dụng MediaWiki trừ phi tùy chọn này bị vô hiệu.",
-       "config-magic-quotes-runtime": "<strong>Lỗi chí tử: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime magic_quotes_runtime] đang hoạt động!</strong>\nTùy chọn này sẽ làm hỏng dữ liệu nhập một cách không thể đoán trước.\nBạn không thể cài đặt hoặc sử dụng MediaWiki trừ phi tùy chọn này bị vô hiệu.",
-       "config-magic-quotes-sybase": "<strong>Lỗi chí tử: [http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-sybase magic_quotes_sybase] đang hoạt động!</strong>\nTùy chọn này sẽ làm hỏng dữ liệu nhập một cách không thể đoán trước.\nBạn không thể cài đặt hoặc sử dụng MediaWiki trừ phi tùy chọn này bị vô hiệu.",
        "config-mbstring": "<strong>Lỗi chí tử: [http://www.php.net/manual/en/ref.mbstring.php#mbstring.overload mbstring.func_overload] được kích hoạt!</strong>\nTùy chọn này gây lỗi và có thể làm hỏng dữ liệu một cách không thể đoán trước.\nBạn không thể cài đặt hoặc sử dụng MediaWiki trừ phi tùy chọn này bị vô hiệu.",
-       "config-safe-mode": "<strong>Cảnh báo:</strong> [http://www.php.net/features.safe-mode Chế độ an toàn] của PHP đang được kích hoạt.\nNó có thể gây vấn đề, nhất là nếu dùng các chức năng tải lên tập tin và <code>math</code>.",
        "config-xml-bad": "Mô đun XML của PHP đang bị thiếu.\nMediaWiki yêu cầu các hàm trong mô đun này và sẽ không hoạt động trong cấu hình này.\nBạn có thể cần cài đặt gói RPM php-xml.",
        "config-pcre-old": "<strong>Lỗi chí tử:</strong> PCRE $1 trở lên được yêu cầu phải có.\nBản nhị phân PHP của bạn dang được liên kết với PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Thông tin bổ sung].",
        "config-pcre-no-utf8": "<strong>Lỗi chí tử:</strong> Mô đun PCRE của PHP dường như được biên dịch mà không có hỗ trợ PCRE_UTF8.\nMediaWiki yêu cầu phải có hỗ trợ UTF-8 để hoạt động chính xác.",
@@ -75,7 +70,7 @@
        "config-xcache": "[http://xcache.lighttpd.net/ XCache] đã được cài đặt",
        "config-apc": "[http://www.php.net/apc APC] đã được cài đặt",
        "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] đã được cài đặt",
-       "config-no-cache": "<strong>Cảnh báo:</strong> Không tìm thấy [http://www.php.net/apc APC], [http://xcache.lighttpd.net/ XCache] hoặc [http://www.iis.net/download/WinCacheForPhp WinCache].\nVùng nhớ đệm đối tượng không được kích hoạt.",
+       "config-no-cache-apcu": "<strong>Cảnh báo:</strong> Không tìm thấy [http://www.php.net/apcu APCu], [http://xcache.lighttpd.net/ XCache], hoặc [http://www.iis.net/download/WinCacheForPhp WinCache].\nVùng nhớ đệm đối tượng không được kích hoạt.",
        "config-mod-security": "<strong>Cảnh báo:</strong> [http://modsecurity.org/ mod_security]/mod_security2 đã được kích hoạt trên máy chủ Web của bạn. Nhiều cấu hình phổ biến của phần mềm này sẽ gây vấn đề cho MediaWiki và những phần mềm khác cho phép người dùng đăng các nội dung tùy tiện.\nNếu có thể, bạn nên vô hiệu nó. Còn không, tra cứu [http://modsecurity.org/documentation/ tài liệu mod_security] hoặc liên hệ với nhà cung cấp hỗ trợ cho máy chủ nếu bạn gặp những lỗi ngẫu nhiên nào đó.",
        "config-diff3-bad": "Không tìm thấy GNU diff3.",
        "config-git": "Đã tìm thấy phần mềm điều khiển phiên bản Git: <code>$1</code>.",
        "config-ns-site-name": "Cùng với tên wiki: $1",
        "config-ns-other": "Khác (định rõ)",
        "config-ns-other-default": "WikiTôi",
-       "config-project-namespace-help": "Ví dụ sau đây của Wikipedia, nhiều wiki tách các trang sách họ với các trang nội dung, trong một \"''' không gian tên dự án'''\".\nTất cả các tiêu đề trang trong không gian tên này bắt đầu với một tiền tố nhất định, bạn có thể xác định ở đây.\nThông thường, tiền tố này được bắt nguồn từ tên của wiki, nhưng nó không thể chứa các ký tự đặc biệt như \"#\" hoặc \":\".",
+       "config-project-namespace-help": "Nhiều wiki bắt chước Wikipedia bằng cách tách các trang quy định ra khỏi các trang nội dung trong một '''không gian tên dự án'''.\nTất cả các tên trang trong không gian tên này bắt đầu với một tiền tố cụ thể, bạn có thể xác định ở đây.\nThông thường, tiền tố này bắt nguồn từ tên của wiki, nhưng nó không thể chứa các ký tự đặc biệt như “#” hoặc “:”.",
        "config-ns-invalid": "Không gian tên cụ thể \"<nowiki>$1</nowiki>\" không hợp lệ.\nXác định một không gian tên dự án khác.",
        "config-ns-conflict": "Không gian tên cụ thể \"<nowiki>$1</nowiki>\" xung đột với một không gian tên MediaWiki mặc định.\nXác định một không gian tên dự án khác.",
        "config-admin-box": "Tài khoản bảo quản viên",
        "config-install-mainpage": "Đang tạo trang đầu với nội dung mặc định",
        "config-install-extension-tables": "Đang tạo bảng cho các phần mở rộng được kích hoạt",
        "config-install-mainpage-failed": "Không thể chèn trang đầu: $1",
-       "config-install-done": "<strong>Xin chúc mừng!</strong>\nBạn đã cài đặt thành công MediaWiki.\n\nBộ cài đặt đã tạo ra một tập tin <code>LocalSettings.php</code>.\nTập tin này chứa tất cả các cấu hình của bạn.\n\nBạn sẽ cần phải tải nó về và đặt nó trong thư mục cài đặt wiki của bạn (cùng thư mục với index.php). Việc tải về có lẽ sẽ được khởi động tự động.\n\nNếu bản tải về không được cung cấp, hoặc nếu bạn hủy bỏ nó, bạn có thể khởi động lại tải về bằng cách nhấn vào liên kết dưới đây:\n\n$3\n\n<strong>Lưu ý:</strong> Nếu bạn không làm điều này ngay bây giờ, điều này sẽ tạo ra tập tin cấu hình sẽ không có giá trị cho bạn sau này nếu bạn thoát khỏi trình cài đặt mà không tải nó về.\n\nKhi đã việc tải về đã hoàn thành, bạn có thể <strong>[$2 truy cập trang wiki của bạn]</strong>.",
+       "config-install-done": "<strong>Xin chúc mừng!</strong>\nBạn đã cài đặt MediaWiki.\n\nBộ cài đặt đã tạo ra một tập tin <code>LocalSettings.php</code>.\nTập tin này chứa tất cả các cấu hình của bạn.\n\nBạn sẽ cần phải tải nó về và đặt nó trong thư mục cài đặt wiki của bạn (cùng thư mục với index.php). Việc tải về có lẽ sẽ được khởi động tự động.\n\nNếu bản tải về không được cung cấp, hoặc nếu bạn hủy bỏ nó, bạn có thể khởi động lại tải về bằng cách nhấn vào liên kết dưới đây:\n\n$3\n\n<strong>Lưu ý:</strong> Nếu bạn không làm điều này ngay bây giờ, điều này sẽ tạo ra tập tin cấu hình sẽ không có giá trị cho bạn sau này nếu bạn thoát khỏi trình cài đặt mà không tải nó về.\n\nKhi đã việc tải về đã hoàn thành, bạn có thể <strong>[$2 truy cập trang wiki của bạn]</strong>.",
        "config-download-localsettings": "Tải về <code>LocalSettings.php</code>",
        "config-help": "Trợ giúp",
        "config-help-tooltip": "nhấn chuột để mở rộng",
        "config-nofile": "Không tìm thấy tập tin “$1”. Nó có phải bị xóa không?",
        "config-extension-link": "Bạn có biết rằng wiki của bạn có hỗ trợ [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions mở rộng]?\n\nBạn có thể truy cập [//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category phần mở rộng theo thể loại] hoặc [//www.mediawiki.org/wiki/Extension_Matrix Ma trận Mở rộng] để xem danh sách đầy đủ các phần mở rộng.",
-       "mainpagetext": "'''MediaWiki đã được cài đặt thành công.'''",
+       "mainpagetext": "'''MediaWiki đã được cài đặt.'''",
        "mainpagedocfooter": "Xin đọc [//meta.wikimedia.org/wiki/Help:Contents Hướng dẫn sử dụng] để biết thêm thông tin về cách sử dụng phần mềm wiki.\n\n== Để bắt đầu ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Danh sách các thiết lập cấu hình]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Các câu hỏi thường gặp MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Danh sách gửi thư về việc phát hành MediaWiki]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Tìm hiểu cách chống spam tại wiki của bạn]"
 }
index ef3d61d..0a0a7a2 100644 (file)
@@ -506,7 +506,7 @@ class JobRunner implements LoggerAwareInterface {
 
                $ms = intval( 1000 * $dbwSerial->pendingWriteQueryDuration() );
                $msg = $job->toString() . " COMMIT ENQUEUED [{$ms}ms of writes]";
-               $this->logger->warning( $msg );
+               $this->logger->info( $msg );
                $this->debugCallback( $msg );
 
                // Wait for an exclusive lock to commit
index 616c6d6..d636dc6 100644 (file)
@@ -216,7 +216,7 @@ class JobSpecification implements IJobSpecification {
                        'opts'   => $this->opts,
                        'title'  => [
                                'ns'  => $this->title->getNamespace(),
-                               'key' => $this->title->getDbKey()
+                               'key' => $this->title->getDBkey()
                        ]
                ];
        }
index a81cade..7f50055 100644 (file)
@@ -116,7 +116,7 @@ class BacklinkJobUtils {
                        foreach ( array_chunk( $titles, $cSize ) as $titleBatch ) {
                                $pages = [];
                                foreach ( $titleBatch as $tl ) {
-                                       $pages[$tl->getArticleId()] = [ $tl->getNamespace(), $tl->getDBKey() ];
+                                       $pages[$tl->getArticleID()] = [ $tl->getNamespace(), $tl->getDBkey() ];
                                }
                                $jobs[] = new $class(
                                        $title, // maintain parent job title
index 3d5d383..60ec922 100644 (file)
@@ -21,8 +21,6 @@
  * @ingroup Cache
  */
 
-use Psr\Log\LoggerInterface;
-
 /**
  * Wrapper around a BagOStuff that caches data in memory
  *
index c96c0db..039161a 100644 (file)
@@ -184,7 +184,7 @@ class LogEventsList extends ContextSource {
                $selector = $this->getTypeSelector();
                $selector->setDefault( $queryType );
 
-               return $selector->getHtml();
+               return $selector->getHTML();
        }
 
        /**
index 11ae5d6..8518c91 100644 (file)
@@ -209,7 +209,7 @@ class LogPager extends ReverseChronologicalPager {
 
                $doUserRightsLogLike = false;
                if ( $this->types == [ 'rights' ] ) {
-                       $parts = explode( $wgUserrightsInterwikiDelimiter, $title->getDBKey() );
+                       $parts = explode( $wgUserrightsInterwikiDelimiter, $title->getDBkey() );
                        if ( count( $parts ) == 2 ) {
                                list( $name, $database ) = array_map( 'trim', $parts );
                                if ( strstr( $database, '*' ) ) { // Search for wildcard in database name
index 4f8f6b3..fe24c34 100644 (file)
@@ -155,7 +155,7 @@ class EmailNotification {
                                $title,
                                [
                                        'editor' => $editor->getName(),
-                                       'editorID' => $editor->getID(),
+                                       'editorID' => $editor->getId(),
                                        'timestamp' => $timestamp,
                                        'summary' => $summary,
                                        'minorEdit' => $minorEdit,
@@ -232,7 +232,7 @@ class EmailNotification {
                                        if ( $watchingUser->getOption( 'enotifwatchlistpages' )
                                                && ( !$minorEdit || $watchingUser->getOption( 'enotifminoredits' ) )
                                                && $watchingUser->isEmailConfirmed()
-                                               && $watchingUser->getID() != $userTalkId
+                                               && $watchingUser->getId() != $userTalkId
                                                && !in_array( $watchingUser->getName(), $wgUsersNotifiedOnAllChanges )
                                                && !( $wgBlockDisablesLogin && $watchingUser->isBlocked() )
                                        ) {
index b91fb8a..56b20ac 100644 (file)
@@ -55,6 +55,6 @@ class BitmapHandler_ClientOnly extends BitmapHandler {
                        return new TransformParameterError( $params );
                }
 
-               return new ThumbnailImage( $image, $image->getURL(), $image->getLocalRefPath(), $params );
+               return new ThumbnailImage( $image, $image->getUrl(), $image->getLocalRefPath(), $params );
        }
 }
index 9a6547f..9176b54 100644 (file)
@@ -395,7 +395,7 @@ class ThumbnailImage extends MediaTransformOutput {
                                $query
                        );
                } elseif ( !empty( $options['file-link'] ) ) {
-                       $linkAttribs = [ 'href' => $this->file->getURL() ];
+                       $linkAttribs = [ 'href' => $this->file->getUrl() ];
                } else {
                        $linkAttribs = false;
                        if ( !empty( $options['title'] ) ) {
index 7e77b25..2bb6d13 100644 (file)
@@ -468,7 +468,7 @@ class SvgHandler extends ImageHandler {
                        return ( $value > 0 );
                } elseif ( $name == 'lang' ) {
                        // Validate $code
-                       if ( $value === '' || !Language::isValidBuiltinCode( $value ) ) {
+                       if ( $value === '' || !Language::isValidBuiltInCode( $value ) ) {
                                wfDebug( "Invalid user language code\n" );
 
                                return false;
index f777230..62b5c2c 100644 (file)
@@ -229,7 +229,7 @@ class SVGReader {
                }
                // @todo Find and store type of xml snippet. metadata['metadataType'] = "rdf"
                if ( method_exists( $this->reader, 'readInnerXML' ) ) {
-                       $this->metadata[$metafield] = trim( $this->reader->readInnerXML() );
+                       $this->metadata[$metafield] = trim( $this->reader->readInnerXml() );
                } else {
                        throw new MWException( "The PHP XMLReader extension does not come " .
                                "with readInnerXML() method. Your libxml is probably out of " .
index f6483a1..f1f2161 100644 (file)
@@ -335,7 +335,7 @@ abstract class TransformationalImageHandler extends ImageHandler {
                        'height' => $scalerParams['clientHeight']
                ];
 
-               return new ThumbnailImage( $image, $image->getURL(), null, $params );
+               return new ThumbnailImage( $image, $image->getUrl(), null, $params );
        }
 
        /**
index 526b45e..6ac675e 100644 (file)
@@ -155,7 +155,7 @@ class XCFHandler extends BitmapHandler {
         * @return string
         */
        public function getMetadata( $file, $filename ) {
-               $header = self::getXCFMetadata( $filename );
+               $header = self::getXCFMetaData( $filename );
                $metadata = [];
                if ( $header ) {
                        // Try to be consistent with the names used by PNG files.
index f6b490a..b561407 100644 (file)
@@ -225,7 +225,7 @@ class Article implements Page {
         */
        protected function getContentObject() {
 
-               if ( $this->mPage->getID() === 0 ) {
+               if ( $this->mPage->getId() === 0 ) {
                        # If this is a MediaWiki:x message, then load the messages
                        # and return the message value for x.
                        if ( $this->getTitle()->getNamespace() == NS_MEDIAWIKI ) {
@@ -282,7 +282,7 @@ class Article implements Page {
                                $this->mRevision = Revision::newFromId( $oldid );
                                if ( $this->mRevision !== null ) {
                                        // Revision title doesn't match the page title given?
-                                       if ( $this->mPage->getID() != $this->mRevision->getPage() ) {
+                                       if ( $this->mPage->getId() != $this->mRevision->getPage() ) {
                                                $function = [ get_class( $this->mPage ), 'newFromID' ];
                                                $this->mPage = call_user_func( $function, $this->mRevision->getPage() );
                                        }
@@ -768,7 +768,7 @@ class Article implements Page {
                                ->params( $oldid )
                                ->numParams( 1 )
                                ->parseAsBlock();
-                       $this->getContext()->getOutput()->addHtml( $msg );
+                       $this->getContext()->getOutput()->addHTML( $msg );
                        return;
                }
 
@@ -863,7 +863,7 @@ class Article implements Page {
                        }
                }
 
-               if ( $this->mPage->getID() === 0 || $this->getOldID() ) {
+               if ( $this->mPage->getId() === 0 || $this->getOldID() ) {
                        # Non-articles (special pages etc), and old revisions
                        return [
                                'index' => 'noindex',
@@ -1445,7 +1445,7 @@ class Article implements Page {
                $outputPage->addSubtitle( "<div id=\"mw-{$infomsg}\">" .
                        $context->msg( $infomsg, $td )
                                ->rawParams( $userlinks )
-                               ->params( $revision->getID(), $tddate, $tdtime, $revision->getUserText() )
+                               ->params( $revision->getId(), $tddate, $tdtime, $revision->getUserText() )
                                ->rawParams( Linker::revComment( $revision, true, true ) )
                                ->parse() .
                        "</div>"
@@ -1961,7 +1961,7 @@ class Article implements Page {
                $cacheable = false;
 
                if ( HTMLFileCache::useFileCache( $this->getContext() ) ) {
-                       $cacheable = $this->mPage->getID()
+                       $cacheable = $this->mPage->getId()
                                && !$this->mRedirectedFrom && !$this->getTitle()->isRedirect();
                        // Extension may have reason to disable file caching on some pages.
                        if ( $cacheable ) {
index e569762..106911c 100644 (file)
@@ -160,7 +160,7 @@ class ImagePage extends Article {
                }
 
                # No need to display noarticletext, we use our own message, output in openShowImage()
-               if ( $this->mPage->getID() ) {
+               if ( $this->mPage->getId() ) {
                        # NS_FILE is in the user language, but this section (the actual wikitext)
                        # should be in page content language
                        $pageLang = $this->getTitle()->getPageViewLanguage();
@@ -299,7 +299,7 @@ class ImagePage extends Article {
         */
        public function getContentObject() {
                $this->loadFile();
-               if ( $this->mPage->getFile() && !$this->mPage->getFile()->isLocal() && 0 == $this->getID() ) {
+               if ( $this->mPage->getFile() && !$this->mPage->getFile()->isLocal() && 0 == $this->getId() ) {
                        return null;
                }
                return parent::getContentObject();
@@ -565,7 +565,7 @@ EOT
                                if ( is_null( $currentLanguage ) ) {
                                        $currentLanguage = $defaultLang;
                                }
-                               $out->addHtml( $this->doRenderLangOpt( $renderLangOptions, $currentLanguage, $defaultLang ) );
+                               $out->addHTML( $this->doRenderLangOpt( $renderLangOptions, $currentLanguage, $defaultLang ) );
                        }
 
                        // Add cannot animate thumbnail warning
@@ -592,7 +592,7 @@ EOT
                        }
                } else {
                        # Image does not exist
-                       if ( !$this->getID() ) {
+                       if ( !$this->getId() ) {
                                # No article exists either
                                # Show deletion log to be consistent with normal articles
                                LogEventsList::showLogExtract(
@@ -623,7 +623,7 @@ EOT
                        // by Article::View().
                        $out->setRobotPolicy( 'noindex,nofollow' );
                        $out->wrapWikiMsg( "<div id='mw-imagepage-nofile' class='plainlinks'>\n$1\n</div>", $nofile );
-                       if ( !$this->getID() && $wgSend404Code ) {
+                       if ( !$this->getId() && $wgSend404Code ) {
                                // If there is no image, no shared image, and no description page,
                                // output a 404, to be consistent with Article::showMissingArticle.
                                $request->response()->statusHeader( 404 );
@@ -635,7 +635,7 @@ EOT
        /**
         * Make the text under the image to say what size preview
         *
-        * @param $params Array parameters for thumbnail
+        * @param $params array parameters for thumbnail
         * @param $sizeLinkBigImagePreview HTML for the current size
         * @return string HTML output
         */
@@ -704,7 +704,7 @@ EOT
                $descText = $this->mPage->getFile()->getDescriptionText( $this->getContext()->getLanguage() );
 
                /* Add canonical to head if there is no local page for this shared file */
-               if ( $descUrl && $this->mPage->getID() == 0 ) {
+               if ( $descUrl && $this->mPage->getId() == 0 ) {
                        $out->setCanonicalUrl( $descUrl );
                }
 
index d81efa6..0e3512b 100644 (file)
@@ -2880,7 +2880,7 @@ class WikiPage implements Page, IDBAccessObject {
                $dbw->startAtomic( __METHOD__ );
 
                $this->loadPageData( self::READ_LATEST );
-               $id = $this->getID();
+               $id = $this->getId();
                // T98706: lock the page from various other updates but avoid using
                // WikiPage::READ_LOCKING as that will carry over the FOR UPDATE to
                // the revisions queries (which also JOIN on user). Only lock the page
index 2c415d6..31c9c6d 100644 (file)
@@ -115,7 +115,7 @@ abstract class ReverseChronologicalPager extends IndexPager {
 
                // Treat the given time in the wiki timezone and get a UTC timestamp for the database lookup
                $timestamp = MWTimestamp::getInstance( "${ymd}000000" );
-               $timestamp->setTimeZone( $this->getConfig()->get( 'Localtimezone' ) );
+               $timestamp->setTimezone( $this->getConfig()->get( 'Localtimezone' ) );
 
                $this->mOffset = $this->mDb->timestamp( $timestamp->getTimestamp() );
        }
index 1cc0efc..a55ddf3 100644 (file)
@@ -634,7 +634,7 @@ class CoreParserFunctions {
                if ( is_null( $t ) ) {
                        return '';
                }
-               return wfEscapeWikiText( wfUrlEncode( str_replace( ' ', '_', $t->getRootText() ) ) );
+               return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getRootText() ) ) );
        }
        public static function basepagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
@@ -648,7 +648,7 @@ class CoreParserFunctions {
                if ( is_null( $t ) ) {
                        return '';
                }
-               return wfEscapeWikiText( wfUrlEncode( str_replace( ' ', '_', $t->getBaseText() ) ) );
+               return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getBaseText() ) ) );
        }
        public static function talkpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
index d7ba266..5ee0c5a 100644 (file)
@@ -3000,7 +3000,7 @@ class Parser {
                                $value = wfEscapeWikiText( $this->mTitle->getRootText() );
                                break;
                        case 'rootpagenamee':
-                               $value = wfEscapeWikiText( wfUrlEncode( str_replace(
+                               $value = wfEscapeWikiText( wfUrlencode( str_replace(
                                        ' ',
                                        '_',
                                        $this->mTitle->getRootText()
@@ -3010,7 +3010,7 @@ class Parser {
                                $value = wfEscapeWikiText( $this->mTitle->getBaseText() );
                                break;
                        case 'basepagenamee':
-                               $value = wfEscapeWikiText( wfUrlEncode( str_replace(
+                               $value = wfEscapeWikiText( wfUrlencode( str_replace(
                                        ' ',
                                        '_',
                                        $this->mTitle->getBaseText()
index bd5afaf..916cfc2 100644 (file)
@@ -64,7 +64,7 @@ class ParserCache {
                global $wgRequest;
 
                // idhash seem to mean 'page id' + 'rendering hash' (r3710)
-               $pageid = $article->getID();
+               $pageid = $article->getId();
                $renderkey = (int)( $wgRequest->getVal( 'action' ) == 'render' );
 
                $key = wfMemcKey( 'pcache', 'idhash', "{$pageid}-{$renderkey}!{$hash}" );
@@ -76,7 +76,7 @@ class ParserCache {
         * @return mixed|string
         */
        protected function getOptionsKey( $article ) {
-               $pageid = $article->getID();
+               $pageid = $article->getId();
                return wfMemcKey( 'pcache', 'idoptions', "{$pageid}" );
        }
 
index d2559f7..729b9db 100644 (file)
@@ -860,7 +860,7 @@ class ParserOptions {
                                                'page' => $title->getArticleID(),
                                                'user_text' => $user->getName(),
                                                'user' => $user->getId(),
-                                               'parent_id' => $title->getLatestRevId(),
+                                               'parent_id' => $title->getLatestRevID(),
                                                'title' => $title,
                                                'content' => $content
                                        ] );
index 43fd2db..f784d03 100644 (file)
@@ -272,7 +272,7 @@ class ResourceLoaderImage {
         */
        protected function variantize( $variantConf, ResourceLoaderContext $context ) {
                $dom = new DomDocument;
-               $dom->loadXml( file_get_contents( $this->getPath( $context ) ) );
+               $dom->loadXML( file_get_contents( $this->getPath( $context ) ) );
                $root = $dom->documentElement;
                $wrapper = $dom->createElement( 'g' );
                while ( $root->firstChild ) {
@@ -280,7 +280,7 @@ class ResourceLoaderImage {
                }
                $root->appendChild( $wrapper );
                $wrapper->setAttribute( 'fill', $variantConf['color'] );
-               return $dom->saveXml();
+               return $dom->saveXML();
        }
 
        /**
@@ -295,7 +295,7 @@ class ResourceLoaderImage {
         */
        protected function massageSvgPathdata( $svg ) {
                $dom = new DomDocument;
-               $dom->loadXml( $svg );
+               $dom->loadXML( $svg );
                foreach ( $dom->getElementsByTagName( 'path' ) as $node ) {
                        $pathData = $node->getAttribute( 'd' );
                        // Make sure there is at least one space between numbers, and that leading zero is not omitted.
@@ -305,7 +305,7 @@ class ResourceLoaderImage {
                        $pathData = preg_replace( '/([ -])0(\d)/', '$1$2', $pathData );
                        $node->setAttribute( 'd', $pathData );
                }
-               return $dom->saveXml();
+               return $dom->saveXML();
        }
 
        /**
index bbdfdc3..5831b09 100644 (file)
@@ -147,7 +147,7 @@ class BotPasswordSessionProvider extends ImmutableSessionProviderWithCookie {
                }
 
                $status = $bp->getRestrictions()->check( $request );
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        $this->logger->info(
                                'Session "{session}": Restrictions check failed',
                                [
index b80788b..3cc1d8f 100644 (file)
@@ -451,7 +451,7 @@ abstract class Skin extends ContextSource {
        }
 
        /**
-        * @return string
+        * @return string HTML
         */
        function getCategoryLinks() {
                global $wgUseCategoryBrowser;
@@ -542,25 +542,27 @@ abstract class Skin extends ContextSource {
        }
 
        /**
-        * @return string
+        * @return string HTML
         */
        function getCategories() {
                $out = $this->getOutput();
-
                $catlinks = $this->getCategoryLinks();
 
-               $classes = 'catlinks';
-
                // Check what we're showing
                $allCats = $out->getCategoryLinks();
                $showHidden = $this->getUser()->getBoolOption( 'showhiddencats' ) ||
                                                $this->getTitle()->getNamespace() == NS_CATEGORY;
 
+               $classes = [ 'catlinks' ];
                if ( empty( $allCats['normal'] ) && !( !empty( $allCats['hidden'] ) && $showHidden ) ) {
-                       $classes .= ' catlinks-allhidden';
+                       $classes[] = 'catlinks-allhidden';
                }
 
-               return "<div id='catlinks' class='$classes' data-mw='interface'>{$catlinks}</div>";
+               return Html::rawElement(
+                       'div',
+                       [ 'id' => 'catlinks', 'class' => $classes, 'data-mw' => 'interface' ],
+                       $catlinks
+               );
        }
 
        /**
index 2d0d020..5adc315 100644 (file)
@@ -332,7 +332,7 @@ class SpecialChangePassword extends FormSpecialPage {
                $dbw->update(
                        'user',
                        [ 'user_password_expires' => $dbw->timestampOrNull( $newExpire ) ],
-                       [ 'user_id' => $user->getID() ],
+                       [ 'user_id' => $user->getId() ],
                        __METHOD__
                );
        }
index 5a351a7..7b8aa4c 100644 (file)
@@ -85,7 +85,7 @@ class SpecialContributions extends IncludableSpecialPage {
 
                        return;
                }
-               $id = $userObj->getID();
+               $id = $userObj->getId();
 
                if ( $this->opts['contribs'] != 'newbie' ) {
                        $target = $nt->getText();
index b790fdf..6256bbf 100644 (file)
@@ -470,7 +470,7 @@ class DeletedContributionsPage extends SpecialPage {
                }
                $links = '';
                $nt = $userObj->getUserPage();
-               $id = $userObj->getID();
+               $id = $userObj->getId();
                $talk = $nt->getTalkPage();
                if ( $talk ) {
                        # Talk page link
index 3528be0..fb1943f 100644 (file)
@@ -154,6 +154,10 @@ class SpecialEmailUser extends UnlistedSpecialPage {
 
                $this->mTargetObj = $ret;
 
+               // Set the 'relevant user' in the skin, so it displays links like Contributions,
+               // User logs, UserRights, etc.
+               $this->getSkin()->setRelevantUser( $this->mTargetObj );
+
                $context = new DerivativeContext( $this->getContext() );
                $context->setTitle( $this->getPageTitle() ); // Remove subpage
                $form = new HTMLForm( $this->getFormFields(), $context );
index 35861e3..68960d3 100644 (file)
@@ -79,7 +79,7 @@ class FileDuplicateSearchPage extends QueryPage {
                }
                $html[] = $this->closeList();
 
-               $this->getOutput()->addHtml( implode( "\n", $html ) );
+               $this->getOutput()->addHTML( implode( "\n", $html ) );
        }
 
        public function getQueryInfo() {
@@ -122,7 +122,7 @@ class FileDuplicateSearchPage extends QueryPage {
                        ],
                ];
                $hiddenFields = [
-                       'title' => $this->getPageTitle()->getPrefixedDBKey(),
+                       'title' => $this->getPageTitle()->getPrefixedDBkey(),
                ];
                $htmlForm = HTMLForm::factory( 'inline', $formFields, $this->getContext() );
                $htmlForm->addHiddenFields( $hiddenFields );
index e20382c..37dba53 100644 (file)
@@ -168,12 +168,12 @@ class SpecialJavaScriptTest extends SpecialPage {
 </div>
 HTML;
 
-               $out->addHtml( $this->getSummaryHtml() . $baseHtml );
+               $out->addHTML( $this->getSummaryHtml() . $baseHtml );
 
                // The testrunner configures QUnit and essentially depends on it. However, test suites
                // are reusable in environments that preload QUnit (or a compatibility interface to
                // another framework). Therefore we have to load it ourselves.
-               $out->addHtml( ResourceLoader::makeInlineScript(
+               $out->addHTML( ResourceLoader::makeInlineScript(
                        Xml::encodeJsCall( 'mw.loader.using', [
                                [ 'jquery.qunit', 'jquery.qunit.completenessTest' ],
                                new XmlJsCode(
index ed7e954..49fa417 100644 (file)
@@ -96,12 +96,12 @@ class ListDuplicatedFilesPage extends QueryPage {
                // Future version might include a list of the first 5 duplicates
                // perhaps separated by an "↔".
                $image1 = Title::makeTitle( $result->namespace, $result->title );
-               $dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBKey() );
+               $dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBkey() );
 
                $msg = $this->msg( 'listduplicatedfiles-entry' )
                        ->params( $image1->getText() )
                        ->numParams( $result->value - 1 )
-                       ->params( $dupeSearch->getPrefixedDBKey() );
+                       ->params( $dupeSearch->getPrefixedDBkey() );
 
                return $msg->parse();
        }
index 16471fe..6c856e9 100644 (file)
@@ -52,6 +52,8 @@ class SpecialListFiles extends IncludableSpecialPage {
                if ( $this->including() ) {
                        $out->addParserOutputContent( $pager->getBodyOutput() );
                } else {
+                       $user = $pager->getRelevantUser();
+                       $this->getSkin()->setRelevantUser( $user );
                        $pager->getForm();
                        $out->addParserOutputContent( $pager->getFullOutput() );
                }
@@ -91,6 +93,13 @@ class ImageListPager extends TablePager {
 
        protected $mUserName = null;
 
+       /**
+        * The relevant user
+        *
+        * @var User|null
+        */
+       protected $mUser = null;
+
        protected $mSearch = '';
 
        protected $mIncluding = false;
@@ -108,20 +117,18 @@ class ImageListPager extends TablePager {
 
                if ( $userName !== null && $userName !== '' ) {
                        $nt = Title::newFromText( $userName, NS_USER );
-                       $user = User::newFromName( $userName, false );
-                       if ( !is_null( $nt ) ) {
+                       if ( is_null( $nt ) ) {
+                               $this->outputUserDoesNotExist( $userName );
+                       } else {
                                $this->mUserName = $nt->getText();
+                               $user = User::newFromName( $this->mUserName, false );
+                               if ( $user ) {
+                                       $this->mUser = $user;
+                               }
+                               if ( !$user || ( $user->isAnon() && !User::isIP( $user->getName() ) ) ) {
+                                       $this->outputUserDoesNotExist( $userName );
+                               }
                        }
-                       if ( !$user || ( $user->isAnon() && !User::isIP( $user->getName() ) ) ) {
-                               $this->getOutput()->wrapWikiMsg(
-                                       "<div class=\"mw-userpage-userdoesnotexist error\">\n$1\n</div>",
-                                       [
-                                               'listfiles-userdoesnotexist',
-                                               wfEscapeWikiText( $userName ),
-                                       ]
-                               );
-                       }
-
                }
 
                if ( $search !== '' && !$this->getConfig()->get( 'MiserMode' ) ) {
@@ -149,6 +156,30 @@ class ImageListPager extends TablePager {
                parent::__construct( $context );
        }
 
+       /**
+        * Get the user relevant to the ImageList
+        *
+        * @return User|null
+        */
+       function getRelevantUser() {
+               return $this->mUser;
+       }
+
+       /**
+        * Add a message to the output stating that the user doesn't exist
+        *
+        * @param string $userName Unescaped user name
+        */
+       protected function outputUserDoesNotExist( $userName ) {
+               $this->getOutput()->wrapWikiMsg(
+                       "<div class=\"mw-userpage-userdoesnotexist error\">\n$1\n</div>",
+                       [
+                               'listfiles-userdoesnotexist',
+                               wfEscapeWikiText( $userName ),
+                       ]
+               );
+       }
+
        /**
         * Build the where clause of the query.
         *
@@ -482,7 +513,7 @@ class ImageListPager extends TablePager {
                                                htmlspecialchars( $filePage->getText() )
                                        );
                                        $download = Xml::element( 'a',
-                                               [ 'href' => wfLocalFile( $filePage )->getURL() ],
+                                               [ 'href' => wfLocalFile( $filePage )->getUrl() ],
                                                $imgfile
                                        );
                                        $download = $this->msg( 'parentheses' )->rawParams( $download )->escaped();
index da31f00..7eb3757 100644 (file)
@@ -388,7 +388,7 @@ class UsersPager extends AlphabeticPager {
         * @return string
         */
        protected static function buildGroupLink( $group, $username ) {
-               return User::makeGroupLinkHtml(
+               return User::makeGroupLinkHTML(
                        $group,
                        User::getGroupMember( $group, $username )
                );
index ed12e04..8ba90a6 100644 (file)
@@ -154,7 +154,7 @@ class MediaStatisticsPage extends QueryPage {
         * Output closing </table>
         */
        protected function outputTableEnd() {
-               $this->getOutput()->addHtml( Html::closeElement( 'table' ) );
+               $this->getOutput()->addHTML( Html::closeElement( 'table' ) );
                $this->getOutput()->addWikiText(
                                $this->msg( 'mediastatistics-bytespertype' )
                                        ->numParams( $this->totalPerType )
index 9e28908..629a508 100644 (file)
@@ -196,7 +196,7 @@ class NewFilesPager extends ReverseChronologicalPager {
                $user = User::newFromId( $row->img_user );
 
                $title = Title::makeTitle( NS_FILE, $name );
-               $ul = Linker::link( $user->getUserpage(), $user->getName() );
+               $ul = Linker::link( $user->getUserPage(), $user->getName() );
                $time = $this->getLanguage()->userTimeAndDate( $row->img_timestamp, $this->getUser() );
 
                $this->gallery->add(
index f1b231d..ab29d13 100644 (file)
@@ -265,11 +265,11 @@ class SpecialNewpages extends IncludableSpecialPage {
                );
                $htmlForm->setMethod( 'get' );
 
-               $out->addHtml( Xml::fieldset( $this->msg( 'newpages' )->text() ) );
+               $out->addHTML( Xml::fieldset( $this->msg( 'newpages' )->text() ) );
 
                $htmlForm->show();
 
-               $out->addHtml(
+               $out->addHTML(
                        Html::rawElement(
                                'div',
                                null,
index 44f31a5..c3ed91f 100644 (file)
@@ -218,7 +218,7 @@ class SpecialPasswordReset extends FormSpecialPage {
 
                $firstUser = $users[0];
 
-               if ( !$firstUser instanceof User || !$firstUser->getID() ) {
+               if ( !$firstUser instanceof User || !$firstUser->getId() ) {
                        // Don't parse username as wikitext (bug 65501)
                        return [ [ 'nosuchuser', wfEscapeWikiText( $data['Username'] ) ] ];
                }
index d4c1004..efb1748 100644 (file)
@@ -206,7 +206,7 @@ class SpecialRandomInCategory extends FormSpecialPage {
                        'tables' => [ 'categorylinks', 'page' ],
                        'fields' => [ 'page_title', 'page_namespace' ],
                        'conds' => array_merge( [
-                               'cl_to' => $this->category->getDBKey(),
+                               'cl_to' => $this->category->getDBkey(),
                        ], $this->extra ),
                        'options' => [
                                'ORDER BY' => 'cl_timestamp ' . $dir,
index 7be95fa..de77380 100644 (file)
@@ -366,7 +366,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $rclistOutput .= $list->endRecentChangesList();
 
                if ( $rows->numRows() === 0 ) {
-                       $this->getOutput()->addHtml(
+                       $this->getOutput()->addHTML(
                                '<div class="mw-changeslist-empty">' .
                                $this->msg( 'recentchanges-noresult' )->parse() .
                                '</div>'
@@ -399,7 +399,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $extraOpts = $this->getExtraOptions( $opts );
                $extraOptsCount = count( $extraOpts );
                $count = 0;
-               $submit = ' ' . Xml::submitbutton( $this->msg( 'recentchanges-submit' )->text() );
+               $submit = ' ' . Xml::submitButton( $this->msg( 'recentchanges-submit' )->text() );
 
                $out = Xml::openElement( 'table', [ 'class' => 'mw-recentchanges-table' ] );
                foreach ( $extraOpts as $name => $optionRow ) {
index a259ac2..57a3d92 100644 (file)
@@ -57,7 +57,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                $outputPage = $this->getOutput();
                $title = Title::newFromText( $target );
                if ( !$title || $title->isExternal() ) {
-                       $outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )
+                       $outputPage->addHTML( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )
                                        ->parse() . '</div>' );
 
                        return false;
index 206e400..c0ed4c9 100644 (file)
@@ -99,7 +99,7 @@ class SpecialRedirect extends FormSpecialPage {
                        return null;
                }
                // Default behavior: Use the direct link to the file.
-               $url = $file->getURL();
+               $url = $file->getUrl();
                $request = $this->getRequest();
                $width = $request->getInt( 'width', -1 );
                $height = $request->getInt( 'height', -1 );
@@ -110,7 +110,7 @@ class SpecialRedirect extends FormSpecialPage {
                        // ... and we can
                        if ( $mto && !$mto->isError() ) {
                                // ... change the URL to point to a thumbnail.
-                               $url = $mto->getURL();
+                               $url = $mto->getUrl();
                        }
                }
 
index 9bb5d95..dfab8d4 100644 (file)
@@ -299,7 +299,7 @@ class SpecialSearch extends SpecialPage {
                }
 
                // start rendering the page
-               $out->addHtml(
+               $out->addHTML(
                        Xml::openElement(
                                'form',
                                [
@@ -323,7 +323,7 @@ class SpecialSearch extends SpecialPage {
                $num = $titleMatchesNum + $textMatchesNum;
                $totalRes = $numTitleMatches + $numTextMatches;
 
-               $out->addHtml(
+               $out->addHTML(
                        # This is an awful awful ID name. It's not a table, but we
                        # named it poorly from when this was a table so now we're
                        # stuck with it
@@ -342,7 +342,7 @@ class SpecialSearch extends SpecialPage {
                        return;
                }
 
-               $out->addHtml( "<div class='searchresults'>" );
+               $out->addHTML( "<div class='searchresults'>" );
 
                // prev/next links
                $prevnext = null;
@@ -429,7 +429,7 @@ class SpecialSearch extends SpecialPage {
                        $out->addHTML( "<p class='mw-search-pager-bottom'>{$prevnext}</p>\n" );
                }
 
-               $out->addHtml( "</div>" );
+               $out->addHTML( "</div>" );
 
                Hooks::run( 'SpecialSearchResultsAppend', [ $this, $out, $term ] );
 
@@ -551,7 +551,7 @@ class SpecialSearch extends SpecialPage {
                ) {
                        // invalid title
                        // preserve the paragraph for margins etc...
-                       $this->getOutput()->addHtml( '<p></p>' );
+                       $this->getOutput()->addHTML( '<p></p>' );
 
                        return;
                }
@@ -580,7 +580,7 @@ class SpecialSearch extends SpecialPage {
                        $this->getOutput()->wrapWikiMsg( "<p class=\"$linkClass\">\n$1</p>", $params );
                } else {
                        // preserve the paragraph for margins etc...
-                       $this->getOutput()->addHtml( '<p></p>' );
+                       $this->getOutput()->addHTML( '<p></p>' );
                }
        }
 
index 2ff2122..e79fd6e 100644 (file)
@@ -297,7 +297,7 @@ class SpecialTags extends SpecialPage {
 
                        $headerText = $this->msg( 'tags-create-warnings-above', $tag,
                                count( $status->getWarningsArray() ) )->parseAsBlock() .
-                               $out->parse( $status->getWikitext() ) .
+                               $out->parse( $status->getWikiText() ) .
                                $this->msg( 'tags-create-warnings-below' )->parseAsBlock();
 
                        $subform = new HTMLForm( $fields, $this->getContext() );
@@ -311,7 +311,7 @@ class SpecialTags extends SpecialPage {
                        $out->addBacklinkSubtitle( $this->getPageTitle() );
                        return true;
                } else {
-                       $out->addWikiText( "<div class=\"error\">\n" . $status->getWikitext() .
+                       $out->addWikiText( "<div class=\"error\">\n" . $status->getWikiText() .
                                "\n</div>" );
                        return false;
                }
index d14e02f..cc7a091 100644 (file)
@@ -218,7 +218,7 @@ class SpecialUnblock extends SpecialPage {
                if ( $block->mHideName ) {
                        # Something is deeply FUBAR if this is not a User object, but who knows?
                        $id = $block->getTarget() instanceof User
-                               ? $block->getTarget()->getID()
+                               ? $block->getTarget()->getId()
                                : User::idFromName( $block->getTarget() );
 
                        RevisionDeleteUser::unsuppressUserName( $block->getTarget(), $id );
@@ -229,7 +229,7 @@ class SpecialUnblock extends SpecialPage {
                        $page = Title::makeTitle( NS_USER, '#' . $block->getId() );
                } else {
                        $page = $block->getTarget() instanceof User
-                               ? $block->getTarget()->getUserpage()
+                               ? $block->getTarget()->getUserPage()
                                : Title::makeTitle( NS_USER, $block->getTarget() );
                }
 
index 2e622e1..b20844b 100644 (file)
@@ -369,13 +369,14 @@ class SpecialUploadStash extends UnlistedSpecialPage {
 
                $context = new DerivativeContext( $this->getContext() );
                $context->setTitle( $this->getPageTitle() ); // Remove subpage
-               $form = new HTMLForm( [
+               $form = HTMLForm::factory( 'ooui', [
                        'Clear' => [
                                'type' => 'hidden',
                                'default' => true,
                                'name' => 'clear',
                        ]
                ], $context, 'clearStashedUploads' );
+               $form->setSubmitDestructive();
                $form->setSubmitCallback( [ __CLASS__, 'tryClearStashedUploads' ] );
                $form->setSubmitTextMsg( 'uploadstash-clear' );
 
@@ -397,11 +398,11 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                                                $this->getPageTitle( "file/$file" )->getLocalURL() ], $file )
                                );
                        }
-                       $this->getOutput()->addHtml( Html::rawElement( 'ul', [], $fileListItemsHtml ) );
+                       $this->getOutput()->addHTML( Html::rawElement( 'ul', [], $fileListItemsHtml ) );
                        $form->displayForm( $formResult );
-                       $this->getOutput()->addHtml( Html::rawElement( 'p', [], $refreshHtml ) );
+                       $this->getOutput()->addHTML( Html::rawElement( 'p', [], $refreshHtml ) );
                } else {
-                       $this->getOutput()->addHtml( Html::rawElement( 'p', [],
+                       $this->getOutput()->addHTML( Html::rawElement( 'p', [],
                                Html::element( 'span', [], $this->msg( 'uploadstash-nofiles' )->text() )
                                . ' '
                                . $refreshHtml
index 8d45468..49d3345 100644 (file)
@@ -275,7 +275,7 @@ class LoginForm extends SpecialPage {
         */
        public function execute( $subPage ) {
                // Make sure session is persisted
-               $session = MediaWiki\Session\SessionManager::getGlobalSession();
+               $session = SessionManager::getGlobalSession();
                $session->persist();
 
                $this->load();
@@ -792,7 +792,7 @@ class LoginForm extends SpecialPage {
                }
 
                $isAutoCreated = false;
-               if ( $u->getID() == 0 ) {
+               if ( $u->getId() == 0 ) {
                        $status = $this->attemptAutoCreate( $u );
                        if ( $status !== self::SUCCESS ) {
                                return $status;
@@ -1716,7 +1716,7 @@ class LoginForm extends SpecialPage {
                        $wgCookieSecure = false;
                }
 
-               MediaWiki\Session\SessionManager::getGlobalSession()->resetId();
+               SessionManager::getGlobalSession()->resetId();
        }
 
        /**
index 29261f3..740f2f7 100644 (file)
@@ -119,7 +119,7 @@ class UserrightsPage extends SpecialPage {
                }
 
                $fetchedStatus = $this->fetchUser( $this->mTarget );
-               if ( $fetchedStatus->isOk() ) {
+               if ( $fetchedStatus->isOK() ) {
                        $this->mFetchedUser = $fetchedStatus->value;
                        if ( $this->mFetchedUser instanceof User ) {
                                // Set the 'relevant user' in the skin, so it displays links like Contributions,
@@ -627,7 +627,7 @@ class UserrightsPage extends SpecialPage {
         * @return string
         */
        private static function buildGroupLink( $group ) {
-               return User::makeGroupLinkHtml( $group, User::getGroupName( $group ) );
+               return User::makeGroupLinkHTML( $group, User::getGroupName( $group ) );
        }
 
        /**
@@ -637,7 +637,7 @@ class UserrightsPage extends SpecialPage {
         * @return string
         */
        private static function buildGroupMemberLink( $group ) {
-               return User::makeGroupLinkHtml( $group, User::getGroupMember( $group ) );
+               return User::makeGroupLinkHTML( $group, User::getGroupMember( $group ) );
        }
 
        /**
index 5b452a6..ce5cbeb 100644 (file)
@@ -132,7 +132,7 @@ class SpecialVersion extends SpecialPage {
                                        $this->softwareInformation() .
                                        $this->getEntryPointInfo()
                                );
-                               $out->addHtml(
+                               $out->addHTML(
                                        $this->getSkinCredits() .
                                        $this->getExtensionCredits() .
                                        $this->getExternalLibraries() .
index b1c3f16..baa55f0 100644 (file)
@@ -160,7 +160,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        ];
                        $on['rd_namespace'] = $target->getNamespace();
                        // Inner LIMIT is 2X in case of stale backlinks with wrong namespaces
-                       $subQuery = $dbr->selectSqlText(
+                       $subQuery = $dbr->selectSQLText(
                                [ $table, 'redirect', 'page' ],
                                [ $fromCol, 'rd_from' ],
                                $conds[$table],
index fb25249..9d7b294 100644 (file)
@@ -241,12 +241,14 @@ abstract class UploadBase {
         */
        protected function setTempFile( $tempPath, $fileSize = null ) {
                $this->mTempPath = $tempPath;
+               $this->mFileSize = $fileSize ?: null;
                if ( strlen( $this->mTempPath ) && file_exists( $this->mTempPath ) ) {
                        $this->tempFileObj = new TempFSFile( $this->mTempPath );
-                       $this->mFileSize = $fileSize ?: filesize( $this->mTempPath );
+                       if ( !$fileSize ) {
+                               $this->mFileSize = filesize( $this->mTempPath );
+                       }
                } else {
                        $this->tempFileObj = null;
-                       $this->mFileSize = null;
                }
        }
 
index ebb4ebb..0323b68 100644 (file)
@@ -142,7 +142,7 @@ class UploadFromChunks extends UploadFromFile {
                $tStart = microtime( true );
                $status = $this->repo->concatenate( $fileList, $tmpPath, FileRepo::DELETE_SOURCE );
                $tAmount = microtime( true ) - $tStart;
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        return $status;
                }
 
@@ -234,7 +234,7 @@ class UploadFromChunks extends UploadFromFile {
                wfDebug( __METHOD__ . " update chunk status for {$this->mFileKey} offset:" .
                        $this->getOffset() . ' inx:' . $this->getChunkIndex() . "\n" );
 
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
                // Use a quick transaction since we will upload the full temp file into shared
                // storage, which takes time for large files. We don't want to hold locks then.
                $dbw->update(
@@ -256,7 +256,7 @@ class UploadFromChunks extends UploadFromFile {
        private function getChunkStatus() {
                // get Master db to avoid race conditions.
                // Otherwise, if chunk upload time < replag there will be spurious errors
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
                $row = $dbw->selectRow(
                        'uploadstash',
                        [
index 342bd79..6639c34 100644 (file)
@@ -286,7 +286,7 @@ class UploadFromUrl extends UploadBase {
                }
 
                wfDebugLog( 'fileupload', $status );
-               if ( $status->isOk() ) {
+               if ( $status->isOK() ) {
                        wfDebugLog( 'fileupload', 'Download by URL completed successfuly.' );
                } else {
                        wfDebugLog(
index d5e573b..c171ded 100644 (file)
@@ -276,7 +276,7 @@ class UploadStash {
 
                // insert the file metadata into the db.
                wfDebug( __METHOD__ . " inserting $stashPath under $key\n" );
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
 
                $serializedFileProps = serialize( $fileProps );
                if ( strlen( $serializedFileProps ) > self::MAX_US_PROPS_SIZE ) {
@@ -336,7 +336,7 @@ class UploadStash {
                }
 
                wfDebug( __METHOD__ . ' clearing all rows for user ' . $this->userId . "\n" );
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
                $dbw->delete(
                        'uploadstash',
                        [ 'us_user' => $this->userId ],
@@ -364,7 +364,7 @@ class UploadStash {
                                . ' No user is logged in, files must belong to users' );
                }
 
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
 
                // this is a cheap query. it runs on the master so that this function
                // still works when there's lag. It won't be called all that often.
@@ -399,7 +399,7 @@ class UploadStash {
                // Ensure we have the UploadStashFile loaded for this key
                $this->getFile( $key, true );
 
-               $dbw = $this->repo->getMasterDb();
+               $dbw = $this->repo->getMasterDB();
 
                $dbw->delete(
                        'uploadstash',
@@ -430,7 +430,7 @@ class UploadStash {
                                . ' No user is logged in, files must belong to users' );
                }
 
-               $dbr = $this->repo->getSlaveDb();
+               $dbr = $this->repo->getSlaveDB();
                $res = $dbr->select(
                        'uploadstash',
                        'us_key',
@@ -507,9 +507,9 @@ class UploadStash {
                $dbr = null;
                if ( $readFromDB === DB_MASTER ) {
                        // sometimes reading from the master is necessary, if there's replication lag.
-                       $dbr = $this->repo->getMasterDb();
+                       $dbr = $this->repo->getMasterDB();
                } else {
-                       $dbr = $this->repo->getSlaveDb();
+                       $dbr = $this->repo->getSlaveDB();
                }
 
                $row = $dbr->selectRow(
index c758f26..7346a90 100644 (file)
@@ -429,7 +429,7 @@ class BotPassword implements IDBAccessObject {
 
                // Check restrictions
                $status = $bp->getRestrictions()->check( $request );
-               if ( !$status->isOk() ) {
+               if ( !$status->isOK() ) {
                        return Status::newFatal( 'botpasswords-restriction-failed' );
                }
 
index 14548f4..7a70773 100644 (file)
@@ -32,7 +32,7 @@ use MediaWiki\Session\Token;
  *
  * @since 1.27
  */
-class LoggedOutEditToken extends MediaWiki\Session\Token {
+class LoggedOutEditToken extends Token {
        public function __construct() {
                parent::__construct( '', '', false );
        }
index 09124bf..e553ddc 100644 (file)
@@ -2162,7 +2162,7 @@ class User implements IDBAccessObject {
                // Get the "last viewed rev" timestamp from the oldest message notification
                $timestamp = $dbr->selectField( 'user_newtalk',
                        'MIN(user_last_timestamp)',
-                       $this->isAnon() ? [ 'user_ip' => $this->getName() ] : [ 'user_id' => $this->getID() ],
+                       $this->isAnon() ? [ 'user_ip' => $this->getName() ] : [ 'user_id' => $this->getId() ],
                        __METHOD__ );
                $rev = $timestamp ? Revision::loadFromTimestamp( $dbr, $utp, $timestamp ) : null;
                return [ [ 'wiki' => wfWikiID(), 'link' => $utp->getLocalURL(), 'rev' => $rev ] ];
@@ -3268,7 +3268,7 @@ class User implements IDBAccessObject {
                if ( $this->getId() ) {
                        $dbw->insert( 'user_groups',
                                [
-                                       'ug_user' => $this->getID(),
+                                       'ug_user' => $this->getId(),
                                        'ug_group' => $group,
                                ],
                                __METHOD__,
@@ -3306,14 +3306,14 @@ class User implements IDBAccessObject {
                $dbw = wfGetDB( DB_MASTER );
                $dbw->delete( 'user_groups',
                        [
-                               'ug_user' => $this->getID(),
+                               'ug_user' => $this->getId(),
                                'ug_group' => $group,
                        ], __METHOD__
                );
                // Remember that the user was in this group
                $dbw->insert( 'user_former_groups',
                        [
-                               'ufg_user' => $this->getID(),
+                               'ufg_user' => $this->getId(),
                                'ufg_group' => $group,
                        ],
                        __METHOD__,
@@ -3338,7 +3338,7 @@ class User implements IDBAccessObject {
         * @return bool
         */
        public function isLoggedIn() {
-               return $this->getID() != 0;
+               return $this->getId() != 0;
        }
 
        /**
@@ -3989,6 +3989,7 @@ class User implements IDBAccessObject {
                if ( $this->isLoggedIn() && $this->isBlocked() ) {
                        return $this->spreadBlock();
                }
+
                return false;
        }
 
index a14a376..93ce8eb 100644 (file)
@@ -4464,7 +4464,7 @@ class Language {
         * @return array Array of message keys (strings)
         */
        public static function getMessageKeysFor( $code ) {
-               return self::getLocalisationCache()->getSubItemList( $code, 'messages' );
+               return self::getLocalisationCache()->getSubitemList( $code, 'messages' );
        }
 
        /**
index 9e40bee..f0af455 100644 (file)
@@ -20,7 +20,9 @@
                        "Macofe",
                        "Азат Хәлилов",
                        "Айбикә",
-                       "З. ӘЙЛЕ"
+                       "З. ӘЙЛЕ",
+                       "Янмурза Баки",
+                       "Айсар"
                ]
        },
        "tog-underline": "Һылтанмалар аҫтына һыҙыу:",
        "tog-hidecategorization": "Биттәр категоризацияһын йәшереү",
        "tog-extendwatchlist": "Барлыҡ үҙгәртеүҙәрҙе үҙ эсенә алған, киңәйтелгән күҙәтеү исемлеге",
        "tog-usenewrc": "Һуңғы төҙәтеүҙәр һәм күҙәтеү исемлегендәге үҙгәрештәрҙе төркөмдәргә бүлергә",
-       "tog-numberheadings": "Ð\91аÑ\88иÑ\81емдÓ\99Ñ\80Ò\99е автоматик рәүештә номерланһын",
+       "tog-numberheadings": "Ð\90Ñ\82амалаÑ\80 автоматик рәүештә номерланһын",
        "tog-showtoolbar": "Мөхәррирләгән ваҡытта өҫкө ҡоралдар панелен күрһәтергә (JavaScript кәрәк)",
        "tog-editondblclick": "Биттәрҙе ике сиртеү менән мөхәррирләргә",
-       "tog-editsectiononrightclick": "Бүлектәрҙе исемдәренә төрткөнөң уң яғына сиртеп үҙгәртергә",
+       "tog-editsectiononrightclick": "Бүлектәрҙе исемдәрен төрткөнөң уң яғына баҫып үҙгәртергә",
        "tog-watchcreations": "Мин төҙөгән биттәрҙе һәм күсергән файлдарҙы күҙәтеү исемлегенә өҫтәргә",
        "tog-watchdefault": "Мин үҙгәрткән биттәр һәм файлдар аңлатмаһын күҙәтеү исемлегенә өҫтәргә",
        "tog-watchmoves": "Мин исемен үҙгәрткән биттәрҙе һәм файлдарҙы күҙәтеү исемлегенә өҫтәргә",
        "recentchangeslinked-page": "Бит исеме:",
        "recentchangeslinked-to": "Киреһенсә, был биткә һылтанма яһаған биттәрҙәге үҙгәртеүҙәрҙе күрһәтергә",
        "recentchanges-page-added-to-category": "[[:$1]] категорияға өҫтәлгән",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] һәм {{PLURAL:$2|бер бит|$2 биттәр}} категорияға өҫтәлгән",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] һәм [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]]  категорияға өҫтәлгән",
        "recentchanges-page-removed-from-category": "[[:$1]] категориянан алынған",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] һәм {{PLURAL:$2|бер бит|$2 биттәр}} категориянан алынған",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] һәм [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]]  категориянан алынған",
        "autochange-username": "Автоматик рәүештә MediaWiki үҙгәртелә",
        "upload": "Файл тейәү",
        "uploadbtn": "Файлды тейәргә",
        "deadendpagestext": "Түбәндәге биттәр {{SITENAME}} проектының башҡа биттәренә һылтанма яһамай.",
        "protectedpages": "Һаҡланған биттәр",
        "protectedpages-indef": "Сикләнмәгән һаҡлауҙар ғына",
+       "protectedpages-summary": "Бында әлегә мәлдә булған һәм һаҡланыулы биттәр килтерелгән. Исемлекте ҡарау өсөн [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
        "protectedpages-cascade": "Эҙмә-эҙлекле һаҡлауҙар ғына",
        "protectedpages-noredirect": "Йүнәлтеүҙәрҙе йәшерергә",
        "protectedpagesempty": "Әлеге ваҡытта күрһәтелгән шарттар менән һаҡланған биттәр юҡ.",
        "protectedpages-unknown-timestamp": "Билдәһеҙ",
        "protectedpages-unknown-performer": "Билдәһеҙ ҡатнашыусы",
        "protectedtitles": "Тыйылған исемдәр",
+       "protectedtitles-summary": "Бында яңынан булдырыуҙан һаҡланған атамалар килтерелгән. Исмелекте ҡарау өсөн: [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Әлеге ваҡытта күрһәтелгән шарттар менән һаҡланған исемдәр юҡ.",
        "protectedtitles-submit": "Күренгән исем",
        "listusers": "Ҡатнашыусылар исемлеге",
        "trackingcategories-msg": "Күҙәтеүсе категория",
        "trackingcategories-name": "Хәбәр исеме",
        "trackingcategories-desc": "Категорияға индереү критерийҙары",
+       "noindex-category-desc": "Бит эҙләүсе роботтар тарафынан индексацияланмай, сөнки унда \"тылсымлы һүҙ\" <code><nowiki>__NOINDEX__</nowiki></code> бар һәм ул был флаг рөхсәт ителгән исемдәр киңлегендә урынлашҡан.",
+       "index-category-desc": "Биттә «тылсымлы һүҙ» бар<nowiki>__INDEX__</nowiki> (бит рөхсәт ителгән исемдәр арауығында ята), шуға күрә эҙләү системаһында индекслана.",
+       "post-expand-template-inclusion-category-desc": "Барлыҡ ҡалыптарҙы ла күрһәткәндән һуң биттең күләме арта<code>$wgMaxArticleSize</code>, шуға күрә ҡайһы берҙәре тулыһынса күрһәтелмәне.",
+       "post-expand-template-argument-category-desc": "Бит <code>$wgMaxArticleSize</code> ҡалып дәлиле асылғандан һуң ҙурыраҡ була(фигуралы өс йәйә, мәҫәлән<code>({{{Foo}}})</code>).",
        "expensive-parserfunction-category-desc": "Биттә ресурс һыйҙырышлығы ҙур булған (<code>#ifexist</code> кеүек) функциялар күп ҡулланыла.Тулыраҡ -[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit] битендә.",
        "broken-file-category-desc": "Был бит булмаған файлға һылтана",
        "hidden-category-category-desc": "Был категорияла <code><nowiki>__HIDDENCAT__</nowiki></code> тамғаһы бар, был категория бүлегендә битте күрһәтмәй.",
        "movepagetext-noredirectfixer": "Аҫтағы форманы ҡулланыу биттең исемен үҙгәртә һәм уның үҙгәртеүҙәр яҙмаһын яңы урынға күсерә.\nБиттең элекке исеме яңы биткә йүнәлтеү булып ҡаласаҡ.\nҺеҙ элекке исемгә булған йүнәлтеүҙәрҙе автоматик рәүештә яңы исемгә күсерә алаһығыз.\nӘгәр быны эшләмәһәгеҙ, [[Special:DoubleRedirects|икеле]] һәм [[Special:BrokenRedirects|өҙөлгән йүнәлтеүҙәрҙе]] тикшерегеҙ.\nҺылтанмаларҙың кәрәкле урынға күрһәтеүҙәренең дауам итеүе өсөн һеҙ яуаплы.\n\nИғтибар итегеҙ, әгәр яңы исемле бит бар икән, биттең исеме '''үҙгәртелмәйәсәк'''; элекке бит йүнәлтеү, буш һәм үҙгәртеү тарихына эйә булмаған осраҡтарҙан башҡа.\nБыл шуны аңлата: бит исемен яңылыш үҙгәртһәгеҙ, битте кире ҡайтара алаһығыҙ, ләкин булған битте юя алмайһығыҙ.\n\n<strong>Иғтибар:</strong>\nПопуляр биттәрҙең исемен үҙгәртеү көтмәгән һөҙөмтәләргә килтерүе мөмкин.\nДауам итерҙән алда, бөтә буласаҡ һөҙөмтәләрҙе аңлауығыҙҙы уйлағыҙ.",
        "movepagetalktext": "Фекер алышыу битенең исеме лә үҙгәртеләсәк, '''киләһе осраҡтарҙан тыш''':\n*Бындай исемле фекер алышыу бите бар, йәки\n*Аҫтағы юлды билдәләмәгәнһегеҙ.\n\nБындай осраҡтарҙа, кәрәкле булһа, биттәрҙе үҙегеҙҙең күсереүегеҙ йәки исемен үҙгәртеүегеҙ кәрәк буласаҡ.",
        "moveuserpage-warning": "'''Иғтибар:''' Һеҙ ҡатнашыусы битенең исемен үҙгәртергә йыйынаһығыҙ. Зинһар, биттең генә исеме үҙгәрәсәк, ҡатнашыусы исеме ''үҙгәрмәйәсәк'', икәнен күҙ үңында тотоғоҙ.",
+       "movecategorypage-warning": "<strong>Иҫкәрмә:</strong> Һеҙ категория битенең атамаһын үҙгәртергә теләйһегеҙ.Зинһар, ошо бит кенә үҙгәртелеүенә иғтибар итегеҙ, ә иҫке категориялағы башҡа биттәр<em>не</em> яңынан категорияланасаҡ.",
        "movenologintext": "Биттең исемен үҙгәртеү өсөн, һеҙ [[Special:UserLogin|танылырға]] тейешһегеҙ.",
        "movenotallowed": "Һеҙҙең бит исемен үҙгәртергә хоҡуғығыҙ юҡ",
        "movenotallowedfile": "Һеҙҙең файл исемен үҙгәртергә хоҡуғығыҙ юҡ",
        "tags-manage-no-permission": "Тамға исемен үҙгәртергә хоҡуғығыҙ юҡ",
        "tags-manage-blocked": "Һеҙгә блок ҡуйылған, тамғалар менән идара итә алмайһығыҙ.",
        "tags-create-heading": "Яңы тамға булдырырға",
+       "tags-create-explanation": "яңы булдырылған билдәләр боттар һәм ҡатнашыусылар ҡуллана алырлыҡ итеп эшләнәсәк",
        "tags-create-tag-name": "Тамға исеме",
        "tags-create-reason": "Сәбәп:",
        "tags-create-submit": "Яһау",
        "tags-create-no-name": "Тамға исемен яҙығыҙ",
        "tags-create-invalid-chars": "Тамға исемдәрендә өтөр (<code>,</code>) йәки һыҙыҡ  (<code>/</code>) булмаҫҡа тейеш.",
+       "tags-create-invalid-title-chars": "Билдә исемдәрендә бит атамаларында файҙаланып булмаған символдар булмаҫҡа тейеш",
        "tags-create-already-exists": "$1 тамғаһы бар инде.",
+       "tags-create-warnings-above": "«$1» билдәһен яһарға тырышҡанда асыҡлана{{PLURAL:$2|о киләһе иҫкәрмә|ы киләһе иҫкәрмә}}:",
        "tags-create-warnings-below": "Тамға булдырыуҙы дауам итергә теләйһегеҙме?",
        "tags-delete-title": "Тамғаны юйырға",
        "tags-delete-explanation-initial": " «$1» тамғаһын мәғлүмәттәр базаһынан юйырға теләйһегеҙме?",
+       "tags-delete-explanation-in-use": "Ул әлеге ваҡытта ҡулланылған {{PLURAL:$2|$2 версияһынан йәки журналдағы яҙманан|барлыҡ $2 версияһынан йәки журналдағы яҙмаларҙан}}  юйыласаҡ",
+       "tags-delete-explanation-warning": "Был ғәмәл <strong> кире ҡайтарылғыһыҙ</strong> һәм <strong>мәғлүмәттәр базаһы хакимдары тарафынан да үҙгәртелә алмай</strong>. Һеҙ ысынлап та был билдәне юйырға теләүегеҙгә инанырға тейешһегеҙ.",
+       "tags-delete-explanation-active": "<strong> «$1» билдәһе элеккесә актив һәм киләсәктә лә ҡулланыласаҡ.</strong> Шулай булыуын теләмәйһегеҙ икән, билдәне ҡулланыу урынына күсеп, уны һүндерегеҙ.",
        "tags-delete-reason": "Сәбәп:",
        "tags-delete-submit": "Тамғаны кире ҡайтарылмаҫлыҡ итеп юйырға.",
+       "tags-delete-not-allowed": "Ҡушымталағы тамғалар юйылмай, әгәр ҡушымта асыҡ рөхсәт бирмәһә.",
        "tags-delete-not-found": "$1 тамғаһы юҡ.",
+       "tags-delete-too-many-uses": " «$1» тамғаһы $2 {{PLURAL:$2|өлгөлә}} артығыраҡ ҡулланыла, был юйылмаясаҡ тигәнде аңлата.",
+       "tags-delete-warnings-after-delete": " «$1» тамғаһы юйылды, әммә {{PLURAL:$2|түбәндәге киҫәтеүҙәр алында}}:",
        "tags-activate-title": "Тамғаны активлаштырырға",
        "tags-activate-question": "«$1» тамғаһын активлыштырырға теләйһегеҙме?",
        "tags-activate-reason": "Сәбәп:",
        "tags-deactivate-reason": "Сәбәп:",
        "tags-deactivate-not-allowed": "«$1» тамғаһын һүндереп булмай.",
        "tags-deactivate-submit": "һүндерергә",
+       "tags-apply-no-permission": "Һеҙҙең үҙгәртеү тамғаһы ҡуйыу хоҡуғы юҡ.",
+       "tags-apply-blocked": "Үҙгәртеүҙәргә тамға ҡуфырға һеҙҙең хоҡуҡ юҡ, һеҙ бикләнгән.",
        "tags-apply-not-allowed-one": " «$1» тамғаһын ҡулдан файҙаланып булмай",
+       "tags-apply-not-allowed-multi": "Ҡулдан {{PLURAL:$2|түбәндәге тамғаны өҫтәп булмай}}: $1",
+       "tags-update-no-permission": "Һеҙҙең айырым өлгөләрҙә һәм журнал яҙмаларында тамға йәки үҙгәртеү тамғаһы ҡуйырға хоҡуғығыҙ юҡ.",
+       "tags-update-blocked": "Һеҙгә блок ҡуйылған, үҙһәртеү тамғалары менән идара итә алмайһығыҙ.",
        "tags-update-add-not-allowed-one": " «$1» тамғаһын ҡулдан файҙаланып булмай",
        "tags-update-add-not-allowed-multi": "{{PLURAL:$2|түбәндәге тег}} ҡулдан өҫтәлмәй: $1",
        "tags-update-remove-not-allowed-one": " «$1» тамғаһын юйып булмай",
        "logentry-newusers-create2": "$1 {{GENDER:$2|ҡатнашыусы}} $3 иҫәп яҙмаһын булдырҙы",
        "logentry-newusers-byemail": "$1 {{GENDER:$2|}} $3 иҫәп яҙмаһын булдырҙы һәм серһүҙ электрон почта аша ебәрелде",
        "logentry-newusers-autocreate": "Автоматик рәүештә {{GENDER:$2| ҡатнашыусының}} $1 иҫәп яҙмаһы яһалды",
+       "logentry-protect-move_prot": "$1 һаҡлау көйәләүен $4 $3 {{GENDER:$2|күсерҙе}}",
+       "logentry-protect-unprotect": "$1 $3-нан һаҡлауҙы  {{GENDER:$2||алды}}",
+       "logentry-protect-protect": "$1 һаҡланы{{GENDER:$2||а}} $3 $4",
+       "logentry-protect-protect-cascade": "$1 һаҡланы{{GENDER:$2||}} $3 $4 [каскадлы]",
+       "logentry-protect-modify": "$1$ һаҡлау кимәлен {{GENDER:$2||үҙгәртте}} $3 $4",
+       "logentry-protect-modify-cascade": "$1 һаҡлау кимәлен{{GENDER:$2||үҙгәртте}}  $3 $4 [каскадлы]",
        "logentry-rights-rights": "$1  $3 файҙаланыусының төркөмдәрҙәге ағзалығын $4 урынына $5 тип {{GENDER:$2|үҙгәртте}}",
        "logentry-rights-rights-legacy": "$1  $3 өсөн төркөмдәрҙәге ағзалыҡты {{GENDER:$2|үҙгәртте}}",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|}} автоматик рәүештә {{GENDER:$2|}} $4 урынына $5 ителде.",
        "logentry-upload-upload": "$1 $3 {{GENDER:$2|күсерҙе}}",
+       "logentry-upload-overwrite": "$1 яңы өлгә{{GENDER:$2||тейәне}} $3",
+       "logentry-upload-revert": "$1 {{GENDER:$2||тейәне}} $3",
+       "log-name-managetags": "Тамғалар менән идара итеү журналы",
+       "log-description-managetags": "Был биттә  [[Special:Tags|метками]] идара итеү мәсьәләләре килтерелгән. Журналда администратор ҡулдан эшләгән ғәмәл генә бар. Тамғаларыҙа, журналға яҙмайынса ғына, вики-программалар ярҙамында ҡуйырға йәки юйырға мөмкин.",
+       "logentry-managetags-create": "$1 «$4» тамғаһын {{GENDER:$2||булдырҙы}}",
+       "logentry-managetags-delete": "$1 «$4» тамғаһын {{GENDER:$2||юйҙы}}  ($5 {{PLURAL:$5|журнал яҙмаһынан}} юйылды)",
+       "logentry-managetags-activate": "$1 «$4» тамғаһын{{GENDER:$2||активлаштырҙы}}, ҡатнашыусылар һәм роботтар ҡуллана торған тамға.",
+       "logentry-managetags-deactivate": "$1 «$4» тамғаһы өсөн{{GENDER:$2||һүндерҙе}} ҡатнашыусылар һәм роботтар ҡуллана торған тамғаны",
+       "log-name-tag": "Тамғалар журналы",
+       "log-description-tag": "Был биттә ҡасан ҡатнашыусылар айырым өлгөләрҙә һәм журналдарҙы  [[Special:Tags|тамғалар]] ҡуйғаны һәм юйғаны күренә. Үҙгәртеү, юйыу һәм шуға оҡшаған ғәмәлдәргә ҡуйылған тамға күренмәй.",
+       "logentry-tag-update-add-revision": "$1 {{GENDER:$2||}} {{PLURAL:$7|тамғаһын}} өҫтәне $6  $4 өлгөһөнә $3 битенә",
+       "logentry-tag-update-add-logentry": "$1 {{GENDER:$2||}} {{PLURAL:$7|тамғаһын}} өҫтәне$6  $5 журнал яҙмаһына $3 битендә",
+       "logentry-tag-update-remove-revision": "$1 {{GENDER:$2||}} {{PLURAL:$9|тамғаһын}} юйҙы $8  $4 өлгөһөнә $3 битенә",
+       "logentry-tag-update-remove-logentry": "$1 {{GENDER:$2||}} {{PLURAL:$9|тамғаһын}} юйҙы $8  $5 өлгөһөнә $3 битенә",
+       "logentry-tag-update-revision": "$1 {{GENDER:$2||яңыртты}}  $4 өлгөһөнөң тамғаларын $3 битендә ({{PLURAL:$7|өҫтәне}} $6; {{PLURAL:$9|юйылған}} $8)",
+       "logentry-tag-update-logentry": "$1 {{GENDER:$2||а}}журналда билдәләнгән яҙмаларҙы яңыртты $5 биттәр $3 (өҫтәлгән{{PLURAL:$7|а|ы}} $6; юйылған{{PLURAL:$9|а|ы}} $8)",
        "rightsnone": "(юҡ)",
        "revdelete-summary": "үҙгәртеүҙәр тасуирламаһы",
        "feedback-adding": "Биткә кире белдереү өҫтәлә",
+       "feedback-back": "Артҡа",
        "feedback-bugcheck": "Шәп! Тик [$1 билдәле хаталар] исемлегендә оҡшаш белдереүҙең булмауына иғтибар итегеҙ.",
        "feedback-bugnew": "Тикшерҙем. Яңы хата тураһында белдерергә",
        "feedback-bugornote": "Әгәр Һеҙ техник проблеманы ентекле рәүештә аңлатырға теләһәгеҙ, зинһар, [$1 хата тураһында белдерегеҙ].\nБашҡа осраҡта, ошо ябай форманы ҡуллана алаһығыҙ. Комментарийығыҙ «[$3 $2]» битенә ҡулланыусы исемегеҙ һәм браузер мәғлүмәте менән өҫтәләсәк.",
        "feedback-cancel": "Кире алырға",
        "feedback-close": "Әҙер",
+       "feedback-external-bug-report-button": "Техник эш еберергә",
+       "feedback-dialog-title": "Баһалама ебәрергә",
+       "feedback-dialog-intro": "Баһалама ебәреү өсөн түбәндәге форманы файҙаланығыҙ. Һеҙҙең исем менән комментарий «$1» битендә буласаҡ.",
        "feedback-error-title": "Хата",
        "feedback-error1": "Хата: API-нан беленмәгән хата",
        "feedback-error2": "Хата: Мөхәррирләү хатаһы",
        "feedback-error3": "Хата: API-нан яуап юҡ",
+       "feedback-error4": "Хата: Баһаламала был баш һүҙ аҫтындағы яҙманы урынлаштырап булмай.",
        "feedback-message": "Хәбәр:",
        "feedback-subject": "Тема:",
        "feedback-submit": "Ебәрергә",
+       "feedback-terms": "Ҡатнашыусы агенты мәғлүмәтендә минең браузер һәм операцион система турыһанда мәғлүмәт булыуы миңә билдәле, минең баһаламала был мәғлүмәт асыҡ буласаҡ.",
+       "feedback-termsofuse": "Минең Ҡулланыу шарттары буйынса кире бәйленеш булдырырға риза.",
        "feedback-thanks": "Рәхмәт! Һеҙҙең фекерегеҙ «[$2 $1]» битенә өҫтәлде.",
+       "feedback-thanks-title": "Рәхмәт!",
+       "feedback-useragent": "Браузер:",
        "searchsuggest-search": "Эҙләү",
        "searchsuggest-containing": "эстәлегендә...",
        "api-error-badaccess-groups": "Һеҙгә был викиға файлдар күсереү рөхсәт ителмәй",
        "api-error-overwrite": "Булған файлды алыштырыу рөхсәт ителмәй.",
        "api-error-stashfailed": "Эске хата: сервер ваҡытлыса файлды һаҡлай алманы.",
        "api-error-publishfailed": "Эске хата: сервер ваҡытлыса файлды һаҡлай алманы.",
+       "api-error-stasherror": "Файлы һаҡлағысҡа тейәгән ваҡытта хата китте.",
+       "api-error-stashedfilenotfound": "Ваҡытлыса һаҡлағыстан файлы тейәгән ваҡытта сығанаҡ файл табылманы.",
+       "api-error-stashpathinvalid": "Ваҡытлыса һаҡлағыста урынлашҡан файл юлы дөрөҫ түгел.",
+       "api-error-stashfilestorage": "Файлды һаҡлағысҡа тейәгән ваҡытта хата китте.",
+       "api-error-stashzerolength": "Сервер файлды ваҡытлыса һаҡлағыста һаҡлау алмай, сөнкт оҙонлоғо 0.",
+       "api-error-stashnotloggedin": "Файлды ваҡытлыса һаҡлағысҡа урынлаштырыу өсөн һеҙ системаҡа инергә тейешһегеҙ.",
+       "api-error-stashwrongowner": "Ваҡытлыса һаҡлағыстағы файлда асырға теләнегеҙ, был файл һеҙҙеке түгел",
+       "api-error-stashnosuchfilekey": "Ваҡытлыса һаҡлағыста һеҙ асырға теләгән файлдың асҡысы юҡ.",
        "api-error-timeout": "Көтөлгән ваҡыт эсендә сервер яуып бирмәне.",
        "api-error-unclassified": "Билдәһеҙ хата барлыҡҡа килде.",
        "api-error-unknown-code": "Билдәһеҙ хата: «$1»",
        "expand_templates_generate_rawhtml": "Күрһәтергә HTML",
        "expand_templates_preview": "Ҡарап сығыу",
        "expand_templates_preview_fail_html": "'''Ҡыҙғанысҡа ҡаршы, һеҙҙең ултырыш мәғлүмәттәрегеҙ юғалды. Һөҙөмтәлә, сервер үҙгәрештерегеҙҙе ҡабул итә алмай.'''\n\n''{{SITENAME}} тик таҙа HTML ҡулланыуҙы ғына рөхсәт итә; алдан ҡарау, JavaScript-атакаларҙан һаҡланыу маҡсаты менән ябылған.''\n\n'''Әгәр һеҙ үҙгәртеүҙе яҡшы ниәт менән башҡараһағыҙ икән, тағы бер тапҡыр ҡабатлап ҡарағыҙ. Хата ҡабатланһа, сайттан [[Special:UserLogout|сығығыҙ]] һәм яңынан керегеҙ.'''",
+       "expand_templates_preview_fail_html_anon": "<em>Сайт {{SITENAME}}  «һоро» HTML исемлегендә, һеҙ танылманығыҙ, шуға алдан ҡарау  JavaScript-атакаһынан һаҡланыу сараһы буларыҡ йәшерелгән</em>\n\n<strong>Зинһар өсөн, [[Special:UserLogin|танылығыҙ]] һәм тағы бер мәртәбә эшләп ҡарағыҙ.",
+       "expand_templates_input_missing": "Һеҙ ниндәй ҙә булһа һөйләм ҡуйырға тейешһегеҙ",
+       "pagelanguage": "Биттең телен үҙгәртеү",
+       "pagelang-name": "Бит",
+       "pagelang-language": "Тел",
+       "pagelang-use-default": "Ҡуйылған тел ҡулланырға",
+       "pagelang-select-lang": "Тел һайлау:",
+       "pagelang-submit": "Ебәрергә",
+       "right-pagelang": "Биттең телен үҙгәртеү",
+       "action-pagelang": "Биттең телен үҙгәртеү",
+       "log-name-pagelang": "Телде үҙгәртеү дәфтәре",
+       "log-description-pagelang": "Был бит телдәрендә үҙгәреүҙәр дәфтәре",
+       "logentry-pagelang-pagelang": "$1 {{GENDER:$2|үҙгәртте}} язык страницы $3 биттең телен $4-тән $5-кә.",
+       "default-skin-not-found": "Уп-па! Викиҙы биҙәү темаһы рөхсәт ителмәгән <code>$wgDefaultSkin</code>, <code>$1</code>.\n\nҺеҙең ҡоролмала {{PLURAL:$4|түбәндәге}} биҙәү темалары бар.  [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration]  {{PLURAL:$4|Килешеү буйынса тема һайларға}}.\n\n$2\n\n; Әгәр яңы ғына MediaWiki урынлаштарған булһығыҙ:\n:Һеҙ быны Git-тан йәки сығанаҡ кодтан башға ысул ҡулланып эшләгәнһегеҙ.  Ул ваҡытта был мөмкин. Ҡайһы бер темаларҙы урынлаштырып ҡарағыҙ[https://www.mediawiki.org/wiki/Category:All_skins сайт биҙәү өсөн каталог mediawiki.org]:\n:* [https://www.mediawiki.org/wiki/Download урынлаштырырға йүнәлеш биреүсе файлдар архивын] тейәп алып <code>skins/</code> папкаһының күсермәһен алығыҙ;\n:* биҙәү өсөн айырым темалар архивын [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org];\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins  Git-ты ҡулланып тейәргә].\n: Git, MediaWiki-ны эшләүсе булһағыҙ һеҙҙең репозиторға зыян килтерергә тейеш түгел.  [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration] килешеү буйынса тема һайлау тарыһында мәғлүмәт.\n; MediaWiki-ны әле генә яңыртҡан булһағыҙ:\n: MediaWiki версиһында 1.24 автоматик яүыртыу булмаясаҡ. ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]).\n{{PLURAL:$5|Түбендәге юлды}} ҡуйығыҙ <code>LocalSettings.php</code>,  {{PLURAL:$5|урынлаштырылған темаларҙы}} биҙәү өсөн: \n\n<pre dir=\"ltr\">$3</pre>\n\n;Әгәр яңы ғына үҙгәрткән булһағыҙ <code>LocalSettings.php</code>:\n: Тема исемендә хата булмаһын, тикшерегеҙ.",
+       "default-skin-not-found-no-skins": "Уп-па! Викины биҙәү темаһы рөхсәт ителмәгән <code>$wgDefaultSkin</code>, <code>$1</code>.\n\nҺеҙең ҡоролмала түбәндәге биҙәү темалары бар.  [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration]  \n\n\n; Әгәр яңы ғына MediaWiki урынлаштарған булһығыҙ:\n:Һеҙ быны Git-тан йәки сығанаҡ кодтан башҡа ысул ҡулланып эшләгәнһегеҙ.  Ул ваҡытта был мөмкин. Ҡайһы бер темаларҙы урынлаштырып ҡарағыҙ[https://www.mediawiki.org/wiki/Category:All_skins сайт биҙәү өсөн каталог mediawiki.org]:\n:* [https://www.mediawiki.org/wiki/Download урынлаштырырға йүнәлеш биреүсе файлдар архивын] тейәп алып <code>skins/</code> папкаһының күсермәһен алығыҙ;\n:* биҙәү өсөн айырым темалар архивын [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org];\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins  Git-ты ҡулланып тейәргә].\n: Git, MediaWiki-ны эшләүсе булһағыҙ һеҙҙең репозиторға зыян килтерергә тейеш түгел.  [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual:Skin configuration] килешеү буйынса тема һайлау тарыһында мәғлүмәт.\n; MediaWiki-ны әле генә яңыртҡан булһағыҙ:\n: MediaWiki версиһында 1.24 автоматик яүыртыу булмаясаҡ. ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]).\n \n\n\n;Әгәр яңы ғына үҙгәрткән булһағыҙ <code>LocalSettings.php</code>:\n: Тема исемендә хата булмаһын, тикшерегеҙ.",
+       "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (рөхсәт ителгән)",
+       "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>рөхсәт ителмәгән</strong>)",
+       "mediastatistics": "Медиа-статистика",
+       "mediastatistics-summary": "Тейәләгән файлдар тибы тураһында статистика. Файлдың һуңғы версия тураһында мәғлүмәт бар. Иҫке һәм юйылған файлдар иҫәпкә алынмай.",
+       "mediastatistics-nbytes": "$1 байт{{PLURAL:$1|}} ($2; $3%)",
+       "mediastatistics-bytespertype": "Был бүлек өсөн файлдың дөйөм күләме: $1 байт{{PLURAL:$1|}} ($2; $3%).",
+       "mediastatistics-allbytes": "Бөтә файлдар күләме: $1 байт{{PLURAL:$1|}} ($2).",
+       "mediastatistics-table-mimetype": "MIME-төрҙәре",
+       "mediastatistics-table-extensions": "Рөхсәт ителгән ҡушылмалар",
+       "mediastatistics-table-count": "Биттәр һаны",
+       "mediastatistics-table-totalbytes": "Дөйөм күләме",
+       "mediastatistics-header-unknown": "Билдәһеҙ",
+       "mediastatistics-header-bitmap": "Растр рәсем",
+       "mediastatistics-header-drawing": "Рәсемдәр (вектор рәсем)",
+       "mediastatistics-header-audio": "Аудио",
+       "mediastatistics-header-video": "Видео",
+       "mediastatistics-header-multimedia": "Мультимедиа",
+       "mediastatistics-header-office": "Офис",
+       "mediastatistics-header-text": "Текст",
+       "mediastatistics-header-executable": "Башҡарылыусы",
+       "mediastatistics-header-archive": "Ҡыҫылған формат",
+       "mediastatistics-header-total": "Барлыҡ файлдар",
+       "json-warn-trailing-comma": "$1 {{PLURAL:$1|һөйләм аҙаҡында артыҡ өтөр юйылды}} JSON",
+       "json-error-unknown": "JSON менән проблемалар бар. Хата: $1",
+       "json-error-depth": "Стек өсөн максималь тәрәнлек артып киткән.",
+       "json-error-state-mismatch": "Ярамаған йәки дөрөҫ төҙөлмәгән JSON",
+       "json-error-ctrl-char": "Идара символында хата, кодировка дөрөҫ төҙөлмәгән булыуы ихтимал.",
+       "json-error-syntax": "Синтаксик хата",
+       "json-error-utf8": "Хаталы UTF-8 символдары, кодировка дөрөҫ булмауы изтимал.",
+       "json-error-recursion": "Бер йәки бер нисә рекурсив һылтанма кодланҡан булырға тейеш.",
+       "json-error-inf-or-nan": "Бер йәки бер нисә NAN- йәки INF-дәүмәле код ҡуйылған булырға тейеш.",
+       "json-error-unsupported-type": "Код ҡуйып булмаҫлыҡ дәүмәл бирелгән.",
+       "headline-anchor-title": "Был бүлеккә һылтанма",
        "special-characters-group-latin": "Латин",
        "special-characters-group-latinextended": "Латин (киңәйтелгән)",
        "special-characters-group-ipa": "ХАФӘ (IPA)",
        "special-characters-group-khmer": "Кһмер",
        "special-characters-title-endash": "уртаса һыҙыҡ",
        "special-characters-title-emdash": "оҙон һыҙыҡ",
-       "special-characters-title-minus": "минус билдәһе"
+       "special-characters-title-minus": "минус билдәһе",
+       "mw-widgets-dateinput-no-date": "Дата һайланмаған",
+       "mw-widgets-titleinput-description-new-page": "Был бит юҡ",
+       "mw-widgets-titleinput-description-redirect": "$1 йүнәлтеү",
+       "api-error-blacklisted": "Зинһар өсөн, башҡа аңлайышлы төшәнсә һайлағыҙ.",
+       "sessionmanager-tie": "Бер юлы бер нисә ғаризаның төп нөсхәһен тикшереп булмай: $1.",
+       "sessionprovider-generic": "$1 сессия",
+       "sessionprovider-mediawiki-session-cookiesessionprovider": "куки нигеҙендә сессиялар",
+       "sessionprovider-nocookies": "Ярҙам кәрәкме?",
+       "randomrootpage": "Ярҙам кәрәкме?"
 }
index 0d43a9f..c4ca609 100644 (file)
        "revdelete-submit": "Ужыць для {{PLURAL:$1|1=выбранай вэрсіі|выбраных вэрсіяў}}",
        "revdelete-success": "Бачнасьць вэрсіі абноўленая.",
        "revdelete-failure": "'''Немагчыма абнавіць бачнасьць вэрсіі:'''\n$1",
-       "logdelete-success": "'''Бачнасьць падзеі пасьпяхова зьмененая.'''",
+       "logdelete-success": "Бачнасьць падзеі ўсталяваная.",
        "logdelete-failure": "'''Немагчыма ўстанавіць бачнасьць у журнале:'''\n$1",
        "revdel-restore": "Зьмяніць бачнасьць",
        "pagehist": "Гісторыя старонкі",
        "revertmerge": "Разьяднаць",
        "mergelogpagetext": "Ніжэй знаходзіцца сьпіс апошніх аб'яднаньняў гісторыяў старонак.",
        "history-title": "$1 — гісторыя зьменаў",
-       "difference-title": "$1: розьніца паміж вэрсіямі",
+       "difference-title": "Розьніца паміж вэрсіямі «$1»",
        "difference-title-multipage": "«$1» і «$2» — розьніца паміж старонкамі",
        "difference-multipage": "(Розьніца паміж старонкамі)",
        "lineno": "Радок $1:",
        "userrights-changeable-col": "Групы, якія Вы можаце мяняць",
        "userrights-unchangeable-col": "Групы, якія Вы ня можаце мяняць",
        "userrights-conflict": "Канфлікт пры зьмене правоў удзельнікаў! Калі ласка, праверце і захавайце вашыя зьмены.",
-       "userrights-removed-self": "Вы пасьпяхова пазбавілі сябе ўласных правоў. З гэтай прычыны вы больш ня маеце доступу да гэтай старонкі.",
+       "userrights-removed-self": "Вы пазбавілі сябе ўласных правоў. З гэтай прычыны вы больш ня маеце доступу да гэтай старонкі.",
        "group": "Група:",
        "group-user": "Удзельнікі",
        "group-autoconfirmed": "Аўтаматычна пацьверджаныя ўдзельнікі",
        "grant-rollback": "Адкат зьменаў старонак",
        "grant-sendemail": "Адпраўка лістоў электроннай пошты іншым удзельнікам",
        "grant-uploadeditmovefile": "Загрузка, замена і перайменаваньне файлаў",
+       "grant-uploadfile": "Загрузка новых файлаў",
+       "grant-basic": "Асноўныя правы",
        "newuserlogpage": "Журнал стварэньня рахункаў",
        "newuserlogpagetext": "Гэта журнал стварэньня рахункаў удзельнікаў і ўдзельніц.",
        "rightslog": "Журнал правоў удзельнікаў",
        "recentchangeslinked-page": "Назва старонкі:",
        "recentchangeslinked-to": "Замест гэтага паказваць зьмены на старонках, што спасылаюцца на гэтую старонку",
        "recentchanges-page-added-to-category": "[[:$1]] дададзеная да катэгорыі",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] і яшчэ {{PLURAL:$2|$2 старонка была дададзеная|$2 старонкі былі дададзеныя|$2 старонак былі дададзеныя}} да катэгорыі",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] і яшчэ [[Special:WhatLinksHere/$1|{{PLURAL:$2|$2 старонка была дададзеная|$2 старонкі былі дададзеныя|$2 старонак былі дададзеныя}}]] да катэгорыі",
        "recentchanges-page-removed-from-category": "[[:$1]] выдаленая з катэгорыі",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] і яшчэ $2 {{PLURAL:$2|старонка была выдаленая|старонкі былі выдаленыя|старонак былі выдаленыя}} з катэгорыі",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] і яшчэ [[Special:WhatLinksHere/$1|$2 {{PLURAL:$2|старонка была выдаленая|старонкі былі выдаленыя|старонак былі выдаленыя}}]] з катэгорыі",
        "autochange-username": "Аўтаматычная зьмена MediaWiki",
        "upload": "Загрузіць файл",
        "uploadbtn": "Загрузіць файл",
        "log-title-wildcard": "Шукаць назвы, якія пачынаюцца з гэтага тэксту",
        "showhideselectedlogentries": "Паказаць/схаваць выбраныя запісы ў журнале",
        "log-edit-tags": "Рэдагаваць меткі да абраных запісаў у журнале падзеяў",
+       "checkbox-select": "Выбраць: $1",
        "checkbox-all": "Усе",
        "allpages": "Усе старонкі",
        "nextpage": "Наступная старонка ($1)",
index 90e0840..2248b56 100644 (file)
        "grant-createaccount": "Ствараць уліковыя запісы",
        "grant-createeditmovepage": "Ствараць, правіць і пераносіць старонкі",
        "grant-delete": "Сціраць старонкі, версіі і запісы ў журналах",
+       "grant-editinterface": "Правіць прасторы назваў МедыяВікі і CSS/JavaScript удзельніка",
+       "grant-editmycssjs": "Правіць ваш CSS/JavaScript",
        "grant-editmyoptions": "Змяняць вашы настройкі",
        "grant-editmywatchlist": "Правіць ваш спіс назірання",
        "grant-editpage": "Правіць наяўныя старонкі",
        "uploaddisabledtext": "Не дазваляюцца ўкладанні файлаў.",
        "php-uploaddisabledtext": "Укладанне файлаў не дазволена ў асяроддзі PHP. Праверце настаўленне file_uploads.",
        "uploadscripted": "У файле ўтрымліваецца код HTML або Яваскрыпту, які можа быць памылкова апрацаваны браўзерам.",
+       "upload-scripted-pi-callback": "Немагчыма ўкласці файл, які ўтрымлівае інструкцыі апрацоўкі табліцы стыляў XML.",
+       "uploaded-script-svg": "У ўкладзеным SVG-файле знойдзены небяспечны элемент з падтрымкай скрыптаў \"$1\".",
+       "uploaded-hostile-svg": "У ўкладзеным SVG файле знойдзены небяспечны CSS у элеменце стылю.",
+       "uploaded-event-handler-on-svg": "Устаноўка атрыбутаў апрацоўшчыка падзей <code>$1=\"$2\"</code> у SVG файле не дазваляецца.",
        "uploadscriptednamespace": "Гэты файл SVG утрымлівае недапушчальную прастору імёнаў \"$1\".",
        "uploadinvalidxml": "Немагчыма прааналізаваць XML ва ўкладзеным файле.",
        "uploadvirus": "Файл утрымлівае вірус! Падрабязнасці: $1",
        "apihelp": "Даведка па API",
        "apihelp-no-such-module": "Модуль \"$1\" не знойдзены.",
        "apisandbox": "Пясочніца API",
+       "apisandbox-api-disabled": "API адключаны на гэтым сайце.",
        "apisandbox-fullscreen": "Разгарнуць панэль",
        "apisandbox-unfullscreen": "Паказаць старонку",
        "apisandbox-submit": "Зрабіць запыт",
        "apisandbox-dynamic-error-exists": "Параметр з назвай \"$1\" ужо існуе.",
        "apisandbox-deprecated-parameters": "Састарэлыя параметры",
        "apisandbox-results": "Вынікі",
+       "apisandbox-alert-field": "Значэнне гэтага поля недапушчальнае.",
        "booksources": "Кнігі",
        "booksources-search-legend": "Знайсці, дзе купіць кнігі",
        "booksources-search": "Пошук",
        "cachedspecial-viewing-cached-ts": "Вы праглядаеце кэшаваную версію старонкі, якая можа быць не зусім актуальнай.",
        "cachedspecial-refresh-now": "Глядзець найноўшую.",
        "categories": "Катэгорыі",
+       "categories-submit": "Паказаць",
        "categoriespagetext": "Наступн{{PLURAL:$1|ая катэгорыя ўтрымлівае|ыя $1 катэгорыі(-й) утрымліваюць}} старонкі або мультымедыю.\nТут не паказаныя [[Special:UnusedCategories|катэгорыі без складнікаў]].\nГл. таксама [[Special:WantedCategories|патрэбныя катэгорыі]].",
        "categoriesfrom": "Паказаць катэгорыі, пачынаючы з:",
        "special-categories-sort-count": "пд. колькасці",
        "activeusers-hidebots": "Без робатаў",
        "activeusers-hidesysops": "Без адміністратараў",
        "activeusers-noresult": "Няма такіх удзельнікаў.",
+       "activeusers-submit": "Паказаць актыўных удзельнікаў",
        "listgrouprights": "Дазволы для груп удзельнікаў",
        "listgrouprights-summary": "Гэты пералік вызначаных у гэтай вікі груп удзельнікаў, разам з прыпісанымі ім дазволамі.\nДаведацца больш пра асабістыя дазволы можна на старонцы [[{{MediaWiki:Listgrouprights-helppage}}]].",
        "listgrouprights-key": "Легенда:\n* <span class=\"listgrouprights-granted\">Дадзены дазвол</span>\n* <span class=\"listgrouprights-revoked\">Адкліканы дазвол</span>",
        "watchlisttools-edit": "Паказаць спіс назірання",
        "watchlisttools-raw": "Паказаць нефарматаваны спіс назірання",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|размовы]])",
+       "timezone-local": "Мясцовы",
        "duplicate-defaultsort": "Увага: прадвызначаная клавіша ўпарадкавання \"$2\" замяніла ранейшую такую клавішу \"$1\".",
        "duplicate-displaytitle": "<strong>Папярэджанне:</strong> Паказаная назва \"$2\" перасягае ранейшую назву \"$1\".",
        "version": "Версія",
        "version-entrypoints": "Уваходныя адрасы",
        "version-entrypoints-header-entrypoint": "Кропка ўваходу",
        "version-entrypoints-header-url": "URL",
+       "version-libraries": "Устаноўленыя бібліятэкі",
+       "version-libraries-library": "Бібліятэка",
        "version-libraries-version": "Версія",
        "version-libraries-license": "Ліцэнзія",
        "version-libraries-description": "Апісанне",
index a3dd1b4..4eef7a2 100644 (file)
        "botpasswords-label-cancel": "Cancel·la",
        "botpasswords-label-delete": "Suprimeix",
        "botpasswords-label-resetpassword": "Reinicia la contrasenya",
+       "botpasswords-label-grants": "Permisos aplicables:",
        "botpasswords-label-restrictions": "Restriccions d'ús:",
+       "botpasswords-label-grants-column": "Concedit",
        "botpasswords-bad-appid": "",
        "resetpass_forbidden": "No poden canviar-se les contrasenyes",
        "resetpass-no-info": "Heu d'estar registrats en un compte per a poder accedir directament a aquesta pàgina.",
        "grant-group-file-interaction": "Interacció amb fitxes multimèdia",
        "grant-group-watchlist-interaction": "Interacció amb la vostra llista de seguiment",
        "grant-group-email": "Enviament de correu",
+       "grant-group-customization": "Personalització i preferències",
+       "grant-group-administration": "Realitza accions administratives",
+       "grant-group-other": "Activitat miscel·lània",
+       "grant-blockusers": "Bloca i desbloca usuaris",
        "grant-createaccount": "Crea comptes",
        "grant-createeditmovepage": "Crea, modifica i reanomena pàgines",
        "grant-delete": "Suprimeix pàgines, revisions i entrades de registre",
+       "grant-editinterface": "Modifica l'espai de noms MediaWiki i els CSS/JavaScript d'usuari",
        "grant-editmywatchlist": "Modifica la llista de seguiment",
        "grant-editpage": "Modifica les pàgines existents",
        "grant-editprotected": "Modifica pàgines protegides",
        "grant-highvolume": "Edició d'alt volum",
        "grant-oversight": "Amaga usuaris i suprimeix revisions",
        "grant-uploadfile": "Carrega fitxers nous",
+       "grant-basic": "Permisos bàsics",
+       "grant-viewdeleted": "Mostra fitxers eliminats i pàgines",
+       "grant-viewmywatchlist": "Modifica la llista de seguiment",
        "newuserlogpage": "Registre de creació d'usuaris",
        "newuserlogpagetext": "Aquest és un registre de creació de nous usuaris.",
        "rightslog": "Registre dels permisos d'usuari",
        "action-createpage": "crear pàgines",
        "action-createtalk": "crear pàgines de discussió",
        "action-createaccount": "crear aquest compte d'usuari",
+       "action-autocreateaccount": "crea automàtica aquest compte d'usuari extern",
        "action-history": "mostra l'historial de la pàgina",
        "action-minoredit": "marcar aquesta modificació com a menor",
        "action-move": "moure aquesta pàgina",
        "apisandbox": "Pàgina de proves de l'API",
        "apisandbox-api-disabled": "L'API està desactivada en aquest lloc.",
        "apisandbox-intro": "Utilitzeu aquesta pàgina per experimentar amb l'<nowiki />'''API de web service de MediaWiki'''.\nVisiteu [//www.mediawiki.org/wiki/API:Main_page la documentació de l'API] per a més informació sobre l'ús de l'API. Exemple: [//www.mediawiki.org/wiki/API#A_simple_example recuperar el contingut d'una Pàgina Principal]. Seleccioneu una acció per veure més exemples.\n\nTingueu en compte que, encara que això és una pàgina de proves, les accions que feu en aquesta pàgina poden modificar la wiki.",
+       "apisandbox-unfullscreen": "Mostra la pàgina",
        "apisandbox-submit": "Fes sol·licitud",
        "apisandbox-reset": "Neteja",
-       "apisandbox-examples": "Exemple",
+       "apisandbox-retry": "Torna a provar",
+       "apisandbox-loading": "S'està carregant la informació del mòdul d'API «$1»...",
+       "apisandbox-helpurls": "Enllaços d'ajuda",
+       "apisandbox-examples": "Exemples",
+       "apisandbox-dynamic-parameters": "Paràmetres adicionals",
+       "apisandbox-dynamic-parameters-add-label": "Afegeix un paràmetre:",
+       "apisandbox-dynamic-parameters-add-placeholder": "Nom del paràmetre",
        "apisandbox-results": "Resultats",
        "apisandbox-request-url-label": "Sol·licita URL:",
        "apisandbox-request-time": "Temps de sol·licitud: $1",
        "listgrouprights-namespaceprotection-namespace": "Espai de noms",
        "listgrouprights-namespaceprotection-restrictedto": "Permisos que permeten modificar a l'usuari",
        "listgrants": "Autoritzacions",
-       "listgrants-grant": "Autoritza",
+       "listgrants-grant": "Concedeix",
        "listgrants-rights": "Permisos",
        "trackingcategories": "Categories de seguiment",
        "trackingcategories-summary": "Aquesta pàgina llista les categories de seguiment que s'omplen automàticament pel programari MediaWiki. Es poden canviar els seus noms modificant els missatges del sistema corresponents en l'espai de noms {{ns:8}}.",
        "watchlisttools-edit": "Visualitza i edita la llista de seguiment",
        "watchlisttools-raw": "Edita la llista de seguiment sense format",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussió]])",
+       "timezone-local": "Local",
        "duplicate-defaultsort": "Atenció: La clau d'ordenació per defecte \"$2\" invalida l'anterior clau \"$1\".",
        "duplicate-displaytitle": "<strong>Avís:</strong> El títol a mostrar «$2» sobreescriu l'anterior títol a mostrar «$1».",
        "invalid-indicator-name": "<strong>Error:</strong> No pot estar buit l'atribut <code>name</code> dels indicadors d'estat de la pàgina.",
        "tags-edit-revision-selected": "{{PLURAL:$1|Revisió seleccionada|Revisions seleccionades}} de [[:$2]]:",
        "tags-edit-logentry-legend": "Afegeix o suprimeix etiquetes {{PLURAL:$1|d'aquesta entrada del registre|de totes les entrades del registre}}",
        "tags-edit-existing-tags": "Etiquetes existents:",
-       "tags-edit-existing-tags-none": "''Cap''",
+       "tags-edit-existing-tags-none": "<em>Cap</em>",
        "tags-edit-new-tags": "Etiquetes noves:",
        "tags-edit-add": "Afegeix aquestes etiquetes:",
        "tags-edit-remove": "Treu aquestes etiquetes:",
        "tags-edit-reason": "Motiu:",
        "tags-edit-revision-submit": "Aplica els canvis a {{PLURAL:$1|a aquesta revisió|$1 revisions}}",
        "tags-edit-logentry-submit": "Aplica els canvis a {{PLURAL:$1|aquesta entrada de registre|$1 entrades de registre}}",
-       "tags-edit-success": "S’han aplicat els canvis correctament.",
+       "tags-edit-success": "S’han aplicat els canvis.",
        "tags-edit-failure": "No s’han pogut aplicar els canvis:\n$1",
        "tags-edit-nooldid-title": "Revisió de l'objectiu no vàlida",
        "tags-edit-none-selected": "Seleccioneu com a mínim una etiqueta per afegir o suprimir.",
        "expand_templates_preview": "Previsualitza",
        "expand_templates_preview_fail_html": "<em>Atès que {{SITENAME}} té HTML cru i hi ha hagut una pèrdua de dades de la sessió, s'ha amagat la vista prèvia com a mesura de precaució contra atacs en JavaScript.</em>\n\n<strong>Si això és un intent de previsualització legítim, torneu-ho a provar.</strong>\nSi encara no funciona, intenteu [[Special:UserLogout|finalitzar la sessió]] i iniciar-la de nou.",
        "expand_templates_preview_fail_html_anon": "<em>Atès que {{SITENAME}} té l'HTML cru habilitat i no heu iniciat una sessió, s'ha amagat la previsualització com a prevenció d'atacs en JavaScript.</em>\n\n<strong>Si això és un intent de previsualització legítim, [[Special:UserLogin|inicieu una sessió]] i torneu-ho a provar.</strong>",
+       "expand_templates_input_missing": "Cal que proporcioneu al menys algun text d'entrada.",
        "pagelanguage": "Canvia l'idioma de la pàgina",
        "pagelang-name": "Pàgina",
        "pagelang-language": "Idioma",
        "pagelang-submit": "Envia",
        "right-pagelang": "Canvia l'idioma de la pàgina",
        "action-pagelang": "canvia l'idioma de la pàgina",
-       "log-name-pagelang": "Canvia el registre de llengua",
+       "log-name-pagelang": "Registre de canvi de llengua",
        "log-description-pagelang": "Aquest és un registre dels canvis en les llengües de les pàgines.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|ha canviat}} la llengua de la pàgina per a $3 de $4 a $5.",
        "default-skin-not-found": "Òndia! L'aparença per defecte per al wiki, definit en <code dir=\"ltr\">$wgDefaultSkin</code> com <code>$1</code>, no està disponible.\n\nLa vostra instal·lació sembla que inclou les següents aparences. Consulteu [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Configuració d'aparences] per a la informació de com habilitar-les i triar-ne el valor per defecte.\n\n$2\n\n; Si heu acabat d'instal·lar MediaWiki:\n: Probablement l'instal·làveu des de git, o directament des del codi font utilitzant algun altre mètode. Això és l'esperat. Intenteu instal·lar algunes aparences des del [https://www.mediawiki.org/wiki/Category:All_skins directori d'aparences de mediawiki.org], per:\n: * Descarregar l'[https://www.mediawiki.org/wiki/Download instal·lador tarball], que ve amb diverses aparences i ampliacions. Podeu copiar i enganxar el directori <code>skins/</code> des d'aquí.\n: * Clonar un dels repositoris <code>mediawiki/skins/*</code> a través de git en el directori <code dir=\"ltr\">skins/</code> de la vostra instal·lació de MediaWiki.\n: Fent això no s'hauria d'interferir amb el vostre dipòsit git si sou un desenvolupador de MediaWiki.\n\n; Si només heu actualitzat MediaWiki:\n: Per MediaWiki 1.24 i posteriors ja no permet aparences instal·lades automàticament (consulteu [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Aparences autodiscovery]). Podeu enganxar les línies següents en <code>LocalSettings.php</code> per permetre totes les aparences instal·lades actualment:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Si només heu modificat <code>LocalSettings.php</code>:\n: Reviseu els noms de l'aparença per errors tipogràfics.",
index ab0092a..18a4a36 100644 (file)
        "recentchangeslinked-page": "Název stránky:",
        "recentchangeslinked-to": "Zobrazit změny na stránkách odkazujících na zadanou stránku",
        "recentchanges-page-added-to-category": "Stránka [[:$1]] zařazena do kategorie",
-       "recentchanges-page-added-to-category-bundled": "Stránka [[:$1]] a {{PLURAL:$2|jedna další zařazeny|$2 další zařazeny|$2 dalších zařazeno}} do kategorie",
+       "recentchanges-page-added-to-category-bundled": "Stránka [[:$1]] a [[Special:WhatLinksHere/$1|{{PLURAL:$2|jedna další zařazeny|$2 další zařazeny|$2 dalších zařazeno}}]] do kategorie",
        "recentchanges-page-removed-from-category": "Stránka [[:$1]] vyřazena z kategorie",
-       "recentchanges-page-removed-from-category-bundled": "Stránka [[:$1]] a {{PLURAL:$2|jedna další vyřazeny|$2 další vyřazeny|$2 dalších vyřazeno}} z kategorie",
+       "recentchanges-page-removed-from-category-bundled": "Stránka [[:$1]] a [[Special:WhatLinksHere/$1|{{PLURAL:$2|jedna další vyřazeny|$2 další vyřazeny|$2 dalších vyřazeno}}]] z kategorie",
        "autochange-username": "Automatická změna MediaWiki",
        "upload": "Načíst soubor",
        "uploadbtn": "Načíst soubor",
index 5a33125..e2b859f 100644 (file)
        "editfont-style": "Schriftart für den Text im Bearbeitungsfenster:",
        "editfont-default": "Browserstandard",
        "editfont-monospace": "Schrift mit fester Zeichenbreite",
-       "editfont-sansserif": "Serifenlose Groteskschrift",
+       "editfont-sansserif": "Schrift ohne Serifen",
        "editfont-serif": "Schrift mit Serifen",
        "sunday": "Sonntag",
        "monday": "Montag",
        "resetpass-validity-soft": "Dein Passwort ist nicht gültig: $1\n\nBitte wähle jetzt ein neues Passwort oder klicke auf „{{int:resetpass-submit-cancel}}“, um es später zurückzusetzen.",
        "passwordreset": "Passwort zurücksetzen",
        "passwordreset-text-one": "Fülle dieses Formular aus, um ein temporäres Passwort per E-Mail zu erhalten.",
-       "passwordreset-text-many": "{{PLURAL:$1|Füll eines der Felder aus, um ein temporäres Passwort per E-Mail zugesandt zu bekommen.}}",
+       "passwordreset-text-many": "{{PLURAL:$1|Fülle eines der Felder aus, um ein temporäres Passwort per E-Mail zugesandt zu bekommen.}}",
        "passwordreset-disabled": "Das Zurücksetzen von Passwörtern wurde in diesem Wiki deaktiviert.",
        "passwordreset-emaildisabled": "Die E-Mail-Funktionen wurden auf diesem Wiki deaktiviert.",
        "passwordreset-username": "Benutzername:",
        "recentchangeslinked-page": "Seite:",
        "recentchangeslinked-to": "Zeige nur Änderungen an Seiten, die auf diese Seite verlinken",
        "recentchanges-page-added-to-category": "[[:$1]] zur Kategorie hinzugefügt",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] und {{PLURAL:$2|eine weitere Seite|$2 weitere Seiten}} zur Kategorie hinzugefügt",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] und [[Special:WhatLinksHere/$1|{{PLURAL:$2|eine weitere Seite|$2 weitere Seiten}}]] zur Kategorie hinzugefügt",
        "recentchanges-page-removed-from-category": "[[:$1]] von der Kategorie entfernt",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] und {{PLURAL:$2|eine weitere Seite|$2 weitere Seiten}} von der Kategorie entfernt",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] und [[Special:WhatLinksHere/$1|{{PLURAL:$2|eine weitere Seite|$2 weitere Seiten}}]] von der Kategorie entfernt",
        "autochange-username": "Automatische MediaWiki-Änderung",
        "upload": "Datei hochladen",
        "uploadbtn": "Datei hochladen",
index 57a3405..e79b8ce 100644 (file)
        "october-gen": "oktobro",
        "november-gen": "novembro",
        "december-gen": "decembro",
-       "jan": "Jan",
-       "feb": "Feb",
-       "mar": "Mar",
-       "apr": "Apr",
-       "may": "Maj",
-       "jun": "Jun",
-       "jul": "Jul",
-       "aug": "Aŭg",
-       "sep": "Sep",
-       "oct": "Okt",
-       "nov": "Nov",
-       "dec": "Dec",
+       "jan": "jan",
+       "feb": "feb",
+       "mar": "mar",
+       "apr": "apr",
+       "may": "maj",
+       "jun": "jun",
+       "jul": "jul",
+       "aug": "aŭg",
+       "sep": "sep",
+       "oct": "okt",
+       "nov": "nov",
+       "dec": "dec",
        "january-date": "$1-a de januaro",
        "february-date": "$1-a de februaro",
        "march-date": "$1-a de marto",
        "moredotdotdot": "Pli...",
        "morenotlisted": "Ĉi tiu listo ne estas kompleta.",
        "mypage": "Paĝo",
+       "anonuserpage": "Nekonata uzanto",
        "mytalk": "Diskuto",
        "anontalk": "Diskuto",
        "navigation": "Navigado",
        "search": "Serĉi",
        "searchbutton": "Serĉi",
        "go": "Ek!",
-       "searcharticle": "Ek!",
+       "searcharticle": "Ek",
        "history": "Historio de versioj",
        "history_short": "Historio",
        "updatedmarker": "ĝisdatigita de post mia lasta vizito",
        "unprotectthispage": "Ŝanĝi protektadon de ĉi tiu paĝo",
        "newpage": "Nova paĝo",
        "talkpage": "Diskuti la paĝon",
-       "talkpagelinktext": "Diskuto",
+       "talkpagelinktext": "diskuto",
        "specialpage": "Speciala Paĝo",
        "personaltools": "Personaj iloj",
        "articlepage": "Rigardi artikolon",
        "copyrightpage": "{{ns:project}}:Aŭtorrajto",
        "currentevents": "Aktualaĵoj",
        "currentevents-url": "Project:Aktualaĵoj",
-       "disclaimers": "Malgarantio",
+       "disclaimers": "Malgarantioj",
        "disclaimerpage": "Project:Malgarantia paĝo",
        "edithelp": "Helpo pri redaktado",
        "helppage-top-gethelp": "Helpo",
        "userlogin-joinproject": "Aliĝu al {{SITENAME}}",
        "nologin": "Ĉu vi ne havas konton? $1.",
        "nologinlink": "Krei konton",
-       "createaccount": "Krei novan konton",
+       "createaccount": "Krei konton",
        "gotaccount": "Ĉu vi jam havas konton? '''$1'''.",
        "gotaccountlink": "Ensaluti",
        "userlogin-resetlink": "Ĉu vi forgesis ensalutajn detalojn?",
        "nocookieslogin": "{{SITENAME}} uzas kuketojn por akcepti uzantojn. Kuketoj esta malaktivigitaj ĉe vi. Bonvolu aktivigi ilin kaj provu denove.",
        "nocookiesfornew": "La uzantokonto ne estis kreita, ĉar ne konfirmeblas ĝia fonto. Certiginte ke kuketoj estas ebligitaj, reŝargu tiun ĉi paĝon kaj reprovu.",
        "noname": "Vi ne tajpis validan salutnomon.",
-       "loginsuccesstitle": "Ensalutado sukcesis",
+       "loginsuccesstitle": "Ensalutis",
        "loginsuccess": "Vi ensalutis ĉe {{SITENAME}} kiel uzanto \"$1\".",
        "nosuchuser": "Neniu uzanto havas nomon \"$1\".\nNomoj por uzantoj estas usklecodistingaj.\nKontrolu vian literumadon, aŭ [[Special:UserLogin/signup|kreu novan konton]].",
        "nosuchusershort": "Ne ekzistas uzanto kun la nomo \"$1\". Bonvolu kontroli vian ortografion.",
        "createacct-another-realname-tip": "La vera nomo estas nenecesa.\nSe vi decidas indiki ĝin, ĝi estos uzata por montri atribuadon de viaj kontribuoj.",
        "pt-login": "Ensaluti",
        "pt-login-button": "Ensaluti",
-       "pt-createaccount": "Krei novan konton",
+       "pt-createaccount": "Krei konton",
        "pt-userlogout": "Elsaluti",
        "php-mail-error-unknown": "Nekonata eraro en la funkcio mail() de PHP",
        "user-mail-no-addy": "Provis sendi retpoŝton sen retpoŝtadreso.",
        "mergehistory-empty": "Neniuj versioj estas kunigeblaj.",
        "mergehistory-done": "$3 {{PLURAL:$3|versio|versioj}} de $1 sukcese estis {{PLURAL:$3|kunigita|kunigitaj}} en [[:$2]].",
        "mergehistory-fail": "Ne povis fari la historian kunigon; bonvolu konstati la paĝajn kaj tempajn parametrojn.",
+       "mergehistory-fail-invalid-source": "Fonta paĝo estas malvalida.",
        "mergehistory-fail-toobig": "Ne eblas kunigi historiojn ĉar pli ol sojlo de $1 {{PLURAL:$1|revizio|revizioj}} estus {{PLURAL:$1|movita|movitaj}}.",
        "mergehistory-no-source": "Fontpaĝo $1 ne ekzistas.",
        "mergehistory-no-destination": "Celpaĝo $1 ne ekzistas.",
        "right-managechangetags": "Kreado kaj forigado de [[Special:Tags|etikedoj]] de datumbazo",
        "right-applychangetags": "Aldoni [[Special:Tags|etikedojn]] al propraj ŝanĝoj",
        "right-changetags": "Aldoni kaj forigi arbitrajn [[Special:Tags|etikedojn]] ĉe unuopaj revizioj kaj protokoleroj",
+       "grant-group-email": "Sendi retpoŝton",
+       "grant-createaccount": "Krei kontojn",
        "newuserlogpage": "Protokolo de uzanto-kreado",
        "newuserlogpagetext": "Jen protokolo de lastaj kreadoj de uzantoj.",
        "rightslog": "Protokolo de uzanto-rajtoj",
        "filehist-deleteone": "forigi",
        "filehist-revert": "restarigi",
        "filehist-current": "nuna",
-       "filehist-datetime": "Dato/Tempo",
+       "filehist-datetime": "Dato/tempo",
        "filehist-thumb": "Bildeto",
        "filehist-thumbtext": "Bildeto por versio ekde $1",
        "filehist-nothumb": "Neniu bildeto",
        "apisandbox-intro": "Uzu tiun ĉi paĝon por eksperimenti kun '''MediaWiki API'''.\nVidu [//www.mediawiki.org/wiki/API:Main_page la API-dokumentadon] por pli da detaloj pri la uzo de API. Ekz-e: [//www.mediawiki.org/wiki/API#A_simple_example atingi la enhavon de la Ĉefpaĝo]. Elektu agon por vidi pliajn ekzemplojn.\n\nNotu ke, kvankam ĉi tiu estas provejo, agoj kiun vi faros en ĉi tiu paĝo povas modifi la vikion.",
        "apisandbox-submit": "Fari mendon",
        "apisandbox-reset": "Nuligi",
-       "apisandbox-examples": "Ekzemplo",
-       "apisandbox-results": "Rezulto",
+       "apisandbox-examples": "Ekzemploj",
+       "apisandbox-dynamic-parameters": "Aldonaj parametroj",
+       "apisandbox-dynamic-parameters-add-label": "Aldoni parametron:",
+       "apisandbox-dynamic-parameters-add-placeholder": "Nomo de parametro",
+       "apisandbox-dynamic-error-exists": "Parametro nomata \"$1\" jam ekzistas.",
+       "apisandbox-results": "Rezultoj",
        "apisandbox-request-url-label": "Mendi URL-on.",
        "apisandbox-request-time": "Tempo de peto: $1",
-       "booksources": "Libroservoj",
+       "booksources": "Librofontoj",
        "booksources-search-legend": "Serĉi librofontojn",
        "booksources-search": "Serĉi",
        "booksources-text": "Jen ligilaro al aliaj TTT-ejoj, kiuj vendas librojn,\nkaj/aŭ informumos pri la libro ligita.\nLa {{SITENAME}} ne estas komerce ligita al tiuj vendejoj, kaj la listo ne estu\nkomprenata kiel rekomendo aŭ reklamo.",
        "log-title-wildcard": "Serĉi titolojn komencantajn kun ĉi tiu teksto",
        "showhideselectedlogentries": "Montri/kaŝi elektitajn protokolerojn",
        "log-edit-tags": "Redakti etikedojn ĉe elektitaj protokoleroj",
+       "checkbox-select": "Elektu: $1",
+       "checkbox-all": "Ĉiuj",
+       "checkbox-none": "Neniu",
+       "checkbox-invert": "Inversigi",
        "allpages": "Ĉiuj paĝoj",
        "nextpage": "Sekvanta paĝo ($1)",
        "prevpage": "Antaŭa paĝo ($1)",
        "sessionfailure": "Ŝajnas, ke estas problemo kun via ensalutado;\nĈi ago estis nuligita por malhelpi fiensalutadon.\nBonvolu alklaki la reirbutonon kaj reŝargi la paĝon el kiu vi venas, kaj provu denove.",
        "changecontentmodel-title-label": "Titolo de paĝo",
        "changecontentmodel-reason-label": "Kialo:",
+       "changecontentmodel-submit": "Ŝanĝi",
        "logentry-contentmodel-change-revertlink": "restarigi",
        "logentry-contentmodel-change-revert": "restarigi",
        "protectlogpage": "Protokolo pri protektoj",
        "tooltip-t-contributions": "Listo de kontribuoj de {{GENDER:$1|ĉi tiu uzanto}}",
        "tooltip-t-emailuser": "Sendi retmesaĝon al tiu ĉi uzanto",
        "tooltip-t-info": "Pli da informo pri ĉi tiu paĝo",
-       "tooltip-t-upload": "Alŝuti bildojn aŭ dosierojn",
+       "tooltip-t-upload": "Alŝuti dosierojn",
        "tooltip-t-specialpages": "Listo de ĉiuj specialaj paĝoj",
        "tooltip-t-print": "Printebla versio de ĉi tiu paĝo",
        "tooltip-t-permalink": "Konstanta ligilo al ĉi versio de la paĝo",
index ba5efa0..39d7ef6 100644 (file)
        "previewnote": "<strong>Recuerda que esto no es más que una previsualización.</strong>\nAún no se han guardado tus cambios.",
        "continue-editing": "Ir al área de edición",
        "previewconflict": "Esta previsualización muestra cómo aparecerá el texto en el área de edición superior una vez guardados los cambios.",
-       "session_fail_preview": "<strong>Lo sentimos, no hemos podido procesar tu edición debido a una pérdida de los datos de sesión.</strong>\nPor favor, inténtalo de nuevo.\nSi el problema persiste, prueba a [[Special:UserLogout|cerrar sesión]] y volver a acceder.",
+       "session_fail_preview": "Lo sentimos, no hemos podido procesar tu edición debido a una pérdida de los datos de sesión.\n\nPuede que se haya cerrado tu sesión. <strong> Verifica que hayas accedido e inténtalo de nuevo</strong>.\nSi el problema persiste, prueba a [[Special:UserLogout|cerrar sesión]] y volver a acceder. Y verifica que tu navegador permita las cookies de este sitio.",
        "session_fail_preview_html": "Lo sentimos, no hemos podido procesar tu edición debido a una pérdida de datos de sesión.\n\n<em>La previsualización está oculta como prevención frente a ataques JavaScript, puesto que este wiki tiene habilitado el HTML en bruto.</em>\n\n<strong>Si se trata de un intento legítimo de modificación, inténtalo de nuevo.</strong>\nSi aún así no funcionase, prueba a [[Special:UserLogout|cerrar sesión]] y volver a acceder, y verifica que tu navegador acepte cookies de este sitio.",
        "token_suffix_mismatch": "<strong>Tu edición ha sido rechazada porque tu cliente ha mezclado los signos de puntuación en la clave de edición.</strong>\nSe rechazó la edición para evitar la corrupción del texto de la página.\nEsto sucede en ocasiones si se usa un servicio de proxy anónimo defectuoso.",
        "edit_form_incomplete": "<strong>Una parte del formulario de edición no ha llegado al servidor. Comprueba que tus cambios están intactos e inténtalo de nuevo.</strong>",
        "right-managechangetags": "Crear y eliminar [[Special:Tags|etiquetas]] en la base de datos",
        "right-applychangetags": "Aplicar [[Special:Tags|etiquetas]] junto con los cambios propios",
        "right-changetags": "Agregar y quitar [[Special:Tags|etiquetas]] arbitrarias a revisiones individuales y entradas del registro",
-       "grant-generic": "Paquete de derechos \"$1\"",
+       "grant-generic": "Paquete de permisos \"$1\"",
        "grant-group-page-interaction": "Interactuar con páginas",
        "grant-group-file-interaction": "Interactuar con multimedia",
        "grant-group-watchlist-interaction": "Interactuar con tu lista de seguimiento",
        "apisandbox-submit": "Realizar solicitud",
        "apisandbox-reset": "Limpiar",
        "apisandbox-retry": "Reintentar",
+       "apisandbox-loading": "Cargando la información para el módulo API \"$1\"...",
+       "apisandbox-load-error": "Ocurrió un error al cargar la información para el módulo API \"$1\": $2",
        "apisandbox-no-parameters": "Este módulo API no tiene parámetros.",
        "apisandbox-helpurls": "Enlaces de ayuda",
        "apisandbox-examples": "Ejemplos",
        "apisandbox-dynamic-parameters": "Parámetros adicionales",
        "apisandbox-dynamic-parameters-add-label": "Añadir parámetro:",
        "apisandbox-dynamic-parameters-add-placeholder": "Nombre del parámetro",
+       "apisandbox-dynamic-error-exists": "Ya existe un parámetro llamado \"$1\".",
        "apisandbox-deprecated-parameters": "Parámetros desaconsejados",
        "apisandbox-submit-invalid-fields-title": "Algunos campos no son válidos",
        "apisandbox-submit-invalid-fields-message": "Por favor, corrige los campos señalados e inténtalo de nuevo.",
index cd0cfd0..6d442c2 100644 (file)
        "recentchangeslinked-page": "Nom de la page :",
        "recentchangeslinked-to": "Afficher les modifications des pages qui comportent un lien vers la page donnée plutôt que l'inverse",
        "recentchanges-page-added-to-category": "[[:$1]] ajouté à la catégorie",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] et {{PLURAL:$2|une page ajoutée|$2 pages ajoutées}} à la catégorie",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] et [[Special:WhatLinksHere/$1|{{PLURAL:$2|une page ajoutée|$2 pages ajoutées}}]] à la catégorie",
        "recentchanges-page-removed-from-category": "[[:$1]] supprimé de la catégorie",
        "recentchanges-page-removed-from-category-bundled": "[[:$1]] et {{PLURAL:$2|une page retirée|$2 pages retirées}} de la catégorie",
        "autochange-username": "Modification automatique de MédiaWiki",
index 4ec0544..e9a86b8 100644 (file)
        "pageinfo-article-id": "Identifient de la pâge",
        "pageinfo-language": "Lengoua du contegnu de la pâge",
        "pageinfo-content-model": "Modèlo de contegnu de la pâge",
-       "pageinfo-robot-policy": "Statut de motor de rechèrche",
-       "pageinfo-robot-index": "Endèxâblo",
-       "pageinfo-robot-noindex": "Pas endèxâblo",
-       "pageinfo-watchers": "Nombro de contributors qu’ont la pâge dedens lor lista de survelyence",
-       "pageinfo-redirects-name": "Redirèccions de vers ceta pâge",
-       "pageinfo-subpages-name": "Sot-pâges de ceta pâge",
+       "pageinfo-robot-policy": "Endèxacion per robots",
+       "pageinfo-robot-index": "Ôtorisâye",
+       "pageinfo-robot-noindex": "Dèfendua",
+       "pageinfo-watchers": "Nombro d’obsèrvators de la pâge",
+       "pageinfo-visiting-watchers": "Nombro d’obsèrvators de la pâge qu’ant vesitâ los dèrriérs changements",
+       "pageinfo-few-watchers": "Muens de $1 obsèrvator{{PLURAL:$1||s}}",
+       "pageinfo-few-visiting-watchers": "Y pôt ou ben pas avêr un obsèrvator que vesite los dèrriérs changements",
+       "pageinfo-redirects-name": "Nombro de redirèccions de vers cela pâge",
+       "pageinfo-subpages-name": "Nombro de sot-pâges de cela pâge",
        "pageinfo-subpages-value": "$1 ($2 redirèccion{{PLURAL:$2||s}} ; $3 nan-redirèccion{{PLURAL:$3||s}})",
        "pageinfo-firstuser": "Crèator de la pâge",
        "pageinfo-firsttime": "Dâta de crèacion de la pâge",
        "pageinfo-lasttime": "Dâta du dèrriér changement",
        "pageinfo-edits": "Soma totâla de changements",
        "pageinfo-authors": "Soma totâla d’ôtors difèrents",
-       "pageinfo-recent-edits": "Nombro de novéls changements (dedens los $1 passâs)",
+       "pageinfo-recent-edits": "Nombro de novéls changements (dens los $1 passâs)",
        "pageinfo-recent-authors": "Nombro de novéls ôtors difèrents",
        "pageinfo-magic-words": "{{PLURAL:$1|Mot magico|Mots magicos}} ($1)",
-       "pageinfo-hidden-categories": "{{PLURAL:$1|Catègorie cachiêye|Catègories cachiêyes}} ($1)",
-       "pageinfo-templates": "{{PLURAL:$1|Modèlo encllu|Modèlos encllus}} ($1)",
-       "pageinfo-toolboxlink": "Enformacions dessus la pâge",
+       "pageinfo-hidden-categories": "{{PLURAL:$1|Catègoria cachiêe|Catègories cachiêes}} ($1)",
+       "pageinfo-templates": "{{PLURAL:$1|Modèlo transcllu|Modèlos transcllus}} ($1)",
+       "pageinfo-transclusions": "Pâge{{PLURAL:$1||s}} yô qu’el est transcllua ($1)",
+       "pageinfo-toolboxlink": "Enformacions sur la pâge",
        "pageinfo-redirectsto": "Redirige vers",
        "pageinfo-redirectsto-info": "enfô",
        "pageinfo-contentpage": "Comptâ coment pâge de contegnu",
        "pageinfo-contentpage-yes": "Ouè",
+       "pageinfo-protect-cascading": "Les protèccions sont en cascâda dês ique",
        "pageinfo-protect-cascading-yes": "Ouè",
-       "markaspatrolleddiff": "Marcar coment survelyê",
-       "markaspatrolledtext": "Marcar ceta pâge coment survelyê",
-       "markedaspatrolled": "Marcâye coment survelyêye",
-       "markedaspatrolledtext": "La vèrsion chouèsia de [[:$1]] est étâye marcâye coment survelyêye.",
-       "rcpatroldisabled": "La fonccion de survelyence des dèrriérs changements est pas activâ.",
-       "rcpatroldisabledtext": "La fonccionalitât de survelyence des dèrriérs changements est pas activâ.",
-       "markedaspatrollederror": "Pôt pas étre marcâye coment survelyêye",
-       "markedaspatrollederrortext": "Vos dête chouèsir una vèrsion por la povêr marcar coment survelyê.",
-       "markedaspatrollederror-noautopatrol": "Vos avéd pas lo drêt de marcar voutros prôpros changements coment survelyês.",
-       "patrol-log-page": "Jornal de les vèrsions survelyês",
-       "patrol-log-header": "Vê-que un jornal de les vèrsions survelyês.",
-       "log-show-hide-patrol": "$1 lo jornal de les vèrsions survelyês",
+       "pageinfo-protect-cascading-from": "Les protèccions sont en cascâda dês",
+       "pageinfo-category-info": "Enformacions sur la catègoria",
+       "pageinfo-category-total": "Soma totâla de membros",
+       "pageinfo-category-pages": "Nombro de pâges",
+       "pageinfo-category-subcats": "Nombro de sot-catègories",
+       "pageinfo-category-files": "Nombro de fichiérs",
+       "markaspatrolleddiff": "Marcar coment gouardâ",
+       "markaspatrolledtext": "Marcar cela pâge coment gouardâye",
+       "markaspatrolledtext-file": "Marcar cela vèrsion de fichiér coment gouardâye",
+       "markedaspatrolled": "Marcâ coment gouardâ",
+       "markedaspatrolledtext": "La vèrsion chouèsia de [[:$1]] est étâye marcâye coment gouardâye.",
+       "rcpatroldisabled": "La gouârda des dèrriérs changements est dèsactivâye",
+       "rcpatroldisabledtext": "Ora la fonccionalitât de gouârda des dèrriérs changements est dèsactivâye.",
+       "markedaspatrollederror": "Pôt pas étre marcâ coment gouardâ",
+       "markedaspatrollederrortext": "Vos dête spècifiar na vèrsion por la povêr marcar coment gouardâye.",
+       "markedaspatrollederror-noautopatrol": "Vos éd pas lo drêt de marcar los voutros changements coment gouardâs.",
+       "markedaspatrollednotify": "Cél changement de $1 est étâ marcâ coment gouardâ.",
+       "markedaspatrollederrornotify": "Falyita du marcâjo du changement coment gouardâ.",
+       "patrol-log-page": "Jornâl de gouârda",
+       "patrol-log-header": "Vê-que un jornâl de les vèrsions gouardâyes.",
+       "log-show-hide-patrol": "$1 lo jornâl de gouârda",
        "deletedrevision": "La vielye vèrsion $1 at étâ suprimâ.",
        "filedeleteerror-short": "Èrror pendent la suprèssion du fichiér : $1",
        "filedeleteerror-long": "Des èrrors ont étâ rencontrâs pendent la suprèssion du fichiér :\n\n$1",
index 49605f4..f02eb95 100644 (file)
        "recentchangeslinked-page": "שם הדף:",
        "recentchangeslinked-to": "הצגת השינויים בדפים המקשרים לדף הנתון במקום זאת",
        "recentchanges-page-added-to-category": "הדף [[:$1]] נוסף לקטגוריה",
-       "recentchanges-page-added-to-category-bundled": "הדף [[:$1]] {{PLURAL:$2|ועוד דף אחד|ועוד $2 דפים}} נוספו לקטגוריה",
+       "recentchanges-page-added-to-category-bundled": "הדף [[:$1]] [[Special:WhatLinksHere/$1|{{PLURAL:$2|ועוד דף אחד|ועוד $2 דפים}}]] נוספו לקטגוריה",
        "recentchanges-page-removed-from-category": "הדף [[:$1]] הוסר מקטגוריה",
-       "recentchanges-page-removed-from-category-bundled": "הדף [[:$1]] {{PLURAL:$2|ועוד דף אחד|ועוד $2 דפים}} הוסרו מקטגוריה",
+       "recentchanges-page-removed-from-category-bundled": "הדף [[:$1]] [[Special:WhatLinksHere/$1|{{PLURAL:$2|ועוד דף אחד|ועוד $2 דפים}}]] הוסרו מקטגוריה",
        "autochange-username": "שינוי אוטומטי של מדיה־ויקי",
        "upload": "העלאת קובץ לשרת",
        "uploadbtn": "העלאה",
index 42816d3..7e1d734 100644 (file)
        "databaseerror-query": "अनुरोध: $1",
        "databaseerror-function": "फ़ंक्शन: $1",
        "databaseerror-error": "त्रुटि: $1",
-       "transaction-duration-limit-exceeded": "à¤\85तà¥\8dयधिà¤\95 à¤¬à¥\8bà¤\9d à¤\95à¥\8b à¤\95म à¤\95रनà¥\87 à¤²à¤¿à¤\8f à¤¯à¤¹ à¤\95ारà¥\8dय à¤°à¥\8bà¤\95 à¤¦à¤¿à¤¯à¤¾ à¤\97या à¤¹à¥\88, à¤\95à¥\8dयà¥\8bà¤\82à¤\95ि à¤¯à¤¹ à¤²à¤¿à¤\96नà¥\87 à¤\95à¥\80 à¤\85वधि ($1) à¤¸à¥\87 à¤¬à¥\9d कर $2 {{PLURAL:$2|सेकंड|सेकंड}} को पार कर गया।\nIf यदि आप  बहुत सारे वस्तु को एक साथ बदल रहे हैं, तो कृपया छोटे होते रूप में बदलें।",
+       "transaction-duration-limit-exceeded": "à¤\85तà¥\8dयधिà¤\95 à¤¬à¥\8bà¤\9d à¤\95à¥\8b à¤\95म à¤\95रनà¥\87 à¤²à¤¿à¤\8f à¤¯à¤¹ à¤\95ारà¥\8dय à¤°à¥\8bà¤\95 à¤¦à¤¿à¤¯à¤¾ à¤\97या à¤¹à¥\88, à¤\95à¥\8dयà¥\8bà¤\82à¤\95ि à¤¯à¤¹ à¤²à¤¿à¤\96नà¥\87 à¤\95à¥\80 à¤\85वधि ($1) à¤¸à¥\87 à¤¬à¤¢à¤¼ कर $2 {{PLURAL:$2|सेकंड|सेकंड}} को पार कर गया।\nIf यदि आप  बहुत सारे वस्तु को एक साथ बदल रहे हैं, तो कृपया छोटे होते रूप में बदलें।",
        "laggedslavemode": "'''चेतावनी:''' यह पृष्ठ अद्यतनीत जानकारी-युक्त ना होने की आशंका है।",
        "readonly": "डाटाबेस लॉक किया हुआ है",
        "enterlockreason": "लॉक करने का कारण दीजिए, साथ ही लॉक खुलने के समय का लगभग आकलन दीजिये।",
        "right-applychangetags": "प्रयोग में लाइये [[Special:Tags|tags]] किसी के बदलाव के साथ।",
        "right-changetags": "जमा करो और हटाओ स्वतंत्र [[Special:Tags|टैग]] व्यक्तिगत अवतरणों और लॉग प्रविक्तियों पर",
        "grant-generic": "\"$1\" अधिकार संग्रह",
-       "grant-group-page-interaction": "पà¥\83षà¥\8dठà¥\8bà¤\82 à¤¸à¥\87 à¤\9cà¥\81à¥\9cें",
-       "grant-group-file-interaction": "मà¥\80डिया à¤¸à¥\87 à¤\9cà¥\81à¥\9cें",
-       "grant-group-watchlist-interaction": "धà¥\8dयानसà¥\82à¤\9aà¥\80 à¤¸à¥\87 à¤\9cà¥\81à¥\9cें",
+       "grant-group-page-interaction": "पà¥\83षà¥\8dठà¥\8bà¤\82 à¤¸à¥\87 à¤\9cà¥\81ड़ें",
+       "grant-group-file-interaction": "मà¥\80डिया à¤¸à¥\87 à¤\9cà¥\81ड़ें",
+       "grant-group-watchlist-interaction": "धà¥\8dयानसà¥\82à¤\9aà¥\80 à¤¸à¥\87 à¤\9cà¥\81ड़ें",
        "grant-group-email": "ई-मेल भेजें",
        "grant-group-high-volume": "उच्च कार्य गतिविधि करें",
        "grant-group-customization": "पसंद और तय",
        "grant-protect": "पृष्ठों को सुरक्षित व असुरक्षित करना",
        "grant-rollback": "पृष्ठ से सम्पादन वापस लेना",
        "grant-sendemail": "अन्य सदस्यों को ई-मेल भेजें",
-       "grant-uploadeditmovefile": "à¥\9eाइल अपलोड, बदलना, स्थानांतरण करना",
+       "grant-uploadeditmovefile": "फ़ाइल अपलोड, बदलना, स्थानांतरण करना",
        "grant-uploadfile": "नए फ़ाइल डालें",
        "grant-basic": "सामान्य अधिकार",
        "grant-viewdeleted": "हटाये गए फ़ाइल व पृष्ठ देखें",
        "uploaded-script-svg": "अपलोड की गयी एसवीजी फ़ाइल में स्क्रीप्ट अवयव \"$1\" पाया गया।",
        "uploaded-hostile-svg": "अपलोड की गयी एसवीजी फाइल के शैली अवयव में असुरक्षित सीएसएस पायी गयी।",
        "uploaded-event-handler-on-svg": "सेटिंग ईवेंट हैंडलर (आयोजन प्रबन्धनकर्ता वरियता) <code>$1=\"$2\"</code> एसवीजी फ़ाइल में अनुमत नहीं है।",
-       "uploaded-href-attribute-svg": "href à¤\95à¥\87वल à¤\8fसवà¥\80à¤\9cà¥\80 à¥\9eाइल हेतु ही http:// या https:// उपयोग करने देता है। <code>&lt;$1 $2=\"$3\"&gt;</code>",
+       "uploaded-href-attribute-svg": "href à¤\95à¥\87वल à¤\8fसवà¥\80à¤\9cà¥\80 à¤«à¤¼ाइल हेतु ही http:// या https:// उपयोग करने देता है। <code>&lt;$1 $2=\"$3\"&gt;</code>",
        "uploaded-href-unsafe-target-svg": "अपलोड की गयी फ़ाइल में असुरक्षित लक्ष्य <code>&lt;$1 $2=\"$3\"&gt;</code> पाये गए।",
        "uploaded-animate-svg": "चिप्पि \"animate\" पायी गई जिससे href परिवर्तित हो सकता है, अपलोड की गयी फ़ाइल में \"from\" विशेषता <code>&lt;$1 $2=\"$3\"&gt;</code> काम में ली जा रही है।",
        "uploaded-setting-event-handler-svg": "विकल्प आयोजन-संभालने वाला अवरोधित है, एसवीजी फ़ाइल में मिला <code>&lt;$1 $2=\"$3\"&gt;</code> है।",
        "upload-too-many-redirects": "इस यू॰आर॰एल में अत्यधिक पुनर्निर्देशन हैं",
        "upload-http-error": "एक एच॰टी॰टी॰पी त्रुटि आई: $1",
        "upload-copy-upload-invalid-domain": "कॉपी अपलोड इस डोमेन से उपलब्ध नहीं हैं।",
-       "upload-foreign-cant-upload": "यह à¤µà¤¿à¤\95ि à¤\85नà¥\8dय à¥\9eाइल संग्रह में अपलोड हेतु तय नहीं किया गया है।",
+       "upload-foreign-cant-upload": "यह à¤µà¤¿à¤\95ि à¤\85नà¥\8dय à¤«à¤¼ाइल संग्रह में अपलोड हेतु तय नहीं किया गया है।",
        "upload-dialog-title": "फ़ाइल डालें",
        "upload-dialog-button-cancel": "रद्द करें",
        "upload-dialog-button-done": "पूर्ण हुआ",
        "upload-dialog-button-upload": "डालें",
        "upload-form-label-infoform-title": "विवरण",
        "upload-form-label-infoform-name": "नाम",
-       "upload-form-label-infoform-name-tooltip": "à¤\8fà¤\95 à¤\85नà¥\8bà¤\96ा à¤µà¤¿à¤µà¤°à¤£ à¤¶à¥\80रà¥\8dषà¤\95 à¤\87स à¥\9eाà¤\87ल à¤¹à¥\87तà¥\81 à¤¡à¤¾à¤²à¥\87à¤\82, à¤\9cà¥\80 à¤\87सà¥\87 à¥\9eाà¤\87ल à¤\95à¥\87 à¤°à¥\82प à¤®à¥\87à¤\82 à¤¦à¤¿à¤\96ायà¥\87। à¤\86प à¤\87सà¤\95à¥\87 à¤²à¤¿à¤\8f à¤¸à¤¾à¤§à¤¾à¤°à¤£ à¤­à¤¾à¤·à¤¾ à¤\94र à¤°à¤¿à¤\95à¥\8dत à¤¸à¥\8dथान à¤\95ा à¤\89पयà¥\8bà¤\97 à¤\95र à¤¸à¤\95तà¥\87 à¤¹à¥\88à¤\82। à¥\9eाà¤\87ल à¤ªà¥\8dरारà¥\82प à¤\95à¥\8b à¤¨ à¤\9cà¥\8bà¥\9cें। \\",
+       "upload-form-label-infoform-name-tooltip": "à¤\8fà¤\95 à¤\85नà¥\8bà¤\96ा à¤µà¤¿à¤µà¤°à¤£ à¤¶à¥\80रà¥\8dषà¤\95 à¤\87स à¤«à¤¼à¤¾à¤\87ल à¤¹à¥\87तà¥\81 à¤¡à¤¾à¤²à¥\87à¤\82, à¤\9cà¥\80 à¤\87सà¥\87 à¤«à¤¼à¤¾à¤\87ल à¤\95à¥\87 à¤°à¥\82प à¤®à¥\87à¤\82 à¤¦à¤¿à¤\96ायà¥\87। à¤\86प à¤\87सà¤\95à¥\87 à¤²à¤¿à¤\8f à¤¸à¤¾à¤§à¤¾à¤°à¤£ à¤­à¤¾à¤·à¤¾ à¤\94र à¤°à¤¿à¤\95à¥\8dत à¤¸à¥\8dथान à¤\95ा à¤\89पयà¥\8bà¤\97 à¤\95र à¤¸à¤\95तà¥\87 à¤¹à¥\88à¤\82। à¤«à¤¼à¤¾à¤\87ल à¤ªà¥\8dरारà¥\82प à¤\95à¥\8b à¤¨ à¤\9cà¥\8bड़ें। \\",
        "upload-form-label-infoform-description": "विवरण",
        "upload-form-label-infoform-description-tooltip": "छोटे रूप में बतायें इस के उलेखनीयता के बारे में। \n चित्र हेतु, जो मुख्य वस्तु नहीं दिखाया गया है आदि के स्थान।",
        "upload-form-label-usage-title": "उपयोग",
        "apisandbox-api-disabled": "इस स्थल पर ए०पी०आई० सक्षम नहीं हैं।",
        "apisandbox-intro": "इस पृष्ठ का उपयोग <strong>मीडियाविकि वेब एपीआई</strong> के लिए करें। इसके उपयप्ग हेतु देखें: [[mw:API:Main page|एपीआई प्रलेखन]] उदाहरण: [//www.mediawiki.org/wiki/API#A_simple_example मुख्यपृष्ठ के सामग्री हेतु]",
        "apisandbox-fullscreen": "विस्तार करें",
-       "apisandbox-fullscreen-tooltip": "बà¥\8dराà¤\89à¥\9bर को पूरी तरह भरने हेतु विस्तार करें।",
+       "apisandbox-fullscreen-tooltip": "बà¥\8dराà¤\89à¤\9c़र को पूरी तरह भरने हेतु विस्तार करें।",
        "apisandbox-unfullscreen": "पृष्ठ दिखाएँ",
-       "apisandbox-unfullscreen-tooltip": "पà¥\8dरयà¥\8bà¤\97पà¥\83षà¥\8dठ à¤¹à¤¿à¤¸à¥\8dसà¥\87 à¤\95à¥\8b à¤\9bà¥\8bà¤\9fा à¤\95रà¥\87à¤\82, à¤\9cिससà¥\87 à¤®à¥\80डियाविà¤\95ि à¤\95à¥\87 à¤¸à¤\82à¤\9aरण à¤\95à¥\9cà¥\80 à¤\89पलबà¥\8dध à¤¹à¥\8b à¤\9cाà¤\8fà¤\97ा। \\",
+       "apisandbox-unfullscreen-tooltip": "पà¥\8dरयà¥\8bà¤\97पà¥\83षà¥\8dठ à¤¹à¤¿à¤¸à¥\8dसà¥\87 à¤\95à¥\8b à¤\9bà¥\8bà¤\9fा à¤\95रà¥\87à¤\82, à¤\9cिससà¥\87 à¤®à¥\80डियाविà¤\95ि à¤\95à¥\87 à¤¸à¤\82à¤\9aरण à¤\95ड़à¥\80 à¤\89पलबà¥\8dध à¤¹à¥\8b à¤\9cाà¤\8fà¤\97ा।",
        "apisandbox-submit": "अनुरोध करें",
        "apisandbox-reset": "स्पष्ट",
        "apisandbox-retry": "दुबारा प्रयास करें",
        "apisandbox-loading": "एपीआई मॉड्यूल के द्वारा जानकारी लोड कर रहा \"$1\"...",
        "apisandbox-load-error": "एपीआई मॉड्यूल के जानकारी लोड करते समय त्रुटि हुई \"$1\": $2",
        "apisandbox-no-parameters": "इस एपीआई मॉड्यूल का कोई प्राचल नहीं है।",
-       "apisandbox-helpurls": "सहायता à¤\95à¥\9cी",
+       "apisandbox-helpurls": "सहायता à¤\95ड़ी",
        "apisandbox-examples": "उदाहरण",
        "apisandbox-dynamic-parameters": "अन्य प्राचल",
-       "apisandbox-dynamic-parameters-add-label": "पà¥\8dराà¤\9aल à¤\9cà¥\8bà¥\9cें:",
+       "apisandbox-dynamic-parameters-add-label": "पà¥\8dराà¤\9aल à¤\9cà¥\8bड़ें:",
        "apisandbox-dynamic-parameters-add-placeholder": "प्राचल नाम",
        "apisandbox-dynamic-error-exists": "प्राचल नाम \"$1\" पहले से मौजूद है।",
        "apisandbox-deprecated-parameters": "प्राचल पुराना हो चुका है",
        "pageinfo-category-files": "फ़ाइलों की संख्या",
        "markaspatrolleddiff": "जाँचा हुआ चिन्हित करें",
        "markaspatrolledtext": "इस पृष्ठ को जाँचा हुआ चिन्हित करें",
-       "markaspatrolledtext-file": "à¤\87स à¥\9eाइल संस्करण को जांचा हुआ चिन्हित करें",
+       "markaspatrolledtext-file": "à¤\87स à¤«à¤¼ाइल संस्करण को जांचा हुआ चिन्हित करें",
        "markedaspatrolled": "जाँचा हुआ चिन्हित किया",
        "markedaspatrolledtext": "[[:$1]] का चयनित अवतरण जाँचा हुआ चिन्हित किया गया।",
        "rcpatroldisabled": "हाल में हुए बदलावों का परीक्षण अक्षम है",
        "metadata-expand": "विस्तृत जानकारियां दिखाएं",
        "metadata-collapse": "विस्तृत जानकारियां छिपाएं",
        "metadata-fields": "जब मेटाडाटा तालिका को लघुरूप किया जाएगा तो इस सन्देश में सूचीबद्ध इएक्सआयएफ मेटाडाटा जानकारियां छवि प्रदर्शित होते समय सम्मिलित की जाएंगी।\nअन्य डिफ़ॉल्ट रूप से छिपी रहेंगी।\n* make \n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
-       "exif-imagewidth": "à¤\9aà¥\8cà¥\9cाई",
+       "exif-imagewidth": "à¤\9aà¥\8cड़ाई",
        "exif-imagelength": "ऊँचाई",
        "exif-bitspersample": "प्रति घटक बीट्स",
        "exif-compression": "कम्प्रेशन योजना",
        "tags-apply-not-allowed-one": "टैग \"$1\" मानवीय रूप से जोड़े जाने की अनुमति नहीं है।",
        "tags-apply-not-allowed-multi": "निम्न लिखित {{PLURAL:$2|टैग की अनुमति नहीं है|टैगों की अनुमति नहीं है}} कि उसे मानवीय रूप से प्रयोग में लाया जाए: $1",
        "tags-update-no-permission": "आपको व्यक्तिगत संशोधनों या लॉग प्रविष्टियों से बदलाव टैग जोड़ने या उन्हें हटाने की अनुमति नहीं है।",
-       "tags-update-blocked": "à¤\86प à¤ªà¥\8dरतिबà¤\82धित à¤°à¤¹à¤¤à¥\87 à¤¸à¤®à¤¯ à¤\9fà¥\88à¤\97 à¤®à¥\87à¤\82 à¤\95à¥\8bà¤\88 à¤\9cà¥\8bà¥\9cना या हटाने का कार्य नहीं कर सकते हैं।",
+       "tags-update-blocked": "à¤\86प à¤ªà¥\8dरतिबà¤\82धित à¤°à¤¹à¤¤à¥\87 à¤¸à¤®à¤¯ à¤\9fà¥\88à¤\97 à¤®à¥\87à¤\82 à¤\95à¥\8bà¤\88 à¤\9cà¥\8bड़ना या हटाने का कार्य नहीं कर सकते हैं।",
        "tags-update-add-not-allowed-one": "टैग \"\"$1\" को मानवीय रूप से जोड़ा नहीं जा सकता",
        "tags-update-add-not-allowed-multi": "निम्न लिखित {{PLURAL:$2|टैग|या टैगों का समूह}} मानवीय रूप से जोड़ा नहीं जा सकता है: $1",
        "tags-update-remove-not-allowed-one": "टैग \"$1\" को हटाए जाने की अनुमति नहीं है।",
        "expand_templates_preview": "झलक",
        "expand_templates_preview_fail_html": "<strong>अगर यह वैध पूर्ववावलोकन प्रयास है, तो फिर से प्रयास कीजिए।</strong>\nअगर इससे काम न बने तो [[Special:UserLogout|लॉग आउट होकर]] फिर से लॉग इन हो जाइये।",
        "expand_templates_preview_fail_html_anon": "<em>चूँकि {{SITENAME}} सीधे-साधे रूप से एचटीएमएल-सक्षम है और आप लॉग्ड इन नहीं है, पूर्वावलोकन छिपा हुआ है ताकि सम्भावित जावास्क्रिप्ट हमले को रोका सके।</em>\n\n<strong>अगर यह वैध पूर्वावलोकन प्रयास है तो कृपया [[Special:UserLogin|लॉग इन करके]] फिर से प्रयास कीजिए।</strong>",
-       "expand_templates_input_missing": "à¤\86पà¤\95à¥\8b à¤\95म à¤¸à¥\87 à¤\95म à¤\95à¥\81à¤\9b à¤ªà¤¾à¤ à¥\8dय à¤ªà¥\8dरदान à¤\95रनà¥\87 à¤ªà¥\9cेंगे।",
+       "expand_templates_input_missing": "à¤\86पà¤\95à¥\8b à¤\95म à¤¸à¥\87 à¤\95म à¤\95à¥\81à¤\9b à¤ªà¤¾à¤ à¥\8dय à¤ªà¥\8dरदान à¤\95रनà¥\87 à¤ªà¤¡à¤¼ेंगे।",
        "pagelanguage": "पृष्ठ भाषा बदलें",
        "pagelang-name": "पृष्ठ",
        "pagelang-language": "भाषा",
        "mediastatistics": "मीडिया के आंकड़े",
        "mediastatistics-summary": "अपलोड किए गए फ़ाइल प्रकारों के आंकड़े। इसमें केवल नवीनतम फ़ाइल के अवतरण शामिल हैं। पुराने या हटाए गए फ़ाइलों के अवतरणों को अलग रखा गया है। \n\nThis only includes the most recent version of a file. Old or deleted versions of files are excluded.",
        "mediastatistics-nbytes": "{{PLURAL:$1|$1 बाइट|$1 बाइट्स}} ($2; $3%)",
-       "mediastatistics-bytespertype": "à¤\87स à¤\85नà¥\81भाà¤\97 à¤\95ा à¤\95à¥\81ल à¥\9eाइल आकार : {{PLURAL:$1|$1 बाइट|$1 बाइट्स}} ($2; $3%)",
-       "mediastatistics-allbytes": "सभà¥\80 à¥\9eाà¤\87ल à¤\95ा à¤\95à¥\81ल à¥\9eाइल आकार : {{PLURAL:$1|$1 बाइट|$1 बाइट्स}} ($2)",
+       "mediastatistics-bytespertype": "à¤\87स à¤\85नà¥\81भाà¤\97 à¤\95ा à¤\95à¥\81ल à¤«à¤¼ाइल आकार : {{PLURAL:$1|$1 बाइट|$1 बाइट्स}} ($2; $3%)",
+       "mediastatistics-allbytes": "सभà¥\80 à¤«à¤¼à¤¾à¤\87ल à¤\95ा à¤\95à¥\81ल à¤«à¤¼ाइल आकार : {{PLURAL:$1|$1 बाइट|$1 बाइट्स}} ($2)",
        "mediastatistics-table-mimetype": "माइम प्रकार",
        "mediastatistics-table-extensions": "सम्भवतः विस्तार",
        "mediastatistics-table-count": "फ़ाइलों की संख्या",
        "mediastatistics-header-text": "पाठ",
        "mediastatistics-header-executable": "निष्पादन योग्य",
        "mediastatistics-header-archive": "संकुचित प्रारूप",
-       "mediastatistics-header-total": "सभà¥\80 à¥\9eाइल",
+       "mediastatistics-header-total": "सभà¥\80 à¤«à¤¼ाइल",
        "json-warn-trailing-comma": "$1 पीछे रह रहा {{PLURAL:$1|कॉमा को| कॉमाओं को}} जे०एस०ओ०एन० से हटाया गया",
        "json-error-unknown": "जे०एस०ओ०एन० में एक समस्या थी। त्रुटि: $1",
        "json-error-depth": "स्टैक की अधिकतम गहराई बढ़ चुकी है।",
index deaa35f..a6bcb25 100644 (file)
        "title-invalid-empty": "Umbeðinn síðutitill er auður eða inniheldur aðeins heiti nafnrýmis.",
        "title-invalid-utf8": "Umbeðinn síðutitill inniheldur ógilda UTF-8 runu.",
        "title-invalid-characters": "Umbeðinn síðutitill inniheldur ógilda stafi: \"$1\".",
+       "title-invalid-magic-tilde": "Umbeðinn síðutitill inniheldur ógilda tildurunu (<nowiki>~~~</nowiki>).",
+       "title-invalid-too-long": "Umbeðinn síðutitill er of langur. Hann má ekki vera lengri en $1 {{PLURAL:$1|bæti}} í UTF-8 stafatöflu.",
        "title-invalid-leading-colon": "Umbeðinn síðutitill inniheldur ógildan tvípunkt í byrjun.",
        "perfcached": "Eftirfarandi er afrit af umbeðinni síðu og gæti því ekki verið nýjasta útgáfa hennar. Allt að $1 {{PLURAL:$1|niðurstaða er aðgengileg|niðurstöður eru aðgengilegar}} í skyndiminninu.",
        "perfcachedts": "Eftirfarandi gögn eru í skyndiminninu, og voru síðast uppfærð $1. Allt að $4 {{PLURAL:$4|niðurstaða er aðgengileg|niðurstöður eru aðgengilegar}} í skyndiminninu.",
        "yourpassword": "Lykilorð:",
        "userlogin-yourpassword": "Lykilorð",
        "userlogin-yourpassword-ph": "Skrifaðu niður lykilorðið þitt",
-       "createacct-yourpassword-ph": "Skrifaðu inn lykilorð",
+       "createacct-yourpassword-ph": "Skrifaðu niður lykilorð",
        "yourpasswordagain": "Endurrita lykilorð:",
        "createacct-yourpasswordagain": "Staðfestu lykilorðið",
        "createacct-yourpasswordagain-ph": "Sláðu inn lykilorðið aftur",
        "userlogin-createanother": "Stofna annan aðgang",
        "createacct-emailrequired": "Netfang",
        "createacct-emailoptional": "Netfang (valfrjálst)",
-       "createacct-email-ph": "Skrifaðu netfangið þitt",
+       "createacct-email-ph": "Skrifaðu niður netfangið þitt",
        "createacct-another-email-ph": "Skrifaðu netfang",
        "createaccountmail": "Nota handahófsvalið bráðabirgðalykilorð og senda það á netfangið sem er tilgreint hér fyrir neðan",
        "createacct-realname": "Raunverulegt nafn (valfrjálst)",
        "createacct-benefit-body2": "{{PLURAL:$1|síða|síður}}",
        "createacct-benefit-body3": "{{PLURAL:$1|nýlegur stuðningsaðili|nýlegir stuðningsaðilar}}",
        "badretype": "Lykilorðin sem þú skrifaðir eru ekki eins.",
+       "usernameinprogress": "Nú þegar er í vinnslu gerð aðgangs fyrir þennan notanda.\nHinkraðu aðeins.",
        "userexists": "Þetta notandanafn er þegar í notkun.\nVeldu þér eitthvað annað.",
        "loginerror": "Innskráningarvilla",
        "createacct-error": "Stofnun aðgangs mistókst",
        "retypenew": "Endurtaktu nýja lykilorðið:",
        "resetpass_submit": "Skrifaðu aðgangsorðið og skráðu þig inn",
        "changepassword-success": "Það tókst að breyta lykilorðinu þínu!",
-       "changepassword-throttled": "Þú hefur gert of margar tilraunir til innskráningar.\nBíddu í $1 áður en þú reynir aftur.",
+       "changepassword-throttled": "Þú hefur gert of margar tilraunir til innskráningar að undanförnu.\nBíddu í $1 áður en þú reynir aftur.",
        "botpasswords-label-create": "Búa til",
        "botpasswords-label-update": "Uppfæra",
        "botpasswords-label-cancel": "Hætta við",
        "resetpass-submit-loggedin": "Breyta lykilorði",
        "resetpass-submit-cancel": "Hætta við",
        "resetpass-wrong-oldpass": "Vitlaust bráðabirgða- eða núverandi lykilorð.\nÞú gætir þegar verið búin/n að breyta lykilorðinu eða sótt um nýtt bráðabirgðalykilorð",
+       "resetpass-temp-emailed": "Þú skráðir þig inn með bráðabirgðakóða úr tölvupósti.\nTil að klára að skrá þig inn, verður þú að velja nýtt lykilorð hér:",
        "resetpass-temp-password": "Bráðabirgðalykilorð:",
        "resetpass-abort-generic": "Breytingum á lykilorðum hefur verið hætt með viðbót.",
+       "resetpass-expired": "Lykilorðið þitt er útrunnið. Skráðu nýtt lykilorð til að skrá þig inn.",
        "passwordreset": "Endurstilla lykilorð",
        "passwordreset-text-one": "Útfylltu þetta eyðublað til þess að endursetja lykilorðið.",
        "passwordreset-disabled": "Lokað hefur verið fyrir að endurstilla lykilorð á þessum wiki.",
        "passwordreset-emailtext-user": "Notandinn $1 á {{SITENAME}} hefur beðið um endursetningu lykilorðsins þíns fyrir {{SITENAME}} ($4). Aðgangur eftirfarandi {{PLURAL:$3|notanda er|notendum eru}} tengd þessu netfangi:\n\n$2\n\nEf þetta er það sem þú vildir, þarftu að skrá þig inn og velja nýtt lykilorð. {{PLURAL:$3|Bráðabirgðalykilorðið rennur|Bráðabirgðalykilorðin renna}} út eftir $5 {{PLURAL:$5|dag|daga}}.\n\nEf það varst ekki þú sem fórst fram á þetta, eða ef þú manst aftur lykilorðið þitt, og vilt ekki lengur breyta því, skaltu hunsa þessi skilaboð og halda áfram að nota gamla lykilorðið.",
        "passwordreset-emailelement": "Notandanafn: \n$1\n\nBráðabirgðalykilorð: \n$2",
        "passwordreset-emailsentemail": "Ef þetta netfang er skráð fyrir aðganginum þínum þá hefur töluvpóstur verið sendur til að endursetja lykilorðið.",
+       "passwordreset-emailsentusername": "Ef eitthvað netfang er skráð fyrir aðganginum þínum, þá mun verða sendur töluvpóstur til að endursetja lykilorðið.",
        "passwordreset-emailsent-capture": "Tölvupóstur til að endursetja lykilorðið hefur verið sendur í tölvupósti, sem er sýndur hér fyrir neðan.",
        "passwordreset-emailerror-capture": "Tölvupóstur til að endursetja lykilorðið var búinn til, sem er sýndur hér fyrir neðan, en ekki tókst að senda hana til {{GENDER:$2|notandans}}: $1",
        "changeemail": "Breyta eða fjarlægja netfang",
        "changeemail-none": "(ekkert)",
        "changeemail-password": "{{SITENAME}} lykilorðið þitt:",
        "changeemail-submit": "Breyta netfangi",
+       "changeemail-throttled": "Þú hefur gert of margar tilraunir til innskráningar.\nBíddu í $1 áður en þú reynir aftur.",
        "changeemail-nochange": "Settu inn annað nýtt tölvupóstfang",
        "resettokens": "Endurstilla lykla",
        "resettokens-text": "Hér getur þú endurstillt lykla sem veita þér aðgang að ákveðnum persónuupplýsingum um aðganginn þinn.\n\nÞú átt að gera það ef þú ert búin(n) að deila þeim með einhverjum öðrum óviljandi eða ef búið er að brjóta inn í aðganginn þinn.",
        "prefs-rendering": "Útlit",
        "saveprefs": "Vista",
        "restoreprefs": "Endurstilla allar sjálfgefnar stillingar (í öllum hlutum)",
-       "prefs-editing": "Breytingaflipinn",
+       "prefs-editing": "Breytingarflipinn",
        "rows": "Raðir",
        "columns": "Dálkar",
        "searchresultshead": "Leit",
index 9c61c24..f8921ad 100644 (file)
        "recentchangeslinked-page": "Nome della pagina:",
        "recentchangeslinked-to": "Mostra solo le modifiche alle pagine collegate a quella specificata",
        "recentchanges-page-added-to-category": "[[:$1]] aggiunta alla categoria",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] e {{PLURAL:$2|una pagina è aggiunta|$2 pagine sono aggiunte}} alla categoria",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] e [[Special:WhatLinksHere/$1|{{PLURAL:$2|un'altra pagina|altre $2 pagine}}]] sono state aggiunte alla categoria",
        "recentchanges-page-removed-from-category": "[[:$1]] rimossa dalla categoria",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e {{PLURAL:$2|un'altra pagina|altre $2 pagine}} rimosse dalla categoria",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e [[Special:WhatLinksHere/$1|{{PLURAL:$2|un'altra pagina|altre $2 pagine}}]] sono state rimosse dalla categoria",
        "autochange-username": "Modifica automatica MediaWiki",
        "upload": "Carica un file",
        "uploadbtn": "Carica",
index 5281204..de8f5de 100644 (file)
        "moredotdotdot": "続き...",
        "morenotlisted": "この一覧は完全ではありません。",
        "mypage": "ページ",
+       "anonuserpage": "不明な利用者",
        "mytalk": "トーク",
        "anontalk": "トーク",
        "navigation": "案内",
        "changecontentmodel-title-label": "ページ名",
        "changecontentmodel-model-label": "新しい コンテンツ モデル",
        "changecontentmodel-reason-label": "理由:",
+       "changecontentmodel-submit": "変更",
        "changecontentmodel-success-title": "コンテント・モデルは変更されました",
        "changecontentmodel-success-text": "[[:$1]]のコンテント・タイプは変更されています。",
        "changecontentmodel-cannot-convert": "[[:$1]]上のコンテントは$2の型には変換できません。",
index 482b11e..4b70853 100644 (file)
        "moredotdotdot": "ვრცლად...",
        "morenotlisted": "ეს არასრული სიაა.",
        "mypage": "გვერდი",
+       "anonuserpage": "უცნობი მომხმარებელი",
        "mytalk": "განხილვა",
        "anontalk": "განხილვა",
        "navigation": "ნავიგაცია",
        "botpasswords-insert-failed": "ბოტის სახელის $1\" დამატება შეუძლებელია. უკვე დამატებულია?",
        "botpasswords-update-failed": "ბოტის სახელის \"$1\" განახლება შეუძლებელია. წაშლილია?",
        "botpasswords-created-title": "ბოტის პაროლი შექმნილია",
-       "botpasswords-created-body": "ბოტის პაროლი \"$1\" შეიქმნა.",
+       "botpasswords-created-body": "ბოტის პაროლი მომხმარებელ \"$2\"-ის \"$1\" სახელისთვის შეიქმნა.",
        "botpasswords-updated-title": "ბოტის პაროლი განახლდა",
-       "botpasswords-updated-body": "ბოტის პაროლი \"$1\" განახლდა.",
+       "botpasswords-updated-body": "ბოტის პაროლი \"$2\" მომხმარებლის \"$1\"-ის სახელისთვის განახლდა.",
        "botpasswords-deleted-title": "ბოტის პაროლი წაშლილია",
-       "botpasswords-deleted-body": "ბოტის პაროლი \"$1\" წაიშალა.",
+       "botpasswords-deleted-body": "ბოტის პაროლი \"$2\" მომხმარებლის \"$1\"-ის სახელისთვის წაიშალა.",
        "botpasswords-newpassword": "ახალი პაროლი <strong>$1</strong>-ით შესასვლელად არის <strong>$2</strong>. <em>გთხოვთ დაიმახსოვრეთ ან ჩაიწერეთ.</em>",
        "botpasswords-no-provider": "BotPasswordsSessionProvider არ არის ხელმისაწვდომი.",
        "botpasswords-restriction-failed": "ბოტის პაროლის შეზღუდვები არ უშვებს ამ ავტორიზაციას.",
        "recentchangeslinked-page": "გვერდის დასახელება:",
        "recentchangeslinked-to": "საპირისპიროდ აჩვენეთ ამ გვერდზე ბმულის მქონე გვერდების ცვლილებები",
        "recentchanges-page-added-to-category": "[[:$1]] დამატებულია კატეგორიაში",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] და {{PLURAL:$2|ერთი გვერდი|$2 გვერდი}} დამატებულია კატეგორიაში",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] და [[Special:WhatLinksHere/$1|{{PLURAL:$2|ერთი გვერდი|$2 გვერდი}}]] დამატებულია კატეგორიაში",
        "recentchanges-page-removed-from-category": "[[:$1]] წაიშალა კატეგორიიდან",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] და {{PLURAL:$2|ერთი გვერდი|$2 გვერდი}} წაიშალა კატეგორიიდან",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] და [[Special:WhatLinksHere/$1|{{PLURAL:$2|ერთი გვერდი|$2 გვერდი}}]] წაიშალა კატეგორიიდან",
        "autochange-username": "მედიავიკის ავტომატური ცვლილება",
        "upload": "ფაილის დამატება",
        "uploadbtn": "ფაილის დამატება",
        "changecontentmodel-title-label": "გვერდის სათაური",
        "changecontentmodel-model-label": "შინაარსის ახალი მოდელი",
        "changecontentmodel-reason-label": "მიზეზი:",
+       "changecontentmodel-submit": "შეცვლა",
        "changecontentmodel-success-title": "შინაარსის მოდელი შეიცვალა",
        "changecontentmodel-success-text": "[[:$1]]-ის კონტენტის ტიპი შეიცვალა.",
        "changecontentmodel-cannot-convert": "[[:$1]]-ის შინაარსის $2-ის ტიპზე კონვერტაცია შეუძლებელია.",
index a4a679f..015fa6f 100644 (file)
        "seconds-abbrev": "$1с",
        "minutes-abbrev": "$1мин",
        "hours-abbrev": "$1сағ",
-       "seconds": "{{PLURAL:$1|$1 секунт|$1 секунт}}",
+       "seconds": "{{PLURAL:$1|$1 секунд|$1 секунд}}",
        "minutes": "{{PLURAL:$1|$1 минут|$1 минут}}",
        "hours": "{{PLURAL:$1|$1 сағат|$1 сағат}}",
        "days": "{{PLURAL:$1|$1 күн|$1 күн}}",
        "api-error-unknownerror": "Белгісіз қате: \"$1\".",
        "api-error-uploaddisabled": "Бұл уикиде жүктеп беру өшірілген.",
        "api-error-verification-error": "Бұл файл бүлінген болуы мүмкін немесе теріс кеңейтуі бар.",
-       "duration-seconds": "$1 {{PLURAL:$1|секунт|секунт}}",
+       "duration-seconds": "$1 {{PLURAL:$1|секунд|секунд}}",
        "duration-minutes": "$1 {{PLURAL:$1|минут|минут}}",
        "duration-hours": "$1 {{PLURAL:$1|сағат|сағат}}",
        "duration-days": "$1 {{PLURAL:$1|күн|күн}}",
        "rotate-comment": "Сурет сағат бағытымен $1 {{PLURAL:$1|бұрыш|бұрыш}} айналды",
        "limitreport-title": "Деректер анализаторы:",
        "limitreport-cputime": "CPU уақытында қолданылуы",
-       "limitreport-cputime-value": "$1 {{PLURAL:$1|секунт|секунт}}",
+       "limitreport-cputime-value": "$1 {{PLURAL:$1|секунд|секунд}}",
        "limitreport-walltime": "Нақты уақытта қолданылуы",
-       "limitreport-walltime-value": "$1 {{PLURAL:$1|секунт|секунт}}",
+       "limitreport-walltime-value": "$1 {{PLURAL:$1|секунд|секунд}}",
        "limitreport-ppvisitednodes": "Аралаған түйіндер саны",
        "limitreport-ppgeneratednodes": "Препроцессордың жинақталатын түйіндерінің саны",
        "limitreport-postexpandincludesize": "Кірістірілген ашық мөлшері",
index 7ab3abb..c58ce56 100644 (file)
        "moredotdotdot": "더 보기...",
        "morenotlisted": "이 목록은 완성되지 않았습니다.",
        "mypage": "문서",
+       "anonuserpage": "알 수 없는 사용자",
        "mytalk": "토론",
        "anontalk": "토론",
        "navigation": "둘러보기",
        "nocookieslogin": "{{SITENAME}}에서는 로그인을 위해 쿠키를 사용합니다.\n쿠키가 비활성되어 있습니다.\n쿠키 사용을 활성화한 다음 다시 시도하세요.",
        "nocookiesfornew": "요청의 출처를 확인할 수 없기 때문에 사용자 계정이 만들어지지 않았습니다.\n쿠키를 활성화한 것을 확인하고, 이 문서를 새로 고치고 나서 다시 시도하세요.",
        "noname": "사용자 계정 이름이 올바르지 않습니다.",
-       "loginsuccesstitle": "로그인 성공",
+       "loginsuccesstitle": "로그인",
        "loginsuccess": "<strong>{{SITENAME}}에 \"$1\" 계정으로 로그인했습니다.</strong>",
-       "nosuchuser": "\"$1\" 사용자가 존재하지 않습니다.\n사용자 계정 이름은 대소문자를 구별합니다.\n철자가 맞는지 확인해주세요. [[Special:UserLogin/signup|새 계정을 만들 수도 있습니다]].",
+       "nosuchuser": "이름이 \"$1\"인 사용자는 없습니다.\n사용자 계정 이름은 대소문자를 구별합니다.\n철자가 맞는지 확인해주세요. [[Special:UserLogin/signup|새 계정을 만들 수도 있습니다]].",
        "nosuchusershort": "이름이 \"$1\"인 사용자는 없습니다.\n철자가 맞는지 확인하세요.",
        "nouserspecified": "사용자 계정 이름을 입력하지 않았습니다.",
        "login-userblocked": "이 사용자는 차단되었습니다. 로그인할 수 없습니다.",
        "newpassword": "새 비밀번호:",
        "retypenew": "새 비밀번호 다시 입력:",
        "resetpass_submit": "비밀번호를 설정하고 로그인하기",
-       "changepassword-success": "비밀번호가 성공적으로 바뀌었습니다!",
+       "changepassword-success": "비밀번호가 바뀌었습니다!",
        "changepassword-throttled": "최근 너무 많이 로그인을 시도했습니다.\n$1 뒤에 다시 시도하세요.",
        "botpasswords": "봇 비밀번호",
        "botpasswords-disabled": "봇 비밀번호가 비활성화되었습니다.",
        "botpasswords-insert-failed": "\"$1\" 봇 이름을 추가하는데 실패했습니다. 이미 등록되지 않았는지 확인하기 바랍니다.",
        "botpasswords-update-failed": "\"$1\" 봇 이름을 갱신하는데 실패했습니다. 이미 삭제되지 않았는지 확인하기 바랍니다.",
        "botpasswords-created-title": "봇 비밀번호 생성",
-       "botpasswords-created-body": "\"$1\"의 봇 비밀번호가 성공적으로 만들어졌습니다.",
+       "botpasswords-created-body": "사용자 \"$2\"의 \"$1\"라는 이름의 봇 비밀번호가 만들어졌습니다.",
        "botpasswords-updated-title": "봇 비밀번호 갱신",
-       "botpasswords-updated-body": "\"$1\"의 봇 비밀번호가 성공적으로 갱신되었습니다.",
+       "botpasswords-updated-body": "사용자 \"$2\"의 \"$1\"라는 이름의 봇 비밀번호가 업데이트되었습니다.",
        "botpasswords-deleted-title": "봇 비밀번호 제거",
-       "botpasswords-deleted-body": "\"$1\"의 봇 비밀번호가 제거되었습니다.",
+       "botpasswords-deleted-body": "사용자 \"$2\"의 \"$1\"라는 이름의 봇 비밀번호가 삭제되었습니다.",
        "botpasswords-newpassword": "<strong>$1</strong> 계정의 비밀번호가 <strong>$2</strong>로 변경되었습니다. <em>잊어버리지 않도록 기록해두시기 바랍니다.</em>",
        "botpasswords-no-provider": "'BotPasswordsSessionProvider'는 이용할 수 없습니다.",
        "botpasswords-restriction-failed": "봇 비밀번호 제한으로 인해 로그인할 수 없습니다.",
        "resetpass-no-info": "이 특수 문서에 직접 접근하려면 반드시 로그인해야 합니다.",
        "resetpass-submit-loggedin": "비밀번호 바꾸기",
        "resetpass-submit-cancel": "취소",
-       "resetpass-wrong-oldpass": "비밀번호가 잘못되었거나 현재의 비밀번호와 같습니다.\n이미 비밀번호를 성공적으로 바꾸었거나 새 임시 비밀번호를 요청했을 수 있습니다.",
+       "resetpass-wrong-oldpass": "비밀번호가 잘못되었거나 현재의 비밀번호와 같습니다.\n이미 비밀번호를 바꾸었거나 새 임시 비밀번호를 요청했을 수 있습니다.",
        "resetpass-recycled": "현재 비밀번호와 다른 비밀번호로 재설정해주세요.",
        "resetpass-temp-emailed": "임시 이메일 코드로 로그인되어 있습니다.\n로그인을 마치려면, 여기서 새 비밀번호를 설정해야 합니다:",
        "resetpass-temp-password": "임시 비밀번호:",
        "previewerrortext": "변경사항을 미리보기하는 도중 오류가 발생했습니다.",
        "blockedtitle": "사용자가 차단됨",
        "blockedtext": "'''사용자 계정 또는 IP 주소가 차단되었습니다.'''\n\n차단한 사람은 $1입니다.\n차단한 이유는 다음과 같습니다: $2\n\n* 차단이 시작된 시간: $8\n* 차단이 끝나는 시간: $6\n* 차단된 사용자: $7\n\n$1 또는 [[{{MediaWiki:Grouppage-sysop}}|다른 관리자]]에게 차단에 대해 문의할 수 있습니다.\n[[Special:Preferences|계정 환경 설정]]에 올바른 이메일 주소가 있어야만 '이메일 보내기' 기능을 사용할 수 있습니다. 또 이메일 보내기 기능이 차단되어 있으면 이메일을 보낼 수 없습니다.\n현재 당신의 IP 주소는 $3이고, 차단 ID는 #$5입니다.\n문의할 때에 이 정보를 같이 알려주세요.",
-       "autoblockedtext": "당신의 IP 주소는 $1 사용자가 차단한 사용자가 사용했던 IP이기 때문에 자동으로 차단되었습니다.\n차단된 이유는 다음과 같습니다:\n\n:$2\n\n* 차단이 시작된 시간: $8\n* 차단이 끝나는 시간: $6\n* 차단된 사용자: $7\n\n$1 또는 [[{{MediaWiki:Grouppage-sysop}}|다른 관리자]]에게 차단에 대해 문의할 수 있습니다.\n\n[[Special:Preferences|계정 환경 설정]]에 올바른 이메일 주소가 있어야만 \"이메일 보내기\" 기능을 사용할 수 있습니다. 또한 이메일 보내기 기능이 차단되어 있으면 이메일을 보낼 수 없습니다.\n\n현재 IP 주소는 $3이고, 차단 ID는 #$5입니다.\n문의할 때에 이 정보를 같이 알려주세요.",
+       "autoblockedtext": "당신의 IP 주소는 $1님이 차단한 사용자가 사용했던 IP이기 때문에 자동으로 차단되었습니다.\n차단된 이유는 다음과 같습니다:\n\n:$2\n\n* 차단이 시작된 시간: $8\n* 차단이 끝나는 시간: $6\n* 차단된 사용자: $7\n\n$1 또는 [[{{MediaWiki:Grouppage-sysop}}|다른 관리자]]에게 차단에 대해 문의할 수 있습니다.\n\n[[Special:Preferences|계정 환경 설정]]에 올바른 이메일 주소가 있어야만 \"이메일 보내기\" 기능을 사용할 수 있습니다. 또한 이메일 보내기 기능이 차단되어 있으면 이메일을 보낼 수 없습니다.\n\n현재 IP 주소는 $3이고, 차단 ID는 #$5입니다.\n문의할 때에 이 정보를 같이 알려주세요.",
        "blockednoreason": "이유를 입력하지 않음",
        "whitelistedittext": "문서를 편집하기 전에 $1해야 합니다.",
        "confirmedittext": "문서를 고치려면 이메일 인증 절차가 필요합니다.\n[[Special:Preferences|사용자 환경 설정]]에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.",
        "previewnote": "'''이 화면은 미리 보기입니다.'''\n편집한 내용은 아직 저장하지 않았습니다!",
        "continue-editing": "편집 영역으로 가기",
        "previewconflict": "이 미리 보기는 저장할 때의 모습으로 위쪽 편집창의 문서를 반영합니다.",
-       "session_fail_preview": "세션 데이터가 없어져 편집을 저장하지 못했습니다.\n\n로그아웃 되었는지도 모릅니다. '''아직 로그인 상태인지 확인하고 다시 시도해주세요.'''\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요.",
+       "session_fail_preview": "세션 데이터가 없어져 편집을 저장하지 못했습니다.\n\n로그아웃 되었는지도 모릅니다. <strong>아직 로그인 상태인지 확인하고 다시 시도해주세요</strong>.\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요.",
        "session_fail_preview_html": "세션 데이터가 없어져 편집을 저장하지 못했습니다.\n\n<em>{{SITENAME}}에서 HTML 입력을 허용하기 때문에, 자바스크립트 공격을 막기 위해 미리 보기는 숨겨져 있습니다.</em>\n\n<strong>적합하게 편집을 시도했다면 다시 시도해주세요.</strong>\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하고, 브라우저가 이 사이트에서 쿠키를 허용하는지 확인하세요.",
        "token_suffix_mismatch": "'''저장하려는 내용의 문장 부호가 망가져 있습니다.'''\n문서 보호를 위해 해당 내용을 저장하지 않습니다.\n버그가 있는 익명 프록시 서비스 등을 사용할 때 이런 문제가 발생할 수 있습니다.",
        "edit_form_incomplete": "'''편집의 일부 내용이 서버에 전달되지 않았습니다. 편집이 손상되지 않았는지 확인하고 다시 시도해 주십시오.'''",
        "copyrightwarning2": "{{SITENAME}}에서의 모든 기여는 다른 사용자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요.\n만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.<br />\n또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 내용에 대해서는 $1 문서를 읽어 주세요).\n'''저작권이 있는 내용을 허가 없이 저장하지 마세요!'''",
        "editpage-cannot-use-custom-model": "이 문서의 콘텐츠 모델은 변경될 수 없습니다.",
        "longpageerror": "'''오류: 문서의 크기가 {{PLURAL:$1|$1킬로바이트}}로 최대 크기인 {{PLURAL:$2|$2킬로바이트}}보다 큽니다.'''\n저장할 수 없습니다.",
-       "readonlywarning": "<strong>경고: 데이터베이스가 관리를 위해 잠겨 있습니다. 따라서 문서를 편집한 내용을 지금 저장할 수 없습니다.</strong>\n편집 내용을 복사하여 붙여넣기 등을 사용하여 일단 다른 곳에 저장한 후, 나중에 다시 시도해 주세요.\n\n잠근 관리자가 남긴 설명은 다음과 같습니다: $1",
+       "readonlywarning": "<strong>경고: 데이터베이스가 관리를 위해 잠겨 있습니다. 따라서 문서를 편집한 내용을 지금 저장할 수 없습니다.</strong>\n편집 내용을 복사하여 붙여넣기 등을 사용하여 일단 다른 곳에 저장한 후, 나중에 다시 시도해 주세요.\n\n데이터베이스를 잠근 시스템 관리자가 남긴 설명은 다음과 같습니다: $1",
        "protectedpagewarning": "<strong>경고: 이 문서는 관리자 권한이 있는 사용자만 편집할 수 있도록 보호되어 있습니다.</strong>\n이 문서의 최근 기록을 참조하십시오:",
        "semiprotectedpagewarning": "<strong>참고:</strong> 이 문서는 계정을 등록한 사용자만이 편집할 수 있도록 보호되어 있습니다.\n이 문서의 최근 기록을 참조하십시오:",
        "cascadeprotectedwarning": "<strong>경고:</strong> 이 문서는 보호되어 있어 관리자만 편집할 수 있습니다. 연쇄적 보호가 걸린 다음 {{PLURAL:$1|문서}}에서 이 문서를 사용하고 있습니다:",
        "revdelete-unsuppress": "되살린 판에 대한 제한을 해제",
        "revdelete-log": "이유:",
        "revdelete-submit": "선택한 {{PLURAL:$1|판}}에 적용",
-       "revdelete-success": "'''판의 보이기 설정을 성공적으로 바꾸었습니다.'''",
+       "revdelete-success": "판의 보이기 설정을 바꾸었습니다.",
        "revdelete-failure": "'''특정 판 보기 설정을 바꾸지 못했습니다:'''\n$1",
-       "logdelete-success": "'''기록 보이기 설정을 성공적으로 바꾸었습니다.'''",
+       "logdelete-success": "기록 보이기를 설정했습니다.",
        "logdelete-failure": "'''기록 보이기 설정을 바꾸지 못했습니다:'''\n$1",
        "revdel-restore": "보이기 설정 바꾸기",
        "pagehist": "문서 역사",
        "userrights-changeable-col": "바꿀 수 있는 권한",
        "userrights-unchangeable-col": "바꿀 수 없는 권한",
        "userrights-conflict": "사용자 권한 바꾸기가 충돌합니다! 바뀜을 검토하고 확인하세요.",
-       "userrights-removed-self": "ì\9e\90ì\8b ì\9d\98 ê¶\8cí\95\9cì\9d\84 ì \9cê±°í\95\98ë\8a\94 ë\8d° ì\84±ê³µí\96\88ì\8aµë\8b\88ë\8b¤. ë\94°ë\9d¼ì\84\9c ë\8d\94 ì\9d´ì\83\81 ì\9d´ ë¬¸ì\84\9cì\97\90 ì \91ê·¼í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤.",
+       "userrights-removed-self": "자신의 권한을 제거했습니다. 따라서 더 이상 이 문서에 접근할 수 없습니다.",
        "group": "그룹:",
        "group-user": "사용자",
        "group-autoconfirmed": "자동 인증된 사용자",
        "backend-fail-read": "\"$1\" 파일을 읽을 수 없습니다.",
        "backend-fail-create": "\"$1\" 파일을 저장할 수 없습니다.",
        "backend-fail-maxsize": "{{PLURAL:$2|1 바이트|$2 바이트}}보다 커서 \"$1\" 파일을 저장하지 못했습니다.",
-       "backend-fail-readonly": "\"$1\" 저장 백엔드가 읽기 전용입니다. 자세한 이유는 다음과 같습니다: \"$2\"",
+       "backend-fail-readonly": "\"$1\" 저장 백엔드가 읽기 전용입니다. 자세한 이유는 다음과 같습니다: <em>$2</em>",
        "backend-fail-synced": "\"$1\" 파일은 내부 저장 백엔드에 불안정한 상태로 있습니다",
        "backend-fail-connect": "\"$1\" 저장 백엔드에 접속하지 못했습니다.",
        "backend-fail-internal": "\"$1\" 저장 백엔드에 알 수 없는 오류가 발생했습니다.",
        "uploadstash-summary": "이 문서는 위키에 등록되지는 않았지만 올리는 과정 중에 있는 파일을 접근할 수 있습니다. 이 파일은 올린이 외에는 볼 수 없습니다.",
        "uploadstash-clear": "임시 저장한 파일 제거하기",
        "uploadstash-nofiles": "임시 저장한 파일이 없습니다.",
-       "uploadstash-badtoken": "ì\9d´ ë\8f\99ì\9e\91ì\9d\84 ì\88\98í\96\89í\95\98ë\8a\94 ë\8d° ì\8b¤í\8c¨í\96\88ì\8aµë\8b\88ë\8b¤. í\8e¸ì§\91 í\86 í\81°ì\9d´ ë§\8cë£\8cë\90\98ì\97\88ì\9d\84 ê°\80ë\8a¥ì\84±ì\9d´ ì\9e\88ì\8aµë\8b\88ë\8b¤. ë\8b¤ì\8b\9c ì\8b\9cë\8f\84í\95\98세요.",
-       "uploadstash-errclear": "í\8c\8cì\9d¼ì\9d\84 ì \9cê±°í\95\98는 데 실패했습니다.",
+       "uploadstash-badtoken": "ì\9d´ ë\8f\99ì\9e\91ì\9d\84 ì\88\98í\96\89í\95\98ë\8a\94 ë\8d° ì\8b¤í\8c¨í\96\88ì\8aµë\8b\88ë\8b¤. í\8e¸ì§\91 í\86 í\81°ì\9d´ ë§\8cë£\8cë\90\98ì\97\88ì\9d\84 ê°\80ë\8a¥ì\84±ì\9d´ ì\9e\88ì\8aµë\8b\88ë\8b¤. ë\8b¤ì\8b\9c ì\8b\9cë\8f\84í\95´ì£¼세요.",
+       "uploadstash-errclear": "í\8c\8cì\9d¼ì\9d\84 ì§\80ì\9a°는 데 실패했습니다.",
        "uploadstash-refresh": "파일 목록을 새로 고침",
        "invalid-chunk-offset": "청크 오프셋이 잘못되었습니다.",
        "img-auth-accessdenied": "접근이 거부됨",
        "apihelp-no-such-module": "\"$1\" 모듈을 찾을 수 없습니다.",
        "apisandbox": "API 실험실",
        "apisandbox-api-disabled": "이 사이트에서는 API가 꺼져 있습니다.",
-       "apisandbox-intro": "'''미디어위키 웹 서비스 API'''를 시험해보려면 이 페이지를 이용해보세요. API 용법에 대해서는 [//www.mediawiki.org/wiki/API:Main_page API 문서]을 참고하십시오. 예: [//www.mediawiki.org/wiki/API#A_simple_example 대문의 내용 요청하기]. 더 많은 예를 보려면 액션을 선택하세요.\n\n여기가 연습장이라도 이 페이지에서 실행하는 동작때문에 위키를 변경할 수도 있다는 점에 유의하십시오.",
+       "apisandbox-intro": "<strong>미디어위키 웹 서비스 API</strong>를 시험해보려면 이 페이지를 이용해보세요. API 용법에 대해서는 [[mw:API:Main page|API 문서]]을 참고하십시오. 예: [//www.mediawiki.org/wiki/API#A_simple_example 대문의 내용 요청하기]. 더 많은 예를 보려면 액션을 선택하세요.\n\n여기가 연습장이라도 이 페이지에서 실행하는 동작때문에 위키를 변경할 수도 있다는 점에 유의하십시오.",
        "apisandbox-fullscreen": "패널 늘리기",
        "apisandbox-fullscreen-tooltip": "브라우저 창에 맞도록 샌드박스 패널 늘리기",
        "apisandbox-unfullscreen": "페이지 보기",
        "listgrouprights-namespaceprotection-namespace": "이름공간",
        "listgrouprights-namespaceprotection-restrictedto": "사용자가 편집할 수 있는 권한",
        "listgrants": "부여",
-       "listgrants-summary": "다음은 사용자 권한에 관련된 접근 권한을 통해 부여된 OAuth 부여 목록입니다. 사용자는 자신의 계정에 대해 권한을 부여 할 수 있지만, 사용자가 응용 프로그램에 부여한 권한 설정에 따라 제한이 있습니다. 사용자를 대신하여 동작하는 응용 프로그램은 사용자가 갖고 있지 않은 권한은 사용할 수 없습니다. \n각각의 권한에 대한 [[{{MediaWiki:Listgrouprights-helppage}}|추가 정보]]가 있습니다.",
+       "listgrants-summary": "다음은 사용자 권한에 관련된 접근 권한을 통해 부여된 부여 목록입니다. 사용자는 자신의 계정에 대해 권한을 부여 할 수 있지만, 사용자가 애플리케이션에 부여한 권한 설정에 따라 제한이 있습니다. 사용자를 대신하여 동작하는 애플리케이션은 사용자가 갖고 있지 않은 권한은 사용할 수 없습니다. \n각각의 권한에 대한 [[{{MediaWiki:Listgrouprights-helppage}}|추가 정보]]가 있습니다.",
        "listgrants-grant": "부여",
        "listgrants-rights": "권한",
        "trackingcategories": "추적용 분류",
        "emailccsubject": "$1에게 보낸 메시지의 복사본: $2",
        "emailsent": "이메일 보냄",
        "emailsenttext": "이메일을 보냈습니다.",
-       "emailuserfooter": "이 이메일은 {{SITENAME}}의 $1 사용자가 $2 사용자에게 \"{{int:emailuser}}\" 기능을 통해 보냈습니다.",
+       "emailuserfooter": "이 이메일은 {{SITENAME}}의 $1님이 $2 사용자에게 \"{{int:emailuser}}\" 기능을 통해 보냈습니다.",
        "usermessage-summary": "시스템 메시지 남기기",
        "usermessage-editor": "시스템 메신저",
        "usermessage-template": "MediaWiki:UserMessage",
        "delete-toobig": "이 문서에는 {{PLURAL:$1|편집 역사}}가 $1개 이상 있습니다.\n{{SITENAME}}에 의도하지 않은 혼란을 줄 수 있기 때문에 이런 문서의 삭제는 제한됩니다.",
        "delete-warning-toobig": "이 문서에는 {{PLURAL:$1|편집 역사}}가 $1개 있습니다.\n편집 역사가 긴 문서를 삭제하면 {{SITENAME}} 데이터베이스 동작에 큰 영향을 줄 수 있습니다.\n주의해 주세요.",
        "deleteprotected": "이 문서가 보호되어 있기 때문에 삭제할 수 없습니다.",
-       "deleting-backlinks-warning": "'''경고:''' 삭제하려는 문서가 [[Special:WhatLinksHere/{{FULLPAGENAME}}|다른 문서]]에 링크되어 있거나 끼워져 있습니다.",
+       "deleting-backlinks-warning": "<strong>경고:/<strong> 삭제하려는 문서가 [[Special:WhatLinksHere/{{FULLPAGENAME}}|다른 문서]]에 링크되어 있거나 끼워져 있습니다.",
        "rollback": "편집 되돌리기",
        "rollbacklink": "되돌리기",
        "rollbacklinkcount": "{{PLURAL:$1|편집}} $1회 되돌리기",
        "changecontentmodel-title-label": "문서 제목",
        "changecontentmodel-model-label": "새 콘텐츠 모델",
        "changecontentmodel-reason-label": "이유:",
+       "changecontentmodel-submit": "바꾸기",
        "changecontentmodel-success-title": "콘텐츠 모델이 변경되었습니다",
        "changecontentmodel-success-text": "[[:$1]]의 콘텐츠 종류가 변경되었습니다.",
        "changecontentmodel-cannot-convert": "[[:$1]]의 콘텐츠 모델이 $2의 모델로 전환될 수 없습니다.",
        "changecontentmodel-nodirectediting": "$1 콘텐츠 모델은 직접 편집을 지원하지 않습니다",
        "log-name-contentmodel": "콘텐츠 모델 변경 기록",
        "log-description-contentmodel": "페이지의 콘텐츠 모델과 관련된 행위",
-       "logentry-contentmodel-change": "$1 사용자가 $3 의 콘텐츠 모델을 \"$4\"에서 \"$5\"로 {{GENDER:$2|변경하였습니다}}.",
+       "logentry-contentmodel-new": "$1님이 비 기본값 \"$5\" 콘텐츠 모델을 사용해  $3 문서를 {{GENDER:$2|만들었습니다}}",
+       "logentry-contentmodel-change": "$1님이 $3 문서의 콘텐츠 모델을 \"$4\"에서 \"$5\"로 {{GENDER:$2|바꾸었습니다}}",
        "logentry-contentmodel-change-revertlink": "되돌리기",
        "logentry-contentmodel-change-revert": "되돌리기",
        "protectlogpage": "문서 보호 기록",
        "tooltip-namespace_association": "선택한 이름공간과 관련된 토론이나 본문 이름공간을 포함하려면 이 상자를 선택하세요",
        "blanknamespace": "(일반)",
        "contributions": "{{GENDER:$1|사용자}} 기여",
-       "contributions-title": "$1 사용자의 기여",
+       "contributions-title": "$1의 사용자 기여",
        "mycontris": "기여",
        "anoncontribs": "기여",
        "contribsub2": "{{GENDER:$3|$1}}($2)의 기여",
        "change-blocklink": "차단 설정 바꾸기",
        "contribslink": "기여",
        "emaillink": "이메일 보내기",
-       "autoblocker": "당신의 IP 주소는 최근에 \"[[User:$1|$1]]\" 사용자가 사용하였기 때문에 자동으로 차단되었습니다.\n$1 사용자가 차단된 이유는 다음과 같습니다: \"$2\"",
+       "autoblocker": "당신의 IP 주소는 최근에 \"[[User:$1|$1]]\" 사용자가 사용하였기 때문에 자동으로 차단되었습니다.\n$1님이 차단된 이유는 다음과 같습니다: \"$2\"",
        "blocklogpage": "차단 기록",
        "blocklog-showlog": "이 사용자는 과거에 차단된 기록이 있습니다.\n해당 사용자의 차단 기록은 다음과 같습니다:",
        "blocklog-showsuppresslog": "이 사용자는 과거에 차단된 적이 있으며, 그 기록이 숨겨져 있습니다.\n해당 사용자의 차단 기록은 다음과 같습니다:",
-       "blocklogentry": "사용자가 [[$1]] 사용자를 $2 차단했습니다 $3",
-       "reblock-logentry": "사용자가 [[$1]] 사용자의 차단 기간을 $2(으)로 바꾸었습니다 $3",
+       "blocklogentry": "님이 [[$1]]님을 $2 차단했습니다 $3",
+       "reblock-logentry": "님이 [[$1]]님의 차단 기간을 $2(으)로 바꾸었습니다 $3",
        "blocklogtext": "이 목록은 사용자 차단/차단 해제 기록입니다.\n자동으로 차단된 IP 주소는 여기에 나오지 않습니다.\n[[Special:BlockList|여기]]에서 현재 차단된 사용자 목록을 볼 수 있습니다.",
-       "unblocklogentry": "사용자가 $1 사용자를 차단 해제했습니다",
+       "unblocklogentry": "님이 $1님을 차단 해제했습니다",
        "block-log-flags-anononly": "IP만 막음",
        "block-log-flags-nocreate": "계정 만들기 금지됨",
        "block-log-flags-noautoblock": "자동 차단 비활성화됨",
        "ipb_expiry_old": "기한을 과거로 입력했습니다.",
        "ipb_expiry_temp": "사용자 이름을 숨기는 차단은 반드시 무기한이어야 합니다.",
        "ipb_hide_invalid": "해당 계정은 막을 수 없습니다. {{PLURAL:$1|1회|$1회}} 이상 편집했습니다.",
-       "ipb_already_blocked": "\"$1\" 사용자는 이미 차단되었습니다",
-       "ipb-needreblock": "$1 사용자는 이미 차단되었습니다. 차단 설정을 바꾸시겠습니까?",
+       "ipb_already_blocked": "\"$1\"님은 이미 차단되었습니다.",
+       "ipb-needreblock": "$1님은 이미 차단되었습니다. 차단 설정을 바꾸시겠습니까?",
        "ipb-otherblocks-header": "다른 {{PLURAL:$1|차단}} 기록",
        "unblock-hideuser": "이 사용자 이름이 숨겨져 있기 때문에 이 사용자를 차단 해제할 수 없습니다.",
        "ipb_cant_unblock": "오류: $1 차단 ID가 존재하지 않습니다. 이미 차단 해제되었을 수 있습니다.",
        "import-nonewrevisions": "가져온 판 없음(모든 판이 이미 존재하거나 오류로 인해 건너뛰었을 수도 있습니다.)",
        "xml-error-string": "$3단 $2줄 (바이트 $4)에서 $1: $5",
        "import-upload": "XML 데이터 올리기",
-       "import-token-mismatch": "세션 데이터가 손실되었습니다.\n다시 시도하세요.",
+       "import-token-mismatch": "세션 데이터가 손실되었습니다.\n\n로그아웃 되었는지도 모릅니다. <strong>아직 로그인 상태인지 확인하고 다시 시도해주세요</strong>.\n다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요.",
        "import-invalid-interwiki": "해당 위키에서 문서를 가져올 수 없습니다.",
        "import-error-edit": "문서를 편집할 수 없기 때문에 \"$1\" 문서를 가져올 수 없었습니다.",
        "import-error-create": "문서를 만들 수 없기 때문에 \"$1\" 문서를 가져올 수 없었습니다.",
        "pageinfo-visiting-watchers": "이 문서를 최근에 방문한 주시하는 사용자 수",
        "pageinfo-few-watchers": "{{PLURAL:$1|주시하는 사용자}} $1명보다 적음",
        "pageinfo-redirects-name": "이 문서의 넘겨주기 수",
-       "pageinfo-redirects-value": "$1",
+       "pageinfo-redirects-value": "$1",
        "pageinfo-subpages-name": "이 문서의 하위 문서 수",
        "pageinfo-subpages-value": "$1개 ({{PLURAL:$2|넘겨주기}} $2개, {{PLURAL:$3|넘겨주기 아님}} $3개)",
        "pageinfo-firstuser": "문서 작성자",
        "exif-compression-32946": "수축 (PKZIP)",
        "exif-copyrighted-true": "저작권의 보호를 받음",
        "exif-copyrighted-false": "저작권 상태를 설정하지 않음",
+       "exif-photometricinterpretation-0": "흑백 (백은 0)",
        "exif-photometricinterpretation-1": "검은색과 흰색 (검은색이 0)",
+       "exif-photometricinterpretation-3": "팔레트",
+       "exif-photometricinterpretation-4": "투명 마스크",
+       "exif-photometricinterpretation-5": "분리 (아마도 CMYK)",
+       "exif-photometricinterpretation-9": "CIE L*a*b* (ICC 인코딩)",
+       "exif-photometricinterpretation-10": "CIE L*a*b* (ITU 인코딩)",
+       "exif-photometricinterpretation-32803": "컬러 필터 어레이",
        "exif-unknowndate": "날짜를 알 수 없음",
        "exif-orientation-1": "일반",
        "exif-orientation-2": "수평으로 뒤집음",
        "autoredircomment": "[[$1]] 문서로 넘겨주기",
        "autosumm-new": "새 문서: $1",
        "autosumm-newblank": "빈 문서를 만듦",
+       "size-bytes": "$1 {{PLURAL:$1|바이트}}",
+       "size-pixel": "$1 {{PLURAL:$1|픽셀}}",
        "lag-warn-normal": "최근 $1{{PLURAL:$1|초}} 안에 바뀐 문서는 이 목록에서 빠졌을 수 있습니다.",
        "lag-warn-high": "데이터베이스 서버의 과도한 부하 때문에 최근 $1{{PLURAL:$1|초}} 안에 바뀐 문서 목록은 보이지 않을 수 있습니다.",
        "watchlistedit-normal-title": "주시문서 목록 편집하기",
        "tags-edit-revision-legend": "{{PLURAL:$1|이 판|$1개 판 모두}}에 태그를 추가하거나 제거",
        "tags-edit-logentry-legend": "{{PLURAL:$1|이 기록|$1개 기록 모두}}에 태그를 추가하거나 제거",
        "tags-edit-existing-tags": "기존 태그:",
-       "tags-edit-existing-tags-none": "''없음''",
+       "tags-edit-existing-tags-none": "<em>없음</em>",
        "tags-edit-new-tags": "새 태그:",
        "tags-edit-add": "다음 태그를 추가:",
        "tags-edit-remove": "다음 태그를 제거:",
        "tags-edit-chosen-no-results": "일치하는 태그를 찾을 수 없습니다",
        "tags-edit-reason": "이유:",
        "tags-edit-revision-submit": "{{PLURAL:$1|이 판|$1개 판}}에 수정 사항을 적용",
-       "tags-edit-logentry-submit": "{{PLURAL:$1|이 기록|$1개 기록}}에 수정 사항을 적용",
-       "tags-edit-success": "수정사항이 성공적으로 적용되었습니다.",
+       "tags-edit-logentry-submit": "{{PLURAL:$1|이 기록 항목|$1개 기록 항목}}에 수정 사항을 적용",
+       "tags-edit-success": "바뀜이 적용되었습니다.",
        "tags-edit-failure": "수정 사항이 적용될 수 없습니다: $1",
        "tags-edit-nooldid-title": "대상 판이 잘못되었습니다",
        "tags-edit-nooldid-text": "이 기능을 수행할 특정 판을 제시하지 않았거나 해당 판이 없습니다.",
        "htmlform-user-not-valid": "<strong>$1</strong>은 올바른 사용자 이름이 아닙니다.",
        "sqlite-has-fts": "$1 (본문 전체 검색 지원)",
        "sqlite-no-fts": "$1 (본문 전체 검색 지원 제외)",
-       "logentry-delete-delete": "$1 사용자가 $3 문서를 {{GENDER:$2|삭제했습니다}}",
-       "logentry-delete-restore": "$1 사용자가 $3 문서를 {{GENDER:$2|되살렸습니다}}",
-       "logentry-delete-event": "$1 사용자가 $3의 {{PLURAL:$1|기록 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
-       "logentry-delete-revision": "$1 사용자가 $3 문서의 {{PLURAL:$5|$5개 편집}}의 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
-       "logentry-delete-event-legacy": "$1 사용자가 $3 문서 기록의 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-delete-revision-legacy": "$1 사용자가 $3 문서 편집의 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-suppress-delete": "$1 사용자가 $3 문서를 {{GENDER:$2|숨겼습니다}}",
-       "logentry-suppress-event": "$1 사용자가 비공개적으로 $3의 {{PLURAL:$5|기록 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
-       "logentry-suppress-revision": "$1 사용자가 비공개적으로 $3 문서의 {{PLURAL:$5|판 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
-       "logentry-suppress-event-legacy": "$1 사용자가 비공개적으로 $3의 항목에 대한 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-suppress-revision-legacy": "$1 사용자가 비공개적으로 $3 문서의 특정 판에 대한 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-delete-delete": "$1님이 $3 문서를 {{GENDER:$2|삭제했습니다}}",
+       "logentry-delete-restore": "$1님이 $3 문서를 {{GENDER:$2|되살렸습니다}}",
+       "logentry-delete-event": "$1님이 $3의 {{PLURAL:$1|기록 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
+       "logentry-delete-revision": "$1님이 $3 문서의 {{PLURAL:$5|$5개 편집}}의 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
+       "logentry-delete-event-legacy": "$1님이 $3 문서 기록의 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-delete-revision-legacy": "$1님이 $3 문서 편집의 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-suppress-delete": "$1님이 $3 문서를 {{GENDER:$2|숨겼습니다}}",
+       "logentry-suppress-event": "$1님이 비공개적으로 $3의 {{PLURAL:$5|기록 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
+       "logentry-suppress-revision": "$1님이 비공개적으로 $3 문서의 {{PLURAL:$5|판 $5개}}에 대해 보이기 설정을 {{GENDER:$2|바꾸었습니다}}: $4",
+       "logentry-suppress-event-legacy": "$1님이 비공개적으로 $3의 항목에 대한 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-suppress-revision-legacy": "$1님이 비공개적으로 $3 문서의 특정 판에 대한 보이기 설정을 {{GENDER:$2|바꾸었습니다}}",
        "revdelete-content-hid": "내용 숨겨짐",
        "revdelete-summary-hid": "편집 요약 숨겨짐",
        "revdelete-uname-hid": "사용자 이름 숨겨짐",
        "revdelete-uname-unhid": "사용자 이름 숨김 해제됨",
        "revdelete-restricted": "관리자에게 제한을 적용함",
        "revdelete-unrestricted": "관리자에 대한 제한을 해제함",
-       "logentry-block-block": "$1 {{GENDER:$2|사용자가}} {{GENDER:$4|$3}} 사용자를 $5 $6 설정으로 차단했습니다.",
-       "logentry-block-unblock": "$1 {{GENDER:$2|사용자가}} {{GENDER:$4|$3}} 사용자의 차단을 해제했습니다.",
-       "logentry-block-reblock": "$1 {{GENDER:$2|사용자가}} {{GENDER:$4|$3}} 사용자의 차단을 $5 $6 설정으로 변경했습니다.",
-       "logentry-suppress-block": "$1 {{GENDER:$2|사용자가}} {{GENDER:$4|$3}} 사용자를 $5 $6 설정으로 차단했습니다.",
-       "logentry-suppress-reblock": "$1 {{GENDER:$2|사용자가}} {{GENDER:$4|$3}} 사용자의 차단을 $5 $6 설정으로 변경했습니다.",
-       "logentry-import-upload": "$1 사용자가 $3 문서를 파일 올리기로 {{GENDER:$2|가져왔습니다}}",
-       "logentry-import-interwiki": "$1 사용자가 $3을 다른 위키에서 {{GENDER:$2|가져왔습니다}}",
-       "logentry-merge-merge": "$1 사용자가 $3 문서를 $4 안에 {{GENDER:$2|병합했습니다}} (판은 $5까지)",
-       "logentry-move-move": "$1 사용자가 $3 문서를 $4 문서로 {{GENDER:$2|이동했습니다}}",
-       "logentry-move-move-noredirect": "$1 사용자가 $3 문서를 넘겨주기를 만들지 않고 $4 문서로 {{GENDER:$2|옮겼습니다}}",
-       "logentry-move-move_redir": "$1 사용자가 $3 문서를 $4 문서로 {{GENDER:$2|이동하면서}} 넘겨주기를 덮어썼습니다",
-       "logentry-move-move_redir-noredirect": "$1 사용자가 $3 문서를 $4 문서로 넘겨주기를 남기지 않고 {{GENDER:$2|이동하면서}} 이동할 대상에 있던 넘겨주기를 덮어썼습니다",
-       "logentry-patrol-patrol": "$1 사용자가 $3 문서의 $4판을 점검한 것으로 {{GENDER:$2|표시했습니다}}",
-       "logentry-patrol-patrol-auto": "$1 사용자가 자동적으로 $3 문서의 $4판을 점검한 것으로 {{GENDER:$2|표시했습니다}}",
+       "logentry-block-block": "$1님이 {{GENDER:$4|$3}}님을 $5 {{GENDER:$2|차단했습니다}} $6",
+       "logentry-block-unblock": "$1님이 {{GENDER:$4|$3}} 사용자의 {{GENDER:$2|차단을 해제했습니다}}",
+       "logentry-block-reblock": "$1님이 {{GENDER:$4|$3}} 사용자의 차단 기간을 $5 설정으로 {{GENDER:$2|바꾸었습니다}} $6",
+       "logentry-suppress-block": "$1님이 {{GENDER:$4|$3}} 사용자를 $5 {{GENDER:$2|차단했습니다}} $6",
+       "logentry-suppress-reblock": "$1님이 {{GENDER:$4|$3}} 사용자의 차단 기간을 $5 설정으로 {{GENDER:$2|바꾸었습니다}} $6",
+       "logentry-import-upload": "$1님이 $3 문서를 파일 올리기로 {{GENDER:$2|가져왔습니다}}",
+       "logentry-import-upload-details": "$1님이 $3 문서 ({{PLURAL:$4|판}} $4개)를 파일 올리기로 {{GENDER:$2|가져왔습니다}}",
+       "logentry-import-interwiki": "$1님이 $3 문서를 다른 위키에서 {{GENDER:$2|가져왔습니다}}",
+       "logentry-import-interwiki-details": "$1님이 $3 문서 ({{PLURAL:$4|판}} $4개)를 다른 위키에서 {{GENDER:$2|가져왔습니다}}",
+       "logentry-merge-merge": "$1님이 $3 문서를 $4 안에 {{GENDER:$2|병합했습니다}} (판은 $5까지)",
+       "logentry-move-move": "$1님이 $3 문서를 $4 문서로 {{GENDER:$2|이동했습니다}}",
+       "logentry-move-move-noredirect": "$1님이 $3 문서를 넘겨주기를 만들지 않고 $4 문서로 {{GENDER:$2|이동했습니다}}",
+       "logentry-move-move_redir": "$1님이 $3 문서를 $4 문서로 {{GENDER:$2|이동하면서}} 넘겨주기를 덮어썼습니다",
+       "logentry-move-move_redir-noredirect": "$1님이 $3 문서를 $4 문서로 넘겨주기를 남기지 않고 {{GENDER:$2|이동하면서}} 이동할 대상에 있던 넘겨주기를 덮어썼습니다",
+       "logentry-patrol-patrol": "$1님이 $3 문서의 $4판을 점검한 것으로 {{GENDER:$2|표시했습니다}}",
+       "logentry-patrol-patrol-auto": "$1님이 자동적으로 $3 문서의 $4판을 점검한 것으로 {{GENDER:$2|표시했습니다}}",
        "logentry-newusers-newusers": "$1 사용자 계정을 {{GENDER:$2|만들었습니다}}",
        "logentry-newusers-create": "$1 사용자 계정을 {{GENDER:$2|만들었습니다}}",
-       "logentry-newusers-create2": "$1 사용자가 $3 사용자 계정을 {{GENDER:$2|만들었습니다}}",
+       "logentry-newusers-create2": "$3 사용자 계정을 $1님이 {{GENDER:$2|만들었습니다}}",
        "logentry-newusers-byemail": "$3 사용자 계정을 $1님이 {{GENDER:$2|만들었고}} 비밀번호는 이메일로 보냈습니다",
        "logentry-newusers-autocreate": "$1 사용자 계정을 자동으로 {{GENDER:$2|만들었습니다}}",
-       "logentry-protect-move_prot": "$1 사용자가 보호 설정을 $4에서 $3으로 {{GENDER:$2|이동했습니다}}",
-       "logentry-protect-unprotect": "$1 사용자가 $3 문서의 보호를 {{GENDER:$2|해제했습니다}}",
-       "logentry-protect-protect": "$1 사용자가 $3 문서를 {{GENDER:$2|보호했습니다}} $4",
-       "logentry-protect-protect-cascade": "$1 사용자가 $3 문서를 {{GENDER:$2|보호했습니다}} $4 [연쇄적]",
-       "logentry-protect-modify": "$1 사용자가 $3 문서의 보호 수준을 {{GENDER:$2|바꾸었습니다}} $4",
-       "logentry-protect-modify-cascade": "$1 사용자가 $3 문서의 보호 수준을 {{GENDER:$2|바꾸었습니다}} $4 [연쇄적]",
-       "logentry-rights-rights": "$1 사용자가 $3 사용자의 권한을 $4에서 $5(으)로 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-rights-rights-legacy": "$1 사용자가 $3 사용자의 권한을 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-rights-autopromote": "$1 사용자의 권한을 자동적으로 $4에서 $5으로 {{GENDER:$2|바꾸었습니다}}",
-       "logentry-upload-upload": "$1 사용자가 $3 파일을 {{GENDER:$2|올렸습니다}}",
-       "logentry-upload-overwrite": "$1 사용자가 $3의 새 판을 {{GENDER:$2|올렸습니다}}",
-       "logentry-upload-revert": "$1 사용자가 $3 파일을 {{GENDER:$2|올렸습니다}}",
+       "logentry-protect-move_prot": "$1님이 보호 설정을 $4에서 $3으로 {{GENDER:$2|이동했습니다}}",
+       "logentry-protect-unprotect": "$1님이 $3 문서의 보호를 {{GENDER:$2|해제했습니다}}",
+       "logentry-protect-protect": "$1님이 $3 문서를 {{GENDER:$2|보호했습니다}} $4",
+       "logentry-protect-protect-cascade": "$1님이 $3 문서를 {{GENDER:$2|보호했습니다}} $4 [연쇄적]",
+       "logentry-protect-modify": "$1님이 $3 문서의 보호 수준을 {{GENDER:$2|바꾸었습니다}} $4",
+       "logentry-protect-modify-cascade": "$1님이 $3 문서의 보호 수준을 {{GENDER:$2|바꾸었습니다}} $4 [연쇄적]",
+       "logentry-rights-rights": "$1님이 $3 사용자의 권한을 $4에서 $5(으)로 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-rights-rights-legacy": "$1님이 $3 사용자의 권한을 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-rights-autopromote": "$1님이 권한을 자동적으로 $4에서 $5으로 {{GENDER:$2|바꾸었습니다}}",
+       "logentry-upload-upload": "$1님이 $3 파일을 {{GENDER:$2|올렸습니다}}",
+       "logentry-upload-overwrite": "$1님이 $3의 새 판을 {{GENDER:$2|올렸습니다}}",
+       "logentry-upload-revert": "$1님이 $3 파일을 {{GENDER:$2|올렸습니다}}",
        "log-name-managetags": "태그 관리 기록",
        "log-description-managetags": "이 문서는 [[Special:Tags|태그]]에 관한 관리 작업의 목록입니다. 이 기록에는 관리자가 직접 실행한 동작만이 기록되며, 위키 소프트웨어에 의해 태그가 생성 및 삭제되는 경우는 기록되지 않습니다.",
-       "logentry-managetags-create": "$1 {{GENDER:$2|사용자가}} \"$4\" 태그를 만들었습니다",
-       "logentry-managetags-delete": "$1 {{GENDER:$2|사용자가}} \"$4\" 태그를 삭제하였습니다 ($5개 {{PLURAL:$5|판 및 기록}}에서 제거되었습니다)",
-       "logentry-managetags-activate": "$1 {{GENDER:$2|사용자가}} \"$4\" 태그를 사용자나 봇이 사용하도록 활성화시켰습니다",
-       "logentry-managetags-deactivate": "$1 {{GENDER:$2|사용자가}} \"$4\" 태그를 사용자나 봇이 사용하지 못하도록 비활성화시켰습니다",
+       "logentry-managetags-create": "$1님이 \"$4\" 태그를 {{GENDER:$2|만들었습니다}}",
+       "logentry-managetags-delete": "$1님이 \"$4\" 태그를 삭제하였습니다 ($5개 {{PLURAL:$5|판 및 기록}}에서 {{GENDER:$2|제거되었습니다}})",
+       "logentry-managetags-activate": "$1님이 \"$4\" 태그를 사용자나 봇이 사용하도록 {{GENDER:$2|활성화시켰습니다}}",
+       "logentry-managetags-deactivate": "$1님이 \"$4\" 태그를 사용자나 봇이 사용하지 못하도록 {{GENDER:$2|비활성화시켰습니다}}",
        "log-name-tag": "태그 기록",
        "log-description-tag": "이 문서는 사용자들이 특정 판이나 기록 항목에서 [[Special:Tags|태그]]를 추가하고 제거한 경우를 보여줍니다. 이 기록에는 편집이나 삭제, 이와 유사한 행위를 통해 태그가 붙는 경우는 기록되지 않습니다.",
-       "logentry-tag-update-add-revision": "$1 사용자가 $3 문서의 $4판에 $6 {{PLURAL:$7|태그}}를 {{GENDER:$2|추가했습니다}}",
-       "logentry-tag-update-add-logentry": "$1 사용자가 $3 문서의 기록 항목 $5에 $6 {{PLURAL:$7|태그}}를 {{GENDER:$2|추가했습니다}}",
-       "logentry-tag-update-remove-revision": "$1 사용자가 $3 문서의 $4판에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
-       "logentry-tag-update-remove-logentry": "$1 사용자가 $3 문서의 기록 항목 $5에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
-       "logentry-tag-update-revision": "$1 사용자가 $3 문서의 $4 판에서 태그를 {{GENDER:$2|수정했습니다}} ($6을(를) {{PLURAL:$7|추가함}}; $8을(를) {{PLURAL:$9|제거함}})",
+       "logentry-tag-update-add-revision": "$1님이 $3 문서의 $4판에 $6 {{PLURAL:$7|태그}}를 {{GENDER:$2|추가했습니다}}",
+       "logentry-tag-update-add-logentry": "$1님이 $3 문서의 기록 항목 $5에 $6 {{PLURAL:$7|태그}}를 {{GENDER:$2|추가했습니다}}",
+       "logentry-tag-update-remove-revision": "$1님이 $3 문서의 $4판에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
+       "logentry-tag-update-remove-logentry": "$1님이 $3 문서의 기록 항목 $5에서 $8 {{PLURAL:$9|태그}}를 {{GENDER:$2|제거했습니다}}",
+       "logentry-tag-update-revision": "$1님이 $3 문서의 $4 판에서 태그를 {{GENDER:$2|업데이트했습니다}} ($6 {{PLURAL:$7|추가함}}; $8 {{PLURAL:$9|제거함}})",
+       "logentry-tag-update-logentry": "$1님이 $3 문서의 기록 항목 $5에 있는 태그를 {{GENDER:$2|업데이트했습니다}} ($6 {{PLURAL:$7|추가함}}; $8 {{PLURAL:$9|제거함}})",
        "rightsnone": "(없음)",
        "revdelete-summary": "편집 요약",
        "feedback-adding": "문서에 피드백을 올리는 중...",
        "action-pagelang": "문서 언어 바꾸기",
        "log-name-pagelang": "언어 바꾸기 기록",
        "log-description-pagelang": "문서 언어를 바꾼 기록입니다.",
-       "logentry-pagelang-pagelang": "$1 사용자가 $3의 언어를 $4에서 $5로 {{GENDER:$2|바꾸었습니다}}.",
+       "logentry-pagelang-pagelang": "$1님이 $3의 언어를 $4에서 $5로 {{GENDER:$2|바꾸었습니다}}",
        "default-skin-not-found": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치에는 다음 {{PLURAL:$4|스킨}}이 포함된 것으로 보입니다. 스킨을 활성화{{PLURAL:$4||하고 기본값으로 선택}}하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.\n\n$2\n\n; 미디어위키를 설치했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다.\n\n; 미디어위키를 업그레이드했다면:\n: 미디어위키 1.24와 새 버전은 더 이상 설치된 스킨을 자동으로 활성화하지 않습니다 ([https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: 스킨 자동발견]을 보세요). 현재 설치된 {{PLURAL:$5|스킨|모든 스킨}}을 활성화하려면 <code>LocalSettings.php</code> 안에 다음 {{PLURAL:$5|줄}}을 붙여 넣을 수 있습니다:\n\n<pre dir=\"ltr\">$3</pre>\n\n; <code>LocalSettings.php</code>를 수정했다면:\n: 스킨 이름에 오타가 났는지 다시 확인하세요.",
        "default-skin-not-found-no-skins": "이런! 당신의 위키에 <code dir=\"ltr\">$wgDefaultSkin</code>에 <code>$1</code>(으)로 지정한 기본 스킨은 사용할 수 없습니다.\n\n설치된 스킨은 없습니다.\n\n; 미디어위키를 설치했거나 업그레이드했다면:\n: 아마 git에서 설치했거나, 어떤 다른 방법을 사용하여 직접 설치했을 수 있을 것으로 봅니다. 미디어위키 1.24와 새 버전은 주 저장소에 어떠한 스킨도 포함되어 있지 않습니다. [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org의 스킨 디렉터리]에서 어떤 스킨을 설치해보세요:\n:* 여러 스킨과 확장 기능이 들어 있는 [https://www.mediawiki.org/wiki/Download tarball 설치 관리자]를 다운로드하세요. 거기서 <code>skins/</code> 디렉터리를 복사하여 붙여 넣을 수 있습니다.\n:* [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]에서 개별 스킨 tarball을 다운로드하세요.\n:* 미디어위키 설치의 <code dir=\"ltr\">skins/</code> 디렉터리 안에 git를 통해 <code>mediawiki/skins/*</code> 저장소 중 하나를 복제하세요.\n: 당신이 미디어위키 개발자이면 당신의 git 저장소를 방해하면 안됩니다. 스킨을 활성화하고 기본값으로 선택하는 방법에 대한 정보에 대해서는 [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: 스킨 설정]을 보세요.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (활성화)",
        "mw-widgets-titleinput-description-new-page": "문서가 존재하지 않습니다",
        "mw-widgets-titleinput-description-redirect": "$1 문서로 넘겨주기",
        "api-error-blacklisted": "이 파일을 설명할 수 있는 다른 제목을 선택하세요.",
+       "sessionmanager-tie": "여러 요청 인증 유형 결합할 수 없습니다: $1.",
        "sessionprovider-generic": "$1 세션",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "쿠키 기반 세션",
        "sessionprovider-nocookies": "브라우저의 쿠키 기능이 꺼져 있는지 확인하십시오. 쿠키 기능을 켠 다음 다시 시작해야 합니다.",
index 3e2c5f1..f5caff6 100644 (file)
        "mergelog": "Acta confundendi",
        "revertmerge": "Inconfundere",
        "history-title": "Historia paginae \"$1\"",
+       "difference-title": "Quantum redactiones paginae \"$1\" differant",
        "lineno": "Linea $1:",
        "compareselectedversions": "Redactiones selectas conferre",
        "showhideselectedversions": "Redactiones selectas vel ostendi vel celari iubere",
        "preferences": "Modi",
        "mypreferences": "Modi",
        "prefs-edits": "Numerus recensionum:",
-       "prefs-skin": "Aspectum",
+       "prefs-skin": "Formae delectus",
        "skin-preview": "Prospectus",
        "datedefault": "Modus nondum delectus",
        "prefs-user-pages": "Paginae usoris",
        "prefs-misc": "Misc",
        "prefs-resetpass": "Tesseram mutare",
        "prefs-email": "Modi ad litteras electronicas spectantes",
-       "prefs-rendering": "Conspectus",
+       "prefs-rendering": "Aspectus",
        "saveprefs": "Hos modos servare",
        "restoreprefs": "Omnes (diversi) modi in integrum restituantur",
        "prefs-editing": "Recensere",
        "recentchangescount": "Quot mutationes index respiciat:",
        "prefs-help-recentchangescount": "Inclusis nuper mutatis, paginarum historiis, actis",
        "savedprefs": "Modi tui servati sunt.",
-       "timezonelegend": "Zona temporis:",
+       "timezonelegend": "Zona temporalis:",
        "localtime": "Hora indigena:",
        "timezoneuseoffset": "Alia (da dissimilitudinem cinguli horae)",
        "servertime": "Hora moderatri:",
        "prefs-info": "Generalia",
        "prefs-i18n": "Sermonis delectus",
        "prefs-signature": "Subscriptio",
+       "prefs-dateformat": "Forma temporalium",
+       "prefs-timeoffset": "Zona temporalis",
        "prefs-advancedediting": "Generalia",
        "prefs-editor": "Capsa editoria",
        "prefs-preview": "Prospectus",
        "rcshowhidecategorization-show": "Ostendere",
        "rcshowhidecategorization-hide": "Supprimere",
        "rclinks": "Monstrare $1 nuperrime mutata in $2 diebus proximis.<br />$3",
-       "diff": "diss",
+       "diff": "diff",
        "hist": "hist",
        "hide": "celare",
        "show": "monstrare",
index 965be18..d4544dd 100644 (file)
        "tog-underline": "लिङ्कके रेखाङ्कित करी:",
        "tog-hideminor": "सन्निकट परिवर्तनमे छोट परिवर्तन नुकाबी",
        "tog-hidepatrolled": "सन्निकट परिवर्तनमे नियन्त्रित कएल सम्पादन नुकाबी",
-       "tog-newpageshidepatrolled": "नियन्त्रित सम्पादनक नव पन्ना सूचीसँ नुकाबी",
+       "tog-newpageshidepatrolled": "नियन्त्रित सम्पादनक नव पन्ना सूचीसँ नुकाबी",
        "tog-hidecategorization": "पृष्ठसभक श्रेणीकरण हटाबी",
        "tog-extendwatchlist": "सन्निकट परिवर्तन नै,अखन ध्यानसूचीमे रहल सभ परिवर्तन देखाबी",
        "tog-usenewrc": "नीक सन्निकट परिवर्तन प्रयोग करी (जावास्क्रिप्ट चाही)",
-       "tog-numberheadings": "शà¥\80रà¥\8dषà¤\95 à¤¸à¥\8dवयà¤\82-à¤\95à¥\8dरमाà¤\82कित करी",
+       "tog-numberheadings": "शà¥\80रà¥\8dषà¤\95 à¤¸à¥\8dवयà¤\82-à¤\95à¥\8dरमाà¤\99à¥\8dकित करी",
        "tog-showtoolbar": "सम्पादन ओजारपेटी देखाबी",
        "tog-editondblclick": "दू बेर क्लीक कए पन्ना सम्पादित करी",
        "tog-editsectiononrightclick": "अनुभाग शीर्षक पर दाहिन क्लिक करै पर अनुभाग सम्पादित करी",
        "tog-watchdefault": "हमर सम्पादित पृष्ठ हमर साकांक्ष सूचीमे देखाबी",
        "tog-watchmoves": "हमराद्वारा घस्काओल पृष्ठ हमर साकांक्ष सूचीमे राखी",
        "tog-watchdeletion": "हमराद्वारा मेटाओल पृष्ठ हमर साकांक्ष सूचीमे राखी",
-       "tog-watchrollback": "हमरा द्वारा जोडलगेल पृष्ठ हमार सांकक्ष सूचीमे राखू",
+       "tog-watchrollback": "हमराद्वारा रोलब्याक कएल पृष्ठ हमर सांकक्ष सूचीमे राखी",
        "tog-minordefault": "हमर सभ सम्पादन पूर्वन्यस्त रूपेँ मामूली कहू",
        "tog-previewontop": "सम्पादन पेटीक ऊपर दृश्य देखाबी",
        "tog-previewonfirst": "पहिल सम्पादनक बाद पूर्वावलोकन देखाबी",
-       "tog-enotifwatchlistpages": "à¤\9cà¥\8cà¤\82 à¤¹à¤®à¤° à¤§à¥\8dयानसà¥\82à¤\9aà¥\80à¤\95 à¤\95à¥\8bनà¥\8b à¤ªà¤¨à¥\8dनामà¥\87 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतन à¤¹à¥\81à¤\85à¤\8f à¤¤à¤\81 à¤¹à¤®à¤°à¤¾ à¤\88-पतà¥\8dर à¤ªà¤ à¤¾à¤\89",
-       "tog-enotifusertalkpages": "हमर à¤¸à¤¦à¤¸à¥\8dय à¤µà¤¾à¤°à¥\8dता à¤ªà¥\83षà¥\8dठ à¤ªà¤° à¤­à¥\87ल à¤ªà¤°à¤¿à¤µà¤°à¥\8dतà¥\8dतनà¤\95 à¤¹à¥\87तà¥\81 à¤¹à¤®à¤°à¤¾ à¤\88-मà¥\87ल à¤\95रथि",
-       "tog-enotifminoredits": "à¤\9bà¥\8bà¤\9f à¤ªà¤°à¤¿à¤µà¤°à¥\8dतà¥\8dतनà¤\95 à¤¹à¥\87तà¥\81 à¤¸à¥\87हà¥\8b à¤¹à¤®à¤°à¤¾ à¤\88-मà¥\87ल à¤ªà¤ à¤¾à¤\8a",
-       "tog-enotifrevealaddr": "हमर à¤\88-पतà¥\8dर à¤¸à¤\82à¤\95à¥\87त à¤¸à¥\82à¤\9aना à¤\88-पतà¥\8dरमà¥\87 à¤¦à¥\87à¤\96ाà¤\89",
-       "tog-shownumberswatching": "धà¥\8dयान à¤°à¤¾à¤\96à¥\88बला à¤ªà¥\8dरयà¥\8bà¤\95्ताक संख्या",
+       "tog-enotifwatchlistpages": "à¤\9cà¥\8cà¤\82 à¤¹à¤®à¤° à¤§à¥\8dयानसà¥\82à¤\9aà¥\80à¤\95 à¤\95à¥\8bनà¥\8b à¤ªà¤¨à¥\8dनामà¥\87 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतन à¤¹à¥\81à¤\85à¤\8f à¤¤à¤\81 à¤¹à¤®à¤°à¤¾ à¤\87मà¥\87ल à¤ªà¤ à¤¾à¤¬à¥\80",
+       "tog-enotifusertalkpages": "हमर à¤µà¤¾à¤°à¥\8dता à¤ªà¥\83षà¥\8dठ à¤ªà¤°à¤¿à¤µà¤°à¥\8dतित à¤­à¥\87ला à¤ªà¤° à¤¹à¤®à¤°à¤¾ à¤\87मà¥\87ल à¤\95रà¥\80",
+       "tog-enotifminoredits": "à¤\9bà¥\8bà¤\9f à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनà¤\95 à¤¹à¥\87तà¥\81 à¤¸à¥\87हà¥\8b à¤¹à¤®à¤°à¤¾ à¤\87मà¥\87ल à¤­à¥\87à¤\9cà¥\80",
+       "tog-enotifrevealaddr": "à¤\85धिसà¥\82à¤\9aना à¤\87मà¥\87लमà¥\87 à¤¹à¤®à¤° à¤\87मà¥\87ल à¤ªà¤¤à¤¾ à¤¦à¥\87à¤\96ाबà¥\80",
+       "tog-shownumberswatching": "धà¥\8dयान à¤°à¤¾à¤\96à¥\88बला à¤ªà¥\8dरयà¥\8bà¤\97à¤\95र्ताक संख्या",
        "tog-oldsig": "अखुनका दस्खत:",
-       "tog-fancysig": "दस्खतकें विकिटेक्सटक रूपमे देखू (स्वचालित श्रृंखला हीन)",
+       "tog-fancysig": "दस्खतक विकिटेक्सटक समान मानी (स्वचालित श्रृंखला हीन)",
        "tog-uselivepreview": "पूर्वावलोकनके उपयोग करी",
-       "tog-forceeditsummary": "हमरा à¤¸à¤\9aà¥\87त à¤\95रà¥\82 à¤\9cà¤\96न à¤¹à¤® à¤\96ालà¥\80 à¤¸à¤®à¥\8dपादम à¤¸à¤¾à¤°à¤¾à¤\82शमà¥\87 à¤\9cाà¤\87",
+       "tog-forceeditsummary": "यदि à¤¸à¤®à¥\8dपादन à¤¸à¤¾à¤°à¤¾à¤\82श à¤¨à¥\88 à¤¦à¥\87ल à¤\97à¥\87ल à¤¹à¥\8bà¤\8f à¤¤à¤¹à¤¨ à¤¹à¤®à¤°à¤¾ à¤¸à¥\82à¤\9aित à¤\95रà¥\80",
        "tog-watchlisthideown": "हमर साकांक्ष सूचीसँ हमर सम्पादन नुकाउ",
        "tog-watchlisthidebots": "हमर साकांक्ष सूचीसँ स्वचालित सम्पादन हटाउ",
        "tog-watchlisthideminor": "हमर साकांक्ष सूचीसँ मामूली सम्पादन नुकाउ",
index 7e30340..7ad983a 100644 (file)
        "revdelete-nooldid-title": "တရားမဝင်သော မူအမည်",
        "revdelete-no-file": "ဖော်ပြထားသောဖိုင် မရှိပါ။",
        "revdelete-show-file-submit": "မှန်",
+       "revdelete-selected-file": "[[:$2]] ၏ ရွေးချယ်ထားသော {{PLURAL:$1|ဖိုင်ဗားရှင်း|ဖိုင်ဗားရှင်းများ}}:",
+       "revdelete-text-text": "ဖျက်လိုက်သည့် မူများသည် စာမျက်နှာရာဇဝင်တွင် ရှိနေဦးမည်ဖြစ်သော်လည်း ထိုပါဝင်အကြောင်းအရာသည် အများပြည်သူမှ မြင်ရတော့မည် မဟုတ်ပေ။",
+       "logdelete-text": "ဖျက်လိုက်သော မှတ်တမ်းသည် မှတ်တမ်းများထဲတွင် ပေါ်နေဦးမည်ဖြစ်သော်လည်း ပါဝင်အကြောင်းအရာကို အများပြည်သူများ မြင်ရတော့မည် မဟုတ်ပေ။",
+       "revdelete-text-others": "အပိုကန့်သတ်ချက်များကို မထည့်ထားပါက အခြားသော အက်ဒမင်များအနေဖြင့် ဝှက်ထားသော အကြောင်းအရာကို ကြည့်နိုင်ပြီး ဖျက်ထားခြင်းကို ပယ်ဖျက်နိုင်သည်။",
+       "revdelete-confirm": "ဤသို့ ဖျက်ပစ်ရန် သင် အမှန်တကယ် ရည်ရွယ်လျက် နောက်ဆက်တွဲ အကျိုးဆက်များကို သိရှိနားလည်ပြီး [[{{MediaWiki:Policy-url}}|မူဝါဒ]]အတိုင်း လုပ်ဆောင်နေခြင်းဖြစ်ကြောင်းကို ကျေးဇူးပြု၍ အတည်ပြုပေးပါ။",
        "revdelete-legend": "မြင်နိုင်စွမ်းရှိမှုတို့အား ကန့်သတ်ခြင်းကို သတ်မှတ်ရန်",
        "revdelete-hide-text": "တည်းဖြတ်မူမှ စာသား",
        "revdelete-hide-image": "ဖိုင်ပါ အေကြာင်းအရာများကို ဝှက်ရန်",
        "rcshowhideanons": "အမည်မသိ အသုံးပြုသူ $1ရန်",
        "rcshowhideanons-show": "ပြသရန်",
        "rcshowhideanons-hide": "ဝှက်",
-       "rcshowhidepatr": "á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80¼á\80\80ပ်တည်းဖြတ်မှု $1ရန်",
+       "rcshowhidepatr": "á\80\85á\80±á\80¬á\80\84á\80·á\80ºá\80\80á\80¼ပ်တည်းဖြတ်မှု $1ရန်",
        "rcshowhidepatr-show": "ပြသရန်",
        "rcshowhidepatr-hide": "ဝှက်ရန်",
        "rcshowhidemine": "ကျွန်ုပ်တည်းဖြတ်ထားသည်များ $1",
        "notanarticle": "မာတိကာစာမျက်နှာတစ်ခု မဟုတ်",
        "watchlist-details": "{{PLURAL:$1|စာမျက်နှာ $1 ခု|စာမျက်နှာ $1 ခု}} သည် သင့်စောင့်ကြည့်စာရင်းတွင် ရှိပြီး ဆွေးနွေးချက်စာမျက်နှာများကို ထည့်တွက် မထားပါ။",
        "wlheader-showupdated": "သင် နောက်ဆုံးကြည့်ရှုခဲ့ပြီးနောက် ပြောင်းလဲမှုရှိခဲ့သော စာမျက်နှာများကို <strong>စာလုံးမဲ</strong> ဖြင့် ပြသထားသည်",
+       "wlnote": "အောက်ပါတို့သည် $3၊ $4 အထိ နောက်ဆုံး {{PLURAL:$2|နာရီ|<strong>$2</strong> နာရီ}}အတွင်း {{PLURAL:$1|နောက်ဆုံးပြောင်းလဲချက် တစ်ခု|နောက်ဆုံးပြောင်းလဲချက်များ <strong>$1</strong> ခု}} ဖြစ်သည်။",
        "wlshowlast": "နောက်ဆုံး $1 နာရီ $2 ရက်  ကိုပြရန်",
        "watchlist-hide": "ဝှက်",
        "watchlist-submit": "ပြသရန်",
+       "wlshowtime": "ပြသပေးရမည့် အချိန်ကာလ:",
        "wlshowhideminor": "အရေးမကြီးသော ပြင်ဆင်မှုများ",
        "wlshowhideliu": "မှတ်ပုံတင်ထားသော အသုံးပြုသူများ",
        "wlshowhideanons": "အမည်မသိ အသုံးပြုသူများ",
+       "wlshowhidemine": "ကျွန်ုပ်၏ တည်းဖြတ်မှုများ",
        "wlshowhidecategorization": "စာမျက်နှာ ကဏ္ဍထည့်သွင်းခြင်း",
        "watchlist-options": "စောင့်ကြည့်စာရင်းအတွက် ရွေးချယ်စရာများ",
        "watching": "စောင့်ကြည့်လျက်ရှိ...",
        "whatlinkshere-prev": "{{PLURAL:$1|နောက်သို့|နောက်သို့ $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|ရှေ့သို့|ရှေ့သို့ $1}}",
        "whatlinkshere-links": "← လင့်များ",
-       "whatlinkshere-hideredirs": "redirect ပြန်ညွှန်း $1 ခု",
+       "whatlinkshere-hideredirs": "ပြန်ညွှန်းများ $1ရန်",
        "whatlinkshere-hidetrans": "ထည့်သွင်းကူးယူချက် $1 ခု",
        "whatlinkshere-hidelinks": "လင့် $1 ခု",
        "whatlinkshere-hideimages": "ဖိုင်အချိတ်အဆက်များ $1 ခု",
        "autosumm-new": "\"$1\" အစချီသော စာလုံးတို့နှင့် စာမျက်နှာကို ဖန်တီးလိုက်သည်",
        "watchlistedit-normal-title": "စောင့်ကြည့်စာရင်းကို တည်းဖြတ်ရန်",
        "watchlistedit-normal-legend": "စောင့်ကြည့်စာရင်းမှ ခေါင်းစဉ်များကို ဖျက်ရန်",
+       "watchlistedit-normal-explain": "သင်၏ စောင့်ကြည့်စာရင်းရှိ ခေါင်းစဉ်များကို အောက်တွင် ပြသထားသည်။\nခေါင်းစဉ်တစ်ခုကို ဖယ်ရှားရန် ထိုခေါင်းစဉ်ဘေးရှိ အကွက်တွင် အမှန်ခြစ်ပြီး \"{{int:Watchlistedit-normal-submit}}\" ကိုနှိပ်ပါ။\n[[Special:EditWatchlist/raw|စောင့်ကြည့်စာရင်း အကြမ်း]]ကိုလည်း ကြည့်နိုင်ပါသည်။",
        "watchlistedit-normal-submit": "ခေါင်းစဉ်များကို ဖယ်ရှားရန်",
+       "watchlistedit-normal-done": "{{PLURAL:$1|ခေါင်းစဉ်တစ်ခု|ခေါင်းစဉ် $1 ခုတို့}}ကို သင်၏ စောင့်ကြည့်စာရင်းမှ ဖယ်ရှားပြီးပြီ:",
        "watchlistedit-raw-titles": "ခေါင်းစဉ်များ -",
        "watchlisttools-view": "ကိုက်ညီသော အပြောင်းအလဲများကို ကြည့်ရန်",
        "watchlisttools-edit": "စောင့်ကြည့်စာရင်းများကို ကြည့်ပြီး တည်းဖြတ်ပါ။",
        "htmlform-reset": "ပြောင်းလဲထားသည်များ မလုပ်တော့ရန်",
        "htmlform-selectorother-other": "အခြား",
        "logentry-delete-delete": "$3 စာမျက်နှာကို $1 က {{GENDER:$2|ဖျက်ပစ်ခဲ့သည်}}",
+       "logentry-delete-revision": "$3 စာမျက်နှာပေါ်ရှိ {{PLURAL:$5|တည်းဖြတ်မူတစ်ခု|တည်းဖြတ်မူ $5 ခု}}၏ အမြင်ပုံစံကို $1 က {{GENDER:$2|ပြောင်းလဲခဲ့သည်}}: $4",
+       "revdelete-content-hid": "အကြောင်းအရာ ဝှက်ခြင်း",
        "revdelete-restricted": "အက်ဒမင်များသို့ ကန့်သတ်ချက်များ သက်ရောက်ရန်",
        "revdelete-unrestricted": "အက်ဒမင်များအတွက် ကန့်သတ်ချက်များကို ဖယ်ရှားရန်",
        "logentry-move-move": "$3 စာမျက်နှာကို $4 သို့ $1က {{GENDER:$2|ရွှေ့ခဲ့သည်}}",
        "logentry-move-move-noredirect": "$3 မှ $4 သို့ စာမျက်နှာကို ပြန်ညွှန်းချန်မထားပဲ $1 {{GENDER:$2|က ရွှေ့ခဲ့သည်}}",
        "logentry-newusers-create": "အသုံးပြုသူအကောင့် $1 ကို {{GENDER:$2|ဖန်တီးခဲ့သည်}}",
        "logentry-upload-upload": "$1 သည် $3 ကို {{GENDER:$2|upload တင်ခဲ့သည်}}",
+       "logentry-upload-overwrite": "$3 ၏ ဗားရှင်းအသစ်ကို $1 {{GENDER:$2|upload တင်ခဲ့သည်}}",
        "rightsnone": "(ဘာမှမရှိ)",
        "revdelete-summary": "အကျဉ်းချုပ်ကို တည်းဖြတ်ရန်",
        "searchsuggest-search": "ရှာဖွေရန်",
index ec42bff..608b0d1 100644 (file)
        "statistics-header-users": "Nummere vun Yuuser",
        "statistics-pages": "Bledder",
        "doubleredirects": "Zweefache Weiderleidinge",
-       "double-redirect-fixer": "Xqbot",
        "brokenredirects": "Kaputte Weiderleidinge",
        "brokenredirects-edit": "ennere",
        "brokenredirects-delete": "verwische",
        "contribslink": "Ardickele",
        "move-page": "„$1“ ziehe",
        "move-page-legend": "Blatt ziehe",
-       "movearticle": "Blatt ziehe:",
        "move-watch": "watsch des Blatt",
        "movepagebtn": "Blatt ziehe",
        "pagemovedsub": "Blatt iss gezoge warre",
index cb6bd27..d15d3ac 100644 (file)
        "api-error-stashfailed": "Błąd wewnętrzny – serwer nie mógł zapisać pliku tymczasowego.",
        "api-error-publishfailed": "Błąd wewnętrzny: serwer nie mógł zapisać pliku tymczasowego.",
        "api-error-stasherror": "Wystąpił błąd podczas przesyłania pliku.",
-       "api-error-stashedfilenotfound": "Nie odnaleziono pliku zapasowego podczas próby jego pobrania z archiwum.",
+       "api-error-stashedfilenotfound": "Nie odnaleziono pliku podczas próby pobrania go ze schowka.",
        "api-error-stashpathinvalid": "Ścieżka do pliku zapasowego jest błędna.",
        "api-error-stashfilestorage": "Wystąpił błąd podczas przesyłania pliku do archiwum.",
        "api-error-stashzerolength": "Serwer nie może zapisać pliku zapasowego do archiwum, gdyż ma on zerową długość.",
index 9cd362a..8257539 100644 (file)
        "editcomment": "د سمون لنډيز دا و: \"''$1''\".",
        "changecontentmodel-title-label": "مخ سرليک",
        "changecontentmodel-reason-label": "سبب:",
+       "changecontentmodel-submit": "بدلول",
        "logentry-contentmodel-change-revertlink": "په څټ گرځول",
        "logentry-contentmodel-change-revert": "په څټ گرځول",
        "protectlogpage": "د ژغورنې يادښت",
index 84bd3ad..7d6cba5 100644 (file)
        "recentchangeslinked-page": "Nome da página:",
        "recentchangeslinked-to": "Inversamente, mostrar mudanças às páginas que contêm ligações para esta",
        "recentchanges-page-added-to-category": "[[:$1]] foi adicionada à categoria",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] e {{PLURAL:$2|uma outra página|$2 outras páginas}} foram adicionadas à categoria",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] e [[Special:WhatLinksHere/$1|{{PLURAL:$2|uma outra página|$2 outras páginas}}]] foram adicionadas à categoria",
        "recentchanges-page-removed-from-category": "[[:$1]] foi removida da categoria",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e {{PLURAL:$2|uma outra página|$2 outras páginas}} foram removidas da categoria",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] e [[Special:WhatLinksHere/$1|{{PLURAL:$2|uma outra página|$2 outras páginas}}]] foram removidas da categoria",
        "autochange-username": "Alteração automática do MediaWiki",
        "upload": "Carregar ficheiro",
        "uploadbtn": "Carregar ficheiro",
index 226ec88..08807ec 100644 (file)
        "recentchangeslinked-page": "Naslov strani:",
        "recentchangeslinked-to": "Prikaži spremembe na določeno stran povezanih strani",
        "recentchanges-page-added-to-category": "[[:$1]] dodano v kategorijo",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] in $2 {{PLURAL:$2|stran dodana|strani dodani|strani dodane|strani dodanih}} v kategorijo",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] in [[Special:WhatLinksHere/$1|$2 {{PLURAL:$2|stran|strani}}]] {{PLURAL:$2|dodana|dodani|dodane|dodanih}} v kategorijo",
        "recentchanges-page-removed-from-category": "[[:$1]] odstranjeno iz kategorije",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] in $2 {{PLURAL:$2|stran odstranjena|strani odstranjeni|strani odstranjene|strani odstranjenih}} iz kategorije",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] in [[Special:WhatLinksHere/$1|$2 {{PLURAL:$2|stran|strani}}]] {{PLURAL:$2|odstranjena|odstranjeni|odstranjene|odstranjenih}} iz kategorije",
        "autochange-username": "Samodejna sprememba MediaWiki",
        "upload": "Naloži datoteko",
        "uploadbtn": "Naloži datoteko",
        "exif-orientation-8": "Zasukano za 90° v desno",
        "exif-planarconfiguration-1": "grudast format",
        "exif-planarconfiguration-2": "ravninski format",
-       "exif-xyresolution-i": "$1 dpi ({{PLURAL:$1|točka/palec|točki/palec|točke/palec|točk/palec|točk/palec}})",
-       "exif-xyresolution-c": "$1 dpc ({{PLURAL:$1|točka/centimeter|točki/centimeter|točke/centimeter|točk/centimeter|točk/centimeter}})",
+       "exif-xyresolution-i": "$1 dpi ({{PLURAL:$1|točka/palec|točki/palec|točke/palec|točk/palec}})",
+       "exif-xyresolution-c": "$1 dpc ({{PLURAL:$1|točka/centimeter|točki/centimeter|točke/centimeter|točk/centimeter}})",
        "exif-colorspace-65535": "Neumerjeno",
        "exif-componentsconfiguration-0": "ne obstaja",
        "exif-exposureprogram-0": "Ni določen",
index 4596598..c1272d0 100644 (file)
        "grant-group-file-interaction": "Уређивање датотека",
        "grant-group-watchlist-interaction": "Уређивање вашег списка надгледања",
        "grant-group-email": "Пошаљи имејл",
+       "grant-blockusers": "Блокирање и деблокирање корисника",
        "grant-createaccount": "Отварање налога",
        "grant-createeditmovepage": "Прављење, уређивање и премештање страница",
        "grant-delete": "Брисање страница, измена и уноса у дневницима",
        "grant-editinterface": "Уређивање Медијавики именског простора и корисничких CSS/JavaScript страница",
+       "grant-editmyoptions": "Уређивање ваших подешавања",
        "grant-editmywatchlist": "Уређивање вашег списка надгледања",
        "grant-editpage": "Уређивање постојећих страница",
        "grant-editprotected": "Уређивање заштићених страница",
+       "grant-protect": "Закључавање и откључавање страница",
+       "grant-rollback": "Враћање измена",
        "grant-uploadeditmovefile": "Отпремање, замена и премештање датотека",
        "grant-uploadfile": "Слање нових датотека",
+       "grant-basic": "Основна права",
+       "grant-viewdeleted": "Преглед обрисаних страница и датотека",
+       "grant-viewmywatchlist": "Преглед вашег списак надгледања",
        "newuserlogpage": "Дневник нових корисника",
        "newuserlogpagetext": "Ово је дневник нових корисника.",
        "rightslog": "Дневник корисничких права",
        "changecontentmodel-title-label": "Наслов странице",
        "changecontentmodel-model-label": "Нови модел садржаја",
        "changecontentmodel-reason-label": "Разлог:",
+       "changecontentmodel-submit": "Промени",
        "changecontentmodel-success-title": "Модел садржаја је промењен",
        "changecontentmodel-success-text": "Модел садржаја странице [[:$1]] је промењен.",
        "changecontentmodel-cannot-convert": "Модел садржаја странице [[:$1]] се не може претворити у врсту $2.",
        "variantname-gan": "gan",
        "variantname-sr-ec": "Ћирилица",
        "variantname-sr-el": "Latinica",
-       "variantname-sr": "sr",
+       "variantname-sr": "ћир/lat",
        "variantname-kk-kz": "kk-kz",
        "variantname-kk-tr": "kk-tr",
        "variantname-kk-cn": "kk-cn",
index 60e6c3a..4026214 100644 (file)
        "variantname-gan": "gan",
        "variantname-sr-ec": "Ćirilica",
        "variantname-sr-el": "Latinica",
-       "variantname-sr": "sr",
+       "variantname-sr": "ћир/lat",
        "variantname-kk-kz": "kk-kz",
        "variantname-kk-tr": "kk-tr",
        "variantname-kk-cn": "kk-cn",
index e3a6a1e..30324de 100644 (file)
        "recentchangeslinked-page": "Sidnamn:",
        "recentchangeslinked-to": "Visa ändringar på sidor med länkar till den givna sidan istället",
        "recentchanges-page-added-to-category": "[[:$1]] lades till i kategorin",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] och {{PLURAL:$2|en sida|$2 sidor}} lades till i kategorin",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] och [[Special:WhatLinksHere/$1|{{PLURAL:$2|en sida|$2 sidor}}]] lades till i kategorin",
        "recentchanges-page-removed-from-category": "[[:$1]] togs bort från kategorin",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] och {{PLURAL:$2|en sida|$2 sidor}} togs bort från kategorin",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] och [[Special:WhatLinksHere/$1|{{PLURAL:$2|en sida|$2 sidor}}]] togs bort från kategorin",
        "autochange-username": "Automatisk MediaWiki-ändring",
        "upload": "Ladda upp fil",
        "uploadbtn": "Ladda upp fil",
index 4d6231b..7b7b4d3 100644 (file)
        "recentchangeslinked-page": "Назва сторінки:",
        "recentchangeslinked-to": "Показати зміни на сторінках, пов'язаних з даною",
        "recentchanges-page-added-to-category": "[[:$1]] Додано до категорії",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] та ще {{PLURAL:$2|$2 сторінку|$2 сторінки|$2 сторінок|1=одну сторінку}} було додано до категорії",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] та ще [[Special:WhatLinksHere/$1|{{PLURAL:$2|$2 сторінку|$2 сторінки|$2 сторінок|1=одну сторінку}}]] було додано до категорії",
        "recentchanges-page-removed-from-category": "[[:$1]] було вилучено з категорії",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] та ще {{PLURAL:$2|$2 сторінку|$2 сторінки|$2 сторінок|1=одну сторінку}} було вилучено з категорії",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] та ще [[Special:WhatLinksHere/$1|{{PLURAL:$2|$2 сторінку|$2 сторінки|$2 сторінок|1=одну сторінку}}]] було вилучено з категорії",
        "autochange-username": "Автоматичні редагування MediaWiki",
        "upload": "Завантажити файл",
        "uploadbtn": "Завантажити файл",
index d25b622..0b22391 100644 (file)
        "viewhelppage": "Xem trang trợ giúp",
        "categorypage": "Xem trang thể loại",
        "viewtalkpage": "Xem trang thảo luận",
-       "otherlanguages": "Trong các ngôn ngữ khác",
+       "otherlanguages": "Trong ngôn ngữ khác",
        "redirectedfrom": "(đổi hướng từ $1)",
        "redirectpagesub": "Trang đổi hướng",
        "redirectto": "Đổi hướng đến:",
        "changepassword-success": "Mật khẩu của bạn đã được thay đổi.",
        "changepassword-throttled": "Bạn đã thử đăng nhập gần đây nhiều lần quá. Xin chờ $1 trước khi bạn thử lần nữa.",
        "botpasswords": "Mật khẩu Bot",
+       "botpasswords-summary": "<em>Mật khẩu bot</em> cho phép truy cập một tài khoản người dùng qua API mà không sử dụng thông tin chứng nhận chính của tài khoản. Các quyền người dùng có thể bị hạn chế khi đăng nhập dùng mật khẩu bot.\n\nNếu bạn không hiểu tại sao cần sử dụng mật khẩu bot, có lẽ bạn không nên sử dụng nó. Không ai bao giờ có lý do chính đáng để yêu cầu bạn tạo ra một mật khẩu bot và cung cấp nó cho họ.",
        "botpasswords-disabled": "Mật khẩu Bot bị vô hiệu hoá.",
        "botpasswords-no-central-id": "Để sử dụng mật khẩu bot, bạn phải đăng nhập vào một tài khoản tập trung.",
        "botpasswords-existing": "Mật khẩu bot hiện tại",
        "botpasswords-label-delete": "Xoá",
        "botpasswords-label-resetpassword": "Đặt lại mật khẩu",
        "botpasswords-label-grants": "Các quyền có liên quan:",
+       "botpasswords-help-grants": "Các lượt cấp phép cho phép truy cập các quyền người dùng mà một tài khoản đã có sẵn. Xem thêm thông tin trong [[Special:ListGrants|bảng cấp phép]].",
        "botpasswords-label-restrictions": "Hạn chế sử dụng:",
        "botpasswords-label-grants-column": "Cấp quyền",
        "botpasswords-bad-appid": "Bot có tên \"$1\" không hợp lệ.",
        "botpasswords-insert-failed": "Không thể thêm tên bot \"$1\". Nó đã được thêm vào chưa?",
        "botpasswords-update-failed": "Thất bại khi cập nhật bot có tên \"$1\". Có phải nó đã bị xóa?",
        "botpasswords-created-title": "Mật khẩu bot đã được tạo",
-       "botpasswords-created-body": "Mật khẩu bot \"$1\" đã được tạo thành công.",
+       "botpasswords-created-body": "Đã tạo mật khẩu cho bot “$1” của người dùng “$2”.",
        "botpasswords-updated-title": "Mật khẩu Bot đã được cập nhật",
-       "botpasswords-updated-body": "Mật khẩu bot \"$1\" đã được cập nhật thành công.",
+       "botpasswords-updated-body": "Đã cập nhật mật khẩu cho bot “$1” của người dùng “$2”.",
        "botpasswords-deleted-title": "Bot mật khẩu đã bị xóa",
-       "botpasswords-deleted-body": "Mật khẩu bot \"$1\" đã bị xóa.",
+       "botpasswords-deleted-body": "Đã xóa mật khẩu cho bot “$1” của người dùng “$2”.",
+       "botpasswords-newpassword": "Mật khẩu mới để đăng nhập như <strong>$1</strong> là <strong>$2</strong>. <em>Xin hãy ghi lại mật khẩu này để mai mốt tham khảo.</em>",
        "botpasswords-no-provider": "BotPasswordsSessionProvider không có sẵn.",
        "botpasswords-restriction-failed": "Mật khẩu bot giới hạn ngăn chặn đăng nhập này.",
        "botpasswords-invalid-name": "Tên người dùng đã chỉ định không chứa dấu tách mật khẩu bot (\"$1\").",
        "resetpass-no-info": "Bạn phải đăng nhập mới có thể truy cập trực tiếp trang này.",
        "resetpass-submit-loggedin": "Thay đổi mật khẩu",
        "resetpass-submit-cancel": "Hủy bỏ",
-       "resetpass-wrong-oldpass": "Mật khẩu tạm hoặc mật khẩu hiện thời không hợp lệ.\nCó thể bạn đã thay đổi thành công mật khẩu của mình hoặc đã yêu cầu cung cấp một mật khẩu tạm mới.",
+       "resetpass-wrong-oldpass": "Mật khẩu tạm hoặc mật khẩu hiện thời không hợp lệ.\nCó thể bạn đã thay đổi mật khẩu của mình hoặc đã yêu cầu cung cấp một mật khẩu tạm mới.",
        "resetpass-recycled": "Xin vui lòng chọn một mật khẩu khác với mật khẩu hiện tại.",
        "resetpass-temp-emailed": "Bạn đã đăng nhập bằng mật khẩu tạm gửi qua thư điện tử. Để hoàn tất việc đăng nhập, bạn phải tạo lại mật khẩu mới tại đây:",
        "resetpass-temp-password": "Mật khẩu tạm:",
        "revdelete-submit": "Áp dụng vào {{PLURAL:$1|phiên bản|các phiên bản}} được chọn",
        "revdelete-success": "Phiên bản Hiển thị đã cập nhật.",
        "revdelete-failure": "'''Không thể cập nhật khả năng hiển thị của phiên bản:'''\n$1",
-       "logdelete-success": "'''Khả năng nhìn thấy của sự kiện đã được thiết lập thành công.'''",
+       "logdelete-success": "Đã thiết lập khả năng nhìn thấy của nhật trình.",
        "logdelete-failure": "'''Không thể thiết lập khả năng hiện thị của nhật trình:'''\n$1",
        "revdel-restore": "đổi mức khả kiến",
        "pagehist": "Lịch sử trang",
        "mergehistory-empty": "Không thể trộn được sửa đổi nào.",
        "mergehistory-done": "$3 phiên bản của $1 đã được trộn vào [[:$2]].",
        "mergehistory-fail": "Không thể thực hiện được việc trộn lịch sử sửa đổi, vui lòng chọn lại trang cũng như thông số ngày giờ.",
+       "mergehistory-fail-bad-timestamp": "Dấu thời gian không hợp lệ.",
        "mergehistory-fail-invalid-source": "Trang nguồn không hợp lệ.",
        "mergehistory-fail-invalid-dest": "Trang đích không hợp lệ.",
        "mergehistory-fail-no-change": "Kết hợp lịch sử đã không hợp nhất bất kỳ sửa đổi nào. Xin vui lòng kiểm tra lại trang và các thông số thời gian.",
        "mergehistory-fail-permission": "Không đủ quyền để hợp nhất lịch sử.",
        "mergehistory-fail-self-merge": "Trang nguồn và đích là giống nhau.",
+       "mergehistory-fail-timestamps-overlap": "Các phiên bản nguồn trùng với nhau hoặc dẫn sau các phiên bản đích.",
        "mergehistory-fail-toobig": "Không thể trộn lịch sử vì phải di chuyển $1 phiên bản và vượt quá giới hạn cho phép.",
        "mergehistory-no-source": "Trang nguồn $1 không tồn tại.",
        "mergehistory-no-destination": "Trang đích $1 không tồn tại.",
        "recentchangeslinked-page": "Tên trang:",
        "recentchangeslinked-to": "Hiện thay đổi tại những trang có liên kết đến trang này thay thế",
        "recentchanges-page-added-to-category": "[[:$1]] được xếp vào thể loại",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] và {{PLURAL:$2|một trang|$2 trang}} nữa được xếp vào thể loại",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]] và [[Special:WhatLinksHere/$1|{{PLURAL:$2|một trang|$2 trang}} nữa]] được xếp vào thể loại",
        "recentchanges-page-removed-from-category": "[[:$1]] được gỡ khỏi thể loại",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]] và {{PLURAL:$2|một trang|$2 trang}} nữa được gỡ khỏi thể loại",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]] và [[Special:WhatLinksHere/$1|{{PLURAL:$2|một trang|$2 trang}} nữa]] được gỡ khỏi thể loại",
        "autochange-username": "MediaWiki thay đổi tự động",
        "upload": "Tải tập tin lên",
        "uploadbtn": "Tải tập tin lên",
        "uploaded-script-svg": "Tìm thấy phần tử “$1” có khả năng chạy kịch bản trong tập tin SVG được tải lên.",
        "uploaded-hostile-svg": "Tìm thấy CSS nguy hiểm trong phần tử style của tập tin SVG được tải lên.",
        "uploaded-event-handler-on-svg": "Không cho phép đặt thuộc tính xử lý sự kiện <code>$1=\"$2\"</code> trong tập tin SVG.",
+       "uploaded-href-attribute-svg": "Các đặc tính href trong tập tin SVG chỉ được phép dẫn đến các trang http:// hoặc https://, nhưng gặp phải <code>&lt;$1 $2=\"$3\"&gt;</code>.",
        "uploaded-href-unsafe-target-svg": "Tìm thấy href đến đích URI data: không an toàn <code>&lt;$1 $2=\"$3\"&gt;</code> trong tập tin SVG được tải lên.",
        "uploaded-animate-svg": "Tìm thấy thẻ “animate” có thể thay đổi href qua thuộc tính “from” <code>&lt;$1 $2=\"$3\"&gt;</code> trong tập tin SVG được tải lên.",
        "uploaded-setting-event-handler-svg": "Đã ngăn cản việc đặt thuộc tính xử lý sự kiện khi tìm thấy <code>&lt;$1 $2=\"$3\"&gt;</code> trong tập tin SVG được tải lên.",
        "upload-too-many-redirects": "URL có quá nhiều đổi hướng",
        "upload-http-error": "Xảy ra lỗi HTTP: $1",
        "upload-copy-upload-invalid-domain": "Không có sẵn các bản sao tải lên tại tên miền này.",
+       "upload-foreign-cant-upload": "Wiki này không được thiết lập để tải tập tin lên kho tập tin chung bên ngoài được chỉ định.",
        "upload-dialog-title": "Tải tập tin lên",
        "upload-dialog-button-cancel": "Hủy bỏ",
        "upload-dialog-button-done": "Xong",
        "upload-form-label-infoform-name": "Tên",
        "upload-form-label-infoform-name-tooltip": "Một tiêu đề mô tả duy nhất cho tập tin, mà sẽ được dùng để làm một tên file. Bạn có thể sử dụng ngôn ngữ đơn giản với các dấu cách. Không bao gồm phần mở rộng của file.",
        "upload-form-label-infoform-description": "Miêu tả",
+       "upload-form-label-infoform-description-tooltip": "Miêu tả một cách ngắn gọn mỗi điều đáng kể về tác phẩm này.\nNếu là hình chụp, hãy nói đến những vật thể chính, cũng như tình hình, sự kiện, hay địa điểm của hình chụp.",
        "upload-form-label-usage-title": "Sử dụng",
        "upload-form-label-usage-filename": "Tên tập tin",
        "foreign-structured-upload-form-label-own-work": "Đây là tác phẩm của chính tôi",
        "apisandbox-dynamic-parameters-add-label": "Thêm tham số:",
        "apisandbox-dynamic-parameters-add-placeholder": "Tên tham số",
        "apisandbox-dynamic-error-exists": "Một tham số có tên \"$1\" đã tồn tại.",
+       "apisandbox-deprecated-parameters": "Tham số bị phản đối",
        "apisandbox-fetch-token": "Tự động điền token này",
        "apisandbox-submit-invalid-fields-title": "Một số field là không hợp lệ",
        "apisandbox-submit-invalid-fields-message": "Xin vui lòng sửa các miền được đánh dấu và thử lại.",
        "apisandbox-results-error": "Một lỗi xuất hiện khi tải các đáp ứng truy vấn API: $1.",
        "apisandbox-request-url-label": "URL của yêu cầu:",
        "apisandbox-request-time": "Thời gian yêu cầu: $1 ms",
+       "apisandbox-results-fixtoken": "Sửa lại dấu hiệu và gửi lại",
+       "apisandbox-results-fixtoken-fail": "Thất bại khi lấy dấu hiệu “$1”.",
        "apisandbox-alert-page": "Các miền trên Trang này là không hợp lệ.",
        "apisandbox-alert-field": "Giá trị của miền này là không hợp lệ.",
        "booksources": "Nguồn sách",
        "listgrouprights-namespaceprotection-header": "Hạn chế không gian tên",
        "listgrouprights-namespaceprotection-namespace": "Không gian tên",
        "listgrouprights-namespaceprotection-restrictedto": "Quyền cho phép người dùng sửa đổi",
+       "listgrants": "Cấp phép",
+       "listgrants-summary": "Danh sách sau có các lượt cấp phép và thông tin về quyền truy cập quyền người dùng. Những người dùng có thể cho phép các ứng dụng sử dụng tài khoản của họ, các quyền được hạn chế tùy theo người dùng cấp phép cho ứng dụng. Một ứng dụng hoạt động nhân danh người dùng thực sự chỉ có thể sử dụng các quyền mà người dùng thật có.\nCó thể có [[{{MediaWiki:Listgrouprights-helppage}}|thêm thông tin]] về các quyền nói riêng.",
        "listgrants-grant": "Cấp phép",
        "listgrants-rights": "Quyền lợi",
        "trackingcategories": "Thể loại phần mềm",
        "changecontentmodel-nodirectediting": "Kiểu nội dung $1 không hỗ trợ sửa đổi trực tiếp",
        "log-name-contentmodel": "Nhật trình thay đổi kiểu nội dung",
        "log-description-contentmodel": "Sự kiện có liên quan đến kiểu nội dung của trang.",
+       "logentry-contentmodel-new": "$1 {{GENDER:$2}}đã tạo trang $3 với mô hình nội dung không mặc định “$5”",
        "logentry-contentmodel-change": "$1 {{GENDER:$2}}đã thay đổi kiểu nội dung của trang $3 từ “$4” thành “$5”",
        "logentry-contentmodel-change-revertlink": "lùi lại",
        "logentry-contentmodel-change-revert": "lùi lại",
        "import-nonewrevisions": "Không nhập phiên bản nào (tất cả các phiên bản đều đã có sẵn hoặc bị bỏ qua do lỗi).",
        "xml-error-string": "$1 tại dòng $2, cột $3 (byte $4): $5",
        "import-upload": "Tải lên dữ liệu XML",
-       "import-token-mismatch": "Mất dữ liệu phiên làm việc. Xin hãy thử lại lần nữa.",
+       "import-token-mismatch": "Mất dữ liệu phiên làm việc.\n\nCó thể bạn đã được đăng xuất. <strong>Xin hãy xác nhận rằng bạn vẫn được đăng nhập và thử lại.</strong>\nNếu vẫn không được, hãy thử [[Special:UserLogout|đăng xuất]] rồi đăng nhập lại, và kiểm tra rằng trình duyệt của bạn cho phép các cookie của trang Web này.",
        "import-invalid-interwiki": "Không thể nhập trang từ wiki được chỉ định.",
        "import-error-edit": "Trang “$1” không được nhập tại vì bạn không được phép sửa đổi nó.",
        "import-error-create": "Trang “$1” không được nhập tại vì bạn không được phép tạo ra nó.",
        "newimages-legend": "Bộ lọc",
        "newimages-label": "Tên tập tin (hoặc một phần tên):",
        "newimages-showbots": "Xem các tập tin do bot tải lên",
+       "newimages-hidepatrolled": "Ẩn tập tin tải lên đã tuần tra",
        "noimages": "Chưa có hình.",
        "ilsubmit": "Tìm kiếm",
        "bydate": "theo ngày",
        "exif-compression-34712": "JPEG 2000",
        "exif-copyrighted-true": "Dưới bản quyền",
        "exif-copyrighted-false": "Cờ bản quyền không được đặt",
+       "exif-photometricinterpretation-0": "Trắng đen (trắng là 0)",
        "exif-photometricinterpretation-1": "Trắng đen (đen là 0)",
        "exif-photometricinterpretation-2": "RGB",
+       "exif-photometricinterpretation-3": "Bảng màu",
+       "exif-photometricinterpretation-4": "Mặt nạ trong suốt",
+       "exif-photometricinterpretation-5": "Riêng rẽ (có lẽ CMYK)",
+       "exif-photometricinterpretation-9": "CIE L*a*b* (mã hóa Hiệp hội Màu sắc Quốc tế)",
+       "exif-photometricinterpretation-10": "CIE L*a*b* (mã hóa Liên minh Viễn thông Quốc tế)",
+       "exif-photometricinterpretation-32803": "Dãy bộ lọc màu sắc",
+       "exif-photometricinterpretation-34892": "Thô tuyến",
        "exif-unknowndate": "Không biết ngày",
        "exif-orientation-1": "Thường",
        "exif-orientation-2": "Lộn ngược theo phương ngang",
        "exif-orientation-8": "Quay 90° bên phải",
        "exif-planarconfiguration-1": "định dạng thấp",
        "exif-planarconfiguration-2": "định dạng phẳng",
+       "exif-xyresolution-i": "$1 điểm/inch",
+       "exif-xyresolution-c": "$1 điểm/cm",
        "exif-colorspace-65535": "Chưa hiệu chỉnh",
        "exif-componentsconfiguration-0": "không tồn tại",
        "exif-exposureprogram-0": "Không chỉ định",
        "scarytranscludefailed-httpstatus": "[Truy xuất bản mẫu $1 bị thất bại: HTTP $2]",
        "scarytranscludetoolong": "[Địa chỉ URL quá dài]",
        "deletedwhileediting": "'''Cảnh báo''': Trang này đã bị xóa sau khi bắt đầu sửa đổi!",
-       "confirmrecreate": "Thành viên [[User:$1|$1]] ([[User talk:$1|thảo luận]]) đã xóa trang này sau khi bạn bắt đầu sửa đổi trang với lý do:\n: ''$2''\nXin hãy xác nhận bạn thực sự muốn tạo lại trang này.",
+       "confirmrecreate": "Thành viên [[User:$1|$1]] ([[User talk:$1|thảo luận]]) đã xóa trang này sau khi bạn bắt đầu sửa đổi trang với lý do:\n: <em>$2</em>\nXin hãy xác nhận bạn thực sự muốn tạo lại trang này.",
        "confirmrecreate-noreason": "Người dùng [[User:$1|$1]] ([[User talk:$1|talk]]) xóa trang này sau khi bạn bắt đầu sửa đổi nó. Bạn có chắc chắn muốn tạo lại trang này không?",
        "recreate": "Tạo ra lại",
+       "unit-pixel": "điểm ảnh",
        "confirm_purge_button": "Làm tươi",
        "confirm-purge-top": "Làm sạch vùng nhớ đệm của trang này?",
        "confirm-purge-bottom": "Làm mới một trang sẽ giúp xóa bộ đệm và buộc hiển thị phiên bản gần nhất.",
        "version-libraries-authors": "Tác giả",
        "redirect": "Đổi hướng đến tập tin, người dùng, trang, hoặc ID đăng nhập",
        "redirect-legend": "Đổi hướng đến tập tin hoặc trang",
-       "redirect-summary": "Trang đặc biệt này đổi hướng đến một tập tin (theo tên tập tin được cho vào), trang (theo số phiên bản hoặc số trang được cho vào), hoặc trang cá nhân (theo số thành viên). Cách sử dụng: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], hoặc [[{{#Special:Redirect}}/user/101]].",
+       "redirect-summary": "Trang đặc biệt này đổi hướng đến một tập tin (theo tên tập tin được cho vào), trang (theo số phiên bản hoặc số trang được cho vào), trang cá nhân (theo số thành viên), hoặc mục nhật trình (theo số mục nhật trình). Cách sử dụng: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], hoặc [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Đi",
        "redirect-lookup": "Tra cứu:",
        "redirect-value": "Giá trị:",
        "redirect-page": "Số trang",
        "redirect-revision": "Số phiên bản trang",
        "redirect-file": "Tên tập tin",
+       "redirect-logid": "Số mục nhật trình",
        "redirect-not-exists": "Không tìm thấy giá trị",
        "fileduplicatesearch": "Tìm kiếm các tập tin trùng lắp",
        "fileduplicatesearch-summary": "Tìm kiếm các bản sao y hệt với tập tin khác, theo giá trị băm của nó.",
        "expand_templates_generate_xml": "Xem cây phân tích XML",
        "expand_templates_generate_rawhtml": "Hiển thị HTML thô",
        "expand_templates_preview": "Xem trước",
-       "expand_templates_preview_fail_html": "<em>{{SITENAME}} cho phép mã nguồn HTML thô và dữ liệu phiên bị mất, nên bản xem trước bị ẩn để tránh tấn công JavaScript.</em>\n\n<strong>Nếu bạn thực sự muốn xem trước mã nguồn này, xin hãy thử lại nữa.</strong>\nNếu vẫn không được, hãy thử [[Special:UserLogout|đăng xuất]] rồi đăng nhập lại.",
+       "expand_templates_preview_fail_html": "<em>{{SITENAME}} cho phép mã nguồn HTML thô và dữ liệu phiên bị mất, nên bản xem trước bị ẩn để tránh tấn công JavaScript.</em>\n\n<strong>Nếu bạn thực sự muốn xem trước mã nguồn này, xin hãy thử lại nữa.</strong>\nNếu vẫn không được, hãy thử [[Special:UserLogout|đăng xuất]] rồi đăng nhập lại, và kiểm tra rằng trình duyệt của bạn cho phép các cookie của trang Web này.",
        "expand_templates_preview_fail_html_anon": "<em>{{SITENAME}} cho phép mã nguồn HTML thô và dữ liệu phiên bị mất, nên bản xem trước bị ẩn để tránh tấn công JavaScript.</em>\n\n<strong>Nếu bạn thực sự muốn xem trước mã nguồn này, xin hãy thử lại nữa.</strong>\nNếu vẫn không được, hãy [[Special:UserLogin|đăng nhập]] và thử lại lần nữa.",
+       "expand_templates_input_missing": "Bạn phải cung cấp văn bản nhập.",
        "pagelanguage": "Thay đổi ngôn ngữ của trang",
        "pagelang-name": "Trang",
        "pagelang-language": "Ngôn ngữ",
        "mediastatistics": "Thống kê phương tiện",
        "mediastatistics-summary": "Thống kê về các kiểu tập tin đã tải lên. Bảng này chỉ liệt kê phiên bản mới nhất của các tập tin. Các phiên bản cũ hoặc các phiên bản bị xóa được bỏ qua.",
        "mediastatistics-nbytes": "$1 byte ($2; $3%)",
-       "mediastatistics-bytespertype": "Tổng kích thước tập tin của phần này: $1 byte.",
-       "mediastatistics-allbytes": "Tổng kích thước của tất cả các file: {{PLURAL:$1|$1 byte|$1 bytes}} ($2).",
+       "mediastatistics-bytespertype": "Tổng kích thước tập tin của phần này: $1 byte ($2; $3%).",
+       "mediastatistics-allbytes": "Tổng kích thước của tất cả các tập tin: $1 byte ($2).",
        "mediastatistics-table-mimetype": "Kiểu MIME",
        "mediastatistics-table-extensions": "Phần mở rộng có thể",
        "mediastatistics-table-count": "Số tập tin",
        "mw-widgets-titleinput-description-redirect": "đổi hướng đến $1",
        "api-error-blacklisted": "Xin vui lòng chọn một tên khác miêu tả đầy đủ.",
        "sessionmanager-tie": "Không thể kết hợp nhiều yêu cầu xác thực loại: $1.",
+       "sessionprovider-generic": "phiên $1",
+       "sessionprovider-mediawiki-session-cookiesessionprovider": "phiên dựa trên cookie",
        "sessionprovider-nocookies": "Cookie có thể bị vô hiệu hóa. Đảm bảo bạn đã bật cookie và bắt đầu một lần nữa.",
        "randomrootpage": "Trang gốc ngẫu nhiên"
 }
index 20ee5aa..9fc9b7e 100644 (file)
        "oct": "oct",
        "nov": "nôv",
        "dec": "dec",
+       "january-date": "$1 di djanvî",
+       "february-date": "$1 di fevrî",
+       "march-date": "$1 di måss",
+       "april-date": "$1 d' avri",
+       "may-date": "$1 di may",
+       "june-date": "$1 di djun",
+       "july-date": "$1 di djulete",
+       "august-date": "$1 d' awousse",
+       "september-date": "$1 di setimbe",
+       "october-date": "$1 d' octôbe",
+       "november-date": "$1 di nôvimbe",
+       "december-date": "$1 di decimbe",
        "pagecategories": "{{PLURAL:$1|Categoreye|Categoreyes}}",
        "category_header": "Årtikes el categoreye «$1»",
        "subcategories": "Dizo-categoreyes",
        "newwindow": "(drovant en on novea purnea)",
        "cancel": "Rinoncî",
        "moredotdotdot": "Co dpus...",
-       "mypage": "Mi pådje",
+       "mypage": "Pådje",
+       "anonuserpage": "Uzeu nén cnoxhou",
        "mytalk": "Mi copinaedje",
-       "anontalk": "Pådje di copene po ciste adresse IP",
+       "anontalk": "Copinaedje",
        "navigation": "Naiviaedje",
        "and": "&#32;eyet",
        "qbfind": "Trover",
        "actions": "Accions",
        "namespaces": "Espåces di lomaedje",
        "variants": "Variantes",
+       "navigation-heading": "Menu d' naiviaedje",
        "errorpagetitle": "Aroke",
        "returnto": "Rivni al pådje «$1».",
        "tagline": "Èn årtike di {{SITENAME}}.",
        "permalink": "Hårdêye viè cisse modêye ci",
        "print": "Imprimer",
        "view": "Vey",
+       "view-foreign": "Vey so $1",
        "edit": "Candjî",
        "create": "Ahiver",
        "editthispage": "Candjî l' pådje",
        "articlepage": "Vey l' årtike",
        "talk": "Copene",
        "views": "Vuwes",
-       "toolbox": "Boesse ås usteyes",
+       "toolbox": "Usteyes",
        "userpage": "Vey li pådje di l' uzeu",
        "projectpage": "Vey li pådje do pordjet",
        "imagepage": "Vey li pådje do fitchî",
        "pool-errorunknown": "Aroke nén cnoxhowe",
        "aboutsite": "Åd fwait di {{SITENAME}}",
        "aboutpage": "Project:Åd fwait",
-       "copyright": "Li contnou est dizo l' $1.",
+       "copyright": "Li contnou est dzo l' licince $1 a moens k' ça soeye dit ôtrumint.",
        "copyrightpage": "{{ns:project}}:Abondroets",
        "currentevents": "Actouwålités",
        "currentevents-url": "Project:Actouwålités",
        "edithelp": "Aidance",
+       "helppage-top-gethelp": "Aidance",
        "mainpage": "Mwaisse pådje",
        "mainpage-description": "Mwaisse pådje",
        "portal": "Inte di nozôtes",
        "portal-url": "Project:Inte di nozôtes",
        "badaccess": "Åk n' a nén stî avou les permissions",
+       "badaccess-groups": "L' accion ki vos avoz dmandé est limitêye ås uzeus {{PLURAL:$2|do groupe|des groupes}}: $1.",
        "versionrequired": "I vs fåt l' modêye $1 di MediaWiki",
        "versionrequiredtext": "I vs fåt l' modêye $1 di MediaWiki po-z eployî cisse pådje ci. Loukîz [[Special:Version|al pådje des modêyes]]",
        "ok": "'l est bon",
        "retrievedfrom": "Prin del pådje «$1»",
        "youhavenewmessages": "Vos avoz des $1 ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Vos avoz}} $1 {{PLURAL:$3|d' èn ôte uzeu|di $3 ôtes uzeus}} ($2).",
+       "youhavenewmessagesmanyusers": "Vous avoz $1 di bråmint d' uzeus ($2).",
+       "newmessageslinkplural": "{{PLURAL:$1|on novea messaedje|999=noveas messaedjes}}",
+       "newmessagesdifflinkplural": "{{PLURAL:$1|dierin candjmint|999=dierins candjmints}}",
        "youhavenewmessagesmulti": "Vos avoz des noveas messaedjes so $1",
        "editsection": "candjî",
        "editold": "candjî",
        "hidetoc": "catchî",
        "collapsible-collapse": "erôler",
        "collapsible-expand": "diswalper",
+       "confirmable-confirm": "Estoz vs {{GENDER:$1|seur|seure}}?",
+       "confirmable-yes": "Oyi",
+       "confirmable-no": "Neni",
        "thisisdeleted": "Vey ou rapexhî $1?",
        "viewdeleted": "Vey $1?",
        "restorelink": "{{PLURAL:$1|on candjmint disfacé|$1 candjmints disfacés}}",
        "nstab-template": "Modele",
        "nstab-help": "Aidance",
        "nstab-category": "Categoreye",
+       "mainpage-nstab": "Mwaisse pådje",
        "nosuchaction": "Nole sifwaite accion",
        "nosuchactiontext": "L' accion specifieye pal hårdêye n' est nén ricnoxhowe på wiki.\nMotoit ki vos avoz må scrît l' hårdêye ou shuvou on cron loyén.\nÇa pôreut eto esse on bug do programe eployî pa {{SITENAME}}.",
        "nosuchspecialpage": "Nole sifwaite pådje",
        "nospecialpagetext": "Vos avoz dmandé ene pådje sipeciåle nén valide, po ene djivêye des pådjes sipeciåles valides, loukîz a [[Special:SpecialPages]].",
        "error": "Aroke",
        "databaseerror": "Åk n' a nén stî avou l' båze di dnêyes",
+       "databaseerror-error": "Aroke: $1",
        "laggedslavemode": "Asteme: I s' pout ki l' pådje n' åye nén co les dierins candjmints.",
        "readonly": "Li båze di dnêyes est aclawêye",
        "missing-article": "Li båze di dnêyes n' a nén trové l' tecse d' ene pådje k' åreut dvou esse trovêye, lomêye «$1» $2.\n\nÇoula arive cwand on shût on loyén po ene diferince k' est houte ou viè l' istwere d' ene pådej disfacêye.\n\nSi c' est nén çoula, motoit k' vos avoz trové on bug dins l' programe.\nAdon dijhoz l' a on [[Special:ListUsers/sysop|manaedjeu]], sins rovyî d' mete li hårdêye (URL) ki mostere l' aroke.",
        "cannotdelete-title": "Dji n' sai disfacer l' pådje «$1»",
        "badtitle": "Måva tite",
        "badtitletext": "Li tite del pådje dimandêye n' esteut nén valide, il estet vude, oudonbén c' esteut on cron loyén eterlingaedje ou eterwiki. Ça s' pout k' il åye onk ou sacwants caracteres ki n' polèt nén esse eployîs dins les tites.",
+       "title-invalid-too-long": "Li tite di pådje dimandé est pår trop longou. Ça n' pout nén aveur pus di $1 {{PLURAL:$1|octet|octets}} e l' ecôdaedje UTF-8.",
        "perfcached": "Les dnêyes ki shuvèt c' est ene copeye e muchete, et ça s' pout ki ça n' soeye nén ttafwaitmint a djoû. Li muchete a-st on macsimom {{PLURAL:$1|d' on rzultat|di $1 rizultats}}.",
        "perfcachedts": "Les dnêyes ki shuvèt c' est ene copeye e muchete, ey elle ont stî metowes a djoû pol dierin côp li $1. Li muchete a-st on macsimom {{PLURAL:$4|d' on rzultat|di $4 rizultats}}.",
        "viewsource": "Vey côde sourdant",
        "viewsource-title": "Côde sourdant di «$1»",
        "viewsourcetext": "Loukîz li contnou d' l’ årtike, et s’ li rcopyî si vos vloz, por vos bouter dsu foû des fyis:",
        "protectedinterface": "Cisse pådje ci dene on tecse d' eterface pol programe, eyet elle a stî protedjeye po s' waeranti siconte des abus.",
-       "editinginterface": "'''Asteme:''' Vos estoz ki candje ene pådje eployeye po fé l' tecse po l' eterface do programe.\nLes candjmints ki vso frîz vont candjî l' rivnance di l' eterface po ds ôtes uzeus.\nPo des ratournaedjes, loukîz purade a [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], li pordjet di locålijhaedje da MediaWiki.",
+       "editinginterface": "<stron>Asteme:</strong> Vos estoz ki candje ene pådje eployeye po fé l' tecse po l' eterface do programe.\nLes candjmints ki vos frîz vont candjî l' rivnance di l' eterface po ls ôtes uzeus do wiki.",
        "cascadeprotected": "Cisse pådje ci a stî protedjeye siconte des candjmints, pask' ele est eploye ådvins {{PLURAL:$1|del pådje shuvante k' est protedjeye|des pådjes shuvantes ki sont protedjeyes}} avou l' tchuze «e cascåde» en alaedje:\n$2",
-       "logouttext": "'''Vos vs avoz dislodjî.'''\n\nVos ploz continouwer a naivyî so {{SITENAME}} anonimmint, oudonbén <span class='plainlinks'>[$1 vos relodjî]</span>, dizo l' minme uzeu ou dizo èn uzeu diferin.\nNotez ki des pådjes k' i gn a si pôrént continowuer a vey come si vos estîz elodjî, disk' a tant ki vos vudrîz l' muchete di vosse betchteu waibe.",
+       "logouttext": "<strong>Vos vs avoz dislodjî.</strong>\n\nNotez ki des pådjes k' i gn a si pôrént continouwer a vey come si vos estîz elodjî, disk' a tant ki vos vudrîz l' muchete di vosse betchteu waibe.",
+       "welcomeuser": "Bénvnowe, $1!",
        "yourname": "Vosse no d' elodjaedje:",
+       "userlogin-yourname": "No d' uzeu",
        "yourpassword": "Vosse sicret",
+       "userlogin-yourpassword": "Sicret",
        "yourpasswordagain": "Ritapez vosse sicret",
        "remembermypassword": "Rimimbrer m' sicret inte les sessions (nén dpus ki po $1 {{PLURAL:$1|djoû|djoûs}})",
        "yourdomainname": "Vosse dominne",
        "logout": "Si dislodjî",
        "userlogout": "Si dislodjî",
        "notloggedin": "Nén elodjî",
+       "userlogin-joinproject": "S' edjîstrer so {{SITENAME}}",
        "nologin": "Vos n' avoz nén d' conte so ç' wiki ci? $1.",
        "nologinlink": "Ahivez on conte da vosse",
        "createaccount": "Ahiver on novea conte",
        "gotaccount": "Vos avoz ddja on conte so ç' wiki ci? '''$1'''.",
        "gotaccountlink": "Elodjîz vs",
        "userlogin-resetlink": "Avoz rovyî les pondants et djondants po s' elodjî?",
-       "createaccountmail": "pa emile",
+       "createaccountmail": "Eployî on scret timporaire a l' astcheyance eyet l' evoyî so l' emile diné",
+       "createacct-realname": "Vraiy no (opcionel)",
        "createaccountreason": "Råjhon:",
+       "createacct-reason": "Råjhon",
        "createacct-another-submit": "Ahiver èn ôte conte",
+       "createacct-benefit-body1": "{{PLURAL:$1|candjmint|candjmints}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|pådje|pådjes}}",
        "badretype": "Vos avoz dné deus screts diferins.",
        "userexists": "Li no d' uzeu ki vs avoz tchoezi est ddja eployî.\nTchoezixhoz è èn ôte s' i vs plait.",
        "loginerror": "Aroke d' elodjaedje",
        "nosuchuser": "I g na nou uzeu dizo l' no «$1».\nNotez k' les nos d' uzeu fjhèt l' diferince etur pitites et grandès letes.\nVerifyîz çou k' vos avoz tapé, oudonbén [[Special:UserLogin/signup|ahivez on novea conte]].",
        "nosuchusershort": "I g na nou uzeu dizo l' no «$1». Verifyîz çou k' vos avoz tapé.",
        "nouserspecified": "Vos dvoz dner on no d' elodjaedje.",
+       "login-userblocked": "{{GENDER:$1|Cist uzeu est bloké|Ciste uzeuse est blokêye}}. L' elodjaedje n' est nén possibe.",
        "wrongpassword": "Li scret ki vs avoz dné est måva. Rissayîz s' i vs plait.",
        "wrongpasswordempty": "Vos avoz dné on vude sicret. Rissayîz s' i vs plait.",
        "passwordtooshort": "Li scret doet esse di pol moens {{PLURAL:$1|1 caractere|$1 caracteres}}.",
-       "mailmypassword": "M' emiler on novea scret",
+       "passwordtoolong": "Les screts n' polèt nén aveur pus di {{PLURAL:$1|1 caractere|$1 caracteres}}.",
+       "mailmypassword": "Rifé l' sicret",
        "passwordremindertitle": "Novea scret timporaire po {{SITENAME}}",
        "passwordremindertext": "Ene sakî (probåblumint vos-minme, avou l' adresse IP $1) a dmandé \non novea scret po {{SITENAME}} ($4).\nOn scret timporare po l' uzeu «$2» a stî fwait, c' est «$3».\nSi c' est vos k' a fwait l' dimande, vos vs divoz elodjî eyet tchoezi on novea scret.\nLi scret timporaire ni srè pus valide après {{PLURAL:$5|on djoû|$5 djoûs}}.\n\nSi c' est ene ôte sakî k' a fwait l' dimande, ou si vos vs avoz rtrové l' vî scret eyet \nnel pus vleur candjî, vos ploz djusse ignorer ci messaedje ci eyet continouwer avou l' vî scret.",
        "noemail": "I n' a pont d' adresse emile di cnoxhowe po l' uzeu «$1».",
        "emailconfirmlink": "Acertinaedje di voste adresse emile",
        "invalidemailaddress": "L' adresse emile ni pout nén esse acceptêye la k' i shonnreut k' ele soeye dins ene cogne nén valide.\nTapez ene adresse emile sicrîte comifåt oudobén vudîz l' tchamp, s' i vs plait.",
        "accountcreated": "Conte ahivé",
-       "accountcreatedtext": "Li conte d' uzeu «$1» a stî ahivé.",
+       "accountcreatedtext": "Li conte d' uzeu «[[{{ns:User}}:$1|$1]]» ([[{{ns:User talk}}:$1|copene]]) a stî ahivé.",
        "loginlanguagelabel": "Lingaedje: $1",
        "pt-login": "S' elodjî",
        "pt-login-button": "S' elodjî",
        "pt-createaccount": "Ahiver on novea conte",
        "pt-userlogout": "\nSi dislodjî",
        "changepassword": "Candjî l' sicret",
-       "resetpass_announce": "Vos vs avoz elodjî avou on scret timporaire ki vos a stî emilé.\nPor vos fini l' elodjaedje, vos dvoz defini on novea scret:",
+       "resetpass_announce": "Por vos fini l' elodjaedje, vos dvoz defini on novea scret.",
        "resetpass_header": "Candjî l' sicret do conte",
        "oldpassword": "Vî scret:",
        "newpassword": "Noû scret:",
        "retypenew": "Ritapez l' noû scret:",
        "resetpass_submit": "Defini on scret et s' elodjî",
-       "changepassword-success": "Vosse sicret a stî candjî comifåt!\nAsteure l' elodjaedje...",
+       "changepassword-success": "Vosse sicret a stî candjî comifåt!",
+       "botpasswords-label-update": "Mete a djoû",
+       "botpasswords-label-delete": "Disfacer",
        "resetpass_forbidden": "Les screts n' polèt nén esse candjîs",
        "resetpass-no-info": "Vos dvoz esse elodjî po pleur aveur accès a cisse pådje ci.",
        "resetpass-submit-loggedin": "Candjî l' sicret",
        "passwordreset-capture-help": "Si vos clitchîz cisse boesse ci, l' emile (eyet li scret timporaire) vos srè håyné e minme tins k' il est emilé.",
        "passwordreset-email": "Adresse emile:",
        "passwordreset-emailtitle": "Detays do contre so {{SITENAME}}",
-       "changeemail": "Candjî l' emile",
-       "changeemail-header": "Candjî l' adresse emile do conte",
+       "changeemail": "Candjî ou disfacer l' adresse emile",
+       "changeemail-header": "Completez cisse pådje ci po candjî l' adresse emile do conte.\nSi vos vloz disfacer totes les adresses aloyeyes, leyîz l' tchamp vude å moumint d' evoyî.",
        "changeemail-no-info": "Vos dvoz esse elodjî po pleur aveur accès a cisse pådje ci.",
        "changeemail-oldemail": "Adresse emile pol moumint:",
        "changeemail-newemail": "Novele adresse emile:",
        "sig_tip": "Li sinateure da vosse, avou l' date et l' eure",
        "hr_tip": "Roye di coûtchî (a n' nén eployî d' trop)",
        "summary": "Rascourti:",
-       "subject": "Sudjet/tiestire:",
+       "subject": "Sudjet:",
        "minoredit": "Ci n' est k' ene tchitcheye",
        "watchthis": "Shuve cist årtike",
        "savearticle": "Schaper l' pådje",
        "preview": "Vey divant",
        "showpreview": "Vey divant",
        "showdiff": "Vey les candjmints",
-       "anoneditwarning": "'''Asteme:''' Vos n' estoz nén elodjî.\nVoste adresse IP serè rashiowe dins l' istwere di cisse pådje ci.",
+       "anoneditwarning": "<strong>Asteme:</strong> Vos n' estoz nén elodjî.\nVoste adresse IP serè rashiowe dins l' istwere di cisse pådje ci eyet veyowe publicmint.\nSi vos vs <strong>[$1 elodjîz]</strong> ou <strong>[$2 ahivez on conte]</strong>, les candjmints da vosse seront-st atribouwés a vosse no d' uzeu, et co ds ôtes advintaedjes.",
        "anonpreviewwarning": "''Vos n' estoz nén elodjî. Si vos schapez c' est voste adresse IP ki serè wårdêye dins l' istwere des candjmints.''",
        "missingsummary": "'''Asteme:''' Vos n' avoz nén dné on tecse di rascourti po vosse candjmint. Si vos rclitchîz sol boton «Schaper», li candjmint da vosse serè schapé sins nou tecse di rascourti po l' istwere del pådje.",
        "missingcommenttext": "Tapez on comintaire chal pa dzo s' i vs plait.",
        "accmailtext": "On scret costrût a l' astcheyance po [[User talk:$1|$1]] a stî evoyî a $2.\n\nLi scret po ci novea conte ci pout esse candjî sol pådje di ''[[Special:ChangePassword|candjmint di scret]]'' après l' elodjaedje.",
        "newarticle": "(Novea)",
        "newarticletext": "Vos avoz clitchî so on loyén viè ene pådje ki n' egzistêye nén co.\nMins '''vos''' l' poloz askepyî! Po çoula, vos n' avoz k' a cmincî a taper vosse tecse dins l' boesse di tecse chal pa dzo (alez vey li [$1 pådje d' aidance] po pus d' infôrmåcion).\nSi vos n' voloz nén scrire cisse pådje chal, clitchîz simplumint sol boton '''En erî''' di vosse betchteu waibe po rivni al pådje di dvant.",
-       "anontalkpagetext": "---- ''Çouchal, c' est li pådje di copene po èn uzeu anonime ki n' a nén (co) fwait on conte por lu s' elodjî, ou ki n' l' eploye nén.\nÇa fwait k' on doet eployî si adresse IP limerike po l' idintifyî.\nCome ene sifwaite adresse IP pout esse eployeye pa pus d' èn uzeu, i s' pout ki vos voeyoz chal des rmarkes et des messaedjes ki n' sont nén por vos.\nLoukîz s' i vs plait po [[Special:UserLogin/signup|fé on novea conte]] ou [[Special:UserLogin|s' elodjî]] po n' pus aveur d' ecramiaedje avou des ôtes uzeus anonimes.''",
+       "anontalkpagetext": "---- ''Çouchal, c' est li pådje di copene po èn uzeu anonime ki n' a nén (co) fwait on conte por lu s' elodjî, ou ki n' l' eploye nén.\nÇa fwait k' on doet eployî si adresse IP limerike po l' idintifyî.\nCome ene sifwaite adresse IP pout esse eployeye pa pus d' èn uzeu, i s' pout ki vos veyoz chal des rmarkes et des messaedjes ki n' sont nén por vos.\nLoukîz s' i vs plait po [[Special:UserLogin/signup|fé on novea conte]] ou [[Special:UserLogin|s' elodjî]] po n' pus aveur d' ecramiaedje avou des ôtes uzeus anonimes.''",
        "noarticletext": "I gn a pol moumint nou tecse e cisse pådje chal.\nVos ploz [[Special:Search/{{PAGENAME}}|cweri après l' tite di cisse pådje ci]] dins des ôtès pådjes,\noudonbén <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cweri dins les djournås],\nou co [{{fullurl:{{FULLPAGENAME}}|action=edit}} ahiver l' pådje]</span>.",
-       "noarticletext-nopermission": "I gn a pol moumint nou tecse e cisse pådje chal.\nVos ploz [[Special:Search/{{PAGENAME}}|cweri après l' tite di cisse pådje ci]] dins des ôtès pådjes,\noudonbén <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cweri dins les djournås]</span>.",
+       "noarticletext-nopermission": "I gn a pol moumint nou tecse e cisse pådje chal.\nVos ploz [[Special:Search/{{PAGENAME}}|cweri après l' tite di cisse pådje ci]] dins des ôtès pådjes,\noudonbén <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cweri dins les djournås]</span>, mins vos n' avoz nén l' livea d' permission pol poleur ahiver.",
        "blocked-notice-logextract": "{{GENDER:$1|Cist uzeu est bloké|Ciste uzeuse est blokêye}} pol moumint.\nLi dierinne intrêye e djournå des blocaedjes est dnêye chal pa dzo po infôrmåcion:",
        "clearyourcache": "'''Note:''' après aveur schapé l' pådje, vos l' divoz rafrister, po pleur vey les candjmints dins vosse betchteu waibe.\n* '''Firefox / Safari:''' tchôkîz so ''Shift'' tot clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-F5'' ou ''Ctrl-R'' (''⌘-R'' so on Mac)\n* '''Google Chrome:''' tchôkîz so ''Ctrl-Shift-R'' (''⌘-Shift-R'' on a Mac)\n* '''Internet Explorer:''' tchôkîz so ''Ctrl'' tot clitchant so ''Rafrister'', ou co fjhoz ''Ctrl-F5''\n* '''Konqueror:''' clitchîz so ''Rafrister'' ou tchôkîz so ''F5''\n* '''Opera:''' vudîz l' muchete dins ''Usteyes → Preferinces''.",
        "usercssyoucanpreview": "'''Racsegne:''' eployîz l' boton «{{int:showpreview}}» po sayî vosse novea CSS divant del schaper.",
        "editingold": "'''ASTEME: Vos estoz ki candje ene viye modêye del pådje.\nSi vos l' schapez, tos les candjmints k' ont stî fwaits\ndispoy adon si vont piede.'''",
        "yourdiff": "Diferinces",
        "copyrightwarning": "Notez ki tos les contribouwaedjes fwaits po {{SITENAME}} dvèt esse dizo l' licince $2 (loukîz $1 po pus di racsegnes).\nSi vos n' voloz nén ki vosse tecse poye esse candjî eyet spårdou pa tot l' minme kî, adon nel evoyîz nén chal.<br />\nVos nos acertinez eto ki vos avoz scrît l' tecse vos-minme, oudonbén l' avoz copyî d' on sourdant libe (dominne publik ou on sourdant pareymint libe).\n'''N' EVOYÎZ NÉN DES TECSES DIZO ABONDROETS SINS PERMISSION!'''",
-       "copyrightwarning2": "Notez ki tos les contribouwaedjes fwaits po {{SITENAME}} polèt esse esse candjîs ou disfacés pa des ôtes contribouweus.\nSi vos n' voloz nén scrire des årtikes ki polèt esse candjîs pa des ôtes, adon nels evoyîz nén chal.<br />\nVos nos acertinez eto ki vos avoz scrît l' tecse vos-minme, oudonbén l' avoz copyî d' on sourdant libe (voeyoz $1 po pus di racsegnes).\n'''N' EVOYÎZ NÉN DES TECSES DIZO ABONDROETS SINS PERMISSION!'''",
+       "copyrightwarning2": "Notez ki tos les contribouwaedjes fwaits po {{SITENAME}} polèt esse esse candjîs ou disfacés pa des ôtes contribouweus.\nSi vos n' voloz nén scrire des årtikes ki polèt esse candjîs pa des ôtes, adon nels evoyîz nén chal.<br />\nVos nos acertinez eto ki vos avoz scrît l' tecse vos-minme, oudonbén l' avoz copyî d' on sourdant libe (veyoz $1 po pus di racsegnes).\n'''N' EVOYÎZ NÉN DES TECSES DIZO ABONDROETS SINS PERMISSION!'''",
        "longpageerror": "'''AROKE: Li tecse ki vos avoz evoyî fwait di pus d' $1 kilo-octet{{PLURAL:$1||s}}, çou k' est pus ki l' macsimom di $2 kilo-octet{{PLURAL:$2||s}}.'''\nC' est nén possible del schaper sol sierveu.",
        "readonlywarning": "'''ASTEME: On-z overe sol båze di dnêyes pol moumint, ey elle a stî metowe e mode seulmint-lére.\nDo côp, vos n' såroz schaper vos candjmints asteure.'''\nMotoit vos dvrîz copyî et aclaper l' tecse dins on fitchî da vosse pol poleur rimete pus tård.\n\nLi manaedjeu k' a-st eclawé l' båze di dnêyes a dné cist esplicaedje ci: $1",
        "protectedpagewarning": "'''ASTEME: Cisse pådje chal a stî protedjeye, seulmint les uzeus avou èn accès di manaedjeu el polèt candjî.'''\nLi dierinne intrêye ezès djournås est håynêye chal pa dzo po referince:",
        "currentrev": "Modêye d' asteure",
        "currentrev-asof": "Dierinne modêye å $1",
        "revisionasof": "Modêye do $1",
-       "revision-info": "Modêye do $1 pa $2",
+       "revision-info": "Modêye do $1 pa $2$7",
        "previousrevision": "←Modêye di dvant",
        "nextrevision": "Modêye shuvante→",
        "currentrevisionlink": "Modêye d' asteure",
        "rev-deleted-text-permission": "Cisse modêye ci del pådje a stî '''disfacêye'''.\nVos ploz vey les ca et les ma sol [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} djournå des disfaçaedjes].",
        "rev-deleted-text-view": "Cisse modêye ci del pådje a stî '''disfacêye'''.\nVos l' poloz co vey; i gn a des detays sol [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} djournå des disfaçaedjes].",
        "rev-delundel": "mostrer/catchî",
+       "rev-showdeleted": "mostrer",
        "revisiondelete": "Disfacer/rapexhî des modêyes",
        "revdelete-show-file-submit": "Oyi",
        "logdelete-selected": "{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:",
-       "revdelete-legend": "Defini des restriccions sol voeyaedje",
+       "revdelete-legend": "Defini des restriccions sol veyaedje",
        "revdelete-hide-text": "Catchî l' tecse del modêye",
        "revdelete-hide-comment": "Catchî l' comintaire di candjmint",
        "revdelete-hide-user": "Catchî l' no d' uzeu/adresse IP do candjeu",
        "shown-title": "Mostrer $1 rizultat{{PLURAL:$1||s}} par pådje",
        "viewprevnext": "Vey ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Gn a ddja ene pådje lomêye « [[:$1]] » so ç' wiki ci'''",
-       "searchmenu-new": "'''Ahiver l' pådje \"[[:$1]]\" so ç' wiki ci!'''",
+       "searchmenu-new": "<strong>Ahiver l' pådje \"[[:$1]]\" so ç' wiki ci!</strong>\n{{PLURAL:$2|0=|Loukîz eto l' pådje trovêye pa vosse cweraedje.|Loukîz eto li rzultat di vosse cweraedje.}}",
        "searchprofile-articles": "Pådjes di contnou",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tote li waibe",
        "recentchanges-label-minor": "Ci n' est k' on ptit candjmint",
        "recentchanges-label-bot": "Ci candjmint la a stî fwait pa on robot",
        "recentchanges-label-unpatrolled": "Ci candjmint la n' a nén co stî patrouyî",
+       "recentchanges-submit": "Mostrer",
        "rcnotefrom": "Chal pa dzo les candjmints dispoy li '''$2''' (disk' a '''$1''' di mostrés).",
        "rclistfrom": "Mostrer les candjmints k' i gn a yeu a pårti do $3 $2",
        "rcshowhideminor": "$1 candjmints mineurs",
+       "rcshowhideminor-show": "Vey",
+       "rcshowhideminor-hide": "Catchî",
        "rcshowhidebots": "$1 robots",
-       "rcshowhideliu": "$1 uzeus eredjîstrés",
+       "rcshowhidebots-show": "Mostrer",
+       "rcshowhidebots-hide": "Catchî",
+       "rcshowhideliu": "$1 uzeus edjîstrés",
+       "rcshowhideliu-hide": "Catchî",
        "rcshowhideanons": "$1 uzeus anonimes",
+       "rcshowhideanons-show": "Vey",
        "rcshowhidepatr": "$1 candjmints rwaitîs",
+       "rcshowhidepatr-show": "Mostrer",
+       "rcshowhidepatr-hide": "Catchî",
        "rcshowhidemine": "$1 candjmints da minne",
+       "rcshowhidemine-show": "Vey",
+       "rcshowhidecategorization-show": "Mostrer",
+       "rcshowhidecategorization-hide": "Catchî",
        "rclinks": "Mostrer les $1 dierins candjmints des dierins $2 djoûs.<br />$3",
        "diff": "dif.",
        "hist": "ist.",
        "rc_categories_any": "Totes",
        "rc-change-size-new": "$1 {{PLURAL:$1|octet|octets}} après l' candjmint",
        "newsectionsummary": "/* $1 */ novele seccion",
-       "rc-enhanced-expand": "Mostrer les detays (i fåt JavaScript)",
+       "rc-enhanced-expand": "Mostrer les detays",
        "rc-enhanced-hide": "Catchî les detays",
        "recentchangeslinked": "Candjmints aloyîs",
        "recentchangeslinked-feed": "Candjmints aloyîs",
        "mostimages": "Imådjes les pus loyeyes",
        "mostrevisions": "Årtikes avou l' pus di candjmints",
        "prefixindex": "Indecse pa betchete",
+       "prefixindex-submit": "Mostrer",
        "shortpages": "Coûtès pådjes",
        "longpages": "Longowès pådjes",
        "deadendpages": "Pådjes sins nou loyén wiki",
        "protectedpages": "Pådjes protedjeyes",
        "protectedpages-indef": "Seulmint les protedjaedje disk' a todi",
        "protectedpages-cascade": "Seulmint les protedjaedjes e cascåde",
+       "protectedpages-noredirect": "Catchî les redjiblaedjes",
        "protectedpagesempty": "I gn a pol moumint nole pådje sifwaitmint protedjeye.",
        "protectedtitles": "Tites protedjîs",
        "protectedtitlesempty": "I gn a pol moumint nou tite sifwaitmint protedjî.",
        "usereditcount": "$1 candjmint{{PLURAL:$1||s}}",
        "usercreated": "{{GENDER:$3|Edjîstré|Edjîstrêye}} li $1 a $2",
        "newpages": "Novelès pådjes",
+       "newpages-submit": "Mostrer",
        "newpages-username": "No d' elodjaedje:",
        "ancientpages": "Viyès pådjes",
        "move": "Displaecî",
        "pager-older-n": "{{PLURAL:$1|$1 pus vî|$1 pus vîs}}",
        "booksources": "Sourdants po les lives",
        "booksources-search-legend": "Cweri des sourdants po des lives",
+       "booksources-search": "Cweri",
        "specialloguserlabel": "Fwait pa:",
        "speciallogtitlelabel": "Såme (tite ou uzeu):",
        "log": "Djournås",
+       "logeventslist-submit": "Mostrer",
        "all-logs-page": "Tos les djournås publiks",
        "alllogstext": "Håynaedje etercroejhlé di tos les djournås disponibes so {{SITENAME}}.<br />\nVos ploz defini l' håynaedje tot tchoezixhant ene sôre di djournå, on no d' uzeu, ou l' tite d' ene pådje (po ces deus dierins l' sitinme fwait l' diferince inte les grandes et les ptitès letes).",
        "logempty": "Rén n' corespond dins l' djournå.",
        "allpagessubmit": "I va",
        "allpagesprefix": "Håyner les pådjes avou l' betchete:",
        "allpagesbadtitle": "Li tite di pådje diné n' est nén valide oudonbén il a-st ene betchete di loyén eterlingaedje ou eterwiki. Ça s' pout k' il åye onk ou d' pus d' caracteres ki n' si polèt nén eployî dins les tites.",
+       "allpages-hide-redirects": "Catchî les redjiblaedjes",
        "categories": "Categoreyes",
+       "categories-submit": "Mostrer",
        "categoriespagetext": "{{PLURAL:$1|Li categoreye shuvante est eployeye|Les categoreyes shuvantes sont-st eployeyes}} pa des pådjes ou des fitchîs.\n[[Special:UnusedCategories|Les categoreyes nén eployeyes]] èn sont nén håynêyes chal.\nLoukîz eto [[Special:WantedCategories|les categoreyes dimandêyes]].",
        "categoriesfrom": "Håyner les categoreyes a pårti di:",
        "special-categories-sort-count": "relére pa nombe di cayets",
        "notanarticle": "Nén èn årtike",
        "watchlist-details": "Vos avoz {{PLURAL:$1|$1 pådje shuvowe|$1 pådjes shuvowes}} (sins conter les pådjes di copene).",
        "wlheader-enotif": "Li notifiaedje pa emile est en alaedje.",
-       "wlheader-showupdated": "Les pådjes k' ont candjî dispoy vosse dierinne vizite sont metowes e '''cråssès letes'''",
+       "wlheader-showupdated": "Les pådjes k' ont candjî dispoy vosse dierinne vizite sont metowes e <strong>cråssès letes</strong>.",
        "wlnote": "Chal pa dzo {{PLURAL:$1|li dierin candjmint|les '''$1''' dierins candjmints}} {{PLURAL:$2|del dierinne eure|des '''$2''' dierinnès eures}}, disk' å $3 a $4.",
-       "wlshowlast": "Mostrer les dierin(nè)s $1 eures, $2 djoûs ou",
+       "wlshowlast": "Mostrer les dierin(nè)s $1 eures, $2 djoûs",
+       "watchlist-submit": "Mostrer",
        "watchlist-options": "Tchuzes del djivêye des shuvous",
        "enotif_reset": "Mårker totes les pådjes come vizitêyes",
        "enotif_lastvisited": "Loukîz $1 po tos les candjmints dispoy vosse dierinne vizite.",
        "delete-confirm": "Disfacer «$1»",
        "delete-legend": "Disfacer",
        "historywarning": "'''Asteme:''' Li pådje ki vos alez disfacer a-st ene istwere avou a pô près $1 modêye{{PLURAL:$1||s}}:",
+       "historyaction-submit": "Mostrer",
        "confirmdeletetext": "Vos alez disfacer ene pådje avou tote si istwere.\nAcertinez s' i vs plait ki c' est bén çoula ki vos vloz fé,\nki vos comprindoz les consecwinces, et ki vos fjhoz çoula\ntot [[{{MediaWiki:Policy-url}}|shuvant les rîles]].",
        "actioncomplete": "Fwait",
        "actionfailed": "L' accion a fwait berwete",
        "delete-toobig": "Cisse pådje ci a ene foû grande istwere, avou dpus di $1 modêye{{PLURAL:$1||s}}.\nLi disfaçaedje des sfwaitès pådjes a stî dismetou po-z espaitchî k' i gn åye des problinmes so {{SITENAME}}.",
        "delete-warning-toobig": "Cisse pådje ci a ene foû grande istwere, avou dpus di $1 modêye{{PLURAL:$1||s}}.\nSi disfaçaedje pôreut fé des problinmes avou l' rotaedje del båze di dnêyes so {{SITENAME}}; \nnel fijhoz k' avou asteme.",
        "rollbacklink": "netyî",
+       "rollbacklinkcount": "disfé $1 {{PLURAL:$1|candjmint|candjmints}}",
        "cantrollback": "Dji n' sai disfé les candjmints; li dierin contribouweu est li seu oteur po cist årtike ci.",
        "alreadyrolled": "Dji n' sai disfé li dierin candjmint di [[$1]] fwait pa [[User:$2|$2]] ([[User talk:$2|Copene]]);\nene sakî d' ôte a ddja candjî l' årtike ou ddja rmetou l' modêye di dvant.\n\nLi dierin candjmint a stî fwait pa [[User:$3|$3]] ([[User talk:$3|Copene]]).",
        "editcomment": "Li rascourti do candjmint esteut: <em>$1</em>.",
        "namespace": "Espåce di lomaedje:",
        "invert": "Tchuze å rvier",
        "blanknamespace": "(Mwaisse)",
-       "contributions": "Ovraedjes di l' uzeu",
+       "contributions": "Ovraedjes di l' {{GENDER:$1|uzeu|uzeuse}}",
        "contributions-title": "Djivêye des ovraedjes di l' {{GENDER:$1|uzeu|uzeuse}} $1",
        "mycontris": "Mi ovraedje",
        "contribsub2": "Po l' uzeu $1 ($2)",
        "importlogpagetext": "Ristitchaedjes (import) administratifs di pådjes avou leus istorikes di candjmints, a pårti d' ôtes wikis.",
        "import-logentry-upload-detail": "$1 {{PLURAL:$1|modêye|modêyes}}",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|modêye|modêyes}} foû di $2",
-       "tooltip-pt-userpage": "Pådje d' uzeu da minne",
+       "tooltip-pt-userpage": "Pådje d' {{GENDER:|uzeu|uzeuse}} da minne",
        "tooltip-pt-anonuserpage": "Li pådje d' uzeu po l' adresse IP ki vos eployîz pol moumint",
        "tooltip-pt-mytalk": "Pådje di copene da minne",
        "tooltip-pt-anontalk": "Pådje di copene po les candjmints fwaits a pårti di ciste adresse IP ci",
        "tooltip-pt-mycontris": "Djivêye des ovraedjes da minne",
        "tooltip-pt-login": "Vos estoz ecoraedjî d' vos elodjî, mins nerén, c' est nén oblidjî.",
        "tooltip-pt-logout": "Vos dislodjî",
+       "tooltip-pt-createaccount": "Nos vs ricomandans d' ahiver on conte et di vs elodjî; mins nerén, c' est nén oblidjî",
        "tooltip-ca-talk": "Copene åd fwait do contnou del pådje",
-       "tooltip-ca-edit": "Vos ploz candjî cisse pådje ci. S' i vs plait, eployîz l' boton «Vey divant» po vs acertiner k' tot est comifåt dvant d' schaper vos candjmints.",
+       "tooltip-ca-edit": "Candjî l' pådje",
        "tooltip-ca-addsection": "Radjouter ene novele seccion",
        "tooltip-ca-viewsource": "Cisse pådje ci est protedjeye.\nVos ploz seulmint vey li côde sourdant, mins nén l' candjî.",
        "tooltip-ca-history": "Viyès modêyes del pådje.",
        "tooltip-t-recentchangeslinked": "Dierins candjmints fwaits so des pådjes ki cisse pådje ci a des loyéns viè zeles",
        "tooltip-feed-rss": "Sindicåcion RSS po cisse pådje ci",
        "tooltip-feed-atom": "Sindicåcion Atom po cisse pådje ci",
-       "tooltip-t-contributions": "Vey li djivêye des ovraedjes fwait pa cist uzeu ci",
+       "tooltip-t-contributions": "Vey li djivêye des ovraedjes fwait pa {{GENDER:$1|cist uzeu|ciste uzeuse}} ci",
        "tooltip-t-emailuser": "Evoyî èn emile a cist uzeu ci",
        "tooltip-t-upload": "Eberweter sol sierveu des imådjes ou fitchîs media",
        "tooltip-t-specialpages": "Djivêye di totes les pådjes sipeciåles",
        "tooltip-ca-nstab-main": "Vey li pådje di contnou",
        "tooltip-ca-nstab-user": "Vey li pådje di l' uzeu",
        "tooltip-ca-nstab-media": "Vey li pådje di media",
-       "tooltip-ca-nstab-special": "Çouchal, c' est ene pådje sipeciåle, vos n' poloz nén candjî l' pådje leye-minme.",
+       "tooltip-ca-nstab-special": "Çouchal, c' est ene pådje sipeciåle, ele ni s' pout nén candjî.",
        "tooltip-ca-nstab-project": "Vey li pådje di pordjet",
        "tooltip-ca-nstab-image": "Vey li pådje do fitchî",
        "tooltip-ca-nstab-mediawiki": "Vey li messaedje ratournåve do sistinme",
        "pageinfo-watchers": "Nombe di shuveus",
        "pageinfo-edits": "Nombe di candjmints",
        "pageinfo-authors": "Nombe d' oteurs diferins",
+       "pageinfo-toolboxlink": "Infôrmåcion sol pådje",
        "markaspatrolleddiff": "Marké come ricoridjî",
        "markaspatrolledtext": "Marker cisse pådje ci come dedja patrouyeye",
        "patrol-log-page": "Djournå des patrouyaedjes",
        "file-info-size": "$1 × $2 picsels, groxheur do fitchî: $3, del sôre \"MIME\": $4",
        "file-nohires": "I n' a nén di pus grande finté.",
        "svg-long-desc": "Fitchî SVG, finté di $1 × $2 picsels, grandeu: $3",
-       "show-big-image": "Imådje a si grandeur d' oridjinne",
+       "show-big-image": "Fitchî d' oridjinne",
+       "show-big-image-preview": "Grandeur do préveyaedje: $1.",
+       "show-big-image-other": "{{PLURAL:$2|Ôte finté|Ôtès fintés}}: $1.",
+       "show-big-image-size": "$1 × $2 picsels",
        "newimages": "Galreye des nouvès imådjes",
        "imagelisttext": "Chal pa dzo c' est ene djivêye di '''$1''' {{PLURAL:$1|imådje relîte|imådjes relîtes}} $2.",
        "noimages": "I n' a rén a vey.",
        "intentionallyblankpage": "Cisse pådje ci est vude en esprès.",
        "tag-filter": "Passete po ls [[Special:Tags|etiketes]]:",
        "tag-filter-submit": "Passete",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Etikete|Etiketes}}]]: $2)",
        "tags-edit": "candjî",
        "tags-hitcount": "$1 candjmint{{PLURAL:$1||s}}",
        "comparepages": "Comparer des pådjes",
        "logentry-patrol-patrol": "$1 a marké come patrouyî l' candjmint $4 del pådje $3",
        "logentry-patrol-patrol-auto": "$1 a marké otomaticmint come patrouyî l' candjmint $4 del pådje $3",
        "logentry-newusers-newusers": "$1 a-st ahivé on conte d' uzeu",
-       "logentry-newusers-create": "$1 a-st ahivé on conte d' uzeu",
+       "logentry-newusers-create": "Li conte d' uzeu $1 a stî ahivé",
        "logentry-newusers-create2": "$1 a-st ahivé on conte d' uzeu $3",
        "logentry-newusers-autocreate": "li conte $1 a stî ahivé otomaticmint",
+       "logentry-upload-upload": "$1 {{GENDER:$2|}}a-st eberweté $3",
        "rightsnone": "(nouk)",
        "feedback-adding": "Vosse messaedje a stî håyné sol pådje...",
        "feedback-cancel": "Rinoncî",
index 6125556..6fb8443 100644 (file)
        "createaccountreason": "Rason:",
        "createacct-reason": "Rason",
        "createacct-reason-ph": "Kay ano nahimo ka hin usa pa nga akawnt",
-       "createacct-submit": "Ighimo an im akawnt",
+       "createacct-submit": "Ighimo an im account",
        "createacct-another-submit": "Paghimo hin account",
        "createacct-benefit-heading": "{{SITENAME}} in ginhimo hin tawo nga sugad ha imo.",
        "createacct-benefit-body1": "{{PLURAL:$1|pagliwat|mga pagliwat}}",
index 8545808..71ba751 100644 (file)
        "recentchangeslinked-page": "页面名称:",
        "recentchangeslinked-to": "显示链到所给出的页面",
        "recentchanges-page-added-to-category": "[[:$1]]已添加至分类",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]]及其他{{PLURAL:$2|$2个页面}}已添加至分类",
+       "recentchanges-page-added-to-category-bundled": "[[:$1]]及[[Special:WhatLinksHere/$1|其他{{PLURAL:$2|$2个页面}}]]已添加至分类",
        "recentchanges-page-removed-from-category": "[[:$1]]已从分类中移除",
-       "recentchanges-page-removed-from-category-bundled": "[[:$1]]及其他{{PLURAL:$2|$2个页面}}已从分类中移除",
+       "recentchanges-page-removed-from-category-bundled": "[[:$1]]及[[Special:WhatLinksHere/$1|其他{{PLURAL:$2|$2个页面}}]]已从分类中移除",
        "autochange-username": "MediaWiki自动化更改",
        "upload": "上传文件",
        "uploadbtn": "上传文件",
index 559dbd6..cd7a842 100644 (file)
@@ -47,7 +47,7 @@ class UploadStashCleanup extends Maintenance {
                $repo = RepoGroup::singleton()->getLocalRepo();
                $tempRepo = $repo->getTempRepo();
 
-               $dbr = $repo->getSlaveDb();
+               $dbr = $repo->getSlaveDB();
 
                // how far back should this look for files to delete?
                $cutoff = time() - $wgUploadStashMaxAge;
index e871a4e..206e046 100644 (file)
@@ -25,20 +25,27 @@ require_once __DIR__ . '/Maintenance.php';
 
 // @codingStandardsIgnoreStart MediaWiki.NamingConventions.ValidGlobalName.wgPrefix
 global $optionsWithArgs;
+global $optionsWithoutArgs;
 // @codingStandardsIgnoreEnd
 if ( !isset( $optionsWithArgs ) ) {
        $optionsWithArgs = [];
 }
+if ( !isset( $optionsWithoutArgs ) ) {
+       $optionsWithoutArgs = [];
+}
 
 class CommandLineInc extends Maintenance {
        public function __construct() {
                // @codingStandardsIgnoreStart MediaWiki.NamingConventions.ValidGlobalName.wgPrefix
-               global $optionsWithArgs;
+               global $optionsWithArgs, $optionsWithoutArgs;
                // @codingStandardsIgnoreEnd
                parent::__construct();
                foreach ( $optionsWithArgs as $name ) {
                        $this->addOption( $name, '', false, true );
                }
+               foreach ( $optionsWithoutArgs as $name ) {
+                       $this->addOption( $name, '', false, false );
+               }
        }
 
        /**
index f0c6569..512c38c 100644 (file)
@@ -36,6 +36,12 @@ $optionsWithArgs = [
        'extensions', 'comment', 'comment-file', 'comment-ext', 'summary', 'user',
        'license', 'sleep', 'limit', 'from', 'source-wiki-url', 'timestamp',
 ];
+
+$optionsWithoutArgs = [
+       'protect', 'unprotect', 'search-recursively', 'check-userblock', 'overwrite',
+       'skip-dupes', 'dry'
+];
+
 require_once __DIR__ . '/commandLine.inc';
 require_once __DIR__ . '/importImages.inc';
 $processed = $added = $ignored = $skipped = $overwritten = $failed = 0;
index 5d48244..baa9c71 100644 (file)
@@ -21,6 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
+$optionsWithArgs = [ 'lang', 'clang', 'mode' ];
 require_once __DIR__ . '/../commandLine.inc';
 $messagesDir = __DIR__ . '/../../languages/messages/';
 $runTest = false;
index bd9f9af..a8cbac1 100644 (file)
  * @ingroup MaintenanceLanguage
  */
 
+$optionsWithArgs = [
+       'lang', 'level', 'blacklist', 'whitelist', 'wikilang', 'output', 'prefix'
+];
+$optionsWithoutArgs = [
+       'help', 'links', 'noexif', 'easy', 'duplicate', 'all'
+];
 require_once __DIR__ . '/../commandLine.inc';
 require_once 'checkLanguage.inc';
 require_once 'languages.inc';
index ca94473..7202952 100644 (file)
@@ -27,6 +27,7 @@
  * https://www.mediawiki.org/wiki/Localisation_statistics
  */
 $optionsWithArgs = [ 'output' ];
+$optionsWithoutArgs = [ 'help' ];
 
 require_once __DIR__ . '/../commandLine.inc';
 require_once 'languages.inc';
index 0fff823..784ba0e 100644 (file)
  * @ingroup Maintenance
  */
 
-/** */
+$optionsWithArgs = [ 'cache' ];
+$optionsWithoutArgs = [
+       'debug', 'help'
+];
 require_once __DIR__ . '/commandLine.inc';
 
-$options = getopt( '', [ 'debug', 'help', 'cache:' ] );
-
 $debug = isset( $options['debug'] );
 $help = isset( $options['help'] );
 $cache = isset( $options['cache'] ) ? $options['cache'] : null;
index 6d2a553..55f361c 100644 (file)
@@ -583,7 +583,7 @@ class NamespaceConflictChecker extends Maintenance {
                $wikiPage = new WikiPage( $sourceTitle );
                $wikiPage->loadPageData( 'fromdbmaster' );
 
-               $destId = $newTitle->getArticleId();
+               $destId = $newTitle->getArticleID();
                $this->beginTransaction( $this->db, __METHOD__ );
                $this->db->update( 'revision',
                        // SET
index effed56..17a8d2e 100644 (file)
@@ -73,7 +73,7 @@ class CLIParser extends Maintenance {
 
        public function execute() {
                $this->initParser();
-               print $this->render( $this->WikiText() );
+               print $this->render( $this->Wikitext() );
        }
 
        /**
index 4f478ac..aa5d69d 100644 (file)
@@ -21,6 +21,7 @@
  * @ingroup Maintenance
  */
 
+$optionsWithoutArgs = [ 'verbose' ];
 require_once __DIR__ . '/commandLine.inc';
 
 $wgHooks['BeforeParserFetchTemplateAndtitle'][] = 'PPFuzzTester::templateHook';
index 816e8a4..8d0873f 100644 (file)
@@ -34,6 +34,9 @@ class ResetUserEmail extends Maintenance {
                $this->addDescription( "Resets a user's email" );
                $this->addArg( 'user', 'Username or user ID, if starts with #', true );
                $this->addArg( 'email', 'Email to assign' );
+
+               $this->addOption( 'no-reset-password', 'Don\'t reset the user\'s password', false, false );
+
                parent::__construct();
        }
 
@@ -57,8 +60,11 @@ class ResetUserEmail extends Maintenance {
                $user->setEmail( $email );
                $user->setEmailAuthenticationTimestamp( wfTimestampNow() );
                $user->saveSettings();
-               // Kick whomever is currently controlling the account off
-               $user->setPassword( PasswordFactory::generateRandomPasswordString( 128 ) );
+
+               if ( !$this->hasOption( 'no-reset-password' ) ) {
+                       // Kick whomever is currently controlling the account off
+                       $user->setPassword( PasswordFactory::generateRandomPasswordString( 128 ) );
+               }
        }
 }
 
index 2d4e82a..454c506 100644 (file)
@@ -128,7 +128,7 @@ class SqliteMaintenance extends Maintenance {
        }
 
        private function checkSyntax() {
-               if ( !Sqlite::IsPresent() ) {
+               if ( !Sqlite::isPresent() ) {
                        $this->error( "Error: SQLite support not found\n" );
                }
                $files = [ $this->getOption( 'check-syntax' ) ];
index 9da3909..d69e5b9 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 if ( !defined( 'MEDIAWIKI' ) ) {
+       $optionsWithoutArgs = [ 'fix' ];
        require_once __DIR__ . '/../commandLine.inc';
 
        $cs = new CheckStorage;
index 8ea5d58..0ea52ca 100644 (file)
@@ -319,7 +319,7 @@ class FixBug20757 extends Maintenance {
                        if ( $path == "" ) {
                                return false;
                        }
-                       $text = ExternalStore::fetchFromUrl( $url );
+                       $text = ExternalStore::fetchFromURL( $url );
                }
                if ( !in_array( 'object', $flags ) ) {
                        return false;
index 776b72f..80dc7f9 100644 (file)
@@ -24,6 +24,7 @@
 define( 'REPORTING_INTERVAL', 1 );
 
 if ( !defined( 'MEDIAWIKI' ) ) {
+       $optionsWithArgs = [ 'e', 's' ];
        require_once __DIR__ . '/../commandLine.inc';
        require_once 'resolveStubs.php';
 
index ed8dfa9..43b10c8 100755 (executable)
@@ -127,7 +127,7 @@ class UpdateMediaWiki extends Maintenance {
                        $this->compatChecks();
                } else {
                        $this->output( "Skipping compatibility checks, proceed at your own risk (Ctrl+C to abort)\n" );
-                       wfCountdown( 5 );
+                       wfCountDown( 5 );
                }
 
                // Check external dependencies are up to date
@@ -168,7 +168,7 @@ class UpdateMediaWiki extends Maintenance {
                        $updates[] = 'stats';
                }
 
-               $updater = DatabaseUpdater::newForDb( $db, $shared, $this );
+               $updater = DatabaseUpdater::newForDB( $db, $shared, $this );
                $updater->doUpdates( $updates );
 
                foreach ( $updater->getPostDatabaseUpdateMaintenance() as $maint ) {
index 8a895f2..cdb7d9f 100644 (file)
@@ -61,7 +61,7 @@ class UpdateSearchIndex extends Maintenance {
        }
 
        public function execute() {
-               $posFile = $this->getOption( 'p', 'searchUpdate.' . wfWikiId() . '.pos' );
+               $posFile = $this->getOption( 'p', 'searchUpdate.' . wfWikiID() . '.pos' );
                $end = $this->getOption( 'e', wfTimestampNow() );
                if ( $this->hasOption( 's' ) ) {
                        $start = $this->getOption( 's' );
index 21a050b..9ea6c7b 100644 (file)
@@ -9,13 +9,13 @@
     "grunt": "0.4.5",
     "grunt-cli": "0.1.13",
     "grunt-banana-checker": "0.4.0",
-    "grunt-contrib-copy": "0.8.2",
+    "grunt-contrib-copy": "1.0.0",
     "grunt-contrib-jshint": "1.0.0",
-    "grunt-contrib-watch": "0.6.1",
+    "grunt-contrib-watch": "1.0.0",
     "grunt-jscs": "2.8.0",
     "grunt-jsonlint": "1.0.7",
-    "grunt-karma": "0.12.1",
-    "karma": "0.13.19",
+    "grunt-karma": "0.12.2",
+    "karma": "0.13.22",
     "karma-chrome-launcher": "0.2.2",
     "karma-firefox-launcher": "0.1.7",
     "karma-qunit": "0.1.9",
index 9f45307..15f2dcf 100644 (file)
@@ -195,7 +195,7 @@ class ParserTest {
                        'transformVia404' => false,
                        'backend' => new FSFileBackend( [
                                'name' => 'local-backend',
-                               'wikiId' => wfWikiId(),
+                               'wikiId' => wfWikiID(),
                                'containerPaths' => [
                                        'local-public' => $this->uploadDir . '/public',
                                        'local-thumb' => $this->uploadDir . '/thumb',
@@ -849,7 +849,7 @@ class ParserTest {
                                'transformVia404' => false,
                                'backend' => new FSFileBackend( [
                                        'name' => 'local-backend',
-                                       'wikiId' => wfWikiId(),
+                                       'wikiId' => wfWikiID(),
                                        'containerPaths' => [
                                                'local-public' => $this->uploadDir,
                                                'local-thumb' => $this->uploadDir . '/thumb',
@@ -896,7 +896,6 @@ class ParserTest {
                        'wgExternalLinkTarget' => false,
                        'wgHtml5' => true,
                        'wgWellFormedXml' => true,
-                       'wgAllowMicrodataAttributes' => true,
                        'wgAdaptiveMessageCache' => true,
                        'wgDisableLangConversion' => false,
                        'wgDisableTitleConversion' => false,
index d01ebdf..356eed3 100644 (file)
@@ -24664,7 +24664,7 @@ Don't block XML namespace declaration
 !! wikitext
 <span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">MediaWiki</span>
 !! html/php
-<p><span>MediaWiki</span>
+<p><span xmlns:dct="http&#58;//purl.org/dc/terms/" property="dct:title">MediaWiki</span>
 </p>
 !! html/parsoid
 <p><span xmlns:dct="http://purl.org/dc/terms/" data-x-property="dct:title" data-parsoid='{"stx":"html"}'>MediaWiki</span></p>
index 045c3d4..dc69902 100644 (file)
@@ -1321,33 +1321,6 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                return $loaded;
        }
 
-       /**
-        * Asserts that an exception of the specified type occurs when running
-        * the provided code.
-        *
-        * @since 1.21
-        * @deprecated since 1.22 Use setExpectedException
-        *
-        * @param callable $code
-        * @param string $expected
-        * @param string $message
-        */
-       protected function assertException( $code, $expected = 'Exception', $message = '' ) {
-               $pokemons = null;
-
-               try {
-                       call_user_func( $code );
-               } catch ( Exception $pokemons ) {
-                       // Gotta Catch 'Em All!
-               }
-
-               if ( $message === '' ) {
-                       $message = 'An exception of type "' . $expected . '" should have been thrown';
-               }
-
-               $this->assertInstanceOf( $expected, $pokemons, $message );
-       }
-
        /**
         * Asserts that the given string is a valid HTML snippet.
         * Wraps the given string in the required top level tags and
index 35ebf42..9f38659 100644 (file)
@@ -15,7 +15,7 @@ class BlockTest extends MediaWikiLangTestCase {
 
        function addDBData() {
                $user = User::newFromName( 'UTBlockee' );
-               if ( $user->getID() == 0 ) {
+               if ( $user->getId() == 0 ) {
                        $user->addToDatabase();
                        TestUser::setPasswordForUser( $user, 'UTBlockeePassword' );
 
@@ -31,7 +31,7 @@ class BlockTest extends MediaWikiLangTestCase {
 
                $blockOptions = [
                        'address' => 'UTBlockee',
-                       'user' => $user->getID(),
+                       'user' => $user->getId(),
                        'reason' => 'Parce que',
                        'expiry' => time() + 100500,
                ];
@@ -365,7 +365,7 @@ class BlockTest extends MediaWikiLangTestCase {
 
                # Set up the target
                $u = User::newFromName( $username );
-               if ( $u->getID() == 0 ) {
+               if ( $u->getId() == 0 ) {
                        $u->addToDatabase();
                        TestUser::setPasswordForUser( $u, 'TotallyObvious' );
                }
index 85ac4ce..eac56fb 100644 (file)
@@ -69,33 +69,33 @@ class FauxResponseTest extends MediaWikiTestCase {
         * @covers FauxResponse::header
         */
        public function testHeader() {
-               $this->assertEquals( null, $this->response->getheader( 'Location' ), 'Non-existing header' );
+               $this->assertEquals( null, $this->response->getHeader( 'Location' ), 'Non-existing header' );
 
                $this->response->header( 'Location: http://localhost/' );
                $this->assertEquals(
                        'http://localhost/',
-                       $this->response->getheader( 'Location' ),
+                       $this->response->getHeader( 'Location' ),
                        'Set header'
                );
 
                $this->response->header( 'Location: http://127.0.0.1/' );
                $this->assertEquals(
                        'http://127.0.0.1/',
-                       $this->response->getheader( 'Location' ),
+                       $this->response->getHeader( 'Location' ),
                        'Same header'
                );
 
                $this->response->header( 'Location: http://127.0.0.2/', false );
                $this->assertEquals(
                        'http://127.0.0.1/',
-                       $this->response->getheader( 'Location' ),
+                       $this->response->getHeader( 'Location' ),
                        'Same header with override disabled'
                );
 
                $this->response->header( 'Location: http://localhost/' );
                $this->assertEquals(
                        'http://localhost/',
-                       $this->response->getheader( 'LOCATION' ),
+                       $this->response->getHeader( 'LOCATION' ),
                        'Get header case insensitive'
                );
        }
index 440495b..0ac9c3c 100644 (file)
@@ -95,7 +95,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
 
                $rev = new Revision( $props );
 
-               $dbw = wfgetDB( DB_MASTER );
+               $dbw = wfGetDB( DB_MASTER );
                $rev->insertOn( $dbw );
 
                return $rev;
@@ -145,7 +145,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        public function testConstructFromRow() {
                $orig = $this->makeRevision();
 
-               $dbr = wfgetDB( DB_SLAVE );
+               $dbr = wfGetDB( DB_SLAVE );
                $res = $dbr->select( 'revision', '*', [ 'rev_id' => $orig->getId() ] );
                $this->assertTrue( is_object( $res ), 'query failed' );
 
@@ -163,7 +163,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        public function testNewFromRow() {
                $orig = $this->makeRevision();
 
-               $dbr = wfgetDB( DB_SLAVE );
+               $dbr = wfGetDB( DB_SLAVE );
                $res = $dbr->select( 'revision', '*', [ 'rev_id' => $orig->getId() ] );
                $this->assertTrue( is_object( $res ), 'query failed' );
 
@@ -187,7 +187,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
                $orig = $page->getRevision();
                $page->doDeleteArticle( 'test Revision::newFromArchiveRow' );
 
-               $dbr = wfgetDB( DB_SLAVE );
+               $dbr = wfGetDB( DB_SLAVE );
                $res = $dbr->select( 'archive', '*', [ 'ar_rev_id' => $orig->getId() ] );
                $this->assertTrue( is_object( $res ), 'query failed' );
 
index 584a368..5ecdf56 100644 (file)
@@ -48,7 +48,7 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
                if ( !isset( $this->userUser ) || !( $this->userUser instanceof User ) ) {
                        $this->userUser = User::newFromName( $this->userName );
 
-                       if ( !$this->userUser->getID() ) {
+                       if ( !$this->userUser->getId() ) {
                                $this->userUser = User::createNew( $this->userName, [
                                        "email" => "test@example.com",
                                        "real_name" => "Test User" ] );
@@ -56,7 +56,7 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
                        }
 
                        $this->altUser = User::newFromName( $this->altUserName );
-                       if ( !$this->altUser->getID() ) {
+                       if ( !$this->altUser->getId() ) {
                                $this->altUser = User::createNew( $this->altUserName, [
                                        "email" => "alttest@example.com",
                                        "real_name" => "Test User Alt" ] );
@@ -658,7 +658,7 @@ class TitlePermissionTest extends MediaWikiLangTestCase {
                $this->setUserPerm( [ "createpage" ] );
                $this->setTitle( NS_MAIN, "test page" );
                $this->title->mTitleProtection['permission'] = '';
-               $this->title->mTitleProtection['user'] = $this->user->getID();
+               $this->title->mTitleProtection['user'] = $this->user->getId();
                $this->title->mTitleProtection['expiry'] = 'infinity';
                $this->title->mTitleProtection['reason'] = 'test';
                $this->title->mCascadeRestriction = false;
index 00701db..3052915 100644 (file)
@@ -27,7 +27,7 @@ class ApiLoginTest extends ApiTestCase {
                global $wgServer;
 
                $user = self::$users['sysop'];
-               $user->getUser()->logOut();
+               $user->getUser()->logout();
 
                if ( !isset( $wgServer ) ) {
                        $this->markTestIncomplete( 'This test needs $wgServer to be set in LocalSettings.php' );
@@ -72,7 +72,7 @@ class ApiLoginTest extends ApiTestCase {
                }
 
                $user = self::$users['sysop'];
-               $user->getUser()->logOut();
+               $user->getUser()->logout();
 
                $ret = $this->doApiRequest( [
                                "action" => "login",
@@ -153,7 +153,7 @@ class ApiLoginTest extends ApiTestCase {
                $this->assertNotEquals( false, $serverName );
                $serializedCookie = $cj->serializeToHttpRequest( $wgScriptPath, $serverName );
                $this->assertNotEquals( '', $serializedCookie );
-               $this->assertRegexp(
+               $this->assertRegExp(
                        '/_session=[^;]*; .*UserID=[0-9]*; .*UserName=' . $user->userName . '; .*Token=/',
                        $serializedCookie
                );
index bacc061..873917e 100644 (file)
@@ -137,7 +137,7 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertFalse( $exception );
 
                // clean up
-               $this->deleteFileByFilename( $fileName );
+               $this->deleteFileByFileName( $fileName );
        }
 
        /**
@@ -173,7 +173,7 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertTrue( $exception );
 
                // clean up
-               $this->deleteFileByFilename( $fileName );
+               $this->deleteFileByFileName( $fileName );
        }
 
        /**
@@ -243,7 +243,7 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertFalse( $exception );
 
                // clean up
-               $this->deleteFileByFilename( $fileName );
+               $this->deleteFileByFileName( $fileName );
        }
 
        /**
@@ -322,8 +322,8 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertFalse( $exception );
 
                // clean up
-               $this->deleteFileByFilename( $fileNames[0] );
-               $this->deleteFileByFilename( $fileNames[1] );
+               $this->deleteFileByFileName( $fileNames[0] );
+               $this->deleteFileByFileName( $fileNames[1] );
        }
 
        /**
@@ -406,7 +406,7 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertFalse( $exception, "No UsageException exception." );
 
                // clean up
-               $this->deleteFileByFilename( $fileName );
+               $this->deleteFileByFileName( $fileName );
        }
 
        /**
@@ -550,6 +550,6 @@ class ApiUploadTest extends ApiTestCaseUpload {
                $this->assertFalse( $exception );
 
                // clean up
-               $this->deleteFileByFilename( $fileName );
+               $this->deleteFileByFileName( $fileName );
        }
 }
index 1f4e26c..9942a0f 100644 (file)
@@ -10,7 +10,7 @@ class UserWrapper {
                $this->password = $password;
 
                $this->user = User::newFromName( $this->userName );
-               if ( !$this->user->getID() ) {
+               if ( !$this->user->getId() ) {
                        $this->user = User::createNew( $this->userName, [
                                "email" => "test@example.com",
                                "real_name" => "Test User" ] );
index 40994da..e329f8d 100644 (file)
@@ -11,7 +11,7 @@ class GenderCacheTest extends MediaWikiLangTestCase {
                $this->mergeMwGlobalArrayValue( 'wgDefaultUserOptions', [ 'gender' => 'unknown' ] );
 
                $user = User::newFromName( 'UTMale' );
-               if ( $user->getID() == 0 ) {
+               if ( $user->getId() == 0 ) {
                        $user->addToDatabase();
                        TestUser::setPasswordForUser( $user, 'UTMalePassword' );
                }
@@ -20,7 +20,7 @@ class GenderCacheTest extends MediaWikiLangTestCase {
                $user->saveSettings();
 
                $user = User::newFromName( 'UTFemale' );
-               if ( $user->getID() == 0 ) {
+               if ( $user->getId() == 0 ) {
                        $user->addToDatabase();
                        TestUser::setPasswordForUser( $user, 'UTFemalePassword' );
                }
@@ -29,7 +29,7 @@ class GenderCacheTest extends MediaWikiLangTestCase {
                $user->saveSettings();
 
                $user = User::newFromName( 'UTDefaultGender' );
-               if ( $user->getID() == 0 ) {
+               if ( $user->getId() == 0 ) {
                        $user->addToDatabase();
                        TestUser::setPasswordForUser( $user, 'UTDefaultGenderPassword' );
                }
index c7fba50..32e71e0 100644 (file)
@@ -91,7 +91,7 @@ class RequestContextTest extends MediaWikiTestCase {
                        MediaWiki\Session\SessionManager::getGlobalSession()->getId(),
                        "Correct context session ID."
                );
-               if ( \MediaWiki\Session\PhpSessionHandler::isEnabled() ) {
+               if ( \MediaWiki\Session\PHPSessionHandler::isEnabled() ) {
                        $this->assertEquals( $sinfo['sessionId'], session_id(), "Correct context session ID." );
                } else {
                        $this->assertEquals( $oldSessionId, session_id(), "Unchanged PHP session ID." );
index e7f3a21..90ccd1e 100644 (file)
@@ -22,7 +22,7 @@ class HttpErrorTest extends MediaWikiTestCase {
         */
        public function testGetHtml( array $expected, $content, $header ) {
                $httpError = new HttpError( 500, $content, $header );
-               $errorHtml = $httpError->getHtml();
+               $errorHtml = $httpError->getHTML();
 
                foreach ( $expected as $key => $html ) {
                        $this->assertContains( $html, $errorHtml, $key );
index bf59ab5..4aeddc6 100644 (file)
@@ -57,7 +57,7 @@ class FileBackendTest extends MediaWikiTestCase {
                        'name' => 'localtesting',
                        'lockManager' => LockManagerGroup::singleton()->get( 'fsLockManager' ),
                        'parallelize' => 'implicit',
-                       'wikiId' => wfWikiId() . wfRandomString(),
+                       'wikiId' => wfWikiID() . wfRandomString(),
                        'backends' => [
                                [
                                        'name' => 'localmultitesting1',
@@ -2431,7 +2431,7 @@ class FileBackendTest extends MediaWikiTestCase {
                $be = TestingAccessWrapper::newFromObject(
                        new FileBackendMultiWrite( [
                                'name' => 'localtesting',
-                               'wikiId' => wfWikiId() . mt_rand(),
+                               'wikiId' => wfWikiID() . mt_rand(),
                                'backends' => [
                                        [ // backend 0
                                                'name' => 'multitesting0',
@@ -2481,7 +2481,7 @@ class FileBackendTest extends MediaWikiTestCase {
                $be = TestingAccessWrapper::newFromObject(
                        new FileBackendMultiWrite( [
                                'name' => 'localtesting',
-                               'wikiId' => wfWikiId() . mt_rand(),
+                               'wikiId' => wfWikiID() . mt_rand(),
                                'backends' => [
                                        [ // backend 0
                                                'name' => 'multitesting0',
index 77a7320..8366541 100644 (file)
@@ -120,7 +120,7 @@ class FileBackendDBRepoWrapperTest extends MediaWikiTestCase {
                        [],
                        [ [
                                'name' => $this->backendName,
-                               'wikiId' => wfWikiId()
+                               'wikiId' => wfWikiID()
                        ] ] );
 
                $wrapperMock = $this->getMock( 'FileBackendDBRepoWrapper',
index a7408f2..c5fd369 100644 (file)
@@ -137,7 +137,7 @@ class FileTest extends MediaWikiMediaTestCase {
         */
        public function testGetThumbnailSource( $data ) {
                $backendMock = $this->getMockBuilder( 'FSFileBackend' )
-                       ->setConstructorArgs( [ [ 'name' => 'backendMock', 'wikiId' => wfWikiId() ] ] )
+                       ->setConstructorArgs( [ [ 'name' => 'backendMock', 'wikiId' => wfWikiID() ] ] )
                        ->getMock();
 
                $repoMock = $this->getMockBuilder( 'FileRepo' )
@@ -247,7 +247,7 @@ class FileTest extends MediaWikiMediaTestCase {
                $this->setMwGlobals( 'wgThumbnailBuckets', $data['buckets'] );
 
                $backendMock = $this->getMockBuilder( 'FSFileBackend' )
-                       ->setConstructorArgs( [ [ 'name' => 'backendMock', 'wikiId' => wfWikiId() ] ] )
+                       ->setConstructorArgs( [ [ 'name' => 'backendMock', 'wikiId' => wfWikiID() ] ] )
                        ->getMock();
 
                $repoMock = $this->getMockBuilder( 'FileRepo' )
index 9c7040a..ffaa2c3 100644 (file)
@@ -20,7 +20,7 @@ class LocalFileTest extends MediaWikiTestCase {
                        'transformVia404' => false,
                        'backend' => new FSFileBackend( [
                                'name' => 'local-backend',
-                               'wikiId' => wfWikiId(),
+                               'wikiId' => wfWikiID(),
                                'containerPaths' => [
                                        'cont1' => "/testdir/local-backend/tempimages/cont1",
                                        'cont2' => "/testdir/local-backend/tempimages/cont2"
index 6090803..a70c005 100644 (file)
@@ -131,7 +131,7 @@ class BitmapMetadataHandlerTest extends MediaWikiTestCase {
                        $this->markTestSkipped( "This test needs the xml extension." );
                }
                $handler = new BitmapMetadataHandler();
-               $result = $handler->png( $this->filePath . 'xmp.png' );
+               $result = $handler->PNG( $this->filePath . 'xmp.png' );
                $expected = [
                        'frameCount' => 0,
                        'loopCount' => 1,
@@ -151,7 +151,7 @@ class BitmapMetadataHandlerTest extends MediaWikiTestCase {
         */
        public function testPNGNative() {
                $handler = new BitmapMetadataHandler();
-               $result = $handler->png( $this->filePath . 'Png-native-test.png' );
+               $result = $handler->PNG( $this->filePath . 'Png-native-test.png' );
                $expected = 'http://example.com/url';
                $this->assertEquals( $expected, $result['metadata']['Identifier']['x-default'] );
        }
index 5887d38..5042121 100644 (file)
@@ -25,7 +25,7 @@ abstract class MediaWikiMediaTestCase extends MediaWikiTestCase {
 
                $this->backend = new FSFileBackend( [
                        'name' => 'localtesting',
-                       'wikiId' => wfWikiId(),
+                       'wikiId' => wfWikiID(),
                        'containerPaths' => $containers
                ] );
                $this->repo = new FSRepo( $this->getRepoOptions() );
index 4eb480d..b0c1525 100644 (file)
@@ -102,7 +102,6 @@ class NewParserTest extends MediaWikiTestCase {
                $tmpGlobals['wgAllowExternalImages'] = true;
                $tmpGlobals['wgRawHtml'] = false;
                $tmpGlobals['wgWellFormedXml'] = true;
-               $tmpGlobals['wgAllowMicrodataAttributes'] = true;
                $tmpGlobals['wgExperimentalHtmlIds'] = false;
                $tmpGlobals['wgAdaptiveMessageCache'] = true;
                $tmpGlobals['wgUseDatabaseMessages'] = true;
@@ -412,7 +411,7 @@ class NewParserTest extends MediaWikiTestCase {
                        # informations.
                        $backend = new MockFileBackend( [
                                'name' => 'local-backend',
-                               'wikiId' => wfWikiId()
+                               'wikiId' => wfWikiID()
                        ] );
                }
 
index af34282..6357510 100644 (file)
@@ -42,7 +42,7 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                        'Password is shorter than minimal policy'
                );
                $this->assertTrue(
-                       $statusShort->isOk(),
+                       $statusShort->isOK(),
                        'Password is shorter than minimal policy, not fatal'
                );
        }
@@ -67,7 +67,7 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                        'Password is shorter than minimum login policy'
                );
                $this->assertFalse(
-                       $statusShort->isOk(),
+                       $statusShort->isOK(),
                        'Password is shorter than minimum login policy, fatal'
                );
        }
@@ -90,7 +90,7 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                $this->assertFalse( $statusLong->isGood(),
                        'Password is longer than maximal policy'
                );
-               $this->assertFalse( $statusLong->isOk(),
+               $this->assertFalse( $statusLong->isOK(),
                        'Password is longer than maximal policy, fatal'
                );
        }
@@ -111,7 +111,7 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                        'user'  // password
                );
                $this->assertFalse( $statusLong->isGood(), 'Password matches username' );
-               $this->assertTrue( $statusLong->isOk(), 'Password matches username, not fatal' );
+               $this->assertTrue( $statusLong->isOK(), 'Password matches username, not fatal' );
        }
 
        /**
@@ -130,7 +130,7 @@ class PasswordPolicyChecksTest extends MediaWikiTestCase {
                        'Passpass1'  // password
                );
                $this->assertFalse( $statusLong->isGood(), 'Password matches blacklist' );
-               $this->assertTrue( $statusLong->isOk(), 'Password matches blacklist, not fatal' );
+               $this->assertTrue( $statusLong->isOK(), 'Password matches blacklist, not fatal' );
        }
 
 }
index d820040..d16200b 100644 (file)
@@ -112,7 +112,7 @@ class UserPasswordPolicyTest extends MediaWikiTestCase {
 
                $status = $upp->checkUserPassword( $user, $password );
                $this->assertSame( $valid, $status->isGood(), $msg . ' - password valid' );
-               $this->assertSame( $ok, $status->isOk(), $msg . ' - can login' );
+               $this->assertSame( $ok, $status->isOK(), $msg . ' - can login' );
        }
 
        public function provideCheckUserPassword() {
index 5126a42..d76d9df 100644 (file)
@@ -154,7 +154,7 @@ class BotPasswordSessionProviderTest extends MediaWikiTestCase {
        public function testBasics() {
                $provider = $this->getProvider();
 
-               $this->assertTrue( $provider->persistsSessionID() );
+               $this->assertTrue( $provider->persistsSessionId() );
                $this->assertFalse( $provider->canChangeUser() );
 
                $this->assertNull( $provider->newSessionInfo() );
index a52aa4b..70e89d4 100644 (file)
@@ -145,7 +145,7 @@ class CookieSessionProviderTest extends MediaWikiTestCase {
        public function testBasics() {
                $provider = new CookieSessionProvider( [ 'priority' => 10 ] );
 
-               $this->assertTrue( $provider->persistsSessionID() );
+               $this->assertTrue( $provider->persistsSessionId() );
                $this->assertTrue( $provider->canChangeUser() );
 
                $msg = $provider->whyNoSession();
index a1b9bb4..cf59ced 100644 (file)
@@ -251,7 +251,7 @@ class SessionManagerTest extends MediaWikiTestCase {
                try {
                        $manager->getSessionForRequest( $request );
                        $this->fail( 'Expcected exception not thrown' );
-               } catch ( \OverFlowException $ex ) {
+               } catch ( \OverflowException $ex ) {
                        $this->assertStringStartsWith(
                                'Multiple sessions for this request tied for top priority: ',
                                $ex->getMessage()
@@ -809,7 +809,7 @@ class SessionManagerTest extends MediaWikiTestCase {
 
                \ObjectCache::$instances[__METHOD__] = new TestBagOStuff();
                $this->setMwGlobals( [ 'wgMainCacheType' => __METHOD__ ] );
-               $this->setMWGlobals( [
+               $this->setMwGlobals( [
                        'wgAuth' => new AuthPlugin,
                ] );
 
index e2b138b..c86fb6c 100644 (file)
@@ -104,11 +104,11 @@ class LocalIdLookupTest extends MediaWikiTestCase {
                $this->assertTrue( $lookup->isAttached( $user1 ) );
                $this->assertFalse( $lookup->isAttached( $user2 ) );
 
-               $wiki = wfWikiId();
+               $wiki = wfWikiID();
                $this->assertTrue( $lookup->isAttached( $user1, $wiki ) );
                $this->assertFalse( $lookup->isAttached( $user2, $wiki ) );
 
-               $wiki = 'not-' . wfWikiId();
+               $wiki = 'not-' . wfWikiID();
                $this->assertFalse( $lookup->isAttached( $user1, $wiki ) );
                $this->assertFalse( $lookup->isAttached( $user2, $wiki ) );
        }
index 20f4c4f..3f80b90 100644 (file)
@@ -281,7 +281,7 @@ class LanguageTest extends LanguageClassesTestCase {
                // Actual HTML...
                $this->assertEquals(
                        $expected,
-                       $this->getLang()->truncateHTML( $input, $len, $ellipsis )
+                       $this->getLang()->truncateHtml( $input, $len, $ellipsis )
                );
        }
 
index e015216..d7e72bb 100644 (file)
@@ -114,7 +114,7 @@ class TextPassDumperDatabaseTest extends DumpTestCase {
                $dumper = new TextPassDumper( [ "--stub=file:" . $nameStub,
                        "--output=file:" . $nameFull ] );
                $dumper->reporting = false;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->dump( WikiExporter::FULL, WikiExporter::TEXT );
@@ -183,7 +183,7 @@ class TextPassDumperDatabaseTest extends DumpTestCase {
 
                $dumper->prefetch = $prefetchMock;
                $dumper->reporting = false;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->dump( WikiExporter::FULL, WikiExporter::TEXT );
@@ -274,7 +274,7 @@ class TextPassDumperDatabaseTest extends DumpTestCase {
                                "--maxtime=1" /*This is in minutes. Fixup is below*/,
                                "--buffersize=32768", // The default of 32 iterations fill up 32KB about twice
                                "--checkpointfile=checkpoint-%s-%s.xml.gz" ] );
-                       $dumper->setDb( $this->db );
+                       $dumper->setDB( $this->db );
                        $dumper->maxTimeAllowed = $checkpointAfter; // Patching maxTime from 1 minute
                        $dumper->stderr = $stderr;
 
index 0b2f7fb..0019a3f 100644 (file)
@@ -146,7 +146,7 @@ class BackupDumperLoggerTest extends DumpTestCase {
                $dumper->startId = $this->logId1;
                $dumper->endId = $this->logId3 + 1;
                $dumper->reporting = false;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->dump( WikiExporter::LOGS, WikiExporter::TEXT );
@@ -185,7 +185,7 @@ class BackupDumperLoggerTest extends DumpTestCase {
                        '--reporting=2' ] );
                $dumper->startId = $this->logId1;
                $dumper->endId = $this->logId3 + 1;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // xmldumps-backup demands reporting, although this is currently not
                // implemented in BackupDumper, when dumping logging data. We
index 5cd8336..2262cc0 100644 (file)
@@ -104,7 +104,7 @@ class BackupDumperPageTest extends DumpTestCase {
                $dumper->loadWithArgv( [ '--full', '--quiet', '--output', 'file:' . $fname ] );
                $dumper->startId = $this->pageId1;
                $dumper->endId = $this->pageId4 + 1;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->execute();
@@ -160,7 +160,7 @@ class BackupDumperPageTest extends DumpTestCase {
                $dumper->loadWithArgv( [ '--full', '--quiet', '--output', 'file:' . $fname, '--stub' ] );
                $dumper->startId = $this->pageId1;
                $dumper->endId = $this->pageId4 + 1;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->execute();
@@ -210,7 +210,7 @@ class BackupDumperPageTest extends DumpTestCase {
                $dumper->startId = $this->pageId1;
                $dumper->endId = $this->pageId4 + 1;
                $dumper->reporting = false;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->dump( WikiExporter::CURRENT, WikiExporter::STUB );
@@ -256,7 +256,7 @@ class BackupDumperPageTest extends DumpTestCase {
                $dumper->startId = $this->pageId1;
                $dumper->endId = $this->pageId4 + 1;
                $dumper->reporting = false;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // Performing the dump
                $dumper->dump( WikiExporter::CURRENT, WikiExporter::STUB );
@@ -318,7 +318,7 @@ class BackupDumperPageTest extends DumpTestCase {
                        "--reporting=1000" ] );
                $dumper->startId = $this->pageId1;
                $dumper->endId = $this->pageId4 + 1;
-               $dumper->setDb( $this->db );
+               $dumper->setDB( $this->db );
 
                // xmldumps-backup uses reporting. We will not check the exact reported
                // message, as they are dependent on the processing power of the used
index 81e2c65..aaa1feb 100644 (file)
@@ -78,7 +78,7 @@ class SideBarTest extends MediaWikiLangTestCase {
         * @covers SkinTemplate::addToSidebarPlain
         */
        public function testExpandMessages() {
-               $this->assertSidebar(
+               $this->assertSideBar(
                        [ 'Title' => [
                                [
                                        'text' => 'Help',
@@ -102,7 +102,7 @@ class SideBarTest extends MediaWikiLangTestCase {
                        'wgNoFollowDomainExceptions' => [],
                        'wgNoFollowNsExceptions' => [],
                ] );
-               $this->assertSidebar(
+               $this->assertSideBar(
                        [ 'Title' => [
                                # ** http://www.mediawiki.org/| Home
                                [
@@ -128,7 +128,7 @@ class SideBarTest extends MediaWikiLangTestCase {
         * @covers SkinTemplate::addToSidebarPlain
         */
        public function testTrickyPipe() {
-               $this->assertSidebar(
+               $this->assertSideBar(
                        [ 'Title' => [
                                # The first 2 are skipped
                                # Doesn't really test the url properly
@@ -163,7 +163,7 @@ class SideBarTest extends MediaWikiLangTestCase {
 ** http://www.mediawiki.org/| Home';
 
                $bar = [];
-               $this->skin->addToSideBarPlain( $bar, $text );
+               $this->skin->addToSidebarPlain( $bar, $text );
 
                return $bar['Title'][0];
        }
index 542420a..2049e38 100644 (file)
@@ -65,7 +65,7 @@ class ApiDocumentationTest extends MediaWikiTestCase {
                        RequestContext::getMain()->getConfig(),
                ] ) );
                foreach ( $globals as $k => $v ) {
-                       $this->setMWGlobals( "wg$k", $v );
+                       $this->setMwGlobals( "wg$k", $v );
                }
 
                // Fetch module.
index e3c5118..8366369 100644 (file)
@@ -37,7 +37,7 @@ class UploadFromUrlTestSuite extends PHPUnit_Framework_TestSuite {
                        'transformVia404' => false,
                        'backend' => new FSFileBackend( [
                                'name' => 'local-backend',
-                               'wikiId' => wfWikiId(),
+                               'wikiId' => wfWikiID(),
                                'containerPaths' => [
                                        'local-public' => "{$tmpDir}/test-repo/public",
                                        'local-thumb' => "{$tmpDir}/test-repo/thumb",