Merge "Import: Properly handle deleted usernames in XML dumps"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 21 Dec 2015 13:00:49 +0000 (13:00 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 21 Dec 2015 13:00:49 +0000 (13:00 +0000)
67 files changed:
HISTORY
RELEASE-NOTES-1.27
autoload.php
composer.json
includes/MediaWiki.php
includes/WebRequest.php
includes/actions/RawAction.php
includes/api/ApiQueryBase.php
includes/api/ApiQueryGeneratorBase.php [new file with mode: 0644]
includes/api/ApiRevisionDelete.php
includes/api/ApiTag.php
includes/api/i18n/ast.json
includes/api/i18n/fr.json
includes/changetags/ChangeTags.php
includes/installer/i18n/ast.json
includes/page/Article.php
includes/specials/SpecialEditTags.php
includes/specials/SpecialPageLanguage.php
includes/specials/SpecialRevisiondelete.php
includes/user/User.php
languages/i18n/ar.json
languages/i18n/az.json
languages/i18n/azb.json
languages/i18n/be-tarask.json
languages/i18n/bg.json
languages/i18n/bo.json
languages/i18n/cs.json
languages/i18n/cu.json
languages/i18n/cv.json
languages/i18n/cy.json
languages/i18n/de.json
languages/i18n/en.json
languages/i18n/eu.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hr.json
languages/i18n/hy.json
languages/i18n/kk-cyrl.json
languages/i18n/ko.json
languages/i18n/la.json
languages/i18n/mk.json
languages/i18n/pl.json
languages/i18n/qqq.json
languages/i18n/ro.json
languages/i18n/ru.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sr-ec.json
languages/i18n/th.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/vep.json
languages/i18n/wuu.json
languages/i18n/zh-hans.json
maintenance/findDeprecated.php [new file with mode: 0644]
resources/src/jquery/jquery.suggestions.js
resources/src/mediawiki.special/mediawiki.special.preferences.js
resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js
resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
resources/src/mediawiki/mediawiki.js
resources/src/mediawiki/mediawiki.util.js
resources/src/mediawiki/page/startup.js
tests/phpunit/structure/ApiDocumentationTest.php [new file with mode: 0644]
tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js

diff --git a/HISTORY b/HISTORY
index 9cb5399..0410bd5 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,30 @@
 Change notes from older releases. For current info see RELEASE-NOTES-1.27.
 
 == MediaWiki 1.26 ==
+== MediaWiki 1.26.1 ==
+
+This is a maintenance release of the MediaWiki 1.26 branch.
+
+=== Changes since 1.26.0 ===
+* (T117899) SECURITY: $wgArticlePath can no longer be set to relative paths
+  that do not begin with a slash. This enabled trivial XSS attacks.
+  Configuration values such as "http://my.wiki.com/wiki/$1" are fine, as are
+  "/wiki/$1". A value such as "$1" or "wiki/$1" is not and will now throw an
+  error.
+* (T119309) SECURITY: Use hash_compare() for edit token comparison
+* (T118032) SECURITY: Don't allow cURL to interpret POST parameters starting
+  with '@' as file uploads
+* (T115522) SECURITY: Passwords generated by User::randomPassword() can no
+  longer be shorter than $wgMinimalPasswordLength
+* (T97897) SECURITY: Improve IP parsing and trimming. Previous behavior could
+  result in improper blocks being issued
+* (T109724) SECURITY: Special:MyPage, Special:MyTalk, Special:MyContributions
+  and related pages no longer use HTTP redirects and are now redirected by
+  MediaWiki
+* Fixed ConfigException in ExpandTemplates due to AlwaysUseTidy.
+* Fixed stray literal \n in Special:Search.
+* Fix issue that breaks HHVM Repo Authorative mode.
+* (T120267) Work around APCu memory corruption bug
 
 === Configuration changes in 1.26 ===
 * $wgPasswordResetRoutes['email'] = true by default.
@@ -246,6 +270,31 @@ changes to languages because of Phabricator reports.
 
 == MediaWiki 1.25 ==
 
+== MediaWiki 1.25.4 ==
+
+This is a security and maintenance release of the MediaWiki 1.25 branch.
+
+=== Changes since 1.25.3 ===
+* (T117899) SECURITY: $wgArticlePath can no longer be set to relative paths
+  that do not begin with a slash. This enabled trivial XSS attacks.
+  Configuration values such as "http://my.wiki.com/wiki/$1" are fine, as are
+  "/wiki/$1". A value such as "$1" or "wiki/$1" is not and will now throw an
+  error.
+* (T119309) SECURITY: Use hash_compare() for edit token comparison
+* (T118032) SECURITY: Don't allow cURL to interpret POST parameters starting
+  with '@' as file uploads
+* (T115522) SECURITY: Passwords generated by User::randomPassword() can no
+  longer be shorter than $wgMinimalPasswordLength
+* (T97897) SECURITY: Improve IP parsing and trimming. Previous behavior could
+  result in improper blocks being issued
+* (T109724) SECURITY: Special:MyPage, Special:MyTalk, Special:MyContributions
+  and related pages no longer use HTTP redirects and are now redirected by
+  MediaWiki
+* (T103237) $wgUseGzip had no effect when using file cache.
+* (T114606) mw.notify was not correctly fixed to the page if
+  initialized while not at the top of the page.
+* Fix issue that breaks HHVM Repo Authorative mode.
+
 == MediaWiki 1.25.3 ==
 
 This is a security and maintenance release of the MediaWiki 1.25 branch.
@@ -845,6 +894,28 @@ For notes on 1.24.x and older releases, see HISTORY.
 
 == MediaWiki 1.24 ==
 
+== MediaWiki 1.24.5 ==
+
+This is a security and maintenance release of the MediaWiki 1.23 branch.
+
+== Changes since 1.24.4 ==
+* (T117899) SECURITY: $wgArticlePath can no longer be set to relative paths
+  that do not begin with a slash. This enabled trivial XSS attacks.
+  Configuration values such as "http://my.wiki.com/wiki/$1" are fine, as are
+  "/wiki/$1". A value such as "$1" or "wiki/$1" is not and will now throw an
+  error.
+* (T119309) SECURITY: Use hash_compare() for edit token comparison
+* (T118032) SECURITY: Don't allow cURL to interpret POST parameters starting
+  with '@' as file uploads
+* (T115522) SECURITY: Passwords generated by User::randomPassword() can no
+  longer be shorter than $wgMinimalPasswordLength
+* (T97897) SECURITY: Improve IP parsing and trimming. Previous behavior could
+  result in improper blocks being issued
+* (T109724) SECURITY: Special:MyPage, Special:MyTalk, Special:MyContributions
+  and related pages no longer use HTTP redirects and are now redirected by
+  MediaWiki
+* (T103237) $wgUseGzip had no effect when using file cache.
+
 == MediaWiki 1.24.4 ==
 
 This is a security and maintenance release of the MediaWiki 1.24 branch.
@@ -1610,6 +1681,27 @@ of files that are no longer available follows.
 
 == MediaWiki 1.23 ==
 
+== MediaWiki 1.23.12 ==
+
+This is a security and maintenance release of the MediaWiki 1.23 branch.
+
+== Changes since 1.23.11 ==
+* (T117899) SECURITY: $wgArticlePath can no longer be set to relative paths
+  that do not begin with a slash. This enabled trivial XSS attacks.
+  Configuration values such as "http://my.wiki.com/wiki/$1" are fine, as are
+  "/wiki/$1". A value such as "$1" or "wiki/$1" is not and will now throw an
+  error.
+* (T119309) SECURITY: Use hash_compare() for edit token comparison
+* (T118032) SECURITY: Don't allow cURL to interpret POST parameters starting
+  with '@' as file uploads
+* (T115522) SECURITY: Passwords generated by User::randomPassword() can no
+  longer be shorter than $wgMinimalPasswordLength
+* (T97897) SECURITY: Improve IP parsing and trimming. Previous behavior could
+  result in improper blocks being issued
+* (T109724) SECURITY: Special:MyPage, Special:MyTalk, Special:MyContributions
+  and related pages no longer use HTTP redirects and are now redirected by
+  MediaWiki
+
 == MediaWiki 1.23.11 ==
 
 This is a security and maintenance release of the MediaWiki 1.23 branch.
index cc78a8a..f674d59 100644 (file)
@@ -140,9 +140,10 @@ production.
 ** ApiFormatDbg
 ** ApiFormatTxt
 ** ApiFormatYaml
-* ApiQueryBase::getDirectionDescription is now marked as deprecated. It should
-  have been so marked since 1.25 when ApiBase::getParamDescription was
-  deprecated, but was overlooked at the time.
+* ApiQueryBase::titleToKey(), ApiQueryBase::keyToTitle() and
+  ApiQueryBase::keyPartToTitle() all removed (deprecated since 1.24).
+* ApiQueryBase::checkRowCount() was removed (deprecated since 1.24).
+* ApiQueryBase::getDirectionDescription() was removed (deprecated since 1.25).
 
 === Languages updated in 1.27 ===
 
@@ -187,6 +188,8 @@ changes to languages because of Phabricator reports.
 * MWHookException was removed.
 * OutputPage::appendSubtitle() was removed (deprecated since 1.19).
 * OutputPage::loginToUse() was removed (deprecated since 1.19).
+* Article::loadContent() was removed (deprecated since 1.19).
+* User::editToken() was removed (deprecated since 1.19).
 
 == Compatibility ==
 
index 0f334e8..f546201 100644 (file)
@@ -90,7 +90,7 @@ $wgAutoloadLocalClasses = array(
        'ApiQueryExternalLinks' => __DIR__ . '/includes/api/ApiQueryExternalLinks.php',
        'ApiQueryFileRepoInfo' => __DIR__ . '/includes/api/ApiQueryFileRepoInfo.php',
        'ApiQueryFilearchive' => __DIR__ . '/includes/api/ApiQueryFilearchive.php',
-       'ApiQueryGeneratorBase' => __DIR__ . '/includes/api/ApiQueryBase.php',
+       'ApiQueryGeneratorBase' => __DIR__ . '/includes/api/ApiQueryGeneratorBase.php',
        'ApiQueryIWBacklinks' => __DIR__ . '/includes/api/ApiQueryIWBacklinks.php',
        'ApiQueryIWLinks' => __DIR__ . '/includes/api/ApiQueryIWLinks.php',
        'ApiQueryImageInfo' => __DIR__ . '/includes/api/ApiQueryImageInfo.php',
index b4878c9..9775823 100644 (file)
@@ -42,6 +42,7 @@
                "justinrainbow/json-schema": "~1.3",
                "mediawiki/mediawiki-codesniffer": "0.4.0",
                "monolog/monolog": "~1.17.2",
+               "nikic/php-parser": "1.4.1",
                "nmred/kafka-php": "0.1.4",
                "phpunit/phpunit": "3.7.37",
                "wikimedia/avro": "1.7.7"
index fcd425d..be0073d 100644 (file)
@@ -548,7 +548,7 @@ class MediaWiki {
                                if ( $limit > 0 && $time > $limit ) {
                                        throw new DBTransactionError(
                                                $db,
-                                               wfMessage( 'transaction-duration-limit-exceeded', $time, $limit )->plain()
+                                               wfMessage( 'transaction-duration-limit-exceeded', $time, $limit )->text()
                                        );
                                }
                        } );
index 824e684..23eb63b 100644 (file)
@@ -1297,10 +1297,17 @@ class FauxRequest extends WebRequest {
                return false;
        }
 
+       /**
+        * @since 1.25
+        */
        public function setRequestURL( $url ) {
                $this->requestUrl = $url;
        }
 
+       /**
+        * @since 1.25 MWException( "getRequestURL not implemented" )
+        * no longer thrown.
+        */
        public function getRequestURL() {
                if ( $this->requestUrl === null ) {
                        throw new MWException( 'Request URL not set' );
index 6de95a0..69cd7aa 100644 (file)
  * @ingroup Actions
  */
 class RawAction extends FormlessAction {
-       /**
-        * Whether the request includes a 'gen' parameter
-        * @var bool
-        * @deprecated since 1.17 This used to be a string for "css" or "javascript" but
-        * it is no longer used. Setting this parameter results in an empty response.
-        */
-       private $gen = false;
-
        public function getName() {
                return 'raw';
        }
@@ -77,9 +69,7 @@ class RawAction extends FormlessAction {
                $maxage = $request->getInt( 'maxage', $config->get( 'SquidMaxage' ) );
                $smaxage = $request->getIntOrNull( 'smaxage' );
                if ( $smaxage === null ) {
-                       if ( $this->gen ) {
-                               $smaxage = $config->get( 'SquidMaxage' );
-                       } elseif ( $contentType == 'text/css' || $contentType == 'text/javascript' ) {
+                       if ( $contentType == 'text/css' || $contentType == 'text/javascript' ) {
                                // CSS/JS raw content has its own CDN max age configuration.
                                // Note: Title::getCdnUrls() includes action=raw for css/js pages,
                                // so if using the canonical url, this will get HTCP purges.
@@ -127,11 +117,6 @@ class RawAction extends FormlessAction {
        public function getRawText() {
                global $wgParser;
 
-               # No longer used
-               if ( $this->gen ) {
-                       return '';
-               }
-
                $text = false;
                $title = $this->getTitle();
                $request = $this->getRequest();
index 01968c2..77fcc61 100644 (file)
@@ -581,182 +581,4 @@ abstract class ApiQueryBase extends ApiBase {
        }
 
        /**@}*/
-
-       /************************************************************************//**
-        * @name   Deprecated
-        * @{
-        */
-
-       /**
-        * Estimate the row count for the SELECT query that would be run if we
-        * called select() right now, and check if it's acceptable.
-        * @deprecated since 1.24
-        * @return bool True if acceptable, false otherwise
-        */
-       protected function checkRowCount() {
-               wfDeprecated( __METHOD__, '1.24' );
-               $db = $this->getDB();
-               $rowcount = $db->estimateRowCount(
-                       $this->tables,
-                       $this->fields,
-                       $this->where,
-                       __METHOD__,
-                       $this->options
-               );
-
-               if ( $rowcount > $this->getConfig()->get( 'APIMaxDBRows' ) ) {
-                       return false;
-               }
-
-               return true;
-       }
-
-       /**
-        * Convert a title to a DB key
-        * @deprecated since 1.24, past uses of this were always incorrect and should
-        *   have used self::titlePartToKey() instead
-        * @param string $title Page title with spaces
-        * @return string Page title with underscores
-        */
-       public function titleToKey( $title ) {
-               wfDeprecated( __METHOD__, '1.24' );
-               // Don't throw an error if we got an empty string
-               if ( trim( $title ) == '' ) {
-                       return '';
-               }
-               $t = Title::newFromText( $title );
-               if ( !$t ) {
-                       $this->dieUsageMsg( array( 'invalidtitle', $title ) );
-               }
-
-               return $t->getPrefixedDBkey();
-       }
-
-       /**
-        * The inverse of titleToKey()
-        * @deprecated since 1.24, unused and probably never needed
-        * @param string $key Page title with underscores
-        * @return string Page title with spaces
-        */
-       public function keyToTitle( $key ) {
-               wfDeprecated( __METHOD__, '1.24' );
-               // Don't throw an error if we got an empty string
-               if ( trim( $key ) == '' ) {
-                       return '';
-               }
-               $t = Title::newFromDBkey( $key );
-               // This really shouldn't happen but we gotta check anyway
-               if ( !$t ) {
-                       $this->dieUsageMsg( array( 'invalidtitle', $key ) );
-               }
-
-               return $t->getPrefixedText();
-       }
-
-       /**
-        * Inverse of titlePartToKey()
-        * @deprecated since 1.24, unused and probably never needed
-        * @param string $keyPart DBkey, with prefix
-        * @return string Key part with underscores
-        */
-       public function keyPartToTitle( $keyPart ) {
-               wfDeprecated( __METHOD__, '1.24' );
-               return substr( $this->keyToTitle( $keyPart . 'x' ), 0, -1 );
-       }
-
-       /**
-        * Gets the personalised direction parameter description
-        *
-        * @deprecated since 1.25 along with ApiBase::getParamDescription
-        * @param string $p ModulePrefix
-        * @param string $extraDirText Any extra text to be appended on the description
-        * @return array
-        */
-       public function getDirectionDescription( $p = '', $extraDirText = '' ) {
-               return array(
-                       "In which direction to enumerate{$extraDirText}",
-                       " newer          - List oldest first. Note: {$p}start has to be before {$p}end.",
-                       " older          - List newest first (default). Note: {$p}start has to be later than {$p}end.",
-               );
-       }
-
-       /**@}*/
-}
-
-/**
- * @ingroup API
- */
-abstract class ApiQueryGeneratorBase extends ApiQueryBase {
-
-       private $mGeneratorPageSet = null;
-
-       /**
-        * Switch this module to generator mode. By default, generator mode is
-        * switched off and the module acts like a normal query module.
-        * @since 1.21 requires pageset parameter
-        * @param ApiPageSet $generatorPageSet ApiPageSet object that the module will get
-        *        by calling getPageSet() when in generator mode.
-        */
-       public function setGeneratorMode( ApiPageSet $generatorPageSet ) {
-               if ( $generatorPageSet === null ) {
-                       ApiBase::dieDebug( __METHOD__, 'Required parameter missing - $generatorPageSet' );
-               }
-               $this->mGeneratorPageSet = $generatorPageSet;
-       }
-
-       /**
-        * Get the PageSet object to work on.
-        * If this module is generator, the pageSet object is different from other module's
-        * @return ApiPageSet
-        */
-       protected function getPageSet() {
-               if ( $this->mGeneratorPageSet !== null ) {
-                       return $this->mGeneratorPageSet;
-               }
-
-               return parent::getPageSet();
-       }
-
-       /**
-        * Overrides ApiBase to prepend 'g' to every generator parameter
-        * @param string $paramName Parameter name
-        * @return string Prefixed parameter name
-        */
-       public function encodeParamName( $paramName ) {
-               if ( $this->mGeneratorPageSet !== null ) {
-                       return 'g' . parent::encodeParamName( $paramName );
-               } else {
-                       return parent::encodeParamName( $paramName );
-               }
-       }
-
-       /**
-        * Overridden to set the generator param if in generator mode
-        * @param string $paramName Parameter name
-        * @param string|array $paramValue Parameter value
-        */
-       protected function setContinueEnumParameter( $paramName, $paramValue ) {
-               if ( $this->mGeneratorPageSet !== null ) {
-                       $this->getContinuationManager()->addGeneratorContinueParam( $this, $paramName, $paramValue );
-               } else {
-                       parent::setContinueEnumParameter( $paramName, $paramValue );
-               }
-       }
-
-       /**
-        * @see ApiBase::getHelpFlags()
-        *
-        * Corresponding messages: api-help-flag-generator
-        */
-       protected function getHelpFlags() {
-               $flags = parent::getHelpFlags();
-               $flags[] = 'generator';
-               return $flags;
-       }
-
-       /**
-        * Execute this module as a generator
-        * @param ApiPageSet $resultPageSet All output should be appended to this object
-        */
-       abstract public function executeGenerator( $resultPageSet );
 }
diff --git a/includes/api/ApiQueryGeneratorBase.php b/includes/api/ApiQueryGeneratorBase.php
new file mode 100644 (file)
index 0000000..67fe0d6
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+/**
+ *
+ *
+ * Created on Sep 7, 2006
+ *
+ * Copyright © 2006 Yuri Astrakhan "<Firstname><Lastname>@gmail.com"
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * @ingroup API
+ */
+abstract class ApiQueryGeneratorBase extends ApiQueryBase {
+
+       private $mGeneratorPageSet = null;
+
+       /**
+        * Switch this module to generator mode. By default, generator mode is
+        * switched off and the module acts like a normal query module.
+        * @since 1.21 requires pageset parameter
+        * @param ApiPageSet $generatorPageSet ApiPageSet object that the module will get
+        *        by calling getPageSet() when in generator mode.
+        */
+       public function setGeneratorMode( ApiPageSet $generatorPageSet ) {
+               if ( $generatorPageSet === null ) {
+                       ApiBase::dieDebug( __METHOD__, 'Required parameter missing - $generatorPageSet' );
+               }
+               $this->mGeneratorPageSet = $generatorPageSet;
+       }
+
+       /**
+        * Get the PageSet object to work on.
+        * If this module is generator, the pageSet object is different from other module's
+        * @return ApiPageSet
+        */
+       protected function getPageSet() {
+               if ( $this->mGeneratorPageSet !== null ) {
+                       return $this->mGeneratorPageSet;
+               }
+
+               return parent::getPageSet();
+       }
+
+       /**
+        * Overrides ApiBase to prepend 'g' to every generator parameter
+        * @param string $paramName Parameter name
+        * @return string Prefixed parameter name
+        */
+       public function encodeParamName( $paramName ) {
+               if ( $this->mGeneratorPageSet !== null ) {
+                       return 'g' . parent::encodeParamName( $paramName );
+               } else {
+                       return parent::encodeParamName( $paramName );
+               }
+       }
+
+       /**
+        * Overridden to set the generator param if in generator mode
+        * @param string $paramName Parameter name
+        * @param string|array $paramValue Parameter value
+        */
+       protected function setContinueEnumParameter( $paramName, $paramValue ) {
+               if ( $this->mGeneratorPageSet !== null ) {
+                       $this->getContinuationManager()->addGeneratorContinueParam( $this, $paramName, $paramValue );
+               } else {
+                       parent::setContinueEnumParameter( $paramName, $paramValue );
+               }
+       }
+
+       /**
+        * @see ApiBase::getHelpFlags()
+        *
+        * Corresponding messages: api-help-flag-generator
+        */
+       protected function getHelpFlags() {
+               $flags = parent::getHelpFlags();
+               $flags[] = 'generator';
+               return $flags;
+       }
+
+       /**
+        * Execute this module as a generator
+        * @param ApiPageSet $resultPageSet All output should be appended to this object
+        */
+       abstract public function executeGenerator( $resultPageSet );
+}
index 7d89b69..b70b536 100644 (file)
@@ -41,6 +41,27 @@ class ApiRevisionDelete extends ApiBase {
                        $this->dieUsageMsg( 'badaccess-group0' );
                }
 
+               if ( $user->isBlocked() ) {
+                       $block = $user->getBlock();
+
+                       // Die using the appropriate message depending on block type
+                       if ( $block->getType() == TYPE_AUTO ) {
+                               $this->dieUsage(
+                                       'Your IP address has been blocked automatically, because it was used by a blocked user',
+                                       'autoblocked',
+                                       0,
+                                       array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $block ) )
+                               );
+                       } else {
+                               $this->dieUsage(
+                                       'You have been blocked from editing',
+                                       'blocked',
+                                       0,
+                                       array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $block ) )
+                               );
+                       }
+               }
+
                if ( !$params['ids'] ) {
                        $this->dieUsage( "At least one value is required for 'ids'", 'badparams' );
                }
index 527c6cb..4157de0 100644 (file)
@@ -31,13 +31,35 @@ class ApiTag extends ApiBase {
 
        public function execute() {
                $params = $this->extractRequestParams();
+               $user = $this->getUser();
 
                // make sure the user is allowed
-               if ( !$this->getUser()->isAllowed( 'changetags' ) ) {
+               if ( !$user->isAllowed( 'changetags' ) ) {
                        $this->dieUsage( "You don't have permission to add or remove change tags from individual edits",
                                'permissiondenied' );
                }
 
+               if ( $user->isBlocked() ) {
+                       $block = $user->getBlock();
+
+                       // Die using the appropriate message depending on block type
+                       if ( $block->getType() == TYPE_AUTO ) {
+                               $this->dieUsage(
+                                       'Your IP address has been blocked automatically, because it was used by a blocked user',
+                                       'autoblocked',
+                                       0,
+                                       array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $block ) )
+                               );
+                       } else {
+                               $this->dieUsage(
+                                       'You have been blocked from editing',
+                                       'blocked',
+                                       0,
+                                       array( 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $block ) )
+                               );
+                       }
+               }
+
                // validate and process each revid, rcid and logid
                $this->requireAtLeastOneParameter( $params, 'revid', 'rcid', 'logid' );
                $ret = array();
index 9494a7c..24adee5 100644 (file)
@@ -1,10 +1,14 @@
 {
        "@metadata": {
                "authors": [
-                       "Xuacu"
+                       "Xuacu",
+                       "Enolp"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentación]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Llista d'alderique]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Anuncios de la API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Fallos y solicitúes]\n</div>\n<strong>Estau:</strong> Toles carauterístiques qu'apaecen nesta páxina tendríen de funcionar, pero la API inda ta en desendolcu activu, y puede camudar en cualquier momentu. Suscríbete a la [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ llista de corréu mediawiki-api-announce] p'avisos sobro anovamientos.\n\n<strong>Solicitúes incorreutes:</strong> Cuando s'unvíen solicitúes incorreutes a la API, unvíase una cabecera HTTP cola clave \"MediaWiki-API-Error\" y, darréu, tanto'l valor de la cabecera como'l códigu d'error devueltu pondránse al mesmu valor. Pa más información, consulta [[mw:API:Errors_and_warnings|API: Errores y avisos]].",
        "apihelp-main-param-action": "Qué aición facer.",
-       "apihelp-main-param-format": "El formatu de la salida."
+       "apihelp-main-param-format": "El formatu de la salida.",
+       "apihelp-createaccount-param-name": "Nome d'usuariu.",
+       "apihelp-createaccount-param-language": "Códigu de llingua p'afitar como predetermináu al usuariu (opcional, predetermina la llingua del conteníu).",
+       "apihelp-disabled-description": "Esti módulu deshabilitóse."
 }
index d306c3e..dc8b4b5 100644 (file)
        "apihelp-rollback-description": "Annuler la dernière modification de la page.\n\nSi le dernier utilisateur à avoir modifié la page a fait plusieurs modifications sur une ligne, elles seront toutes annulées.",
        "apihelp-rollback-param-title": "Titre de la page à restaurer. Impossible à utiliser avec <var>$1pageid</var>.",
        "apihelp-rollback-param-pageid": "ID de la page à restaurer. Impossible à utiliser avec <var>$1title</var>.",
+       "apihelp-rollback-param-tags": "Balises à appliquer à la révocation.",
        "apihelp-rollback-param-user": "Nom de l’utilisateur dont les modifications doivent être annulées.",
        "apihelp-rollback-param-summary": "Personnaliser le résumé de la modification. S’il est vide, le résumé par défaut sera utilisé.",
        "apihelp-rollback-param-markbot": "Marquer les modifications annulées et les modifications annulées comme robot.",
index bbb5c8c..5aac495 100644 (file)
@@ -358,8 +358,12 @@ class ChangeTags {
        public static function canAddTagsAccompanyingChange( array $tags,
                User $user = null ) {
 
-               if ( !is_null( $user ) && !$user->isAllowed( 'applychangetags' ) ) {
-                       return Status::newFatal( 'tags-apply-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'applychangetags' ) ) {
+                               return Status::newFatal( 'tags-apply-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-apply-blocked' );
+                       }
                }
 
                // to be applied, a tag has to be explicitly defined
@@ -425,8 +429,12 @@ class ChangeTags {
        public static function canUpdateTags( array $tagsToAdd, array $tagsToRemove,
                User $user = null ) {
 
-               if ( !is_null( $user ) && !$user->isAllowed( 'changetags' ) ) {
-                       return Status::newFatal( 'tags-update-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'changetags' ) ) {
+                               return Status::newFatal( 'tags-update-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-update-blocked' );
+                       }
                }
 
                if ( $tagsToAdd ) {
@@ -766,8 +774,12 @@ class ChangeTags {
         * @since 1.25
         */
        public static function canActivateTag( $tag, User $user = null ) {
-               if ( !is_null( $user ) && !$user->isAllowed( 'managechangetags' ) ) {
-                       return Status::newFatal( 'tags-manage-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'managechangetags' ) ) {
+                               return Status::newFatal( 'tags-manage-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-manage-blocked' );
+                       }
                }
 
                // defined tags cannot be activated (a defined tag is either extension-
@@ -830,8 +842,12 @@ class ChangeTags {
         * @since 1.25
         */
        public static function canDeactivateTag( $tag, User $user = null ) {
-               if ( !is_null( $user ) && !$user->isAllowed( 'managechangetags' ) ) {
-                       return Status::newFatal( 'tags-manage-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'managechangetags' ) ) {
+                               return Status::newFatal( 'tags-manage-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-manage-blocked' );
+                       }
                }
 
                // only explicitly-defined tags can be deactivated
@@ -885,8 +901,12 @@ class ChangeTags {
         * @since 1.25
         */
        public static function canCreateTag( $tag, User $user = null ) {
-               if ( !is_null( $user ) && !$user->isAllowed( 'managechangetags' ) ) {
-                       return Status::newFatal( 'tags-manage-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'managechangetags' ) ) {
+                               return Status::newFatal( 'tags-manage-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-manage-blocked' );
+                       }
                }
 
                // no empty tags
@@ -1014,8 +1034,12 @@ class ChangeTags {
        public static function canDeleteTag( $tag, User $user = null ) {
                $tagUsage = self::tagUsageStatistics();
 
-               if ( !is_null( $user ) && !$user->isAllowed( 'managechangetags' ) ) {
-                       return Status::newFatal( 'tags-manage-no-permission' );
+               if ( !is_null( $user ) ) {
+                       if ( !$user->isAllowed( 'managechangetags' ) ) {
+                               return Status::newFatal( 'tags-manage-no-permission' );
+                       } elseif ( $user->isBlocked() ) {
+                               return Status::newFatal( 'tags-manage-blocked' );
+                       }
                }
 
                if ( !isset( $tagUsage[$tag] ) && !in_array( $tag, self::listDefinedTags() ) ) {
index eaa0537..41fcba6 100644 (file)
@@ -2,7 +2,8 @@
        "@metadata": {
                "authors": [
                        "Xuacu",
-                       "Fitoschido"
+                       "Fitoschido",
+                       "Enolp"
                ]
        },
        "config-desc": "L'instalador pa MediaWiki",
        "config-safe-mode": "<strong>Atención:</strong> el [http://www.php.net/features.safe-mode mou seguru] de PHP ta activáu.\nPuede causar problemes, especialmente si uses la carga de ficheros ya l'encontu pa <code>math</code>.",
        "config-xml-bad": "Falta'l módulu XML de PHP.\nMediaWiki rique funciones d'esti módulu y nun va funcionar con esta configuración.\nSeique precises instalar el paquete RPM llamáu php-xml.",
        "config-pcre-old": "<strong>Fatal:</strong> Ríquese PCRE $1 o posterior.\nEl binariu de PHP ta enllazáu con PCRE $2.\n[https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms/PCRE Más información].",
+       "config-apc": "[http://www.php.net/apc APC] ta instaláu",
+       "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] ta instaláu",
        "config-diff3-bad": "Nun s'alcontró GNU diff3.",
        "config-git": "Alcontróse'l software de control de versiones Git: <code>$1</code>.",
        "config-git-bad": "Nun s'alcontró el software de control de versiones Git.",
        "config-db-type": "Tipu de base de datos:",
        "config-db-name": "Nome de base de datos:",
+       "config-db-install-account": "Cuenta d'usuariu pa la instalación",
+       "config-db-username": "Nome d'usuariu de base de datos:",
+       "config-db-password": "Contraseña de base de datos:",
+       "config-db-install-username": "Introduz un nome d'usuariu que s'usará pa coneutase cola base de datos nel procesu d'instalación. Esti nun ye'l nome d'usuariu de la cuenta MediaWiki, ye'l nome d'usuariu de la to base de datos.",
+       "config-charset-mysql5": "MySQL 4.1/5.0 UTF-8",
        "config-type-mysql": "MySQL (o compatible)",
        "config-type-mssql": "Microsoft SQL Server",
+       "config-missing-db-name": "Tienes d'introducir un valor pa «{{int:config-db-name}}».",
+       "config-mysql-innodb": "InnoDB",
+       "config-mysql-myisam": "MyISAM",
+       "config-mysql-utf8": "UTF-8",
+       "config-mssql-auth": "Triba d'autenticación:",
        "config-site-name": "Nome de la wiki:",
        "config-site-name-help": "Esto apaecerá na barra de títulos del navegador y en dellos sitios más.",
        "config-site-name-blank": "Escriba un nome pal sitiu.",
        "config-ns-site-name": "Igual que'l nome de la wiki: $1",
        "config-ns-other": "Otru (especificar)",
        "config-ns-other-default": "MioWiki",
+       "config-admin-name": "El to nome d'usuariu:",
+       "config-admin-password": "Contraseña:",
+       "config-optional-skip": "Yá toi aburríu, namái instala la wiki.",
+       "config-profile-private": "Wiki privada",
+       "config-extensions": "Estensiones",
        "config-download-localsettings": "Descargar <code>LocalSettings.php</code>",
        "config-help": "Ayuda",
        "config-nofile": "Nun pudo atopase'l ficheru \"$1\". ¿Desaniciose?",
index 35621a4..af1f00b 100644 (file)
@@ -191,7 +191,7 @@ class Article implements Page {
        }
 
        /**
-        * Note that getContent/loadContent do not follow redirects anymore.
+        * Note that getContent does not follow redirects anymore.
         * If you need to fetch redirectable content easily, try
         * the shortcut in WikiPage::getRedirectTarget()
         *
@@ -212,7 +212,7 @@ class Article implements Page {
         * Returns a Content object representing the pages effective display content,
         * not necessarily the revision's content!
         *
-        * Note that getContent/loadContent do not follow redirects anymore.
+        * Note that getContent does not follow redirects anymore.
         * If you need to fetch redirectable content easily, try
         * the shortcut in WikiPage::getRedirectTarget()
         *
@@ -309,16 +309,6 @@ class Article implements Page {
                return $oldid;
        }
 
-       /**
-        * Load the revision (including text) into this object
-        *
-        * @deprecated since 1.19; use fetchContent()
-        */
-       function loadContent() {
-               wfDeprecated( __METHOD__, '1.19' );
-               $this->fetchContent();
-       }
-
        /**
         * Get text of an article from database
         * Does *NOT* follow redirects.
index 6545541..97b04c2 100644 (file)
@@ -63,6 +63,11 @@ class SpecialEditTags extends UnlistedSpecialPage {
                $user = $this->getUser();
                $request = $this->getRequest();
 
+               // Check blocks
+               if ( $user->isBlocked() ) {
+                       throw new UserBlockedError( $user->getBlock() );
+               }
+
                $this->setHeaders();
                $this->outputHeader();
 
index 02fca3a..9323551 100644 (file)
@@ -48,9 +48,11 @@ class SpecialPageLanguage extends FormSpecialPage {
 
                $page = array();
                $page['pagename'] = array(
-                       'type' => 'text',
+                       'type' => 'title',
                        'label-message' => 'pagelang-name',
                        'default' => $defaultName,
+                       'autofocus' => $defaultName === null,
+                       'exists' => true,
                );
 
                // Options for whether to use the default language or select language
index 5ed0483..6dcbcb1 100644 (file)
@@ -118,6 +118,11 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $output = $this->getOutput();
                $user = $this->getUser();
 
+               // Check blocks
+               if ( $user->isBlocked() ) {
+                       throw new UserBlockedError( $user->getBlock() );
+               }
+
                $this->setHeaders();
                $this->outputHeader();
                $request = $this->getRequest();
index 2ac0f2c..fed9664 100644 (file)
@@ -4115,19 +4115,6 @@ class User implements IDBAccessObject {
                }
        }
 
-       /**
-        * Alias for getEditToken.
-        * @deprecated since 1.19, use getEditToken instead.
-        *
-        * @param string|array $salt Array of Strings Optional function-specific data for hashing
-        * @param WebRequest|null $request WebRequest object to use or null to use $wgRequest
-        * @return string The new edit token
-        */
-       public function editToken( $salt = '', $request = null ) {
-               wfDeprecated( __METHOD__, '1.19' );
-               return $this->getEditToken( $salt, $request );
-       }
-
        /**
         * Internal implementation for self::getEditToken() and
         * self::matchEditToken().
index 1a3c8d3..4bce5b1 100644 (file)
        "recentchanges-label-plusminus": "حجم الصفحة تغير بهذا العدد من وحدات البايت",
        "recentchanges-legend-heading": "شرح",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (راجع أيضا [[Special:NewPages|قائمة الصفحات الجديدة]])",
+       "recentchanges-submit": "أظهر",
        "rcnotefrom": "بالأسفل التغييرات منذ <strong>$2</strong> (إلى <strong>$1</strong> معروضة).",
        "rclistfrom": "أظهر التغييرات بدء من $3 $2",
        "rcshowhideminor": "$1 التعديلات الطفيفة",
        "foreign-structured-upload-form-label-own-work": "هذا عملي الخاص",
        "foreign-structured-upload-form-label-infoform-categories": "تصنيفات",
        "foreign-structured-upload-form-label-infoform-date": "التاريخ",
+       "foreign-structured-upload-form-3-label-yes": "نعم",
+       "foreign-structured-upload-form-3-label-no": "لا",
        "backend-fail-stream": "لا يمكن عرض الملف $1.",
        "backend-fail-backup": "لا يمكن صنع نسخة أحتياطية للملف $1.",
        "backend-fail-notexists": "الملف $1 غير موجود.",
        "mostrevisions": "أكثر الصفحات تعديلا",
        "prefixindex": "كل الصفحات بالبادئة",
        "prefixindex-namespace": "كل الصفحات مع بادئة ($1 مساحة الأسم)",
+       "prefixindex-submit": "اعرض",
        "prefixindex-strip": "أخف البادئة من القائمة",
        "shortpages": "صفحات قصيرة",
        "longpages": "صفحات طويلة",
        "protectedpages-performer": "حماية مستخدم",
        "protectedpages-params": "معاملات الحماية",
        "protectedpages-reason": "السبب",
+       "protectedpages-submit": "اعرض الصفحات",
        "protectedpages-unknown-timestamp": "غير معروف",
        "protectedpages-unknown-performer": "مستخدم غير معروف",
        "protectedtitles": "عناوين محمية",
        "protectedtitles-summary": "تحتوي هذه الصفحة على أسماء العناوين المحمية حالياً من الإنشاء. لمطالعة قائمة الصفحات التي تم إنشائها وحمايتها انظر [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "لا توجد عناوين محمية حاليا بهذه المحددات.",
+       "protectedtitles-submit": "لعرض العناوين",
        "listusers": "قائمة الأعضاء",
        "listusers-editsonly": "اعرض المستخدمين الذين أجروا تعديلات فقط",
        "listusers-creationsort": "رتب حسب تاريخ الإنشاء",
        "usereditcount": "{{PLURAL:$1|لا تعديلات|تعديل واحد|تعديلان|$1 تعديلات|$1 تعديلًا|$1 تعديل}}",
        "usercreated": "{{GENDER:$3|أنشأه|أنشأته}} في $1 الساعة $2",
        "newpages": "صفحات جديدة",
+       "newpages-submit": "اعرض",
        "newpages-username": "اسم المستخدم:",
        "ancientpages": "أقدم الصفحات",
        "move": "انقل",
        "specialloguserlabel": "المؤدي:",
        "speciallogtitlelabel": "الهدف (عنوان أو مستخدم):",
        "log": "سجلات",
+       "logeventslist-submit": "أظهر",
        "all-logs-page": "كل السجلات العامة",
        "alllogstext": "عرض شامل لكل السجلات المتوفرة في {{SITENAME}}.\nباستطاعتك جعل القائمة أكثر تحديداً، وذلك باختيار نوع السجل واسم المستخدم (حساس لحالة الحروف)، أو الصفحة المتأثرة (أيضاً حساس لحالة الحروف).",
        "logempty": "لا توجد مدخلات مطابقة في السجل.",
        "cachedspecial-viewing-cached-ts": "أنت تستعرض نسخة مخبأة من هذه الصفحة، وقد لا تكون مطابقة للنسخة الحالية.",
        "cachedspecial-refresh-now": "استعرض آخر نسخة",
        "categories": "تصنيفات",
+       "categories-submit": "أظهر",
        "categoriespagetext": "{{PLURAL:$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>",
        "wlnote": "بالأسفل {{PLURAL:$1|لا توجد تغييرات|التغيير الأخير|آخر تغييرين|آخر '''$1''' تغييرات|آخر '''$1''' تغييرا|آخر '''$1''' تغيير}} في {{PLURAL:$2||'''الساعة''' الماضية|'''الساعتين''' الماضيتين|ال'''$2''' ساعات الماضية|ال'''$2''' ساعة الماضية}} وفقاً ل$3، $4.",
        "wlshowlast": "عرض آخر $1 ساعات $2 يوما",
        "watchlistall2": "الكل",
-       "wlshowtime": "أظهر آخر:",
+       "watchlist-hide": "إخفاء",
+       "watchlist-submit": "أظهر",
+       "wlshowtime": "الفترة الزمنية للعرض:",
        "wlshowhideminor": "الطفيفة",
        "wlshowhidebots": "البوتات",
        "wlshowhideliu": "المسجلين",
        "delete-confirm": "حذف \"$1\"",
        "delete-legend": "حذف",
        "historywarning": "'''تنبيه:''' الصفحة التي تريد حذفها بها {{PLURAL:$1|نسخة|نسخة واحدة|نسختان|$1 نسخ|$1 نسخة}}. انظر",
+       "historyaction-submit": "أظهر",
        "confirmdeletetext": "أنت على وشك أن تقوم بحذف صفحة بالإضافة إلى كل تاريخها.\nمن فضلك التأكد من عزمك على الحذف، وبأنك مدرك للعواقب، وبأنك تقوم بهذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].",
        "actioncomplete": "انتهاء العملية",
        "actionfailed": "الفعل فشل",
        "whatlinkshere-hidelinks": "$1 الوصلات",
        "whatlinkshere-hideimages": "$1 وصلات الملفات",
        "whatlinkshere-filters": "مرشحات",
+       "whatlinkshere-submit": "اذهب",
        "autoblockid": "منع تلقائي #$1",
        "block": "امنع المستخدم",
        "unblock": "إلغاء منع مستخدم",
index 1dd92a1..9cbb3ef 100644 (file)
@@ -34,6 +34,7 @@
        "tog-hideminor": "Son dəyişikliklər siyahısında kiçik redaktələri gizlə",
        "tog-hidepatrolled": "Son dəyişikliklər siyahısında yoxlanılmış redaktələri gizlə",
        "tog-newpageshidepatrolled": "Yeni səhifələr siyahısında yoxlanılmış səhifələri gizlə",
+       "tog-hidecategorization": "Səhifələrin kateqoriyalaşdırmasını gizlət",
        "tog-extendwatchlist": "Yalnız son dəyişiklikləri yox, bütün dəyişiklikləri göstərmək üçün izləmə siyahısını genişlət",
        "tog-usenewrc": "Son dəyişikliklərdəki və izləmə siyahısındakı dəyişiklikləri qruplaşdır",
        "tog-numberheadings": "Başlıqları avtomatik nömrələ",
        "morenotlisted": "Bu siyahı tam deyil.",
        "mypage": "Səhifə",
        "mytalk": "Müzakirə",
-       "anontalk": "Bu IP-yə aid müzakirə",
+       "anontalk": "Müzakirə",
        "navigation": "Naviqasiya",
        "and": "&#32;və",
        "qbfind": "Tap",
        "pool-timeout": "Blokun gözləmə müddəti bitdi",
        "pool-queuefull": "Çıxarış səhifəsi doludur",
        "pool-errorunknown": "naməlum xəta",
+       "poolcounter-usage-error": "İstifadədə xəta: $1",
        "aboutsite": "{{SITENAME}} haqqında",
        "aboutpage": "Project:İzah",
        "copyright": "Bu məzmun $1 əhatəsindədir.",
index 6b2d86f..a1df9e9 100644 (file)
        "specialpages-group-changes": "سون دییشیک‌لیک‌لر و قئیدلر",
        "specialpages-group-media": "مئدیا مروزه‌لری و یوکلمه‌لر",
        "specialpages-group-users": "ایستیفاده‌چی‌لر و حاقلار",
-       "specialpages-group-highuse": "ان چوخ ایستیفاده ائدیلن صحیفه‌لر",
+       "specialpages-group-highuse": "ان چوْخ ایشله‌نن صفحه‌لر",
        "specialpages-group-pages": "صحیفه‌لرین سیاهی‌لاری",
        "specialpages-group-pagetools": "صفحه آلتلری",
        "specialpages-group-wiki": "بیلگیلر و آلتلر",
index 1db4873..2cdbc82 100644 (file)
        "databaseerror-query": "Запыт: $1",
        "databaseerror-function": "Функцыя: $1",
        "databaseerror-error": "Памылка: $1",
-       "transaction-duration-limit-exceeded": "Каб пазьбегнуць вялікай затрымкі пры рэплікацыі, гэтая транзакцыя была спыненая, таму што працягласьць запісу ($1) перавысіла ліміт у $2 сэк.\nКалі вы адначасова зьмяняеце некалькі элемэнтаў, паспрабуйце замест гэтага зрабіць некалькі невялікіх апэрацыяў.",
+       "transaction-duration-limit-exceeded": "Каб пазьбегнуць вялікай затрымкі пры рэплікацыі, гэтая транзакцыя была спыненая, таму што працягласьць запісу ($1) перавысіла ліміт у $2 {{PLURAL:$2|сэкунду|сэкунды|сэкундаў}}.\nКалі вы адначасова зьмяняеце некалькі элемэнтаў, паспрабуйце замест гэтага зрабіць некалькі невялікіх апэрацыяў.",
        "laggedslavemode": "<strong>Увага:</strong> старонка можа ня ўтрымліваць апошнія зьмены.",
        "readonly": "База зьвестак заблякаваная",
        "enterlockreason": "Пазначце прычыну блякаваньня і заплянаваны час разблякаваньня",
        "permissionserrors": "Памылка дазволу",
        "permissionserrorstext": "Вы ня маеце дазволу на гэтае дзеяньне з {{PLURAL:$1|1=наступнай прычыны|наступных прычынаў}}:",
        "permissionserrorstext-withaction": "Вы ня маеце дазволу на $2 з {{PLURAL:$1|1=наступнай прычыны|наступных прычынаў}}:",
-       "contentmodelediterror": "Вы ня можаце рэдагаваць гэтую вэрсію, бо яе мадэль зьместу — <code>$1</code>, а цяперашняя мадэль зьместу старонкі — <code>$2</code>.",
+       "contentmodelediterror": "Вы ня можаце рэдагаваць гэтую вэрсію, бо яе мадэль зьместу — <code>$1</code>, якая адрозьніваецца ад цяперашняй мадэлі зьместу старонкі — <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Увага: Вы ствараеце старонку, якая раней была выдаленая.'''\n\nУпэўніцеся, што стварэньне гэтай старонкі неабходнае.\nНіжэй пададзеныя журналы выдаленьняў і пераносаў гэтай старонкі:",
        "moveddeleted-notice": "Гэта старонка была выдаленая. Журналы выдаленьняў і пераносаў для гэтай старонкі пададзеныя ніжэй.",
        "moveddeleted-notice-recent": "Выбачайце, гэтая старонка была нядаўна выдаленая (цягам апошніх 24 гадзінаў).\nЖурналы выдаленьняў і пераносаў для гэтай старонкі пададзеныя ніжэй для даведкі.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Я пацьвярджаю, што зьяўляюся ўласьнікам аўтарскіх правоў на гэты файл, і згодны незваротна перадаць гэты файл ў Вікісховішча на ўмовах ліцэнзіі [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0], а таксама згодны з [https://wikimediafoundation.org/wiki/Terms_of_Use умовамі выкарыстаньня].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Калі вы не зьяўляецеся ўласьнікам аўтарскіх правоў на гэты файл, або вы жадаеце распаўсюджваць яго пад іншай ліцэнзіяй, можаце скарыстацца [https://commons.wikimedia.org/wiki/Special:UploadWizard Майстарам загрузкі ў Вікісховішча].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Вы таксама можаце скарыстацца [[Special:Upload|старонкай загрузкі {{GRAMMAR:родны|{{SITENAME}}}}]], калі правілы сайту дазваляюць загрузку такога файлу.",
+       "foreign-structured-upload-form-2-label-intro": "Дзякуем за ахвяраваньне выявы, якая будзе выкарыстаная ў {{GRAMMAR:месны|{{SITENAME}}}}. Вам варта працягваць, калі яна адпавядае наступным умовам:",
+       "foreign-structured-upload-form-2-label-ownwork": "Гэта мусіць быць цалкам <strong>вашая ўласная праца</strong>, а ня проста выява з Інтэрнэту",
        "backend-fail-stream": "Немагчыма накіраваць файл $1.",
        "backend-fail-backup": "Немагчыма зрабіць рэзэрвовую копію файла $1.",
        "backend-fail-notexists": "Файл $1 не існуе.",
index a9a6716..8e03ee5 100644 (file)
        "recentchanges-label-plusminus": "Размерът на страницата е променен с този брой байтове",
        "recentchanges-legend-heading": "'''Легенда:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (вижте също [[Special:NewPages|списъка с нови страници]])",
+       "recentchanges-submit": "Покажи",
        "rcnotefrom": "Дадени са промените от <strong>$2</strong> (до <strong>$1</strong> показани).",
        "rclistfrom": "Показване на промени, като се започва от $3 $2",
        "rcshowhideminor": "$1 на малки промени",
        "rcshowhidemine": "$1 на моите приноси",
        "rcshowhidemine-show": "Показване",
        "rcshowhidemine-hide": "Скриване",
+       "rcshowhidecategorization-show": "Покажи",
+       "rcshowhidecategorization-hide": "Скриване",
        "rclinks": "Показване на последните $1 промени за последните $2 дни<br />$3",
        "diff": "разл",
        "hist": "ист",
        "upload-misc-error-text": "Неизвестна грешка при качване. Убедете се, че адресът е верен и опитайте отново. Ако отново имате проблем, обърнете се към [[Special:ListUsers/sysop|администратор]].",
        "upload-too-many-redirects": "Адресът съдържа твърде много пренасочвания",
        "upload-http-error": "Възникна HTTP грешка: $1",
+       "foreign-structured-upload-form-3-label-yes": "Да",
+       "foreign-structured-upload-form-3-label-no": "Не",
        "backend-fail-notexists": "Файлът $1 не съществува.",
        "backend-fail-delete": "Файлът $1 не може да бъде изтрит.",
        "backend-fail-alreadyexists": "Файлът $1 вече съществува.",
        "mostrevisions": "Страници с най-много версии",
        "prefixindex": "Всички страници с представка",
        "prefixindex-namespace": "Всички страници с представка (именно пространство $1)",
+       "prefixindex-submit": "Покажи",
        "prefixindex-strip": "Скриване на представката в списъка с резултати",
        "shortpages": "Кратки страници",
        "longpages": "Дълги страници",
        "usereditcount": "$1 {{PLURAL:$1|редакция|редакции}}",
        "usercreated": "{{GENDER:$3|Създаден}} на $1 в $2",
        "newpages": "Нови страници",
+       "newpages-submit": "Показване",
        "newpages-username": "Потребител:",
        "ancientpages": "Стари страници",
        "move": "Преместване",
        "specialloguserlabel": "Изпълнител:",
        "speciallogtitlelabel": "Цел (заглавие или потребител):",
        "log": "Дневници",
+       "logeventslist-submit": "Показване",
        "all-logs-page": "Всички публични дневници",
        "alllogstext": "Смесено показване на записи от всички налични дневници в {{SITENAME}}.\nМожете да ограничите прегледа, като изберете вид на дневника, потребителско име или определена страница.",
        "logempty": "Дневникът не съдържа записи, отговарящи на избрания критерий.",
        "allpages-hide-redirects": "Скриване на пренасочванията",
        "cachedspecial-refresh-now": "Преглед на текущата.",
        "categories": "Категории",
+       "categories-submit": "Показване",
        "categoriespagetext": "{{PLURAL:$1|Следната категория съдържа|Следните категории съдържат}} страници или медийни файлове.\n[[Special:UnusedCategories|Неизползваните категории]] не са показани тук.\nВижте също списъка с [[Special:WantedCategories|желани категории]].",
        "categoriesfrom": "Показване на категориите, като се започне от:",
        "special-categories-sort-count": "сортиране по брой",
        "wlnote": "{{PLURAL:$1|Показана е последната промяна|Показани са последните '''$1''' промени}} през {{PLURAL:$2|последния час|последните '''$2''' часа}}.",
        "wlshowlast": "Показване на последните $1 часа $2 дни",
        "watchlistall2": "всички",
+       "watchlist-hide": "Скриване",
+       "wlshowtime": "Период от време за показване:",
        "watchlist-options": "Опции на списъка за наблюдение",
        "watching": "Наблюдение…",
        "unwatching": "Спиране на наблюдение…",
        "delete-confirm": "Изтриване на „$1“",
        "delete-legend": "Изтриване",
        "historywarning": "'''Внимание:''' Страницата, която възнамерявате да изтриете, има история с приблизително $1 {{PLURAL:$1|редакция|редакции}}:",
+       "historyaction-submit": "Показване",
        "confirmdeletetext": "На път сте безвъзвратно да изтриете страница или файл, заедно с цялата прилежаща редакционна история, от базата от данни.\nПотвърдете, че искате това, разбирате последствията и правите това в съответствие с [[{{MediaWiki:Policy-url}}|линията на поведение]].",
        "actioncomplete": "Действието беше изпълнено",
        "actionfailed": "Действието не сполучи",
        "whatlinkshere-hidelinks": "$1 на препратки",
        "whatlinkshere-hideimages": "$1 на препратки към файла",
        "whatlinkshere-filters": "Филтри",
+       "whatlinkshere-submit": "Отваряне",
        "autoblockid": "Автоматично блокиране #$1",
        "block": "Блокиране на потребител",
        "unblock": "Отблокиране на потребител",
index 40b52d4..ebdaaa8 100644 (file)
@@ -15,6 +15,7 @@
        "tog-hideminor": "ཉེ་དུས་ཀྱི་རྩོམ་སྒྲིག་གལ་ཆུང་གྱི་འགྱུར་ལྡོག་རྣམས་སྦས།",
        "tog-hidepatrolled": "ཉེ་དུས་ཀྱི་ལྟ་ཞིབ་བྱས་པའི་རྩོམ་སྒྲིག་རྣམས་སྦས།",
        "tog-newpageshidepatrolled": "ཤོག་ངོས་གསར་བར་ལྟ་ཞིབ་བྱས་པའི་རྩོམ་སྒྲིག་ཀྱི་ཤོག་ངོས་སྦས།",
+       "tog-hidecategorization": "",
        "tog-extendwatchlist": "ལྟ་ཞིབ་ཐོ་རྒྱ་སྐྱེད་ཏེ་ཉེ་ལམ་ཙམ་མིན་པར་བཟོ་བཅོས་ཡོངས་རྫོགས་སྟོན་ཅིག",
        "tog-usenewrc": "ཉེ་བའི་བཟོ་བཅོས་དང་དགས་འདེམས་ཤོག་ངོས་ཀྱི་བཅོས་འགྱུར་རྐྱེན་པས་སྡེ་ཚན་བཅོས་འགྱུར་ཕྱིན་འདུག།",
        "tog-numberheadings": "རང་སྒྲིག་ཨང་རྟགས་འགོ་བརྗོད།",
index 5b6331f..21c2df0 100644 (file)
        "databaseerror-query": "Dotaz: $1",
        "databaseerror-function": "Funkce: $1",
        "databaseerror-error": "Chyba: $1",
-       "transaction-duration-limit-exceeded": "Aby nevznikalo velké replikační zpoždění, byla transakce přerušena, protože trvání zápisu ($1) překročilo $2sekundový limit.\nPokud měníte mnoho položek najednou, zkuste místo toho provést několik menších operací.",
+       "transaction-duration-limit-exceeded": "Aby nevznikalo velké replikační zpoždění, byla transakce přerušena, protože trvání zápisu ($1) překročilo {{PLURAL:$2|$2sekundový}} limit.\nPokud měníte mnoho položek najednou, zkuste místo toho provést několik menších operací.",
        "laggedslavemode": "<strong>Upozornění:</strong> Stránka nemusí být aktuální.",
        "readonly": "Databáze je uzamčena",
        "enterlockreason": "Udejte důvod zamčení, včetně odhadu, za jak dlouho dojde k odemčení",
index 2a68ab4..7b44872 100644 (file)
@@ -90,6 +90,7 @@
        "moredotdotdot": "вѧщє ···",
        "mypage": "страница",
        "mytalk": "бєсѣда",
+       "anontalk": "бєсѣда",
        "navigation": "плаваниѥ",
        "and": "&#32;и",
        "qbedit": "исправи",
        "currentevents": "сѫщѧѩ вѣщи",
        "currentevents-url": "Project:Сѫщѧѩ вѣщи",
        "edithelp": "помощь по исправлѥниѭ",
+       "helppage-top-gethelp": "помощь",
        "mainpage": "главьна страница",
        "mainpage-description": "главьна страница",
        "policy-url": "Project:Полїтїка",
        "userloginnocreate": "въниди",
        "logout": "ис̾ходъ",
        "userlogout": "ис̾ходъ",
+       "notloggedin": "тꙑ нє въшьлъ ѥси",
        "userlogin-noaccount": "мѣсто ти нѣстъ ли ?",
        "nologin": "мѣсто ти нѣстъ ли ? $1",
        "nologinlink": "съꙁижди си мѣсто",
        "protectedarticle": "⁖ [[$1]] ⁖ ꙁабранѥна ѥстъ",
        "prot_1movedto2": "⁖ [[$1]] ⁖ нарєчєнъ ⁖ [[$2]] ⁖ ѥстъ",
        "protectcomment": "какъ съмꙑслъ :",
-       "protect-cascadeon": "Эта страница защищена от редактирования {{PLURAL:$1|page, which has|pages, which have}}.",
+       "protect-cascadeon": "сꙗ страница отъ исправлєниꙗ ꙁабранѥна ѥстъ бо въ съставѣ {{PLURAL:$1|страницѧ ижє съвѧꙁьно ꙁабранѥниѥ иматъ|страницоу ижє съвѧꙁьно ꙁабранѥниѥ иматє|страниць ижє съвѧꙁьно ꙁабранѥниѥ имѫтъ}} ⁙\nсѥѩ страницѧ ꙁабранѥниꙗ обраꙁа иꙁмѣнѥниѥ ничєсо жє въ съвѧꙁьнѣ ꙁабранѥнии иꙁмѣнити нє можєтъ",
        "protect-level-sysop": "толико съмотритєлє",
        "protect-othertime": "ино врѣмѧ :",
        "protect-othertime-op": "ино врѣмѧ",
        "contributions": "{{GENDER:$1|польꙃєватєлꙗ}} добродѣꙗниꙗ",
        "contributions-title": "польꙃєватєлꙗ ⁖ $1 ⁖ добродѣꙗниꙗ",
        "mycontris": "добродѣꙗниꙗ",
+       "anoncontribs": "добродѣꙗниꙗ",
        "contribsub2": "польꙃєватєлꙗ имѧ ⁖ {{GENDER:$3|$1}} ⁖ ѥстъ ($2)",
        "uctop": "(нꙑнѣщьн҄ь обраꙁъ)",
        "sp-contributions-blocklog": "ꙁаграждєниꙗ їсторїꙗ",
index cf5a59c..6222974 100644 (file)
        "recentchangeslinked-feed": "Çыхăннă улшăнусем",
        "recentchangeslinked-toolbox": "Çыхăннă улшăнусем",
        "recentchangeslinked-page": "Страницă ячĕ:",
-       "upload": "Файла кĕртесси",
+       "upload": "Файл хушмалли",
        "uploadbtn": "Файла кĕрт",
        "uploadnologin": "Кĕмен",
        "uploadnologintext": "Сирĕн $1 файлсем кĕртес тесен.",
        "whatlinkshere-next": "{{PLURAL:$1|урăххи|урăххисем $1}}",
        "whatlinkshere-links": "← каçаканнисем",
        "whatlinkshere-hideredirs": "куçарнисене $1",
-       "whatlinkshere-hidelinks": "Ð\9aаçаканниÑ\81ем $1",
+       "whatlinkshere-hidelinks": "Ð\9aаçаканниÑ\81ене $1",
        "whatlinkshere-filters": "Аласем",
        "blockip": "{{GENDER:$1|хутшăнакана}} чар",
        "ipaddressorusername": "IP адрес е усă куракан ят:",
        "tooltip-search": "Шырав {{SITENAME}}",
        "tooltip-p-logo": "Тӗп страницӑ",
        "tooltip-feed-atom": "Ку страницăн Atom куçару",
+       "tooltip-t-upload": "Файлсем хушмалли",
        "tooltip-ca-nstab-image": "Файлăн страници",
        "tooltip-ca-nstab-template": "Шаблонăн страници",
        "tooltip-ca-nstab-category": "Категорин страницине пăхни",
index 0281695..4108483 100644 (file)
@@ -14,7 +14,8 @@
                        "לערי ריינהארט",
                        "아라",
                        "Macofe",
-                       "Matma Rex"
+                       "Matma Rex",
+                       "Diafol"
                ]
        },
        "tog-underline": "Tanlinellu cysylltiadau:",
        "passwordreset-emailtext-ip": "Mae rhywun (chi yn ôl pob tebyg, o'r cyfeiriad IP $1) wedi gofyn am ailosod eich cyfrinair ar {{SITENAME}} ($4). Mae'r {{PLURAL:$3|cyfrif|cyfrif|cyfrifon}} canlynol ynghlwm wrth y cyfeiriad e-bost hwn:\n\n$2\n\nBydd y {{PLURAL:$3||cyfrinair dros dro hwn|cyfrineiriau dros dro hyn}} yn dod i ben ymhen {{PLURAL:$5||diwrnod |deuddydd|tridiau|$5 diwrnod}}. Dylech fewngofnodi nawr a dewis cyfrinair newydd. Os mai rhywun arall a ofynodd am ailosod y cyfrinair, neu os ydych wedi cofio eich cyfrinair gwreiddiol, neu os nad ydych am ei newid bellach, gallwch anwybyddu'r neges hon a pharhau i ddefnyddio eich hen gyfrinair.",
        "passwordreset-emailtext-user": "Gofynodd y defnyddiwr $1 ar {{SITENAME}} am gael ailosod ei gyfrinair ar {{SITENAME}}\n($4). Mae'r {{PLURAL:$3||cyfrif|cyfrifon}} canlynol ynghlwm wrth y cyfeiriad e-bost hwn:\n\n$2\n\nBydd y {{PLURAL:$3||cyfrinair|cyfrineiriau}} dros dro hyn yn dod i ben ymhen {{PLURAL:$5||diwrnod|deuddydd|tridiau|$5 diwrnod}}.\nDylech fewngofnodi nawr a dewis cyfrinair newydd. Os mai rhywun arall a ofynodd am ailosod y cyfrinair, neu os ydych wedi cofio eich cyfrinair gwreiddiol, neu os nad ydych am ei newid bellach, gallwch anwybyddu'r neges hon a pharhau i ddefnyddio eich hen gyfrinair.",
        "passwordreset-emailelement": "Enw'r defnyddiwr: \n$1\n\nY cyfrinair dros dro: \n$2",
-       "passwordreset-emailsent": "Anfonwyd e-bost i ailosod eich cyfrinair atoch.",
+       "passwordreset-emailsentemail": "Anfonwyd e-bost i ailosod eich cyfrinair atoch.",
        "passwordreset-emailsent-capture": "Anfonwyd e-bost i ailosod cyfrinair, ac fe'i ddangosir isod.",
        "passwordreset-emailerror-capture": "Lluniwyd e-bost i ailosod cyfrinair fel ag a welir isod, ond ni lwyddwyd i'w anfon at y {{GENDER:$2|defnyddiwr}}: $1",
        "changeemail": "Newid y cyfeiriad e-bost",
        "prefs-help-prefershttps": "Bydd y dewis yma'n cael ei roi ar waith y tro nesaf i chi fewngofnodi.",
        "prefswarning-warning": "Rydych wedi newid eich Dewisiadau, ac nid ydynt eto wedi'u cadw.\nOs gadewch y dudalen hon heb glicio \"$1\" yna fe gollwch y newidiadau hyn.",
        "prefs-tabs-navigation-hint": "Awgrym: Gallwch ddefnyddio'r allweddellau sy'n saethau i'r chwith neu i'r dde i lywio rhwng y tabiau ar restr y tabiau.",
-       "email-address-validity-valid": "Y cyfeiriad e-bost yn ymddangos yn un dilys",
-       "email-address-validity-invalid": "Rhowch gyfeiriad e-bost dilys",
        "userrights": "Rheoli galluoedd defnyddwyr",
        "userrights-lookup-user": "Rheoli grwpiau defnyddiwr",
        "userrights-user-editname": "Rhowch enw defnyddiwr:",
        "contributions": "{{GENDER:$1|Cyfraniadau'r defnyddiwr}}",
        "contributions-title": "Cyfraniadau'r defnyddiwr $1",
        "mycontris": "Cyfraniadau",
+       "anoncontribs": "Cyfraniadau",
        "contribsub2": "Gan {{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "Nid oes cyfrif o'r enw \"$1\" wedi ei gofrestru yma.",
        "nocontribs": "Heb ddod o hyd i newidiadau gyda'r meini prawf hyn.",
        "movenosubpage": "Nid oes isdudalennau i gael i'r dudalen hon.",
        "movereason": "Rheswm:",
        "revertmove": "symud nôl",
-       "delete_and_move": "Dileu a symud",
        "delete_and_move_text": "==Angen dileu==\n\nMae'r erthygl \"[[:$1]]\" yn bodoli'n barod. Ydych chi am ddileu'r erthygl er mwyn cwblhau'r symudiad?",
        "delete_and_move_confirm": "Ie, dileu'r dudalen",
        "delete_and_move_reason": "Wedi'i dileu er mwyn gallu symud y dudalen \"[[$1]]\" i gymryd ei lle",
        "tags-activate": "rhoi ar waith",
        "tags-deactivate": "ei atal",
        "tags-hitcount": "$1 {{PLURAL:$1|newid}}",
+       "tags-manage-blocked": "'Sdim modd rheoli newid tagiau ar ôl cael eich blocio.",
        "tags-create-heading": "Creu tag newydd",
        "tags-create-explanation": "Yn ddiofyn, bydd y tagiau newydd i'w gweld gan ddefnyddwyr a botiau.",
        "tags-create-tag-name": "Enw'r tag:",
index e89103c..050d208 100644 (file)
        "databaseerror-query": "Abfrage: $1",
        "databaseerror-function": "Funktion: $1",
        "databaseerror-error": "Fehler: $1",
-       "transaction-duration-limit-exceeded": "Um eine hohe Nachbildungsverzögerung zu vermeiden, wurde diese Transaktion abgebrochen, da die Schreibdauer ($1) die Grenze von $2 Sekunden überschritten hat. Falls du viele Objekte auf einmal änderst, versuche stattdessen, mehrere kleine Operationen auszuführen.",
+       "transaction-duration-limit-exceeded": "Um eine hohe Nachbildungsverzögerung zu vermeiden, wurde diese Transaktion abgebrochen, da die Schreibdauer ($1) die Grenze von {{PLURAL:$2|einer Sekunde|$2 Sekunden}} überschritten hat. Falls du viele Objekte auf einmal änderst, versuche stattdessen, mehrere kleine Operationen auszuführen.",
        "laggedslavemode": "<strong>Achtung:</strong> Die angezeigte Seite könnte unter Umständen nicht die letzten Bearbeitungen enthalten.",
        "readonly": "Datenbank gesperrt",
        "enterlockreason": "Bitte gib einen Grund ein, warum die Datenbank gesperrt werden soll und eine Abschätzung über die Dauer der Sperrung",
        "tags-deactivate": "deaktivieren",
        "tags-hitcount": "$1 {{PLURAL:$1|Änderung|Änderungen}}",
        "tags-manage-no-permission": "Du hast keine Berechtigung, Änderungsmarkierungen zu verwalten.",
+       "tags-manage-blocked": "Du kannst keine Änderungsmarkierungen verwalten, während du gesperrt bist.",
        "tags-create-heading": "Eine neue Markierung erstellen",
        "tags-create-explanation": "Standardmäßig werden neu erstellte Markierungen für die Verwendung durch Benutzer und Bots verfügbar gemacht.",
        "tags-create-tag-name": "Name der Markierung:",
        "tags-deactivate-not-allowed": "Es ist nicht möglich, die Markierung „$1“ zu deaktivieren.",
        "tags-deactivate-submit": "Deaktivieren",
        "tags-apply-no-permission": "Du hast keine Berechtigung, um Änderungsmarkierungen zusammen mit deinen Änderungen anzuwenden.",
+       "tags-apply-blocked": "Du kannst keine Änderungsmarkierungen zusammen mit deinen Änderungen anwenden, während du gesperrt bist.",
        "tags-apply-not-allowed-one": "Die Markierung „$1“ darf nicht manuell angewendet werden.",
        "tags-apply-not-allowed-multi": "Die {{PLURAL:$2|folgende Markierung darf|folgenden Markierungen dürfen}} nicht manuell angewendet werden: $1",
        "tags-update-no-permission": "Du hast keine Berechtigung, um Änderungsmarkierungen von einzelnen Versionen oder Logbucheinträgen hinzuzufügen oder zu entfernen.",
+       "tags-update-blocked": "Du kannst keine Änderungsmarkierungen hinzufügen oder entfernen, während du gesperrt bist.",
        "tags-update-add-not-allowed-one": "Die Markierung „$1“ darf nicht manuell hinzugefügt werden.",
        "tags-update-add-not-allowed-multi": "Die {{PLURAL:$2|folgende Markierung darf|folgenden Markierungen dürfen}} nicht manuell hinzugefügt werden: $1",
        "tags-update-remove-not-allowed-one": "Die Markierung „$1“ darf nicht entfernt werden.",
index 60f6645..0c72d77 100644 (file)
        "databaseerror-query": "Query: $1",
        "databaseerror-function": "Function: $1",
        "databaseerror-error": "Error: $1",
-       "transaction-duration-limit-exceeded": "In order to avoid creating high replication lag, this transaction was aborted because the write duration ($1) exceeded the $2 second limit.\nIf you are changing many items at once, trying doing multiple smaller operations instead.",
+       "transaction-duration-limit-exceeded": "To avoid creating high replication lag, this transaction was aborted because the write duration ($1) exceeded the $2 {{PLURAL:$2|second|seconds}} limit.\nIf you are changing many items at once, try doing multiple smaller operations instead.",
        "laggedslavemode": "<strong>Warning:</strong> Page may not contain recent updates.",
        "readonly": "Database locked",
        "enterlockreason": "Enter a reason for the lock, including an estimate of when the lock will be released",
        "tags-deactivate": "deactivate",
        "tags-hitcount": "$1 {{PLURAL:$1|change|changes}}",
        "tags-manage-no-permission": "You do not have permission to manage change tags.",
+       "tags-manage-blocked": "You cannot manage change tags while blocked.",
        "tags-create-heading": "Create a new tag",
        "tags-create-explanation": "By default, newly created tags will be made available for use by users and bots.",
        "tags-create-tag-name": "Tag name:",
        "tags-deactivate-not-allowed": "It is not possible to deactivate the tag \"$1\".",
        "tags-deactivate-submit": "Deactivate",
        "tags-apply-no-permission": "You do not have permission to apply change tags along with your changes.",
+       "tags-apply-blocked": "You cannot apply change tags along with your changes while blocked.",
        "tags-apply-not-allowed-one": "The tag \"$1\" is not allowed to be manually applied.",
        "tags-apply-not-allowed-multi": "The following {{PLURAL:$2|tag is|tags are}} not allowed to be manually applied: $1",
        "tags-update-no-permission": "You do not have permission to add or remove change tags from individual revisions or log entries.",
+       "tags-update-blocked": "You cannot add or remove change tags while blocked.",
        "tags-update-add-not-allowed-one": "The tag \"$1\" is not allowed to be manually added.",
        "tags-update-add-not-allowed-multi": "The following {{PLURAL:$2|tag is|tags are}} not allowed to be manually added: $1",
        "tags-update-remove-not-allowed-one": "The tag \"$1\" is not allowed to be removed.",
index 2226aae..2fa955d 100644 (file)
        "foreign-structured-upload-form-label-own-work": "Hau neure lana da",
        "foreign-structured-upload-form-label-infoform-categories": "Kategoriak",
        "foreign-structured-upload-form-label-infoform-date": "Data",
+       "foreign-structured-upload-form-3-label-yes": "Bai",
+       "foreign-structured-upload-form-3-label-no": "Ez",
        "backend-fail-stream": "Ezin izan da \"$1\" fitxategiaren stream egin.",
        "backend-fail-backup": "Ezin izan da \"$1\" fitxategiaren backup egin.",
        "backend-fail-notexists": "$1 fitxategia ez da existitzen.",
        "mostrevisions": "Berrikuspen gehien dituzten orrialdeak",
        "prefixindex": "Orri guztiak aurrizkiekin",
        "prefixindex-namespace": "$1 izentartean honako aurrizkia duten orrialde guztiak:",
+       "prefixindex-submit": "Erakutsi",
        "prefixindex-strip": "Zerrendako aurrizkia kendu",
        "shortpages": "Orrialde laburrak",
        "longpages": "Orrialde luzeak",
        "usereditcount": "{{PLURAL:$1|edizio bat|$1 edizio}}",
        "usercreated": "{{GENDER:$3|Sortze data}}: $1, $2",
        "newpages": "Orrialde berriak",
+       "newpages-submit": "Erakutsi",
        "newpages-username": "Erabiltzaile izena:",
        "ancientpages": "Orrialde zaharrenak",
        "move": "Mugitu",
        "booksources-text": "Jarraian liburu berri eta erabiliak saltzen dituzten guneetarako loturen zerrenda bat ikus dezakezu, bilatzen ari zaren liburu horientzako informazio gehigarria aurkitzeko lagungarria izan daitekeena:",
        "booksources-invalid-isbn": "Badirudi emandako ISBNa ez dela baliagarria; egiazta ezazu ea akatsik egin duzun jatorrizko iturritik kopiatzean.",
        "specialloguserlabel": "Egilea:",
-       "speciallogtitlelabel": "Helburua (izenburua edo lankidea):",
+       "speciallogtitlelabel": "Helburua (izenburua edo {{ns:user}}: lankidea):",
        "log": "Erregistroak",
+       "logeventslist-submit": "Erakutsi",
        "all-logs-page": "Erregistro publiko guztiak",
        "alllogstext": "{{SITENAME}} orrialdearen erregistro guztien erakusketa konbinatua.\nErregistro mota, erabiltzailearen izena edota orrialdearen izena iragaziz bistaratu daiteke. Letra larriak eta xeheak bereizten dira.",
        "logempty": "Ez dago emaitzarik erregistroan.",
        "cachedspecial-viewing-cached-ttl": "Orrialde honen cache betsioa ikusten ari zara, $1 adina izan dezakeena.",
        "cachedspecial-refresh-now": "Azkena ikusi.",
        "categories": "Kategoriak",
+       "categories-submit": "Erakutsi",
        "categoriespagetext": "Ondorengo {{PLURAL:$1|kategoria honek|kategoria hauek}} orriak edo fitxategiak {{PLURAL:$1|dauzka|dauzkate}}.\n[[Special:UnusedCategories|Erabili gabeko kategoriak]] ez dira hemen erakusten.\nIkus, gainera, [[Special:WantedCategories|kategoriarik eskatuenak]].",
        "categoriesfrom": "Honela hasten diren kategoriak erakutsi:",
        "special-categories-sort-count": "kontatetzearen arabera ordenatu",
        "wlshowlast": "Erakutsi azken $1 orduak, azken $2 egunak",
        "watchlistall2": "guztia",
        "watchlist-hide": "Ezkutatu",
+       "watchlist-submit": "Erakutsi",
        "wlshowtime": "Erakutsi azkenak:",
        "wlshowhideminor": "aldaketa txikiak",
        "wlshowhidebots": "bot-ak",
        "delete-confirm": "\"$1\" ezabatu",
        "delete-legend": "Ezabatu",
        "historywarning": "'''Oharra:''' Ezabatzera zoazen orrialdeak $1 {{PLURAL:$1|berrikuspen du|berrikuspen ditu}} gutxi gorabehera:",
+       "historyaction-submit": "Erakutsi",
        "confirmdeletetext": "Orrialde edo irudi bat eta beste historia guztia datu-basetik ezabatzear zaude. Mesedez, egiaztatu hori egin nahi duzula, ondorioak zeintzuk diren badakizula, eta [[{{MediaWiki:Policy-url}}|politikak]] errespetatuz egingo duzula.",
        "actioncomplete": "Ekintza burutu da",
        "actionfailed": "Ekintzak huts egin du",
index 0a32592..c103b04 100644 (file)
        "laggedslavemode": "'''Varoitus:''' Sivu ei välttämättä sisällä viimeisimpiä muutoksia.",
        "readonly": "Tietokanta on lukittu",
        "enterlockreason": "Anna lukituksen syy sekä sen arvioitu poistamisaika",
-       "readonlytext": "Tietokanta on tällä hetkellä lukittu. Uusia sivuja ei voi luoda eikä muitakaan muutoksia tehdä. Syynä ovat todennäköisimmin rutiininomaiset tietokannan ylläpitotoimet.\n\nTietokannan lukinneen ylläpitäjän selitys: $1",
+       "readonlytext": "Tietokanta on tällä hetkellä lukittu. Uusia sivuja ei voi luoda eikä muitakaan muutoksia tehdä. Syynä on todennäköisesti rutiininomainen tietokannan huoltaminen.\n\nTietokannan lukinneen palvelinjärjestelmän ylläpitäjän antama selitys on: $1",
        "missing-article": "Sivun sisältöä ei löytynyt tietokannasta nimellä \"$1\" $2.\n\nYleensä tämä johtuu vanhentuneesta vertailu- tai historialinkistä sivulle, joka on poistettu.\n\nJos kyseessä ei ole poistettu sivu, olet ehkä löytänyt virheen ohjelmistossa.\nIlmoita tästä [[Special:ListUsers/sysop|ylläpitäjälle]] ja kerro viestissäsi sivun URL.",
        "missingarticle-rev": "(versio nro: $1)",
        "missingarticle-diff": "(vertailu: $1, $2)",
        "mypreferencesprotected": "Sinulla ei ole oikeutta muuttaa omia asetuksiasi.",
        "ns-specialprotected": "Toimintosivuja ei voi muokata.",
        "titleprotected": "Käyttäjä [[User:$1|$1]] on suojannut tämän sivunimen, ja sivua ei voi luoda.\nSuojauksen syy on: ''$2''.",
-       "filereadonlyerror": "Tiedostoa \"$1\" ei voida muuttaa, koska jaettu mediavarasto \"$2\" on asetettu tilaan ''vain lukeminen sallittu''.\n\nLukituksen asettanut ylläpitäjä on antanut seuraavan syyn toimenpiteelle: $3.",
+       "filereadonlyerror": "Tiedostoa \"$1\" ei voida muuttaa, koska jaettu mediavarasto \"$2\" on asetettu tilaan ''vain lukeminen sallittu''.\n\nTietokannan lukinneen palvelinjärjestelmän ylläpitäjän antama selitys on: $3.",
        "invalidtitle-knownnamespace": "Virheellinen sivunimi, nimiavaruus \"$2\" ja teksti \"$3\"",
        "invalidtitle-unknownnamespace": "Virheellinen sivunimi, tuntematon nimiavaruus numero $1 ja teksti \"$2\"",
        "exception-nologin": "Et ole kirjautunut sisään",
        "passwordreset-emailtext-ip": "Joku (todennäköisesti sinä, IP-osoitteesta $1) pyysi salasanasi\nvaihtamista sivustolla {{SITENAME}} ($4). {{PLURAL:$3|Seuraava käyttäjätunnus on|Seuraavat käyttäjätunnukset ovat}}\nyhdistettynä tähän sähköpostiosoitteeseen:\n\n$2\n\n{{PLURAL:$3|Tämä väliaikainen salasana vanhentuu|Nämä väliaikaiset salasanat vanhentuvat}} {{PLURAL:$5|yhden päivän|$5 päivän}} kuluttua.\nKirjaudu sisään nyt ja valitse uusi salasana heti. Jos joku toinen teki tämän pyynnön \ntai jos muistitkin vanhan salasanasi etkä halua enää muuttaa sitä,\nvoit jättää tämän viestin huomiotta ja jatkaa vanhan salasanasi käyttämistä.",
        "passwordreset-emailtext-user": "Käyttäjä $1 pyysi muistutusta tunnuksesi tiedoista sivustolla {{SITENAME}} ($4).\n{{PLURAL:$3|Seuraava käyttäjätunnus on|Seuraavat käyttäjätunnukset ovat}} liitetty tähän sähköpostiosoitteeseen:\n\n$2\n\n{{PLURAL:$3|Tämä väliaikainen salasana vanhentuu|Nämä väliaikaiset salasanat vanhentuvat}} {{PLURAL:$5|yhden päivän|$5 päivän}} kuluttua.\nSinun kannattaa kirjautua sisään ja valita uusi salasana. Jos joku toinen teki tämän\npyynnön, tai muistat sittenkin vanhan salasanasi, etkä halua muuttaa sitä,\nvoit jättää tämän viestin huomiotta ja jatkaa vanhan salasanan käyttöä.",
        "passwordreset-emailelement": "Käyttäjätunnus: \n$1\n\nVäliaikainen salasana: \n$2",
-       "passwordreset-emailsentemail": "Jos tämä on sinun tunnuksellesi rekisteröity sähköpostiosoite, siihen lähetetään salasanan uudistamisesta kertova viesti.",
+       "passwordreset-emailsentemail": "Jos tämä on sinun tunnuksellesi rekisteröity sähköpostiosoite, salasanan uudistamisesta kertova viesti lähetetään.",
+       "passwordreset-emailsentusername": "Jos on olemassa vastaava rekisteröity sähköpostiosoite, salasanan uudistamisesta kertova viesti lähetetään.",
        "passwordreset-emailsent-capture": "Salasanan uudistamisesta kertova sähköpostiviesti on lähetetty, ja se näkyy myös alla.",
        "passwordreset-emailerror-capture": "Allaoleva sähköpostiviesti luotiin, mutta sen lähettäminen {{GENDER:$2|käyttäjälle}} epäonnistui: $1",
        "changeemail": "Muuta tai poista sähköpostiosoite",
        "copyrightwarning2": "Huomaa, että kuka tahansa voi muokata, muuttaa ja poistaa kaikkia sivustolle tekemiäsi lisäyksiä ja muutoksia. Muokkaamalla sivustoa luovutat sivuston käyttäjille tämän oikeuden ja takaat, että lisäämäsi aineisto on joko itse kirjoittamaasi tai peräisin jostain vapaasta lähteestä. Lisätietoja sivulla $1. '''TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!'''",
        "editpage-cannot-use-custom-model": "Tämän sivun sisältömallia (content model) ei voida muuttaa.",
        "longpageerror": "'''Virhe: Lähettämäsi tekstin pituus on {{PLURAL:$1|kilotavu|$1 kilotavua}}. Tekstiä ei voida tallentaa, koska se on pitempi kuin sallittu enimmäispituus {{PLURAL:$2|yksi kilotavu|$2 kilotavua}}.'''",
-       "readonlywarning": "'''Varoitus: Tietokanta on lukittu huoltoa varten, joten et pysty tallentamaan muokkauksiasi juuri nyt.'''\nSaattaa olla paras leikata ja liimata tekstisi omaan tekstitiedostoosi ja tallentaa se tänne myöhemmin.\n\nLukitsemisen syy: $1",
+       "readonlywarning": "<strong>Varoitus: Tietokanta on lukittu huoltoa varten, joten et pysty tallentamaan muokkauksiasi juuri nyt.</strong>\nSaattaa olla paras leikata ja liimata tekstisi omaan tekstitiedostoosi ja tallentaa se tänne myöhemmin.\n\nPalvelinjärjestelmän ylläpitäjä, joka lukitsi tietokannan, antoi seuraavan perustelun: $1",
        "protectedpagewarning": "'''Varoitus: Tämä sivu on suojattu niin, että vain ylläpitäjät voivat muokata sitä.'''\nAlla on viimeisin lokitapahtuma:",
        "semiprotectedpagewarning": "<strong>Huomaa:</strong> Tämä sivu on suojattu niin, että vain rekisteröityneet käyttäjät voivat muokata sitä.\nAlla on viimeisin lokitapahtuma:",
        "cascadeprotectedwarning": "<strong>Varoitus:</strong> Vain ylläpitäjät voivat muokata tätä sivua, koska se on sisällytetty {{PLURAL:$1|seuraavaan tarttuvasti suojattuun sivuun|seuraaviin tarttuvasti suojattuihin sivuihin}}:",
        "permissionserrors": "Puutteelliset oikeudet",
        "permissionserrorstext": "Sinulla ei ole oikeutta suorittaa toimintoa {{PLURAL:$1|seuraavasta syystä|seuraavista syistä}}:",
        "permissionserrorstext-withaction": "Sinulla ei ole oikeutta {{lcfirst:$2}} {{PLURAL:$1|seuraavasta syystä|seuraavista syistä}}:",
-       "contentmodelediterror": "Et voi muokata tätä versiota, koska sen sisältömalli on <code>$1</code>, ja sivun nykyinen sisältömalli on <code>$2</code>.",
+       "contentmodelediterror": "Et voi muokata tätä versiota, koska sen sisältömalli on <code>$1</code> ja tämä poikkeaa sivun nykyisestä sisältömallista, joka on <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Varoitus: Olet luomassa sellaista sivua, joka on aikaisemmin poistettu.'''\n\nHarkitse, kannattaako tätä sivua luoda uudelleen. \nAlla on tämän sivun poisto- ja siirtohistoria:",
        "moveddeleted-notice": "Tämä sivu on poistettu. Alla on tämän sivun poisto- ja siirtohistoria.",
        "moveddeleted-notice-recent": "Valitettavasti tämä sivu on poistettu aivan äskettäin (viimeisen 24 tunnin aikana).\nAlla näkyy sivun poisto- ja siirtolokin tietoja.",
        "tags-deactivate": "ota pois käytöstä",
        "tags-hitcount": "$1 {{PLURAL:$1|muutos|muutosta}}",
        "tags-manage-no-permission": "Sinulla ei ole oikeutta käsitellä merkkauksia.",
+       "tags-manage-blocked": "Et voi hallita muokkausmerkkauksia kun olet estettynä.",
        "tags-create-heading": "Luo uusi merkkaus",
        "tags-create-explanation": "Oletuksena on, että uutena luodut merkkaukset tulevat käyttäjien ja bottien käyttöön.",
        "tags-create-tag-name": "Merkkauksen nimi:",
        "tags-deactivate-not-allowed": "Ei ole mahdollista poistaa käytöstä merkkausta \"$1\".",
        "tags-deactivate-submit": "Poista käytöstä",
        "tags-apply-no-permission": "Sinulla ei ole oikeutta käyttää merkkauksia muutostesi yhteydessä.",
+       "tags-apply-blocked": "Et voi asettaa merkkauksia muutostesi yhteyteen kun olet estettynä.",
        "tags-apply-not-allowed-one": "Merkkausta \"$1\" ei ole sallittua asettaa käsin.",
        "tags-apply-not-allowed-multi": "Seuraavia {{PLURAL:$2|merkkauksia}} ei ole sallittua asettaa käsin: $1",
        "tags-update-no-permission": "Sinulla ei ole oikeutta lisätä tai poistaa merkkauksia yksittäisissä sivuversioissa tai lokimerkinnöissä.",
+       "tags-update-blocked": "Et voi lisätä tai poistaa merkkauksia kun olet estettynä.",
        "tags-update-add-not-allowed-one": "Merkkausta \"$1\" ei ole sallittua asettaa käsin.",
        "tags-update-add-not-allowed-multi": "Seuraavia {{PLURAL:$2|merkkauksia}} ei ole sallittua asettaa käsin: $1",
        "tags-update-remove-not-allowed-one": "Merkkausta \"$1\" ei ole sallittua poistaa.",
index d9f4fc1..f31cbad 100644 (file)
                        "TomT0m",
                        "L",
                        "SRXcraft",
-                       "StevenJ81"
+                       "StevenJ81",
+                       "The RedBurn"
                ]
        },
        "tog-underline": "Soulignement des liens :",
        "databaseerror-query": "Requête : $1",
        "databaseerror-function": "Fonction : $1",
        "databaseerror-error": "Erreur : $1",
-       "transaction-duration-limit-exceeded": "Pour éviter une trop forte augmentation du délai de réplication, cette transaction a été annulée car la durée d’écriture ($1) a dépassé la limite de $2 secondes. Si vous cherchez à modifier un grand nombre d’éléments simultanément, essayez plutôt d’effectuer l’opération en plusieurs étapes.",
+       "transaction-duration-limit-exceeded": "Pour éviter une trop forte augmentation du délai de réplication, cette transaction a été annulée car la durée d’écriture ($1) a dépassé la limite de {{PLURAL:$2|seconde|secondes}}. Si vous cherchez à modifier un grand nombre d’éléments simultanément, essayez plutôt d’effectuer l’opération en plusieurs étapes.",
        "laggedslavemode": "Attention, cette page peut ne pas contenir les toutes dernières modifications effectuées",
        "readonly": "Base de données verrouillée",
        "enterlockreason": "Indiquez la raison du verrouillage ainsi qu'une estimation de sa durée",
        "contribsub2": "Pour {{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "Le compte utilisateur « $1 » n’est pas enregistré.",
        "nocontribs": "Aucune modification correspondant à ces critères n'a été trouvée.",
-       "uctop": "(actuel)",
+       "uctop": "(actuelle)",
        "month": "À partir du mois (et précédents) :",
        "year": "À partir de l'année (et précédentes) :",
        "sp-contributions-newbies": "Ne montrer que les contributions des nouveaux utilisateurs",
        "tags-deactivate": "désactiver",
        "tags-hitcount": "$1 modification{{PLURAL:$1||s}}",
        "tags-manage-no-permission": "Vous n'avez pas la permission de gérer les modifications de balises.",
+       "tags-manage-blocked": "Vous ne pouvez pas accéder à l’interface de modification des balises lorsque vous êtes bloqué{{GENDER:||e}}.",
        "tags-create-heading": "Créer une nouvelle balise",
        "tags-create-explanation": "Par défaut, les nouvelles balises créées seront disponibles pour les utilisateurs et les bots.",
        "tags-create-tag-name": "Nom de la balise :",
        "tags-deactivate-not-allowed": "Il n'est pas possible de désactiver la balise « $1 ».",
        "tags-deactivate-submit": "Désactiver",
        "tags-apply-no-permission": "Vous n’avez pas le droit d’appliquer des balises de changement avec vos modifications.",
+       "tags-apply-blocked": "Vous ne pouvez pas appliquer les modifications de balises lorsque vous êtes bloqué{{GENDER:||e}}.",
        "tags-apply-not-allowed-one": "La balise « $1 » n’est pas autorisée à être appliquée manuellement.",
        "tags-apply-not-allowed-multi": "{{PLURAL:$2|La balise suivante n’est pas autorisée à être appliquée|Les balises suivantes ne sont pas autorisées à être appliquées}} manuellement : $1",
        "tags-update-no-permission": "Vous n’avez pas le droit d’ajouter ou de supprimer des balises de modification des révisions individuelles ou des entrées de journal.",
+       "tags-update-blocked": "Vous ne pouvez pas ajouter ou supprimer des balises lorsque vous êtes bloqué{{GENDER:||e}}.",
        "tags-update-add-not-allowed-one": "La balise « $1 » ne peut pas être ajoutée manuellement.",
        "tags-update-add-not-allowed-multi": "{{PLURAL:$2|La balise suivante ne peut pas être ajoutée|Les balises suivantes ne peuvent pas être ajoutées}} manuellement : $1",
        "tags-update-remove-not-allowed-one": "La balise « $1 » ne peut pas être enlevée.",
index b501c39..ddc9e6c 100644 (file)
@@ -27,7 +27,8 @@
                        "Arbhatt",
                        "NehalDaveND",
                        "Nisargjhaveri",
-                       "Matma Rex"
+                       "Matma Rex",
+                       "Bhatakati aatma"
                ]
        },
        "tog-underline": "કડીઓની નીચે લીટી (અંડરલાઇન):",
        "viewsourcetext": "આપ આ પાનાનો મૂળ સ્રોત નિહાળી શકો છો અને તેની નકલ (copy) પણ કરી શકો છો:",
        "viewyourtext": "આપ આ પાનાનાં '''આપનાં સંપાદનો'''નો મૂળ સ્રોત નિહાળી શકો છો અને તેની નકલ (copy) પણ કરી શકો છો:",
        "protectedinterface": "આ પાનું સોફ્ટવેર માટે ઇન્ટરફેઇસ ટેક્સટ આપે છે, અને તેને દુરુપયોગ રોકવા માટે સ્થગિત કર્યું છે.\nબધાંજ વિકિ માટે ભાષાંતર ઉમેરવા કે બદલવા માટે, કૃપા કરી [//translatewiki.net/ translatewiki.net], મિડિયાવિકિ સ્થાનિયકરણ પ્રકલ્પ, વાપરો.",
-       "editinginterface": "<strong>àª\9aà«\87તવણà«\80:</strong> àª¤àª®à«\87 àª\9cà«\87 àªªàª¾àª¨àª¾àª®àª¾àª\82 àª«à«\87રફાર àª\95રà«\80 àª°àª¹à«\8dયા àª\9bà«\8b àª¤à«\87 àªªàª¾àª¨à«\81àª\82 àª¸à«\8bફà«\8dàª\9fવà«\87ર àª®àª¾àª\9fà«\87 àª\87નà«\8dàª\9fરફà«\87સ àª\9fà«\87àª\95à«\8dસàª\9f àªªà«\81રી પાડે છે.\nઅહીંનો બદલાવ આ વિકિ પર ઉપસ્થિત અન્ય સભ્યોના ઇન્ટરફેસનાં દેખાવ ઉપર અસરકર્તા બનશે.",
+       "editinginterface": "<strong>àª\9aà«\87તવણà«\80:</strong> àª¤àª®à«\87 àª\9cà«\87 àªªàª¾àª¨àª¾àª®àª¾àª\82 àª«à«\87રફાર àª\95રà«\80 àª°àª¹à«\8dયા àª\9bà«\8b àª¤à«\87 àªªàª¾àª¨à«\81àª\82 àª¸à«\8bફà«\8dàª\9fવà«\87ર àª®àª¾àª\9fà«\87 àª\87નà«\8dàª\9fરફà«\87સ àª\9fà«\87àª\95à«\8dસàª\9f àªªà«\82રી પાડે છે.\nઅહીંનો બદલાવ આ વિકિ પર ઉપસ્થિત અન્ય સભ્યોના ઇન્ટરફેસનાં દેખાવ ઉપર અસરકર્તા બનશે.",
        "cascadeprotected": "આ પાના પર ફેરફાર પ્રતિબંધિત છે કેમ કે આ પાનું  {{PLURAL:$1|એવું પાનું|એવા પાના}} માં શામિલ છે જેમાં અનુવર્તી (પગથિયામય)સંરક્ષણ સક્રીય છે :\n$2",
        "namespaceprotected": "તમને '''$1''' નામાવકાશનાં પાનાંમાં ફેરફાર કરવાની પરવાનગી નથી.",
        "customcssprotected": "તમને આ પાનું બદલવાની પરવાનગી નથી કારણકે આ પાનામાં બીજા સભ્યની પસંદગીના સેટીંગ્સ છે.",
        "virus-badscanner": "ખરાબ રૂપરેખા: અજાણ્યું વાઇરસ સ્કેનર: ''$1''",
        "virus-scanfailed": "સ્કેન અસફળ (code $1)",
        "virus-unknownscanner": "અજાણ્યું એન્ટીવાઇરસ:",
-       "logouttext": "'''તમà«\87 àª¬àª¹àª¾àª° àª¨à«\80àª\95ળà«\80 àª\9aà«\81àª\95à«\8dયા àª\9bà«\8b.'''\n\nધà«\8dયાન àª°àª¾àª\96à«\8b àª\95à«\87 àª\9cà«\8dયાàª\82 àª¸à«\81ધà«\80 àª¤àª®à«\87 àª¤àª®àª¾àª°àª¾ àª¬à«\8dરાàª\89àª\9dરનà«\80 àª\95à«\85શ àª¸àª¾àª« àª¨àª¹à«\80àª\82 àª\95રà«\8b àª¤à«\8dયાàª\82 àª¸à«\81ધà«\80 àª\95à«\87àª\9fલાàª\95 àªªàª¾àª¨àª¾àª\82 àª¤àª®à«\87 àªªà«\8dરવà«\87શ àª\95રà«\87લ છે તેમ બતાવશે.",
+       "logouttext": "'''તમà«\87 àª¸àª«àª³àª¤àª¾àªªà«\82રà«\8dવàª\95 àª¬àª¹àª¾àª° àª¨à«\80àª\95ળà«\80 àª\9aà«\82àª\95à«\8dયા àª\9bà«\8b.'''\n\nધà«\8dયાન àª°àª¾àª\96à«\8b àª\95à«\87 àª\9cà«\8dયાàª\82 àª¸à«\81ધà«\80 àª¤àª®à«\87 àª¤àª®àª¾àª°àª¾ àª¬à«\8dરાàª\89àª\9dરનà«\80 àª\95à«\85શ àª¸àª¾àª« àª¨àª¹à«\80àª\82 àª\95રà«\8b àª¤à«\8dયાàª\82 àª¸à«\81ધà«\80 àª\95à«\87àª\9fલાàª\95 àªªàª¾àª¨àª¾àª\82 àª¤àª®à«\87 àªªà«\8dરવà«\87શ àª\95રà«\87લà«\8b છે તેમ બતાવશે.",
        "welcomeuser": "સુસ્વાગતમ્, $1!",
        "welcomecreation-msg": "તમારૂં ખાતું ખુલી ગયું છે.\nતમારી [[Special:Preferences|{{SITENAME}} પસંદ]] બદલવાનું ભૂલશો નહીં.",
        "yourname": "સભ્ય નામ:",
        "yourdomainname": "તમારૂં ડોમેઇન:",
        "password-change-forbidden": "તમે આ વિકિ માટે પાસવર્ડ્સ બદલી શકતા નથી.",
        "externaldberror": "પ્રમાણભૂતતાની ત્રુટી આવી અથવા તમારૂ બહારનુ ખાતું અપડેટ કરવાનો અધિકાર તમને નથી.",
-       "login": "પ્રવેશ કરો",
+       "login": "પ્રવેશ",
        "nav-login-createaccount": "પ્રવેશ કરો / નવું ખાતું ખોલો",
        "userlogin": "પ્રવેશ કરો / નવું ખાતું ખોલો",
-       "userloginnocreate": "પ્રવેશ કરો",
+       "userloginnocreate": "પ્રવેશ",
        "logout": "બહાર નીકળો",
        "userlogout": "બહાર નીકળો/લૉગ આઉટ",
        "notloggedin": "પ્રવેશ કરેલ નથી",
        "nologinlink": "ખાતું ખોલો",
        "createaccount": "નવું ખાતું ખોલો",
        "gotaccount": "પહેલેથી ખાતું ખોલેલું છે? '''$1'''.",
-       "gotaccountlink": "પ્રવેશ કરો",
+       "gotaccountlink": "પ્રવેશ",
        "userlogin-resetlink": "પોતાની પ્રવેશ માહિતી ભૂલી ગયા છો?",
-       "userlogin-resetpassword-link": "તમારà«\8b ગુપ્ત સંજ્ઞા (પાસવર્ડ) ભૂલી ગયા છો?",
+       "userlogin-resetpassword-link": "àª\86પનà«\80 ગુપ્ત સંજ્ઞા (પાસવર્ડ) ભૂલી ગયા છો?",
        "userlogin-helplink2": "પ્રવેશ કરવા માટે મદદ",
        "userlogin-loggedin": "તમે પહેલેથી {{GENDER:$1|$1}} તરીકે પ્રવેશ કરેલો જ છે.\nબીજા સભ્ય તરીકે પ્રવેશ કરવા માટે નીચેનું ફોર્મ વાપરો.",
        "userlogin-createanother": "બીજું ખાતું બનાવો",
        "loginlanguagelabel": "ભાષા: $1",
        "suspicious-userlogout": "લોગ આઉટ કરવાની તમારી વિનંતિ પૂરી ન કરી શકાઇ. એમ લાગે છે કે તેને તૃટિ પામેલ બ્રાઉઝર કે પ્રોક્સી દ્વારા મોકલાઈ હતી.",
        "createacct-another-realname-tip": "સાચું નામ મરજીયાત છે.\nજો તમે તે આપવાનું પસંદ કરશો, તો તેનો ઉપયોગ તમે કરેલ યોગદાનનું શ્રેય આપવા માટે થશે.",
-       "pt-login": "પ્રવેશ કરો",
+       "pt-login": "પ્રવેશ",
        "pt-login-button": "પ્રવેશો",
        "pt-createaccount": "ખાતું બનાવો",
        "pt-userlogout": "બહાર નીકળો",
        "nosuchsectiontitle": "આવો વિભાગ મળ્યો નથી",
        "nosuchsectiontext": "તમે અસ્તિત્વ ન ધરાવતા વિભાગમાં ફેરફાર કરવાની કોશિશ કરી છે.\nશક્ય છે કે જ્યારે તમે પાનું જોતા હતા ત્યારે તેને દૂર કરવામાં કે ખસેડવામાં આવ્યું હોય.",
        "loginreqtitle": "પ્રવેશ (લોગ ઇન) જરૂરી",
-       "loginreqlink": "પ્રવેશ કરો",
+       "loginreqlink": "પ્રવેશ",
        "loginreqpagetext": "બીજા પાનાં જોવા માટે જરૂરી છે કે તમે $1.",
        "accmailtitle": "ગુપ્તસંજ્ઞા મોકલવામાં આવી છે.",
        "accmailtext": "[[User talk:$1|$1]] માટે રચેલ ગુપ્તસંજ્ઞા $2 ને મોકલાવી દેવાઇ છે. આ નવા ખાતાનીગુપ્તસંજ્ઞા પ્રવેશ કર્યા બાદ ''[[Special:ChangePassword|ગુપ્તસંજ્ઞા બદલો]]'' વાપરીને બદલી શકાશે.",
        "userrights-groupsmember": "સભ્યપદ:",
        "userrights-groupsmember-auto": "સામે દર્શાવેલા {{PLURAL:$1|જૂથ|જૂથો}}{{GENDER:$2|નો|ની|ના}} અભિપ્રેત સભ્ય:",
        "userrights-groupsmember-type": " $1",
-       "userrights-groups-help": "àª\86 àª¸àª­à«\8dય àª\9cà«\87 àª\9cà«\82થà«\8bનà«\8b àª¸àª­à«\8dય àª\9bà«\87 àª¤à«\87 àª¤àª®à«\87 àª¬àª¦àª²à«\80 àª¶àª\95à«\8b àª\9bà«\8b:\n* àª\85àª\82àª\95િત àª\95રà«\87લà«\81àª\82 àª\96ાનà«\81àª\82 àª¦àª°à«\8dશાવà«\87 àª\9bà«\87 àª\95à«\87 àª¸àª­à«\8dય àª¤à«\87 àª\9cà«\82થમાàª\82 àª\9bà«\87.\n* àª\9cà«\8b àª\96ાનà«\81àª\82 àª\85àª\82àª\95િત àª¨ àª¹à«\8bય àª¤à«\8b àª¤à«\87નà«\8b àª\85રà«\8dથ àª\8fમ àª\9bà«\87 àª\95à«\87 àª¸àª­à«\8dય àª¤à«\87 àª\9cà«\82થમાàª\82 àª¨àª¥à«\80.\n* àª«à«\81દડà«\80 (*) àª¦àª°à«\8dશાવà«\87 àª\9bà«\87 àª\95à«\87 àª¤àª®à«\87 àª\8fàª\95 àªµàª\96ત àª\89મà«\87રà«\8dયા àªªàª\9bà«\80 àª¤à«\87 àª\9cà«\82થ àª¹àª\9fાવà«\80 àª¨àª¹à«\80 àª¶àª\95à«\8b àª\85થવા àª¹àª\9fાવà«\8dયા àªªàª\9bà«\80 àª\89મà«\87રà«\80 àª¨àª¹à«\80 શકો.",
+       "userrights-groups-help": "àª\86 àª¸àª­à«\8dય àª\9cà«\87 àª\9cà«\82થà«\8bનà«\8b àª¸àª­à«\8dય àª\9bà«\87 àª¤à«\87 àª¤àª®à«\87 àª¬àª¦àª²à«\80 àª¶àª\95à«\8b àª\9bà«\8b:\n* àª\85àª\82àª\95િત àª\95રà«\87લà«\81àª\82 àª\96ાનà«\81àª\82 àª¦àª°à«\8dશાવà«\87 àª\9bà«\87 àª\95à«\87 àª¸àª­à«\8dય àª¤à«\87 àª\9cà«\82થમાàª\82 àª\9bà«\87.\n* àª\9cà«\8b àª\96ાનà«\81àª\82 àª\85àª\82àª\95િત àª¨ àª¹à«\8bય àª¤à«\8b àª¤à«\87નà«\8b àª\85રà«\8dથ àª\8fમ àª\9bà«\87 àª\95à«\87 àª¸àª­à«\8dય àª¤à«\87 àª\9cà«\82થમાàª\82 àª¨àª¥à«\80.\n* àª«à«\82દડà«\80 (*) àª¦àª°à«\8dશાવà«\87 àª\9bà«\87 àª\95à«\87 àª¤àª®à«\87 àª\8fàª\95 àªµàª\96ત àª\89મà«\87રà«\8dયા àªªàª\9bà«\80 àª¤à«\87 àª\9cà«\82થમાàª\82થà«\80 àª¸àª­à«\8dયનàª\83 àª¹àª\9fાવà«\80 àª¨àª¹à«\80àª\82 àª¶àª\95à«\8b àª\85થવા àª¹àª\9fાવà«\8dયા àªªàª\9bà«\80 àª\89મà«\87રà«\80 àª¨àª¹à«\80àª\82 શકો.",
        "userrights-reason": "કારણ:",
        "userrights-no-interwiki": "અન્ય વિકિ પર અન્ય સભ્યો ના અધિકારો માં પરિવર્તન કરવાની તમને પરવાનગી નથી",
        "userrights-nodatabase": "માહિતીસંચ $1 અસ્તિત્વમાં નથી કે તે સ્થાનીય નથી.",
        "userrights-unchangeable-col": "તમે બદલી ન શકો તેવા જૂથ",
        "group": "સમુહ",
        "group-user": "સભ્ય",
-       "group-autoconfirmed": "સà«\8dવàª\9aાલિત àª®àª\82àª\9cà«\82ર સભ્ય",
+       "group-autoconfirmed": "સà«\8dવયàª\82àª\9aલિત àª®àª¾àª¨à«\8dય સભ્ય",
        "group-bot": "બૉટો",
        "group-sysop": "સાઇસૉપ/પ્રબંધકો",
        "group-bureaucrat": "રાજનૈતિકો",
        "group-bureaucrat-member": "{{GENDER:$1|રાજનૈતિક}}",
        "group-suppress-member": "{{GENDER:$1|નાબૂદકર્તા}}",
        "grouppage-user": "{{ns:project}}:સભ્યો",
-       "grouppage-autoconfirmed": "{{ns:project}}:સà«\8dવàª\9aાલિત àª®àª\82àª\9cà«\82ર સભ્યો",
+       "grouppage-autoconfirmed": "{{ns:project}}:સà«\8dવયàª\82àª\9aલિત àª®àª¾àª¨à«\8dય સભ્યો",
        "grouppage-bot": "{{ns:project}}:બૉટો",
        "grouppage-sysop": "{{ns:project}}:પ્રબંધકો",
        "grouppage-bureaucrat": "{{ns:project}}: રાજનૈતિક",
        "feedback-thanks": "આભર! તમારા પ્રતિભાવને \"[$2 $1]\" પાના પર મુકાયા છે.",
        "feedback-thanks-title": "આભાર !",
        "searchsuggest-search": "શોધો",
-       "searchsuggest-containing": "ધરાવતà«\80...",
+       "searchsuggest-containing": "àª\86 àª¶àª¬à«\8dદ àª§àª°àª¾àªµàª¤àª¾...",
        "api-error-badaccess-groups": "આ વિકિ પર ફાઈલ ચઢાવવાની પરવાનગી તમને નથી.",
        "api-error-badtoken": "આંતરીક ત્રુટી: ખરાબ ટોકન",
        "api-error-copyuploaddisabled": "આ સર્વર પર URL દ્વારા માહિતી ચઢાવવા પર પ્રતિબંધ",
index 5a8e6c1..a9b48c6 100644 (file)
        "databaseerror-query": "שאילתה: $1",
        "databaseerror-function": "פונקציה: $1",
        "databaseerror-error": "שגיאה: $1",
-       "transaction-duration-limit-exceeded": "כדי למנוע עיכובי העתקה גדולים, פעולה זו הופסקה כיוון שמשך הכתיבה ($1) עבר את המגבלה של $2 שניות.\nאם הפעולה דורשת שינוי של פריטים רבים בו־זמנית, ניתן לנסות לבצע מספר פעולות קטנות יותר.",
+       "transaction-duration-limit-exceeded": "כדי למנוע עיכובי העתקה גדולים, פעולה זו הופסקה כיוון שמשך הכתיבה ($1) עבר את המגבלה של {{PLURAL:$2|שנייה אחת|$2 שניות}}.\nאם הפעולה דורשת שינוי של פריטים רבים בו־זמנית, ניתן לנסות לבצע מספר פעולות קטנות יותר.",
        "laggedslavemode": "'''אזהרה:''' הדף עשוי שלא להכיל עדכונים אחרונים.",
        "readonly": "בסיס הנתונים נעול",
        "enterlockreason": "יש להקליד סיבה לנעילה, כולל הערכה למועד שחרור הנעילה",
        "tags-deactivate": "ביטול הפעלה",
        "tags-hitcount": "{{PLURAL:$1|שינוי אחד|$1 שינויים}}",
        "tags-manage-no-permission": "אין לך הרשאה לנהל תגיות לסימון שינויים.",
+       "tags-manage-blocked": "לא ניתן לנהל תגי שינוי בעת חסימה.",
        "tags-create-heading": "יצירת תגית חדשה",
        "tags-create-explanation": "כברירת מחדל, תגיות חדשות שנוצרות יהיו זמינות לשימושם של משתמשים ובוטים.",
        "tags-create-tag-name": "שם התגית:",
        "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\".",
index 96442ab..efb07a1 100644 (file)
        "redirectedfrom": "(Preusmjereno s $1)",
        "redirectpagesub": "Preusmjeravanje",
        "redirectto": "Preusmjerava na:",
-       "lastmodifiedat": "Vrijeme i datum posljednje promjene na ovoj stranici: $2, $1",
+       "lastmodifiedat": "Datum i vrijeme posljednje promjene na ovoj stranici: $1 u $2",
        "viewcount": "Ova stranica je pogledana {{PLURAL:$1|$1 put|$1 puta}}.",
        "protectedpage": "Zaštićena stranica",
        "jumpto": "Skoči na:",
        "content-model-css": "CSS",
        "content-json-empty-object": "Prazan objekt",
        "content-json-empty-array": "Prazno polje",
-       "duplicate-args-warning": "<strong>Upozorenje:</strong> [[:$1]] poziva na [[:$2]] s više od jedne vrijednosti za parametar \"$3\". Rabit će se samo posljednja navedena vrijenost.",
+       "duplicate-args-warning": "<strong>Upozorenje:</strong> [[:$1]] poziva na [[:$2]] s više od jedne vrijednosti za parametar \"$3\". Rabit će se samo posljednja navedena vrijednost.",
        "expensive-parserfunction-warning": "Upozorenje: Ova stranica sadrži previše opterećujućih poziva parserskih funkcija\n\nTrebala bi imati manje od $2 {{PLURAL:$2|poziva|poziva}}, sada ima {{PLURAL:$1|$1 poziv|$1 poziva}}.",
        "expensive-parserfunction-category": "Stranice s previše poziva opterećujućih parserskih funkcija",
        "post-expand-template-inclusion-warning": "Upozorenje: Veličina uključenih predložaka je prevelika.\nNeki predlošci neće biti uključeni.",
        "whatlinkshere-hidelinks": "$1 poveznice",
        "whatlinkshere-hideimages": "$1 poveznice slike",
        "whatlinkshere-filters": "Filtri",
+       "whatlinkshere-submit": "Idi",
        "autoblockid": "Automatsko blokiranje #$1",
        "block": "Blokiraj suradnika",
        "unblock": "Deblokiraj suradnika",
index 1bd7814..5819bba 100644 (file)
        "sp-contributions-blocked-notice": "Այս մասնակիցը ներկա պահին արգելափակված է։\nՍտորև ներկայացված է արգելափակման տեղեկամատյանի վերջին գրառումը.",
        "sp-contributions-blocked-notice-anon": "Այս IP հասցեն ներկա պահին արգելափակված է։\nՍտորև ներկայացված է արգելափակման տեղեկամատյանի վերջին գրառումը.",
        "sp-contributions-search": "Որոնել ներդրումները",
-       "sp-contributions-username": "IP-հասե կամ մասնակցի անուն.",
+       "sp-contributions-username": "IP-հասցե կամ մասնակցի անուն.",
        "sp-contributions-toponly": "Ցույց տալ միայն այն խմբագրումները, որոնք վերջին փոփոխություն են",
        "sp-contributions-newonly": "Ցույց տալ միայն այն խմբագրումները, որոնք էջ են ստեղծել",
        "sp-contributions-submit": "Որոնել",
index 50e9bb6..75bc2c8 100644 (file)
        "showingresultsinrange": "Төменде {{PLURAL:$1|<strong>1</strong> нәтижеден|<strong>$1</strong> нәтижеден}} #<strong>$2</strong> орнынан #<strong>$3</strong> орынына дейінгі ауқымы көрсетіледі.",
        "search-showingresults": "{{PLURAL:$4|Табылған <strong>$3</strong> нәтиженің <strong>$1</strong> нәтижесі көрсетілген|Табылған <strong>$3</strong> нәтиженің <strong>$1 - $2</strong> аралығы көрсетілген}}",
        "search-nonefound": "Сұрауға сәйкес нәтижелер табылмады.",
+       "search-nonefound-thiswiki": "Бұл сайтта сұранысқа сәйкес нәтиже жоқ.",
        "powersearch-legend": "Кеңейтілген іздеу",
        "powersearch-ns": "Атау кеңістіктері бойынша іздеу:",
        "powersearch-togglelabel": "Белгілеу:",
index 7ddf918..57aa194 100644 (file)
        "recentchanges-legend-heading": "'''범례:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|새 문서 목록]]도 보세요)",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
+       "recentchanges-submit": "보기",
        "rcnotefrom": "아래는 <strong>$3, $4</strong>부터 시작하는 {{PLURAL:$5|바뀜이 있습니다}}. (최대 <strong>$1</strong>개가 보여집니다)",
        "rclistfrom": "$3 $2부터 시작하는 새로 바뀐 문서 보기",
        "rcshowhideminor": "사소한 편집을 $1",
        "booksources-text": "아래의 목록은 새 책이나 중고 책을 판매하는 바깥 사이트로, 원하는 책의 정보를 얻을 수 있습니다.",
        "booksources-invalid-isbn": "입력한 ISBN이 올바르지 않은 것으로 보입니다. 원본과 대조해 문제가 있는지 확인해보세요.",
        "specialloguserlabel": "작업 수행자:",
-       "speciallogtitlelabel": "대상 (제목 또는 {{ns:user}}:사용자_이름 으로사용자):",
+       "speciallogtitlelabel": "대상 (제목 또는 {{ns:user}}:사용자_이름 으로 사용자):",
        "log": "기록 목록",
+       "logeventslist-submit": "보기",
        "all-logs-page": "모든 공개 기록",
        "alllogstext": "{{SITENAME}}에서의 기록이 모두 나와 있습니다.\n기록 종류, 사용자 이름, 문서 이름을 선택해서 볼 수 있습니다. (대소문자를 구별합니다.)",
        "logempty": "일치하는 항목이 없습니다.",
        "wlshowlast": "최근 $1시간 $2일 동안의 바뀜 보기",
        "watchlistall2": "모두",
        "watchlist-hide": "숨기기",
+       "watchlist-submit": "보기",
        "wlshowtime": "주시할 기간:",
        "wlshowhideminor": "사소한 편집",
        "wlshowhidebots": "봇",
index 311d59d..4370bfd 100644 (file)
        "createacct-emailoptional": "Inscriptio electronica (non necesse)",
        "createacct-email-ph": "Inscriptionem electronicam tuam inscribe",
        "createacct-another-email-ph": "Inscriptionem electronicam inscribe",
-       "createaccountmail": "Use a temporary random password and send it to the email address specified below",
+       "createaccountmail": "Use a temporary random password and send it to the specified email address",
        "createacct-realname": "Nomen rectum (non necesse)",
        "createaccountreason": "Causa:",
        "createacct-reason": "Causa",
        "prefs-emailconfirm-label": "Adfirmatio inscriptionis electronicae:",
        "youremail": "Inscriptio electronica:",
        "username": "Nomen usoris:",
-       "prefs-registration": "Tempus, quo nomen impositum est",
+       "prefs-registration": "Tempus, quo nomen impositum est:",
        "yourrealname": "Nomen verum:",
        "yourlanguage": "Lingua:",
        "yourvariant": "Differentia linguae contentorum:",
        "right-userrights": "Omnes potestates usorum recensere",
        "right-userrights-interwiki": "Potestates usorum aliis in vicis recensere",
        "right-siteadmin": "Basem datorum obstruere vel deobstruere",
-       "newuserlogpage": "Index nominum nuper impositorum",
-       "newuserlogpagetext": "Hic est index nominum nuper impositorum",
+       "newuserlogpage": "Index nominum impositorum",
+       "newuserlogpagetext": "Hic est index nominum impositorum.",
        "rightslog": "Index mutationum iuribus usorum",
        "rightslogtext": "Haec est index mutationum iuribus usorum.",
        "action-read": "hanc paginam legere",
        "watchlist-details": "{{PLURAL:$1|$1 paginam|$1 paginas}} observas.",
        "wlheader-enotif": "Mutationes si quae factae erunt, electronice tibi nuntiabuntur.",
        "wlheader-showupdated": "Paginae nondum a te inspectae typis <strong>crassioribus</strong> ostenduntur.",
-       "wlnote": "Subter {{PLURAL:$1|est mutatio proxima|sunt '''$1''' mutationes proximae}} in {{PLURAL:$2|proxima hora|proximis '''$2''' horis}} ex $4, $3.",
+       "wlnote": "{{PLURAL:$1|Indicatur mutatio novissima|Indicantur '''$1''' mutationes novissimae}} abhinc {{PLURAL:$2|superiorem horam|superiores '''$2''' horas}} (ab $3, $4) factae.",
        "wlshowlast": "Monstrare proximas $1 horas $2 dies",
        "watchlistall2": "omnes",
+       "watchlist-submit": "Porrige",
+       "wlshowtime": "Temporis spatium porrigendum:",
        "watchlist-options": "Huius indicis modi",
        "watching": "Custodiens...",
        "unwatching": "Decustodiens...",
        "ipbexpiry": "Exitus:",
        "ipbreason": "Causa:",
        "ipbreason-dropdown": "*Rationes crebriter adductae\n** Ob scripta falsa\n** Ob textum remotum\n** Ob nexus externos multiplicatos\n** Ob scripta sensu sive et Latinitate carentia\n** Ob scripta inurbana\n** Ob rationes perniciose multiplicatas\n** Ob nomen inurbanum sive inconveniens",
-       "ipbcreateaccount": "arcere ab nominibus imponendis",
+       "ipbcreateaccount": "Arcere a nominibus imponendis",
        "ipbemailban": "Litteras electronicas vetare",
        "ipbsubmit": "Obstruere hunc locum",
        "ipbother": "Exitus alius:",
        "expiringblock": "exit $2, $1",
        "anononlyblock": "solum usores ignoti",
        "noautoblockblock": "obstructio automatica prohibita",
-       "createaccountblock": "Arcemus te a nomine tibi imponendo",
+       "createaccountblock": "arcemus a nominibus sibi imponendis",
        "emailblock": "Litterae electronicae obstructae",
        "blocklist-nousertalk": "non potest paginam disputationis suam recensere",
        "blocklink": "obstruere",
        "import-logentry-upload-detail": "$1 {{PLURAL:$1|emendatio|emendationes}}",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|emendatio|emendationes}} ex $2",
        "tooltip-pt-userpage": "Pagina usoris tua",
-       "tooltip-pt-mytalk": "Pagina disputationis tua",
+       "tooltip-pt-mytalk": "Pagina disputationis tuae",
        "tooltip-pt-anontalk": "Disputatio de recensionibus ex hoc loco IP factis",
        "tooltip-pt-preferences": "Praeferentiae tuae",
-       "tooltip-pt-watchlist": "Paginae quas observas ut earum mutationes facilius videas",
+       "tooltip-pt-watchlist": "Mutationes in paginis observandis factae",
        "tooltip-pt-mycontris": "Index conlationum tuarum",
        "tooltip-pt-anoncontribs": "Ostendit recensiones ex hoc loco IP factas",
        "tooltip-pt-login": "Te nomen dare hortamur neque cogimus",
index c89c0af..6a46f2d 100644 (file)
        "recentchanges-label-minor": "Ова е ситна промена",
        "recentchanges-label-bot": "Ова уредување е направено од бот",
        "recentchanges-label-unpatrolled": "Ова уредување сè уште не е испатролирано",
-       "recentchanges-label-plusminus": "Ð\9fÑ\80омена Ð½Ð° Ð³Ð¾Ð»ÐµÐ¼Ð¸Ð½Ð°Ñ\82а на страницата во бајти",
+       "recentchanges-label-plusminus": "Ð\93олеминÑ\81ка Ð¿Ñ\80омена на страницата во бајти",
        "recentchanges-legend-heading": "'''Легенда:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (погл. и [[Special:NewPages|списокот на нови страници]])",
        "recentchanges-legend-plusminus": "(''±123'')",
index 9980205..04957af 100644 (file)
        "databaseerror-query": "Zapytanie: $1",
        "databaseerror-function": "Funkcja: $1",
        "databaseerror-error": "Błąd: $1",
-       "transaction-duration-limit-exceeded": "Aby zapobiec wysokim opóźnieniom replikacji danych, ta transakcja została przerwana. Czas zapisywania ($1) przekroczył limit $2 sekund.\nJeśli modyfikujesz wiele elementów jednocześnie, spróbuj zamiast tego wykonać kilka mniejszych operacji.",
+       "transaction-duration-limit-exceeded": "Aby zapobiec wysokim opóźnieniom replikacji danych, ta transakcja została przerwana. Czas zapisywania ($1) przekroczył limit $2 {{PLURAL:$2|sekund}}.\nJeśli modyfikujesz wiele elementów jednocześnie, spróbuj zamiast tego wykonać kilka mniejszych operacji.",
        "laggedslavemode": "Uwaga! Ta strona może nie zawierać najnowszych aktualizacji.",
        "readonly": "Baza danych jest zablokowana",
        "enterlockreason": "Podaj powód zablokowania bazy oraz szacunkowy termin jej odblokowania",
index daa5b20..329e901 100644 (file)
        "tags-deactivate": "Used on [[Special:Tags]]. Verb. Used as display text on a link to deactivate a tag.\n{{Identical|Delete}}",
        "tags-hitcount": "Shown in the \"{{msg-mw|Tags-hitcount-header}}\" column in [[Special:Tags]]. For more information on tags see [[mw:Manual:Tags|MediaWiki]].\n\nParameters:\n* $1 - the number of changes marked with the tag",
        "tags-manage-no-permission": "Error message on [[Special:Tags]]",
+       "tags-manage-blocked": "Error message on [[Special:Tags]]",
        "tags-create-heading": "The title of a fieldset, beneath which lies a form used to create a tag. For more information on tags see [[mw:Manual:Tags|MediaWiki]].",
        "tags-create-explanation": "The first paragraph of an explanation to tell users what they are about to do.",
        "tags-create-tag-name": "Form field label for the name of the tag to be created.",
        "tags-deactivate-not-allowed": "Error message on [[Special:Tags]]",
        "tags-deactivate-submit": "The label of the form \"submit\" button when the user is about to deactivate a tag.\n{{Identical|Deactivate}}",
        "tags-apply-no-permission": "Error message seen via the API when a user lacks the permission to apply change tags.",
+       "tags-apply-blocked": "Error message seen via the API when a user is blocked and attempted to apply change tags.",
        "tags-apply-not-allowed-one": "Error message seen via the API when a user tries to apply a single tag that is not properly defined. This message is only ever used in the case of 1 tag.\n\nParameters:\n* $1 - tag name",
        "tags-apply-not-allowed-multi": "Error message seen via the API when a user tries to apply more than one tag that is not properly defined.\n\nParameters:\n* $1 - comma-separated list of tag names\n* $2 - number of tags",
        "tags-update-no-permission": "Error message seen via the API when a user lacks the permission to add or remove change tags after the fact.",
+       "tags-update-blocked": "Error message seen via the API when a user is blocked and attempted to add or remove change tags after the fact.",
        "tags-update-add-not-allowed-one": "Error message seen via the API when a user tries to add a single tag that is not properly defined. This message is only ever used in the case of 1 tag.\n\nParameters:\n* $1 - tag name",
        "tags-update-add-not-allowed-multi": "Error message seen via the API when a user tries to add more than one tag that is not properly defined.\n\nParameters:\n* $1 - comma-separated list of tag names\n* $2 - number of tags",
        "tags-update-remove-not-allowed-one": "Error message seen via the API when a user tries to remove a single tag that is not properly defined. This message is only ever used in the case of 1 tag.\n\nParameters:\n* $1 - tag name",
index e48d1e1..fb46162 100644 (file)
@@ -63,6 +63,7 @@
        "tog-watchlisthidebots": "Ascunde modificările roboților din lista de pagini urmărite",
        "tog-watchlisthideminor": "Ascunde modificările minore din lista de pagini urmărite",
        "tog-watchlisthideliu": "Ascunde modificările efectuate de utilizatori autentificați din lista de pagini urmărite",
+       "tog-watchlistreloadautomatically": "Reîncarcă automat lista paginilor urmărite de fiecare dată când un filtru este modificat (necesită JavaScript)",
        "tog-watchlisthideanons": "Ascunde modificările făcute de utilizatori anonimi din lista de pagini urmărite",
        "tog-watchlisthidepatrolled": "Ascunde paginile patrulate din lista de pagini urmărite",
        "tog-watchlisthidecategorization": "Ascunde categorisirea paginilor",
        "databaseerror-query": "Interogare: $1",
        "databaseerror-function": "Funcție: $1",
        "databaseerror-error": "Eroare: $1",
+       "transaction-duration-limit-exceeded": "Pentru a evita crearea unei mari întârzieri de replicare, această tranzacție a fost abandonată, deoarece durata de scriere ($1) a depășit limita de $2 {{PLURAL:$2|secundă|secunde|de secunde}}.\nDacă modificați simultan mai multe elemente, încercați să efectuați operațiunea în mai multe etape.",
        "laggedslavemode": "<strong>Atenție:</strong> Pagina nu conține ultimele modificări.",
        "readonly": "Baza de date este blocată la scriere",
        "enterlockreason": "Precizează motivul pentru blocare, incluzând o estimare a termenului de deblocare",
-       "readonlytext": "Baza de date {{SITENAME}} este momentan blocată la scriere, probabil pentru o operațiune de rutină, după care va fi deblocată și se va reveni la starea normală.\n\nAdministratorul care a blocat-o a oferit această explicație: $1",
+       "readonlytext": "Baza de date este momentan blocată pentru intrări noi și alte modificări, probabil pentru o operațiune de mentenanță de rutină, după care va reveni la starea normală.\n\nAdministratorul care a blocat-o a oferit această explicație: $1",
        "missing-article": "Baza de date nu găsește textul unei pagini care ar fi trebuit găsită, numită „$1” $2.\n\nÎn mod normal faptul este cauzat de accesarea unei dif neactualizată sau a unei legături din istoric spre o pagină care a fost ștearsă.\n\nDacă nu acesta e motivul, s-ar putea să fi găsit un bug în program.\nVă rugăm să-i semnalați acest aspect unui [[Special:ListUsers/sysop|administrator]], indicându-i adresa URL.",
        "missingarticle-rev": "(versiunea#: $1)",
        "missingarticle-diff": "(Dif: $1, $2)",
        "mypreferencesprotected": "Nu aveți permisiunea să vă modificați preferințele.",
        "ns-specialprotected": "Paginile din spațiul de nume {{ns:special}} nu pot fi editate.",
        "titleprotected": "Acest titlu a fos protejat la creare de [[User:$1|$1]].\nMotivul invocat este ''$2''.",
-       "filereadonlyerror": "Imposibil de modificat fișierul „$1”, deoarece depozitul de fișiere „$2” este în modul „doar citire”.\n\nAdministratorul care a efectuat blocarea a furnizat explicația: „$3”.",
+       "filereadonlyerror": "Imposibil de modificat fișierul „$1”, deoarece depozitul de fișiere „$2” este în modul „doar citire”.\n\nAdministratorul de sistem care a efectuat blocarea a furnizat explicația: „$3”.",
        "invalidtitle-knownnamespace": "Titlu invalid cu spațiul de nume „$2” și textul „$3”",
        "invalidtitle-unknownnamespace": "Titlu invalid cu numărul spațiului de nume $1 necunoscut și textul „$2”",
        "exception-nologin": "Neautentificat{{GENDER:||ă}}",
        "wrongpasswordempty": "Spațiul pentru introducerea parolei nu a fost completat. Vă rugăm să încercați din nou.",
        "passwordtooshort": "Parola trebuie să aibă cel puțin {{PLURAL:$1|1 caracter|$1 caractere|$1 de caractere}}.",
        "passwordtoolong": "Parolele nu pot fi mai lungi de {{PLURAL:$1|un caracter|$1 caractere|$1 de caractere}}.",
+       "passwordtoopopular": "Parolele comune nu pot fi utilizate. Alegeți o parolă mai puțin obișnuită.",
        "password-name-match": "Parola dumneavoastră trebuie să fie diferită de numele de utilizator.",
        "password-login-forbidden": "Utilizarea acestui nume de utilizator și a acestei parole este interzisă.",
        "mailmypassword": "Resetează parola",
        "passwordreset-emailtext-user": "Utilizatorul $1 de pe {{SITENAME}} a solicitat o resetare a parolei dumneavoastră pentru {{SITENAME}} ($4). Următorul utilizator are {{PLURAL:$3|contul asociat|conturile asociate}} cu această adresă de e-mail:\n\n$2\n\n{{PLURAL:$3|Această parolă temporară va|Aceste parole temporare vor}} expira {{PLURAL:$5|într-o zi|în $5 zile}}.\nAr trebui să vă autentificați și să alegeți acum o nouă parolă. Dacă altcineva a făcut această solicitare, ori dacă v-ați reamintit parola originală și nu mai doriți modificarea ei, puteți ignora acest mesaj, continuând cu vechea parolă.",
        "passwordreset-emailelement": "Nume de utilizator: \n$1\n\nParolă temporară: \n$2",
        "passwordreset-emailsentemail": "Dacă aceasta este o adresă de e-mail înregistrată pentru contul dumneavoastră, atunci se va trimite un e-mail de resetare a parolei.",
+       "passwordreset-emailsentusername": "Dacă există o adresă de e-mail înregistrată pentru contul dumneavoastră, atunci se va trimite un e-mail de resetare a parolei.",
        "passwordreset-emailsent-capture": "Un mesaj de resetare a parolei a fost trimis, fiind afișat mai jos.",
        "passwordreset-emailerror-capture": "Un mesaj de resetare a parolei a fost generat (fiind afișat mai jos), dar trimiterea sa către {{GENDER:$2|utilizator}} a eșuat: $1",
        "changeemail": "Modificare sau înlăturare adresă de e-mail",
        "copyrightwarning2": "Rețineți că toate contribuțiile la {{SITENAME}} pot fi modificate, alterate sau șterse de alți contribuitori.\nDacă nu doriți ca ceea ce scrieți să fie modificat fără milă și redistribuit în voie, atunci nu trimiteți materialele respective aici.<br />\nDe asemenea, ne asigurați că ceea ce ați scris a fost compoziție proprie sau copie dintr-o resursă publică sau liberă (vedeți $1 pentru detalii).\n'''Nu introduceți materiale aflate sub incidența drepturilor de autor fără a avea permisiune!'''",
        "editpage-cannot-use-custom-model": "Modelul de conținut al acestei pagini nu poate fi modificat.",
        "longpageerror": "'''Eroare: Textul pe care l-ați trimis are o lungime de {{PLURAL:$1|un kilooctet|$1 kiloocteți|$1 de kiloocteți}}, ceea ce înseamnă mai mult decât maximul de {{PLURAL:$2|un kilooctet|$2 kiloocteți|$2 de kiloocteți}}.'''\nSalvarea nu este posibilă.",
-       "readonlywarning": "'''Atenție: Baza de date a fost blocată pentru întreținere, deci nu veți putea salva modificările în acest moment.'''\nPuteți copia textul într-un fișier text, păstrându-l pentru mai târziu.\n\nAdministratorul care a efectuat blocarea a oferit următoarea explicație: $1",
+       "readonlywarning": "<strong>Atenție: Baza de date a fost blocată pentru întreținere, deci nu veți putea salva modificările în acest moment.</strong>\nPuteți copia textul într-un fișier text, păstrându-l pentru mai târziu.\n\nAdministratorul de sistem care a efectuat blocarea a oferit următoarea explicație: $1",
        "protectedpagewarning": "'''Atenție: această pagină a fost protejată astfel încât poate fi modificată doar de către administratori.'''\nUltima intrare în jurnal este afișată mai jos pentru referință:",
        "semiprotectedpagewarning": "'''Observație: această pagină a fost protejată și poate fi modificată doar de către utilizatorii înregistrați.'''\nUltima intrare în jurnal este afișată mai jos pentru referință:",
        "cascadeprotectedwarning": "<strong>Atenție:</strong> Această pagină a fost protejată, astfel încât numai administratorii o pot modifica, fiind inclusă în {{PLURAL:$1|următoarea pagină protejată|următoarele pagini protejate}} în cascadă:",
        "permissionserrors": "Eroare de permisiune",
        "permissionserrorstext": "Nu aveți permisiune pentru a face acest lucru, din următoarele {{PLURAL:$1|motiv|motive}}:",
        "permissionserrorstext-withaction": "Nu aveți permisiunea să $2, din {{PLURAL:$1|următorul motiv|următoarele motive}}:",
-       "contentmodelediterror": "Nu puteți modifica această versiune, deoarece modelul de conținut al acesteia este <code>$1</code>, iar actualul model de conținut al paginii este <code>$2</code>.",
+       "contentmodelediterror": "Nu puteți modifica această versiune, deoarece modelul de conținut al acesteia este <code>$1</code>, diferit față de actualul model de conținut al paginii, care este <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Atenție: Recreați o pagină care a fost ștearsă anterior.'''\n\nAsigurați-vă că este oportună recrearea acestei pagini.\nJurnalul ștergerilor și al mutărilor pentru această pagină este disponibil:",
        "moveddeleted-notice": "Această pagină a fost ștearsă.\nJurnalul ștergerilor și al redenumirilor este disponibil mai jos.",
        "moveddeleted-notice-recent": "Ne cerem scuze, dar această pagină a fost ștearsă recent (în ultimele 24 de ore).\nJurnalele de ștergere și redenumire ale paginii sunt disponibile mai jos cu scop informativ.",
        "recentchanges-legend-heading": "'''Legendă:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vedeți și [[Special:NewPages|lista cu pagini noi]])",
        "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-submit": "Afișează",
        "rcnotefrom": "Dedesubt {{PLURAL:$5|se află o modificare|sunt modificările}} începând cu <b>$3, $4</b> (maximum <b>$1</b> afișate).",
        "rclistfrom": "Se afișează modificările începând cu $3, $2",
        "rcshowhideminor": "$1 modificările minore",
        "foreign-structured-upload-form-label-own-work-message-shared": "Declar că dețin drepturile de autor asupra acestui fișier, accept să public irevocabil acest fișier la Wikimedia Commons sub licența [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Atribuire și distribuire în condiții identice 4.0] și sunt de acord cu [https://wikimediafoundation.org/wiki/Terms_of_Use Termenii de utilizare].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Dacă nu dețineți drepturile de autor asupra acestui fișier sau doriți să-l publicați sub o altă licență, puteți utiliza [https://commons.wikimedia.org/wiki/Special:UploadWizard Expertul de încărcare de la Commons].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Poate doriți să încercați [[Special:Upload|pagina de încărcare de la {{SITENAME}}]], în cazul în care acest site permite încărcarea acestui fișier în conformitate cu politicele lor.",
+       "foreign-structured-upload-form-2-label-intro": "Vă mulțumim că ați donat o imagine care va fi folosită la {{SITENAME}}. Ar trebuie să mergeți mai departe doar dacă îndeplinește următoarele condiții:",
+       "foreign-structured-upload-form-2-label-ownwork": "Trebuie să fie în totalitate <strong>creația dumnevoastră</strong>, și nu preluată de pe internet",
+       "foreign-structured-upload-form-2-label-noderiv": "Trebuie să <strong>nu conțină lucrări ale altei persoane</strong>, nici măcar ca sursă de inspirație",
+       "foreign-structured-upload-form-2-label-useful": "Ar trebui să fie <strong>educativă și folositoare</strong> pentru ceilalți",
+       "foreign-structured-upload-form-2-label-ccbysa": "Trebuie <strong>să poată fi publicată irevocabil</strong> pe internet sub licența [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Atribuire și distribuire în condiții identice 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Dacă nu toate cerințele de mai sus sunt îndeplinite, încă puteți încărca fișierul folosind [https://commons.wikimedia.org/wiki/Special:UploadWizard Expertul de încărcare de la Commons], atât timp cât fișierul este disponibil sub o licență liberă.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Încărcând fișierul, atestați faptul că dețineți drepturile de autor ale fișierului și sunteți de acord să publicați irevocabil acest fișier la Wikimedia Commons sub licența Creative Commons Atribuire și distribuire în condiții identice 4.0, fiind de acord cu [https://wikimediafoundation.org/wiki/Terms_of_Use Termenii de utilizare].",
+       "foreign-structured-upload-form-3-label-question-website": "Ați descărcat această imagine de pe un site web sau ați preluat-o în urma unei căutări de imagini?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Ați creat această imagine (ați făcut o fotografie, un desen etc.) dumneavoastră?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Conține sau este inspirată de lucrarea altcuiva, cum ar fi un logo?",
+       "foreign-structured-upload-form-3-label-yes": "Da",
+       "foreign-structured-upload-form-3-label-no": "Nu",
+       "foreign-structured-upload-form-3-label-alternative": "Din păcate, în acest caz această unealtă nu permite încărcarea acestui fișier. Încă ați puteți încărca fișierul folosind [https://commons.wikimedia.org/wiki/Special:UploadWizard Expertul de încărcare de la Commons], atât timp cât fișierul este disponibil sub o licență liberă.",
+       "foreign-structured-upload-form-4-label-good": "Utilizând această unealtă, puteți încărca grafice educative și fotografii făcute de dumneavoastră, care nu conțin lucrările deținute de alte persoane.",
+       "foreign-structured-upload-form-4-label-bad": "Nu puteți încărca imagini preluate din motoarele de căutare sau descărcate de pe alte site-uri web.",
        "backend-fail-stream": "Imposibil de citit fișierul $1.",
        "backend-fail-backup": "Imposibil de efectuat o copie de rezervă a fișierului $1.",
        "backend-fail-notexists": "Fișierul $1 nu există.",
        "mostrevisions": "Articole cu cele mai multe revizuiri",
        "prefixindex": "Toate paginile cu prefix",
        "prefixindex-namespace": "Toate paginile cu prefix (spațiul de nume $1)",
+       "prefixindex-submit": "Afișează",
        "prefixindex-strip": "Înlătură prefixul din cadrul listei",
        "shortpages": "Pagini scurte",
        "longpages": "Pagini lungi",
        "protectedpages-performer": "Utilizator care a protejat",
        "protectedpages-params": "Parametri de protejare",
        "protectedpages-reason": "Motiv",
+       "protectedpages-submit": "Afișează paginile",
        "protectedpages-unknown-timestamp": "Necunoscut",
        "protectedpages-unknown-performer": "Utilizator necunoscut",
        "protectedtitles": "Titluri protejate",
        "protectedtitles-summary": "Această pagină enumeră titlurile protejate la creare în acest moment. Pentru o listă a paginilor deja existente care sunt protejate, vedeți [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Nu există titluri protejate cu acești parametri.",
+       "protectedtitles-submit": "Afișează titlurile",
        "listusers": "Listă utilizatori",
        "listusers-editsonly": "Arată doar utilizatorii cu modificări",
        "listusers-creationsort": "Sortează după data creării",
        "usereditcount": "$1 {{PLURAL:$1|editare|editări}}",
        "usercreated": "{{GENDER:$3|Creat}} în $1 la $2",
        "newpages": "Pagini noi",
+       "newpages-submit": "Afișează",
        "newpages-username": "Nume de utilizator:",
        "ancientpages": "Cele mai vechi articole",
        "move": "Redenumire",
        "specialloguserlabel": "Executant:",
        "speciallogtitlelabel": "Destinație (titlu sau {{ns:user}}:numeutilizator pentru utilizator):",
        "log": "Jurnale",
+       "logeventslist-submit": "Afișează",
        "all-logs-page": "Toate jurnalele publice",
        "alllogstext": "Afișare combinată a tuturor jurnalelor {{SITENAME}}.\nPuteți limita vizualizarea selectând tipul jurnalului, numele de utilizator sau pagina afectată.",
        "logempty": "Nici o înregistrare în jurnal.",
        "cachedspecial-viewing-cached-ts": "În acest moment vizualizați o versiune din cache a acestei pagini, versiune care poate fi incomplet actualizată.",
        "cachedspecial-refresh-now": "Ultima versiune.",
        "categories": "Categorii",
+       "categories-submit": "Afișează",
        "categoriespagetext": "{{PLURAL:$1|Următoarea categorie conține|Următoarele categorii conțin}} pagini sau fișiere.\n[[Special:UnusedCategories|Categoriile neutilizate]] nu apar aici.\nVedeți și [[Special:WantedCategories|categoriile dorite]].",
        "categoriesfrom": "Arată categoriile pornind de la:",
        "special-categories-sort-count": "ordonează după număr",
        "activeusers-hidebots": "Ascunde roboții",
        "activeusers-hidesysops": "Ascunde administratorii",
        "activeusers-noresult": "Niciun utilizator găsit.",
+       "activeusers-submit": "Afișează utilizatorii activi",
        "listgrouprights": "Permisiuni grupuri de utilizatori",
        "listgrouprights-summary": "Mai jos se află o listă a grupurilor de utilizatori definite în acest wiki, împreună cu permisiunile de acces asociate.\nPot exista [[{{MediaWiki:Listgrouprights-helppage}}|informații suplimentare]] despre permisiuni individuale.",
        "listgrouprights-key": "Legendă:\n* <span class=\"listgrouprights-granted\">Drept acordat</span>\n* <span class=\"listgrouprights-revoked\">Drept revocat</span>",
        "wlshowlast": "Arată ultimele $1 ore $2 zile",
        "watchlistall2": "toate",
        "watchlist-hide": "Ascunde",
-       "wlshowtime": "Arată ultimele:",
+       "watchlist-submit": "Afișează",
+       "wlshowtime": "Perioada de timp de afișat:",
        "wlshowhideminor": "modificări minore",
        "wlshowhidebots": "roboți",
        "wlshowhideliu": "utilizatori înregistrați",
        "delete-confirm": "Şterge \"$1\"",
        "delete-legend": "Şterge",
        "historywarning": "<strong>Atenție:</strong> istoricul paginii pe care o ștergeți conține $1 {{PLURAL:$1|versiune|versiuni|de versiuni}}:",
+       "historyaction-submit": "Afișează",
        "confirmdeletetext": "Sunteți pe cale să ștergeți permanent o pagină sau imagine din baza de date, împreună cu istoria asociată acesteia. Vă rugăm să confirmați alegerea făcută de dvs., faptul că înțelegeți consecințele acestei acțiuni și faptul că o faceți în conformitate cu [[{{MediaWiki:Policy-url}}|Politica oficială]].",
        "actioncomplete": "Acțiune completă",
        "actionfailed": "Acțiunea a eșuat",
        "whatlinkshere-hidelinks": "$1 legăturile",
        "whatlinkshere-hideimages": "$1 legăturile către fișier",
        "whatlinkshere-filters": "Filtre",
+       "whatlinkshere-submit": "Du-te",
        "autoblockid": "Autoblocare #$1",
        "block": "Blocare utilizator",
        "unblock": "Deblocare utilizator",
        "exif-compression-6": "JPEG (vechi)",
        "exif-copyrighted-true": "Sub incidența drepturilor de autor",
        "exif-copyrighted-false": "Statutul drepturilor de autor nu este definit",
+       "exif-photometricinterpretation-1": "Negru și alb (0 pentru negru)",
        "exif-unknowndate": "Dată necunoscută",
        "exif-orientation-1": "Normală",
        "exif-orientation-2": "Oglindită orizontal",
        "tags-deactivate": "dezactivează",
        "tags-hitcount": "$1 {{PLURAL:$1|modificare|modificări}}",
        "tags-manage-no-permission": "Nu aveți permisiunea de a gestiona schimbarea etichetelor.",
+       "tags-manage-blocked": "Nu puteți administra etichete de modificare în timpul blocării.",
        "tags-create-heading": "Creare etichetă nouă",
        "tags-create-explanation": "În mod implicit, etichetele nou create vor fi disponibile spre utilizarea de către utilizatori și roboți.",
        "tags-create-tag-name": "Numele etichetei:",
        "tags-deactivate-not-allowed": "Nu este posibilă dezactivarea etichetei „$1”.",
        "tags-deactivate-submit": "Dezactivează",
        "tags-apply-no-permission": "Nu aveți permisiunea să aplicați etichete de modificare asociate modificărilor dumneavoastră.",
+       "tags-apply-blocked": "Nu puteți aplica etichete de modificare pentru modificările dumneavoastră în timpul blocării.",
        "tags-apply-not-allowed-one": "Eticheta „$1” nu poate fi aplicată manual.",
        "tags-apply-not-allowed-multi": "{{PLURAL:$2|Următoarea etichetă|Următoarele etichete}} nu {{PLURAL:$2|poate fi aplicată|pot fi aplicate}} manual: $1",
        "tags-update-no-permission": "Nu aveți permisiunea să adăugați și să înlăturați etichete de modificare din versiuni și intrări de jurnal individuale.",
+       "tags-update-blocked": "Nu puteți adăuga sau șterge etichete de modificare în timpul blocării.",
        "tags-update-add-not-allowed-one": "Eticheta „$1” nu poate fi adăugată manual.",
        "tags-update-add-not-allowed-multi": "{{PLURAL:$2|Următoarea etichetă|Următoarele etichete}} nu {{PLURAL:$2|poate fi adăugată|pot fi adăugate}} manual: $1",
        "tags-update-remove-not-allowed-one": "Eticheta „$1” nu poate fi ștearsă.",
index 9f41c88..08ad0bb 100644 (file)
        "databaseerror-query": "Запрос: $1",
        "databaseerror-function": "Функция: $1",
        "databaseerror-error": "Ошибка: $1",
-       "transaction-duration-limit-exceeded": "Для того, чтобы избежать большого лага при репликации, эта транзакция была прервана, поскольку продолжительность записи ($1) превысила лимит в $2 сек.\nЕсли вы изменяете несколько элементов за один раз, постарайтесь вместо этого сделать несколько небольших операций.",
+       "transaction-duration-limit-exceeded": "Для того, чтобы избежать большого лага при репликации, эта транзакция была прервана, поскольку продолжительность записи ($1) превысила лимит в $2 {{PLURAL:$2|секунду|секунд|секунды}}.\nЕсли вы изменяете несколько элементов за один раз, попробуйте вместо этого сделать несколько небольших операций.",
        "laggedslavemode": "Внимание: страница может не содержать последних обновлений.",
        "readonly": "Запись в базу данных заблокирована",
        "enterlockreason": "Укажите причину и намеченный срок блокировки.",
index 84abd2a..82d7624 100644 (file)
        "sessionfailure-title": "සැසි ඇණ හිටීම",
        "sessionfailure": "ඔබගේ ප්‍රවිෂ්ට වීමේ සැසියෙහි කිසියම් ගැටළුකාරී තත්ත්වයක් පැන නැගී ඇත;\nසැසි පරිග්‍රහණයට එරෙහි ආරක්ෂිත පියවරක් ලෙස මෙම ක්‍රියාව අත්හැරදමා ඇත.\n\"පසුපසට\" බොත්තම ක්ලික් කර ඔබ පැමිණි පිටුව යළිපූරණය නොට නැවත උත්සාහ කරන්න.",
        "changecontentmodel-title-label": "පිටු ශීර්ෂය",
+       "changecontentmodel-reason-label": "හේතුව:",
        "logentry-contentmodel-change-revertlink": "ප්‍රතිවර්තනය",
        "logentry-contentmodel-change-revert": "ප්‍රතිවර්තනය",
        "protectlogpage": "ආරක්‍ෂණයන් දැක්වෙන සටහන",
        "whatlinkshere-hidelinks": "සබැඳි $1",
        "whatlinkshere-hideimages": "ගොනු සබැඳි $1",
        "whatlinkshere-filters": "පෙරහන්",
+       "whatlinkshere-submit": "යන්න",
        "autoblockid": "ස්වයංවාරණය #$1",
        "block": "පරිශීලකයා වාරණය කරන්න",
        "unblock": "පරිශීලකයාගේ වාරණය අත්හිටුවන්න",
index 93d77c7..f8629b1 100644 (file)
        "rev-deleted-event": "(činnosť odstránená zo záznamu)",
        "rev-deleted-user-contribs": "[používateľské meno alebo IP adresa odstránená - úprava skrytá pred prispievateľmi]",
        "rev-deleted-text-permission": "Táto revízia stránky bola '''zmazaná'''.\nPodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname mazaní].",
+       "rev-suppressed-text-permission": "Táto revízia stránky bola <strong>potlačená</strong>. Podrobnosti nájdete v [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} zázname potlačení].",
        "rev-deleted-text-unhide": "Táto revízia stránky bola '''zmazaná'''.\nPodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname mazaní].\nAko správca máte stále možnosť [$1 zobraziť túto revíziu] ak chcete.",
        "rev-suppressed-text-unhide": "Táto revízia stránky bola '''potlačená'''.\nPodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} zázname potlačení].\nAko správca máte stále možnosť [$1 zobraziť túto revíziu] ak chcete.",
        "rev-deleted-text-view": "Táto revízia stránky bola '''zmazaná'''.\nAko správca {{GRAMMAR:genitív|{{SITENAME}}}} si ju môžete prezrieť;\npodrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname mazaní].",
        "revdelete-no-file": "Uvedený súbor neexistuje.",
        "revdelete-show-file-confirm": "Ste si istý, že chcete zobraziť zmazanú revíziu súboru „<nowiki>$1</nowiki>“ z $2 $3?",
        "revdelete-show-file-submit": "Áno",
-       "logdelete-selected": "{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:",
+       "revdelete-selected-text": "{{PLURAL:$1|Vybraná revízia|Vybrané revízie}} stránky [[:$2]]:",
+       "revdelete-selected-file": "{{PLURAL:$1|Vybraná verzia|Vybrané verzie}} súboru [[:$2]]:",
+       "logdelete-selected": "{{PLURAL:$1|Vybraná udalosť|Vybrané udalosti}} záznamu:",
+       "revdelete-text-text": "Zmazané úpravy sa budú aj naďalej zobrazovať v histórii stránky, no časti ich obsahu nebudú verejne prístupné.",
+       "revdelete-text-file": "Zmazané verzie súboru sa budú aj naďalej zobrazovať v histórii, no časti ich obsahu nebudú verejne prístupné.",
+       "logdelete-text": "Zmazané položky záznamu sa budú aj naďalej zobrazovať v histórii, no časti ich obsahu nebudú verejne prístupné.",
+       "revdelete-text-others": "Ostatní správcovia budú môcť aj naďalej pristupovať k skrytému obsahu a môžu ho obnoviť, pokiaľ nie sú nastavené dodatočné obmedzenia.",
        "revdelete-confirm": "Prosím, potvrďte, že to naozaj chcete vykonať, rozumiete následkom a že to robíte v súlade s [[{{MediaWiki:Policy-url}}|politikou]].",
        "revdelete-suppress-text": "Zatajenie by sa malo používať '''výlučne''' v nasledovných prípadoch:\n* Potenciálne hanlivé informácie\n* Nevhodné osobné údaje\n*: ''domáce adresy, telefóne čísla, rodné čísla a pod.''",
        "revdelete-legend": "Nastaviť obmedzenia viditeľnosti",
        "mergehistory-go": "Zobraziť zlúčiteľné úpravy",
        "mergehistory-submit": "Zlúčiť revízie",
        "mergehistory-empty": "Žiadne revízie nie je možné zlúčiť.",
-       "mergehistory-done": "$3 {{PLURAL:$3|revízia|revízie|revízií}} z $1 {{PLURAL:$3|bola úspešne zlúčená|boli úspešne zlúčené|bolo úspešne zlúčených}} do [[:$2]].",
+       "mergehistory-done": "$3 {{PLURAL:$3|revízia|revízie|revízií}} stránky $1 {{PLURAL:$3|bola úspešne zlúčená|boli úspešne zlúčené|bolo úspešne zlúčených}} do [[:$2]].",
        "mergehistory-fail": "Nepodarilo sa vykonať zlúčenie histórií. Prosím, skontrolujte parametre stránka a časy.",
+       "mergehistory-fail-toobig": "Nepodarilo sa zlúčiť histórie, pretože by sa presúvalo viac revízií, než je limit ($1).",
        "mergehistory-no-source": "Zdrojová stránka $1 neexistuje.",
        "mergehistory-no-destination": "Cieľová stránka $1 neexistuje.",
        "mergehistory-invalid-source": "Zdrojová stránka musí byť platný názov.",
        "recentchanges-label-plusminus": "Veľkosť stránky sa zmenila o toľkoto bajtov",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (pozri tiež [[Special:NewPages|zoznam nových stránok]])",
+       "recentchanges-submit": "Zobraziť",
        "rcnotefrom": "Nižšie {{PLURAL:$5|je zobrazená úprava|sú zobrazené úpravy}} od <strong>$2</strong> (do <strong>$1</strong>).",
        "rclistfrom": "Zobraziť nové úpravy počnúc od $3 $2",
        "rcshowhideminor": "$1 drobné úpravy",
        "mostrevisions": "Stránky s najväčším počtom úprav",
        "prefixindex": "Všetky stránky s predponou",
        "prefixindex-namespace": "Všetky stránky s predponou (menný priestor $1)",
+       "prefixindex-submit": "Zobraziť",
        "prefixindex-strip": "Zobraziť bez predpony",
        "shortpages": "Krátke stránky",
        "longpages": "Dlhé stránky",
        "protectedpages-performer": "Zamkol",
        "protectedpages-params": "Nastavenie zámku",
        "protectedpages-reason": "Dôvod",
+       "protectedpages-submit": "Zobraziť stránky",
        "protectedpages-unknown-timestamp": "Neznáme",
        "protectedpages-unknown-performer": "Neznámy redaktor",
        "protectedtitles": "Zamknuté názvy",
        "protectedtitles-summary": "Táto stránka obsahuje zoznam názvov, ktoré sú momentálne zamknuté proti vytvoreniu. Zoznam existujúcich zamknutých stránok nájdete na stránke [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Tieto parametre momentálne nezamykajú žiadne názvy stránok.",
+       "protectedtitles-submit": "Zobraziť názvy",
        "listusers": "Zoznam používateľov",
        "listusers-editsonly": "Vynechať používateľov bez úprav",
        "listusers-creationsort": "Zoradiť podľa dátumu vytvorenia",
        "usereditcount": "$1 {{PLURAL:$1|úprava|úpravy|úprav}}",
        "usercreated": "{{GENDER:$3|Registrovaný|Registrovaná|Registrovaný(á)}} $1 $2",
        "newpages": "Nové stránky",
+       "newpages-submit": "Zobraziť",
        "newpages-username": "Meno používateľa:",
        "ancientpages": "Najdávnejšie upravované stránky",
        "move": "Presunúť",
        "specialloguserlabel": "Pôvodca:",
        "speciallogtitlelabel": "Cieľ (názov alebo používateľ):",
        "log": "Záznamy",
+       "logeventslist-submit": "Zobraziť",
        "all-logs-page": "Všetky verejné záznamy",
        "alllogstext": "Kombinované zobrazenie všetkých dostupných záznamov {{GRAMMAR:genitív|{{SITENAME}}}}.\nMôžete zúžiť rozsah, ak zvolíte typ záznamu, používateľské meno alebo dotyčnú stránku (záleží na veľkosti písmen).",
        "logempty": "V zázname neboli nájdené zodpovedajúce položky.",
        "cachedspecial-viewing-cached-ts": "Prezeráte si kópiu stránky z vyrovnávacej pamäte, nemusí byť úplne aktuálna.",
        "cachedspecial-refresh-now": "Zobraziť aktuálnu.",
        "categories": "Kategórie",
+       "categories-submit": "Zobraziť",
        "categoriespagetext": "{{PLURAL:$1|Nasledovná kategória obsahuje|Nasledovné kategórie obsahujú}} stránky alebo multimediálne súbory.\nNie sú tu zobrazené [[Special:UnusedCategories|nepoužité kategórie]].\nPozri aj [[Special:WantedCategories|žiadané kategórie]].",
        "categoriesfrom": "Zobraziť kategórie počnúc:",
        "special-categories-sort-count": "zoradiť podľa počtu",
        "activeusers-hidebots": "Skryť robotov",
        "activeusers-hidesysops": "Skryť správcov",
        "activeusers-noresult": "Neboli nájdení žiadni používatelia.",
+       "activeusers-submit": "Zobraziť aktívnych používateľov",
        "listgrouprights": "Práva skupiny používateľov",
        "listgrouprights-summary": "Toto je zoznam skupín používateľov definovaných na tejto wiki a ich prístupových práv.\nMôžete si prečítať [[{{MediaWiki:Listgrouprights-helppage}}|ďalšie informácie]] o jednotlivých právach.",
        "listgrouprights-key": "* <span class=\"listgrouprights-granted\">Udelené právo</span>\n* <span class=\"listgrouprights-revoked\">Odobrané právo</span>",
        "wlshowlast": "Zobraziť posledných $1 hodín $2 dní",
        "watchlistall2": "všetky",
        "watchlist-hide": "Skryť",
+       "watchlist-submit": "Zobraziť",
        "wlshowtime": "Zobraziť posl.:",
        "wlshowhideminor": "drobné úpravy",
        "wlshowhidebots": "botov",
        "delete-confirm": "Zmazať „$1“",
        "delete-legend": "Zmazať",
        "historywarning": "'''Upozornenie:''' Stránka, ktorú sa chystáte zmazať má históriu obsahujúcu približne $1 {{PLURAL:$1|revíziu|revízie|revízií}}:",
+       "historyaction-submit": "Zobraziť",
        "confirmdeletetext": "Chystáte sa trvalo zmazať z databázy stránku alebo obrázok spolu so všetkými jeho/jej predošlými verziami. Potvrďte, že máte v úmysle tak urobiť, že ste si vedomý následkov, a že to robíte v súlade so [[{{MediaWiki:Policy-url}}|zásadami a smernicami {{GRAMMAR:genitív|{{SITENAME}}}}]].",
        "actioncomplete": "Úloha bola dokončená",
        "actionfailed": "Operácia sa nepodarila",
        "whatlinkshere-hidelinks": "$1 odkazy",
        "whatlinkshere-hideimages": "$1 odkazov na súbor",
        "whatlinkshere-filters": "Filtre",
+       "whatlinkshere-submit": "Zobraziť",
        "autoblockid": "Autoblokovanie #$1",
        "block": "Zablokovať používateľa",
        "unblock": "Odblokovať používateľa",
        "version-entrypoints": "URL vstupných bodov",
        "version-entrypoints-header-entrypoint": "Vstupný bod",
        "version-entrypoints-header-url": "URL",
+       "version-libraries": "Nainštalované knižnice",
+       "version-libraries-library": "Knižnica",
+       "version-libraries-version": "Verzia",
+       "version-libraries-license": "Licencia",
+       "version-libraries-description": "Popis",
+       "version-libraries-authors": "Autori",
        "redirect": "Presmerovanie podľa súboru, používateľa alebo ID revízie",
        "redirect-legend": "Presmerovanie na súbor alebo stránku",
-       "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu súboru), stránku (podľa identifikátora revízie) alebo používateľa (podľa číselného identifikátora používateľa). Použitie: [[{{#Special:Redirect}}/file/Príklad.jpg]], [[{{#Special:Redirect}}/revision/328429]], resp. [[{{#Special:Redirect}}/user/101]].",
+       "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu), stránku (podľa ID stránky alebo revízie) alebo používateľa (podľa číselného ID). Použitie: [[{{#Special:Redirect}}/file/Test.jpg]], [[{{#Special:Redirect}}/revision/328429]], resp. [[{{#Special:Redirect}}/user/101]].",
        "redirect-submit": "Ísť",
        "redirect-lookup": "Vyhľadať:",
        "redirect-value": "Hodnota:",
        "fileduplicatesearch-noresults": "Súbor s názvom „$1“ nebol nájdený.",
        "specialpages": "Špeciálne stránky",
        "specialpages-note-top": "Legenda",
-       "specialpages-note": "* Bežné špeciálne stránky.\n* <strong class=\"mw-specialpagerestricted\">Špeciálne stránky s obmedzeným prístupom.</strong>\n* <span class=\"mw-specialpagecached\">Špeciálne stránky vo vyrovnávacej pamäti (môže byť neaktuálne).</span>",
+       "specialpages-note": "* Bežné špeciálne stránky.\n* <strong class=\"mw-specialpagerestricted\">Špeciálne stránky s obmedzeným prístupom.</strong>",
        "specialpages-group-maintenance": "Údržbové správy",
        "specialpages-group-other": "Iné špeciálne stránky",
        "specialpages-group-login": "Prihlásenie / registrácia",
index 691e300..800e28f 100644 (file)
        "databaseerror-query": "Poizvedba: $1",
        "databaseerror-function": "Funkcija: $1",
        "databaseerror-error": "Napaka: $1",
-       "transaction-duration-limit-exceeded": "V izogib ustvarjanju visokega zamika replikacije smo transakcijo prekinili, saj je trajanje zapisovanja ($1) preseglo omejitev $2 sekund.\nČe naenkrat spreminjate več predmetov, poskusite izvesti več manjših operacij.",
+       "transaction-duration-limit-exceeded": "V izogib ustvarjanju visokega zamika replikacije smo transakcijo prekinili, saj je trajanje zapisovanja ($1) preseglo omejitev $2 {{PLURAL:$2|sekunda|sekundi|sekunde|sekund}}.\nČe naenkrat spreminjate več predmetov, poskusite izvesti več manjših operacij.",
        "laggedslavemode": "'''Opozorilo:''' Stran morda ne vsebuje najnovejših posodobitev.",
        "readonly": "Zbirka podatkov je zaklenjena",
        "enterlockreason": "Vnesite razlog za zaklenitev in oceno, kdaj bo urejanje spet mogoče",
        "foreign-structured-upload-form-label-own-work-message-shared": "Izjavljam, da sem lastnik avtorskih pravic te datoteke, strinjam se z nepreklicno objavo datoteke v Wikimedijini Zbirki pod dovoljenjem [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 4.0] in strinjam se s [https://wikimediafoundation.org/wiki/Terms_of_Use Pogoji uporabe].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Če niste lastnik avtorskih pravic datoteke ali jo želite objaviti pod drugačnim dovoljenje, uporabite [https://commons.wikimedia.org/wiki/Special:UploadWizard Čarovnik za nalaganje v Zbirko].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Morda želite datoteko poskusiti naložiti na [[Special:Upload|strani za nalaganje na {{SITENAME}}]], če stran dovoljuje nalaganje datoteke pod njihovimi pravili.",
+       "foreign-structured-upload-form-2-label-intro": "Zahvaljujemo se vam za prispevanje slike za uporabo na strani {{SITENAME}}. Nadaljujte samo, če slika ustreza naslednjim pogojem:",
+       "foreign-structured-upload-form-2-label-ownwork": "V celoti mora biti <strong>vaše lastn delo</strong>, ne vzeto z interneta",
+       "foreign-structured-upload-form-2-label-noderiv": "Vsebovati <strong>ne sme delo kogar koli drugega</strong> ali biti navdahnjeno z njihove strani",
+       "foreign-structured-upload-form-2-label-useful": "Mora biti <strong>izobraževalno in uporabno</strong> za učenje drugih",
+       "foreign-structured-upload-form-2-label-ccbysa": "Mora biti <strong>primerno za večno objavo</strong> na internetu pod pogoji dovoljenja [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Če kaj od zgoraj navedenega ni res, lahko datoteko vseeno naložite z uporabo [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Čarovnika za nalaganje], dokler je na voljo pod prostim dovoljenjem.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Z nalaganjem datoteke potrjujete, da si lastite avtorske pravice datoteke, da se strinjate z nepreklicno izdajo datoteke v Wikimediino Zbirko pod pogoji dovoljenja Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 4.0 in da se strinjate s [https://wikimediafoundation.org/wiki/Terms_of_Use Pogoji uporabe].",
+       "foreign-structured-upload-form-3-label-question-website": "Ste sliko prenesli s spletne strani ali jo našli na iskalniku slik?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Ste sliko ustvarili (fotografirali, narisali itn.) sami?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Vsebuje (ali pa je bilo navdihnjeno) delo nekoga drugega, npr. logotip?",
        "foreign-structured-upload-form-3-label-yes": "Da",
        "foreign-structured-upload-form-3-label-no": "Ne",
+       "foreign-structured-upload-form-3-label-alternative": "Žal, v tem primeru orodje ne podpira nalaganja te datoteke. Vseeno jo lahko naložite z uporabo [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Čarovnika za nalaganje], dokler je na voljo pod prostim dovoljenjem.",
+       "foreign-structured-upload-form-4-label-good": "Z uporabo orodja lahko naložite izobraževalne grafike in fotografije, ki ste jih ustvarili ali posneli in ki ne vsebujejo dela v lasti nekoga drugega.",
+       "foreign-structured-upload-form-4-label-bad": "Slik, ki ste jih našli na spletnem iskalniku ali prenesli z drugih spletnih strani, ne morete naložiti.",
        "backend-fail-stream": "Ne morem pretakati datoteke $1.",
        "backend-fail-backup": "Ne morem varnostno kopirati datoteke $1.",
        "backend-fail-notexists": "Datoteka $1 ne obstaja.",
        "tags-deactivate": "dezaktiviraj",
        "tags-hitcount": "$1 {{PLURAL:$1|sprememba|spremembi|spremembe|sprememb|sprememb}}",
        "tags-manage-no-permission": "Nimate dovoljenja za upravljanje z oznakami sprememb.",
+       "tags-manage-blocked": "Med blokado ne morete upravljati oznak sprememb.",
        "tags-create-heading": "Ustvari novo oznako",
        "tags-create-explanation": "Privzeto bodo novo ustvarjene oznake na voljo uporabnikom in botom.",
        "tags-create-tag-name": "Ime oznake:",
        "tags-deactivate-not-allowed": "Oznake »$1« ni možno dezaktivirati.",
        "tags-deactivate-submit": "Dezaktiviraj",
        "tags-apply-no-permission": "Nimate dovoljenja za uveljavljanje sprememb oznak skupaj z vašimi spremembami.",
+       "tags-apply-blocked": "Med blokado ne morete uveljaviti oznak sprememb skupaj s svojimi spremembami.",
        "tags-apply-not-allowed-one": "Oznake »$1« ni mogoče uveljaviti ročno.",
        "tags-apply-not-allowed-multi": "{{PLURAL:$2|Naslednje oznake|Naslednji oznaki|Naslednjih oznak}} ni mogoče ročno uveljaviti: $1",
        "tags-update-no-permission": "Nimate dovoljenja za dodajanje ali odstranjevanje oznak na posameznih redakcijah ali dnevniških vnosih.",
+       "tags-update-blocked": "Med blokado ne morete dodati ali odstraniti oznak sprememb.",
        "tags-update-add-not-allowed-one": "Oznake »$1« ni mogoče dodati ročno.",
        "tags-update-add-not-allowed-multi": "{{PLURAL:$2|Naslednje oznake|Naslednji oznaki|Naslednjih oznak}} ni mogoče dodati ročno: $1",
        "tags-update-remove-not-allowed-one": "Oznake »$1« ni mogoče odstraniti.",
index 929c885..8b56052 100644 (file)
        "laggedslavemode": "<strong>Упозорење:</strong> страница је можда застарела.",
        "readonly": "База података је закључана",
        "enterlockreason": "Унесите разлог за закључавање, укључујући и време откључавања",
-       "readonlytext": "Ð\91аза Ð¿Ð¾Ð´Ð°Ñ\82ака Ñ\98е Ñ\82Ñ\80енÑ\83Ñ\82но Ð·Ð°ÐºÑ\99Ñ\83Ñ\87ана, Ñ\88Ñ\82о Ð·Ð½Ð°Ñ\87и Ð´Ð° Ñ\98е Ð½Ð¸Ñ\98е Ð¼Ð¾Ð³Ñ\83Ñ\9bе Ð¼ÐµÑ\9aаÑ\82и.\n\nРазлог: $1",
+       "readonlytext": "Ð\91аза Ð¿Ð¾Ð´Ð°Ñ\82ака Ñ\98е Ñ\82Ñ\80енÑ\83Ñ\82но Ð·Ð°ÐºÑ\99Ñ\83Ñ\87ана, Ñ\88Ñ\82о Ð·Ð½Ð°Ñ\87и Ð´Ð° Ñ\98е Ð½Ð¸Ñ\98е Ð¼Ð¾Ð³Ñ\83Ñ\9bе Ð¼ÐµÑ\9aаÑ\82и.\n\nСиÑ\81Ñ\82емÑ\81ки Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80 Ñ\98е Ð½Ð°Ð²ÐµÐ¾ Ñ\81ледеÑ\9bе Ð¾Ð±Ñ\98аÑ\88Ñ\9aеÑ\9aе: $1",
        "missing-article": "Текст странице под називом „$1“ ($2) није пронађен.\n\nУзрок ове грешке је обично застарела измена или веза до обрисане странице.\n\nАко се не ради о томе, онда сте вероватно пронашли грешку у софтверу.\nПријавите је [[Special:ListUsers/sysop|администратору]] уз одговарајућу везу.",
        "missingarticle-rev": "(измена#: $1)",
        "missingarticle-diff": "(разлика: $1, $2)",
        "mypreferencesprotected": "Немате дозволу за мењање ваших подешавања.",
        "ns-specialprotected": "Посебне странице се не могу уређивати.",
        "titleprotected": "Овај назив је [[User:$1|$1]] заштитио од прављења. Разлог: ''$2''.",
-       "filereadonlyerror": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð¼ Ð´Ð°Ñ\82оÑ\82екÑ\83 â\80\9e$1â\80\9c Ñ\98еÑ\80 Ñ\98е Ñ\80изниÑ\86а â\80\9e$2â\80\9c Ñ\83 Ñ\80ежимÑ\83 Ð·Ð° Ñ\87иÑ\82аÑ\9aе.\n\nÐ\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80 ÐºÐ¾Ñ\98и Ñ\98Ñ\83 Ñ\98е Ð·Ð°ÐºÑ\99Ñ\83Ñ\87ао Ð¿Ð¾Ð½Ñ\83дио Ñ\98е следеће објашњење: „$3“.",
+       "filereadonlyerror": "Ð\9dе Ð¼Ð¾Ð³Ñ\83 Ð´Ð° Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð¼ Ð´Ð°Ñ\82оÑ\82екÑ\83 â\80\9e$1â\80\9c Ñ\98еÑ\80 Ñ\98е Ñ\80изниÑ\86а â\80\9e$2â\80\9c Ñ\83 Ñ\80ежимÑ\83 Ð·Ð° Ñ\87иÑ\82аÑ\9aе.\n\nСиÑ\81Ñ\82емÑ\81ки Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80 Ñ\98е Ð½Ð°Ð²ÐµÐ¾ следеће објашњење: „$3“.",
        "invalidtitle-knownnamespace": "Неисправан наслов с именским простором „$2“ и текстом „$3“",
        "invalidtitle-unknownnamespace": "Неисправан наслов с именским простором бр. $1 и текстом „$2“",
        "exception-nologin": "Нисте пријављени",
        "copyrightwarning2": "Имајте на уму да се сви доприноси на овом викију могу мењати, враћати или брисати од других корисника.\nАко не желите да се ваши текстови слободно мењају и расподељују, не шаљите их овде.<br />\nИсто тако обећавате да сте ви аутор текста, или да сте га умножили с извора који је у јавном власништву (више на $1).\n'''Не шаљите радове заштићене ауторским правима без дозволе!'''",
        "editpage-cannot-use-custom-model": "Модел садржаја ове странице се не може променити.",
        "longpageerror": "'''Грешка: текст који сте унели је величине {{PLURAL:$1|један килобајт|$1 килобајта|$1 килобајта}}, што је веће од {{PLURAL:$2|дозвољеног једног килобајта|дозвољена $2 килобајта|дозвољених $2 килобајта}}.'''\nСтраница не може бити сачувана.",
-       "readonlywarning": "'''Упозорење: база података је закључана ради одржавања, тако да тренутно нећете моћи да сачувате измене.'''\nМожда бисте желели сачувати текст за касније у некој текстуалној датотеци.\n\nАдминистратор који је закључао базу дао је следеће објашњење: $1",
+       "readonlywarning": "<strong>Упозорење: база података је закључана ради одржавања, тако да тренутно нећете моћи да сачувате измене.</strong>\nМожда бисте желели сачувати текст за касније у некој текстуалној датотеци.\n\nСистемски администратор је навео следеће објашњење: $1",
        "protectedpagewarning": "<strong>Упозорење: ова страница је заштићена, тако да само администратори могу да је мењају.</strong>\nПоследњи запис у дневнику је приказан испод:",
        "semiprotectedpagewarning": "'''Напомена:''' ова страница је заштићена, тако да само регистровани корисници могу да је уређују.\nПоследњи запис у дневнику је приказан испод:",
        "cascadeprotectedwarning": "<strong>Упозорење:</strong> ова страница је заштићена тако да је могу уређивати само администратори, јер је она укључена у {{PLURAL:$1|следећу страницу која је|следеће странице које су}} заштићене „преносивом“ заштитом:",
index e5ddf98..bf26a92 100644 (file)
@@ -56,6 +56,7 @@
        "tog-watchlisthidebots": "ซ่อนการแก้ไขของบอตจากรายการเฝ้าดู",
        "tog-watchlisthideminor": "ซ่อนการแก้ไขเล็กน้อยจากรายการเฝ้าดู",
        "tog-watchlisthideliu": "ซ่อนการแก้ไขโดยผู้ใช้ล็อกอินจากรายการเฝ้าดู",
+       "tog-watchlistreloadautomatically": "โหลดรายการเฝ้าดูใหม่อัตโนมัติเมื่อใดที่มีการเปลี่ยนตัวกรอง (ต้องการจาวาสคริปต์)",
        "tog-watchlisthideanons": "ซ่อนการแก้ไขโดยผู้ใช้นิรนามจากรายการเฝ้าดู",
        "tog-watchlisthidepatrolled": "ซ่อนการแก้ไขที่ตรวจสอบแล้วจากรายการเฝ้าดู",
        "tog-ccmeonemails": "ส่งสำเนาอีเมลที่ฉันส่งหาผู้อื่นให้ฉัน",
        "morenotlisted": "รายการนี้ไม่สมบูรณ์",
        "mypage": "หน้า",
        "mytalk": "พูดคุย",
-       "anontalk": "พูดคุยกับเลขที่อยู่ไอพีนี้",
+       "anontalk": "พูดคุย",
        "navigation": "การนำทาง",
        "and": "&#32;และ",
        "qbfind": "ค้นหา",
        "viewsource": "ดูโค้ด",
        "viewsource-title": "ดูโค้ดสำหรับ $1",
        "actionthrottled": "ปฏิบัติการถูกจำกัด",
-       "actionthrottledtext": "à¹\80à¸\9eืà¹\88อà¹\80à¸\9bà¹\87à¸\99มาà¸\95รà¸\81ารà¸\9bà¹\89อà¸\87à¸\81ัà¸\99สà¹\81à¸\9bม à¸\84ุà¸\93à¸\88ึà¸\87à¸\96ูà¸\81à¸\88ำà¸\81ัà¸\94มิà¹\83หà¹\89à¸\81ระà¸\97ำสิà¹\88à¸\87à¸\99ีà¹\89à¹\84มà¹\88à¹\83ห้ติดต่อกันหลายครั้งเกินไปในช่วงระยะเวลาสั้น ๆ ซึ่งขณะนี้คุณเลยขีดจำกัดนี้แล้ว \nกรุณารอสักครู่แล้วลองอีกครั้ง",
+       "actionthrottledtext": "à¹\80à¸\9eืà¹\88อà¹\80à¸\9bà¹\87à¸\99มาà¸\95รà¸\81ารà¸\9bà¹\89อà¸\87à¸\81ัà¸\99à¸\81ารละà¹\80มิà¸\94 à¸\84ุà¸\93à¸\88ึà¸\87à¸\96ูà¸\81à¸\88ำà¸\81ัà¸\94มิà¹\83หà¹\89à¸\81ระà¸\97ำสิà¹\88à¸\87à¸\99ี้ติดต่อกันหลายครั้งเกินไปในช่วงระยะเวลาสั้น ๆ ซึ่งขณะนี้คุณเลยขีดจำกัดนี้แล้ว \nกรุณารอสักครู่แล้วลองอีกครั้ง",
        "protectedpagetext": "หน้านี้ถูกล็อกเพื่อป้องกันการแก้ไขหรือปฏิบัติการอื่น",
        "viewsourcetext": "คุณสามารถดูและคัดลอกโค้ดของหน้านี้",
        "viewyourtext": "คุณสามารถดูและคัดลอกต้นฉบับ<strong>การแก้ไขของคุณ</strong>มาหน้านี้ได้",
        "wrongpasswordempty": "รหัสผ่านที่กรอกว่าง\nโปรดลองอีกครั้ง",
        "passwordtooshort": "รหัสผ่านต้องมีอย่างน้อย $1 อักขระ",
        "passwordtoolong": "รหัสผ่านยาวกว่า $1 อักขระไม่ได้",
+       "passwordtoopopular": "ใช้รหัสผ่านที่มีผู้เลือกทั่วไปไม่ได้ กรุณาเลือกรหัสผ่านที่มีผู้ใช้น้อยกว่านี้",
        "password-name-match": "รหัสผ่านต้องต่างจากชื่อผู้ใช้",
        "password-login-forbidden": "ห้ามใช้ชื่อผู้ใช้และรหัสผ่านนี้",
        "mailmypassword": "ตั้งรหัสผ่านใหม่",
        "passwordreset-emailtext-ip": "บางคน (ซึ่งอาจเป็นคุณ จากเลขที่อยู่ไอพี $1) ขอตั้งรหัสผ่านของคุณใหม่บน{{SITENAME}} ($4) บัญชีผู้ใช้ดังกล่าวเกี่ยวข้องกับที่อยู่อีเมลนี้:\n\n$2\n\n{{PLURAL:$3|รหัสผ่านชั่วคราวนี้|รหัสผ่านชั่วคราวเหล่านี้}}จะหมดอายุใน $5 วัน\nตอนนี้คุณควรล็อกอินและเลือกรหัสผ่านใหม่ หากบุคคลอื่นขอตั้งรหัสผ่านใหม่นี้ หรือคุณจำรหัสผ่านเดิมของคุณได้แล้ว และคุณไม่ต้องการเปลี่ยนรหัสผ่านอีก คุณอาจละเลยข้อความนี้และใช้รหัสผ่านเดิมของคุณต่อไป",
        "passwordreset-emailtext-user": "ผู้ใช้ $1 บน {{SITENAME}} ขอตั้งรหัสผ่านของคุณใหม่สำหรับ {{SITENAME}} ($4) {{PLURAL:$3||}}บัญชีผู้ใช้ดังกล่าวเกี่ยวข้องกับที่อยู่อีเมลนี้:\n\n$2\n\n{{PLURAL:$3|รหัสผ่านชั่วคราวนี้|รหัสผ่านชั่วคราวเหล่านี้}}จะหมดอายุใน $5 วัน\nตอนนี้คุณควรล็อกอินและเลือกรหัสผ่านใหม่ หากบุคคลอื่นขอตั้งรหัสผ่านใหม่นี้ หรือคุณจำรหัสผ่านเดิมของคุณได้แล้ว และคุณไม่ต้องการเปลี่ยนรหัสผ่านอีก คุณอาจละเลยข้อความนี้และใช้รหัสผ่านเดิมของคุณต่อไป",
        "passwordreset-emailelement": "ชื่อผู้ใช้: \n$1\n\nรหัสผ่านชั่วคราว: \n$2",
-       "passwordreset-emailsent": "อีเมลตั้งรหัสผ่านใหม่ถูกส่งไปแล้ว",
+       "passwordreset-emailsentemail": "หากนี่คอที่อยู่อีเมลที่ลงทะเบียนสำหรับบัญชีของคุณ เช่นนั้นจะส่งอีเมลตั้งรหัสผ่านใหม่",
+       "passwordreset-emailsentusername": "หากนี่คือที่อยู่อีเมลที่ลงทะเบียนไว้ด้วยกัน เช่นนั้นจะส่งอีเมลตั้งรหัสผ่านใหม่",
        "passwordreset-emailsent-capture": "อีเมลตั้งรหัสผ่านใหม่ถูกส่งไปแล้ว ซึ่งแสดงด้านล่าง",
        "passwordreset-emailerror-capture": "อีเมลตั้งรหัสผ่านใหม่ถูกสร้างขึ้นแล้ว ซึ่งแสดงด้านล่าง แต่ไม่สามารถส่งไปยัง{{GENDER:$2|ผู้ใช้}}: $1",
        "changeemail": "เปลี่ยนหรือลบที่อยู่อีเมล",
-       "changeemail-header": "เปลี่ยนที่อยู่อีเมลของบัญชี",
+       "changeemail-header": "กรอกแบบนี้เพื่อเปลี่ยนที่อยู่อีเมลของคุณ หากคุณต้องการลบการเชื่อมโยงของที่อยู่อีเมลใด ๆ จากบัญชีของคุณ ให้เว้นที่อยู่อีเมลใหม่ว่างเมื่อส่งแบบ",
+       "changeemail-passwordrequired": "คุณจะต้องกรอกรหัสผ่านใหม่เพื่อยืนยันการเปลี่ยนแปลงนี้",
        "changeemail-no-info": "คุณจำต้องล็อกอินเพื่อเข้าถึงหน้านี้โดยตรง",
        "changeemail-oldemail": "ที่อยู่อีเมลปัจจุบัน:",
        "changeemail-newemail": "ที่อยู่อีเมลใหม่:",
        "prefs-help-prefershttps": "การตั้งค่านี้จะมีผลเมื่อคุณล็อกอินครั้งถัดไป",
        "prefswarning-warning": "คุณเปลี่ยนแปลงการตั้งค่าของคุณที่ยังไม่ได้บันทึก\nหากคุณออกจากหน้านี้โดยไม่คลิก \"$1\" จะไม่ปรับการตั้งค่าของคุณ",
        "prefs-tabs-navigation-hint": "แนะนำ: คุณสามารถใช้แป้นลูกศรซ้ายและขวาเพื่อนำทางระหว่างแถบในรายการแถบได้",
-       "email-address-validity-valid": "ที่อยู่อีเมลดูถูกต้อง",
-       "email-address-validity-invalid": "ป้อนที่อยู่อีเมลที่ถูกต้อง",
        "userrights": "การบริหารสิทธิผู้ใช้",
        "userrights-lookup-user": "บริหารกลุ่มผู้ใช้",
        "userrights-user-editname": "ใส่ชื่อผู้ใช้:",
        "recentchanges-label-plusminus": "ขนาดของหน้าเปลี่ยนไปจำนวนไบต์เท่านี้",
        "recentchanges-legend-heading": "'''คำอธิบายสัญลักษณ์:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ดูเพิ่มที่ [[Special:NewPages|รายชื่อหน้าใหม่]])",
+       "recentchanges-submit": "แสดง",
        "rcnotefrom": "ด้านล่างเป็นการเปลี่ยนแปลงตั้งแต่ <strong>$3, $4</strong> (แสดงมากสุด <strong>$1</strong>)",
        "rclistfrom": "แสดงการเปลี่ยนแปลงใหม่เริ่มตั้งแต่ $2, $3",
        "rcshowhideminor": "$1การแก้ไขเล็กน้อย",
        "protectedpages-performer": "ผู้ใช้ที่ล็อก",
        "protectedpages-params": "พารามิเตอร์การล็อก",
        "protectedpages-reason": "เหตุผล",
+       "protectedpages-submit": "แสดงหน้า",
        "protectedpages-unknown-timestamp": "ไม่ทราบ",
        "protectedpages-unknown-performer": "ไม่ทราบผู้ใช้",
        "protectedtitles": "ชื่อเรื่องที่ถูกป้องกัน",
        "protectedtitles-summary": "หน้านี้แสดงรายการชื่อที่ปัจจุบันถูกป้องกันมิให้สร้าง สำหรับรายการหน้าที่มีอยู่ที่ถูกล็อก ดู [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]",
        "protectedtitlesempty": "ปัจจุบันไม่มีหัวเรื่องที่ได้รับการป้องกันด้วยพารามิเตอร์เหล่านี้",
+       "protectedtitles-submit": "แสดงชื่อเรื่อง",
        "listusers": "รายการผู้ใช้",
        "listusers-editsonly": "แสดงเฉพาะผู้ใช้ที่มีการแก้ไข",
        "listusers-creationsort": "เรียงตามวันสร้าง",
        "usereditcount": "$1 การแก้ไข",
        "usercreated": "{{GENDER:$3|ถูกสร้าง}}เมื่อ $1 เวลา $2",
        "newpages": "หน้าใหม่",
+       "newpages-submit": "แสดง",
        "newpages-username": "ชื่อผู้ใช้:",
        "ancientpages": "หน้าเก่าสุด",
        "move": "เปลี่ยนชื่อ",
        "specialloguserlabel": "ผู้ดำเนินการ:",
        "speciallogtitlelabel": "เป้าหมาย (ชื่อเรื่องหรือ {{ns:user}}:ชื่อผู้ใช้ สำหรับผู้ใช้):",
        "log": "ปูม",
+       "logeventslist-submit": "แสดง",
        "all-logs-page": "ปูมสาธารณะทั้งหมด",
        "alllogstext": "การแสดงผลรวมปูมที่มีทั้งหมดของ {{SITENAME}}\nคุณสามารถค้นหาให้ละเอียดขึ้นโดยเลือกประเภทปูม ชื่อผู้ใช้หรือหน้าที่ต้องการ (ไวต่ออักษรใหญ่เล็ก)",
        "logempty": "ไม่พบรายการตรงกันในปูม",
        "log-title-wildcard": "ค้นหาชื่อเรื่องซึ่งขึ้นต้นด้วยข้อความนี้",
        "showhideselectedlogentries": "เปลี่ยนทัศนวิสัยของหน่วยปูมที่เลือก",
+       "log-edit-tags": "ป้ายระบุการแก้ไขของรายการปูมที่เลือก",
        "allpages": "หน้าทั้งหมด",
        "nextpage": "หน้าถัดไป ($1)",
        "prevpage": "หน้าก่อนหน้า ($1)",
        "cachedspecial-viewing-cached-ts": "คุณกำลังดูรุ่นที่เก็บหน่วยความจำแคชของหน้านี้ ซึ่งอาจไม่เป็นจริงทั้งหมด",
        "cachedspecial-refresh-now": "ดูล่าสุด",
        "categories": "หมวดหมู่",
+       "categories-submit": "แสดง",
        "categoriespagetext": "{{PLURAL:$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>",
        "trackingcategories-desc": "เกณฑ์การรวมหมวดหมู่",
        "noindex-category-desc": "โรบอตไม่สามารถทำดัชนีหน้านี้เพราะมีเมจิกเวิร์ด <code><nowiki>__NOINDEX__</nowiki></code> อยู่และอยู่ในเนมสเปซซึ่งอนุญาตตัวบ่งชี้นี้",
        "index-category-desc": "หน้านี้มี <code><nowiki>__INDEX__</nowiki></code> อยู่ (และอยู่ในเนมสเปซซึ่งอนุญาตตัวบ่งชี้นี้) ฉะนั้น โรบอตจึงทำดัชนี้ได้ ซึ่งปกติไม่สามารถทำได้",
+       "broken-file-category-desc": "หน้ามีลิงก์ไฟล์เสีย (ลิงก์เพื่อฝังตัวไฟล์เมื่อไม่มีไฟล์)",
        "hidden-category-category-desc": "หมวดหมู่นี้มี <code><nowiki>__HIDDENCAT__</nowiki></code> ในเนื้อหาหน้า ซึ่งป้องกันมิให้แสดงในกล่องลิงก์หมวดหมู่ในหน้าโดยปริยาย",
        "trackingcategories-nodesc": "ไม่มีคำอธิบาย",
        "trackingcategories-disabled": "ปิดใช้งานหมวดหมู่",
        "wlshowlast": "แสดง $1 ชั่วโมง $2 วันล่าสุด",
        "watchlistall2": "ทั้งหมด",
        "watchlist-hide": "ซ่อน",
-       "wlshowtime": "แสดงล่าสุด:",
+       "watchlist-submit": "แสดง",
+       "wlshowtime": "ระยะเวลาที่แสดง:",
        "wlshowhideminor": "การแก้ไขเล็กน้อย",
        "wlshowhidebots": "บอต",
        "wlshowhideliu": "ผู้ใช้ลงทะเบียน",
        "delete-confirm": "ลบ \"$1\"",
        "delete-legend": "ลบ",
        "historywarning": "<strong>คำเตือน:</strong> หน้าที่คุณกำลังลบมีประวัติ $1 {{PLURAL:$1|รุ่น}}:",
+       "historyaction-submit": "แสดง",
        "confirmdeletetext": "คุณกำลังลบหน้า รวมทั้งประวัติทั้งหมดของหน้า\nกรุณายืนยันว่าคุณเจตนา เข้าใจผลกระทบ และการกระทำนี้สอดคล้องกับ[[{{MediaWiki:Policy-url}}|นโยบาย]]",
        "actioncomplete": "ปฏิบัติการสำเร็จ",
        "actionfailed": "ปฏิบัติการล้มเหลว",
        "contributions": "เรื่องที่{{GENDER:$1|ผู้ใช้}}นี้เขียน",
        "contributions-title": "เรื่องที่เขียนโดย $1",
        "mycontris": "เรื่องที่เขียน",
+       "anoncontribs": "เรื่องที่เขียน",
        "contribsub2": "สำหรับ {{GENDER:$3|$1}} ($2)",
        "contributions-userdoesnotexist": "บัญชีผู้ใช้ \"$1\" ยังไม่ได้ลงทะเบียน",
        "nocontribs": "ไม่พบการเปลี่ยนแปลงตรงกับเงื่อนไขเหล่านี้",
        "patrol-log-page": "ปูมการตรวจสอบ",
        "patrol-log-header": "หน้านี้คือปูมรุ่นการแก้ไขที่กำหนดว่าตรวจสอบแล้ว",
        "log-show-hide-patrol": "$1 ปูมการตรวจสอบ",
+       "log-show-hide-tag": "$1ปูมป้ายระบุ",
        "deletedrevision": "รุ่นเก่าที่ถูกลบ $1",
        "filedeleteerror-short": "มีข้อผิดพลาดการลบไฟล์: $1",
        "filedeleteerror-long": "เกิดข้อผิดพลาดขณะลบไฟล์:\n\n$1",
        "svg-long-error": "ไฟล์ SVG ไม่ถูกต้อง: $1",
        "show-big-image": "ไฟล์ต้นฉบับ",
        "show-big-image-preview": "ขนาดของตัวอย่างนี้: $1",
+       "show-big-image-preview-differ": "ขนาดขงตัวอย่าง $3 นี้ของไฟล์ $2 นี้: $1",
        "show-big-image-other": "{{PLURAL:$2|ความละเอียด|ความละเอียด}}อื่น: $1",
        "show-big-image-size": "$1 × $2 พิกเซล",
        "file-info-gif-looped": "วนซ้ำ",
        "imgmultipagenext": "หน้าถัดไป →",
        "imgmultigo": "ไป!",
        "imgmultigoto": "ไปหน้า $1",
+       "img-lang-default": "(ภาษาโดยปริยาย)",
+       "img-lang-info": "เรนเดอร์ภาพนี้ใน $1 $2",
+       "img-lang-go": "ไป",
        "ascending_abbrev": "ลำดับขึ้น",
        "descending_abbrev": "ลำดับลง",
        "table_pager_next": "หน้าถัดไป",
        "logentry-upload-upload": "$1 อัปโหลด $3",
        "logentry-upload-overwrite": "$1 อัปโหลดรุ่นใหม่ของ $3",
        "logentry-upload-revert": "$1 อัปโหลด $3",
+       "log-name-tag": "ปูมป้ายระบุ",
+       "log-description-tag": "หน้านี้แสดงเมื่อผู้ใช้เพิ่มหรือลบ[[Special:Tags|ป้ายระบุ]]จากรุ่นแก้ไขหรือรายการปูมอันใดอันหนึ่ง ปูมนี้ไม่แสดงรายการการกระทำติดป้ายระบุเมื่อเกิดเป็นส่้วนหนึ่งของการแก้ไข การลบหรือการกระทำที่คล้ายกัน",
        "rightsnone": "(ไม่มี)",
        "revdelete-summary": "คำอธิบายโดยย่อ",
        "feedback-adding": "เพิ่มคำติชมเข้าไปที่หน้า...",
index b4b2714..f1b0541 100644 (file)
        "permissionserrors": "Помилка доступу",
        "permissionserrorstext": "У вас нема прав на виконання цієї операції з {{PLURAL:$1|1=наступної причини|наступних причин}}:",
        "permissionserrorstext-withaction": "У вас нема дозволу на $2 з {{PLURAL:$1|1=такої причини|таких причин}}:",
-       "contentmodelediterror": "Ви не можете редагувати це доопрацювання, оскільки його зміст моделі становить <code>$1</code>, і в поточній моделі вмісту сторінки становить <code>$2</code>.",
+       "contentmodelediterror": "Ви не можете редагувати цю версію, оскільки модель його змісту —  <code>$1</code>, відрізняється від теперішньої моделі змісту сторінки — <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Попередження: ви намагаєтеся створити сторінку, яка раніше вже була вилучена.'''\n\nПеревірте, чи справді вам справді потрібно створювати цю сторінку.\nНижче, для зручності, наведений журнал вилучень і перейменувань:",
        "moveddeleted-notice": "Ця сторінка була вилучена.\nДля довідки нижче наведені відповідні записи з журналів вилучень і перейменувань.",
        "moveddeleted-notice-recent": "На жаль, ця сторінка нещодавно була вилучена (протягом останніх 24 годин). Для довідки нижче наведені відповідні записи з журналів вилучень і перейменувань.",
        "recentchanges-legend-heading": "'''Легенда:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (див. також [[Special:NewPages|список нових сторінок]])",
        "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-submit": "Показати",
        "rcnotefrom": "Нижче знаходяться {{PLURAL:$5|редагування}} з <strong>$3, $4</strong> (відображено до <strong>$1</strong>).",
        "rclistfrom": "Показати редагування починаючи з $3 $2.",
        "rcshowhideminor": "$1 незначні редагування",
        "foreign-structured-upload-form-label-own-work-message-shared": "Я підтверджую, що я є власником авторських прав на цей файл та погоджуюся беззастережно поширити його у Вікісховищі на умовах ліцензії [https://creativecommons.org/licenses/by-sa/4.0/deed.uk Creative CommonsAttribution-ShareAlike 4.0], і я згоден з [https://wikimediafoundation.org/wiki/Terms_of_Use умовами використання].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Якщо ви не є власником авторських прав на цей файл або ви хочете розповсюджувати його на умовах іншої ліцензії, рекомендуємо використати [https://commons.wikimedia.org/wiki/Special:UploadWizard Майстер завантажень на Вікісховищі].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Ви також можете спробувати використати [[Special:Upload|сторінку завантаження на {{GRAMMAR:locative|{{SITENAME}}}}]], якщо цей файл може бути завантажений на цей сайт згідно з його правилами.",
+       "foreign-structured-upload-form-2-label-intro": "Дякуємо Вам за пожертвування зображення, яке буде використано на сайті {{SITENAME}}. Вам слід продовжити, тільки якщо воно відповідає ряду умов:",
+       "foreign-structured-upload-form-2-label-ownwork": "Воно повинно бути виключно <strong>вашою роботою</strong>, а не просто картинкою, завантаженою з Інтернету",
+       "foreign-structured-upload-form-2-label-noderiv": "Воно не повинно <strong>містити чиєїсь чужої роботи</strong> чи бути натхненно нею.",
+       "foreign-structured-upload-form-2-label-useful": "Воно повинно бути <strong>освітнім і корисним</strong> для навчання інших.",
+       "foreign-structured-upload-form-2-label-ccbysa": "Ви маєте бути згодні на те, щоб <strong>опублікувати його в Інтернеті назавжди</strong> під ліцензією [https://creativecommons.org/licenses/by-sa/4.0/deed.uk Creative Commons Attribution-ShareAlike 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Якщо не все перераховане вище вірно, ви все одно можете продовжити завантажувати цей файл, використовуючи [https://commons.wikimedia.org/wiki/Special:UploadWizard Майстер завантажень файлів Вікісховища], якщо цей файл доступний під вільною ліцензією.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Завантажуючи цей файл, ви підтверджуєте, що ви є власником авторських прав на нього, і погоджуєтеся беззастережно передати цей файл на Вікісховище під ліцензією Creative Commons Attribution-ShareAlike 4.0, та погоджуєтесь з [https://wikimediafoundation.org/wiki/Terms_of_Use Умовами використання].",
+       "foreign-structured-upload-form-3-label-question-website": "Ви завантажили це зображення з якогось сайту, чи, можливо, знайшли його через пошук зображень?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Ви створили це зображення (зробили фото, ескіз, креслення тощо) самі?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Чи є ця робота похідною від іншої роботи, що належить комусь іншому, як, до прикладу, логотип?",
+       "foreign-structured-upload-form-3-label-yes": "Так",
+       "foreign-structured-upload-form-3-label-no": "Ні",
+       "foreign-structured-upload-form-3-label-alternative": "На жаль, в даному випадку, цей інструмент не підтримує завантаження даного файла. Ви все одно можете завантажити його, використовуючи [https://commons.wikimedia.org/wiki/Special:UploadWizard Майстер завантажень файлів Вікісховища], доки він доступний під вільною ліцензією.",
+       "foreign-structured-upload-form-4-label-good": "Використовуючи цей інструмент, ви можете завантажити освітню графіку, яку ви створили, і фотографії, які ви сфотографували, якщо вони не містять робіт, що належать комусь іншому.",
+       "foreign-structured-upload-form-4-label-bad": "Ви не можете завантажувати зображення, знайдені в пошукових системах або скачані з інших сайтів.",
        "backend-fail-stream": "Не вдалося транслювати файл $1.",
        "backend-fail-backup": "Не вдалося створити резервну копію файлу $1.",
        "backend-fail-notexists": "Файл $1 не існує.",
        "mostrevisions": "Статті з найбільшою кількістю редагувань",
        "prefixindex": "Покажчик за початком назв сторінок",
        "prefixindex-namespace": "Усі сторінки з префіксом (простір назв $1)",
+       "prefixindex-submit": "Показати",
        "prefixindex-strip": "Опустити префікс у списку",
        "shortpages": "Короткі статті",
        "longpages": "Довгі статті",
        "protectedpages-performer": "Захист користувача",
        "protectedpages-params": "Параметри захисту",
        "protectedpages-reason": "Причина",
+       "protectedpages-submit": "Показувати сторінки",
        "protectedpages-unknown-timestamp": "Невідомо",
        "protectedpages-unknown-performer": "Невідомий користувач",
        "protectedtitles": "Заборонені назви",
        "protectedtitles-summary": "На цій сторінці перераховані назви, які захищені від створення. Для перегляду списку сторінок, які на цей момент захищені, див.  [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Зараз нема захищених назв із зазначеними параметрами.",
+       "protectedtitles-submit": "Показувати заголовки",
        "listusers": "Список користувачів",
        "listusers-editsonly": "Показати лише користувачів, які зробили принаймні одне редагування",
        "listusers-creationsort": "Сортувати за датою створення",
        "usereditcount": "$1 {{PLURAL:$1|редагування|редагування|редагувань}}",
        "usercreated": "{{GENDER:$3|Створено}} $1 о $2",
        "newpages": "Нові сторінки",
+       "newpages-submit": "Показати",
        "newpages-username": "Ім'я користувача:",
        "ancientpages": "Сторінки, які найдовше не редагувалися",
        "move": "Перейменувати",
        "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>",
        "wlshowlast": "Показати зміни за останні $1 годин $2 днів",
        "watchlistall2": "всі",
        "watchlist-hide": "Приховати",
+       "watchlist-submit": "Показати",
        "wlshowtime": "Період часу для відображення:",
        "wlshowhideminor": "незначні редагування",
        "wlshowhidebots": "ботів",
        "delete-confirm": "Вилучення «$1»",
        "delete-legend": "Вилучення",
        "historywarning": "<strong>Попередження:</strong> Сторінка, яку ви збираєтеся вилучити, має історію редагувань з приблизно $1 {{PLURAL:$1|1=версії|версій}}:",
+       "historyaction-submit": "Показати",
        "confirmdeletetext": "Ви збираєтесь вилучити сторінку і всі її журнали редагувань з бази даних.\nБудь ласка, підтвердіть, що ви бажаєте зробити це, повністю розумієте наслідки і що робите це у відповідності з [[{{MediaWiki:Policy-url}}|правилами]].",
        "actioncomplete": "Дію виконано",
        "actionfailed": "Виконати дію не вдалося",
        "whatlinkshere-hidelinks": "$1 посилання",
        "whatlinkshere-hideimages": "$1 посилання на зображення",
        "whatlinkshere-filters": "Фільтри",
+       "whatlinkshere-submit": "Виконати",
        "autoblockid": "Автоблокування #$1",
        "block": "Заблокувати користувача",
        "unblock": "Розблокувати користувача",
        "exif-compression-34712": "JPEG2000",
        "exif-copyrighted-true": "Охороняється законом про авторське право",
        "exif-copyrighted-false": "Авторські права не встановлено",
+       "exif-photometricinterpretation-1": "Чорний і білий (білий — 0)",
        "exif-photometricinterpretation-2": "RGB",
        "exif-photometricinterpretation-6": "YCbCr",
        "exif-unknowndate": "Невідома дата",
index baaf97d..539fa36 100644 (file)
        "laggedslavemode": "انتباہ: ممکن ہے کہ صفحہ میں حالیہ بتاریخہ جات شامل نہ ہوں.\n\nWarning: Page may not contain recent updates.",
        "readonly": "ڈیٹابیس مقفل ہے",
        "enterlockreason": "قفل کیلئے کوئی وجہ درج کیجئے، بشمولِ تخمینہ کہ قفل کب کھولا جائے گا.",
-       "readonlytext": "Ú\88Û\8cٹابÛ\8cس  Ø´Ø§Û\8cد Ù\85عÙ\85Ù\88Ù\84 Ú©Û\8c Ø§ØµÙ\84اح Ú©Û\8cÙ\84ئÛ\92 Ù\86ئÛ\92 Ø§Ù\86دراجات Ø§Ù\88ر Ø¯Ù\88سرÛ\8c ØªØ±Ù\85Û\8cÙ\85ات Ú©Û\8cÙ\84ئÛ\92 Ù\85Ù\82Ù\81Ù\84 Û\81Û\92Ø\8c Ø¬Ø³ Ú©Û\92 Ø¨Ø¹Ø¯ Û\8cÛ\81 Ø¹Ø§Ù\85 Ø­Ø§Ù\84ت Ù¾Ø± Ø¢Ø¬Ø§Ø¦Û\92 Ú¯Ø§.\nمنتظم، جس نے قفل لگایا، یہ تفصیل فراہم کی ہے: $1",
+       "readonlytext": "Ú\88Û\8cٹابÛ\8cس  Ø´Ø§Û\8cد Ù\85عÙ\85Ù\88Ù\84 Ú©Û\8c Ø§ØµÙ\84اح Ú©Û\92 Ù\84Û\8cÛ\92 Ù\86ئÛ\92 Ø§Ù\86دراجات Ø§Ù\88ر Ø¯Ù\88سرÛ\8c ØªØ±Ù\85Û\8cÙ\85ات Ú©Û\8cÙ\84ئÛ\92 Ù\85Ù\82Ù\81Ù\84 Û\81Û\92Ø\8c Ø¬Ø³ Ú©Û\92 Ø¨Ø¹Ø¯ Û\8cÛ\81 Ø¹Ø§Ù\85 Ø­Ø§Ù\84ت Ù¾Ø± Ø¢Ø¬Ø§Ø¦Û\92 Ú¯Ø§Û\94\nمنتظم، جس نے قفل لگایا، یہ تفصیل فراہم کی ہے: $1",
        "missing-article": "ڈیٹابیس نے کسی صفحے کا متن بنام \"$1\" $2  نہیں پایا جو اِسے پانا چاہئے تھا.\n\nیہ عموماً کسی صفحے کے تاریخی یا پرانے حذف شدہ ربط کی وجہ سے ہوسکتا ہے.\n\nاگر یہ وجہ نہیں، تو آپ نے مصنع‌لطیف میں کھٹمل پایا ہے.\nبرائے مہربانی، URL کی نشاندہی کرتے ہوئے کسی [[Special:ListUsers/sysop|منتظم]] کو اِس کا سندیس کیجئے.",
        "missingarticle-rev": "(نظرثانی#: $1)",
        "missingarticle-diff": "(فرق: $1، $2)",
        "ns-specialprotected": "خاص صفحات کی تدوین نہیں کی جاسکتی.",
        "titleprotected": "اس عنوان کو [[User:$1|$1]] نے تخلیق سے محفوظ کیا ہے.\nوجہ یہ بتائی گئی ہے: \"''$2''\"",
        "exception-nologin": "غیر داخل نوشتہ",
+       "exception-nologin-text": "براہ مہربانی! اس صفحہ تک رسائی یا ترمیم کے لیے لاگ ان ہوں۔",
+       "exception-nologin-text-manual": "$1 براہ مہربانی! اس صفحہ تک رسائی یا ترمیم کے لیے لاگ ان ہوں۔",
        "virus-badscanner": "خراب وضعیت: انجان وائرسی مفراس: ''$1''",
        "virus-scanfailed": "تفریس ناکام (رمز $1)",
        "virus-unknownscanner": "انجان ضدوائرس:",
        "createacct-yourpasswordagain-ph": "پاس ورڈ پھر داخل کریں",
        "remembermypassword": "اِس متصفح پر میرے داخلِ نوشتگی معلومات یاد رکھو (زیادہ سے زیادہ $1 {{PLURAL:$1|دِن|ایام}} کیلئے)",
        "userlogin-remembermypassword": "مجھے داخل رکھے",
+       "userlogin-signwithsecure": "محفوظ رابطہ (کنکشن) استعمال کریں",
        "yourdomainname": "آپکا ڈومین",
        "password-change-forbidden": "آپ اس ویکی پر پارلفظ (پاس روڈ) تبدیل نہیں کر سکتے",
        "externaldberror": "یا تو توثیقی ڈیٹابیس میں خطا واقع ہوئی اور یا آپ کو بیرونی کھاتہ بتاریخ کرنے کی اِجازت نہیں ہے.",
        "userlogin-resetlink": "داخلِ نوشتہ ہونے کی تفاصیل بھول گئے ہیں؟",
        "userlogin-resetpassword-link": "کلمہ شناخت بھول گئے؟",
        "userlogin-helplink2": "داخل نوشتگی میں معاونت درکار ہے؟",
+       "userlogin-loggedin": "آپ ویکیپیڈیا میں بطور صارف {{GENDER:$1|$1}}  پہلے سے داخل نوشتہ (logged in) ہیں۔\nدوسرے کھاتہ سے داخل ہونے کے لیے درج ذیل خانے پر کریں۔",
+       "userlogin-createanother": "دوسرا کھاتہ تخلیق کریں",
        "createacct-emailrequired": "ای میل پتہ",
        "createacct-emailoptional": "ای میل ایڈریس (اختیاری)",
        "createacct-email-ph": "اپنا برقی پتہ لکھیں",
        "createacct-benefit-body2": "$1 {{PLURAL:$1|صفحہ|صفحات}}",
        "createacct-benefit-body3": "حالیہ {{PLURAL:$1|شرکت کرنے والا|شرکت کرنے والے}}",
        "badretype": "درج شدہ کلمۂ شناخت اصل سے مطابقت نہیں رکھتا۔",
+       "usernameinprogress": "انتظار فرمائیے!<br />\nاس صارف نام سے کھاتہ بننے کا عمل ابھی جاری ہے۔",
        "userexists": "داخل کردہ اسم صارف پہلے سے مستعمل ہے۔\nبراہِ کرم! کوئی دوسرا اسم منتخب کیجئے۔",
        "loginerror": "داخلے میں غلطی",
        "createacct-error": "تخلیق کھاتہ میں نقص",
        "createaccounterror": "کھاتہ $1 بنایا نہیں جاسکا",
        "nocookiesnew": "کھاتۂ صارف بنادیا گیا ہے، لیکن آپ کا داخلہ نہیں ہوا.\nصارفین کے داخلہ کیلئے {{SITENAME}} کوکیز استعمال کرتا ہے.\nآپ کے ہاں کوکیز غیر فعال ہیں.\nبراہِ کرم، انہیں فعال کیجئے، اور پھر اپنے نئے اسمِ صارف اور کلمۂ شناخت کے ساتھ داخل ہوجائیے.",
        "nocookieslogin": "صارفین کے داخل ہونے کیلئے {{SITENAME}} کوکیز استعمال کرتا ہے.\nآپ کے ہاں کوکیز غیر فعال ہیں.\nانہیں فعال کرنے کے بعد پھر کوشش کیجئے.",
+       "nocookiesfornew": "اس صارف نام کا کھاتہ نہیں بن سکا۔ہم اس بات کی وضاحت نہیں کر سکتے (کہ ایسا کیوں ہوا)، براہ مہربانی! آپ\nیقین کر لیں کہ آپ کی کوکیز فعال ہیں، صفحہ تازہ کریں اور پھر کوشش کریں۔",
        "noname": "آپ نے صحیح اسم صارف نہیں چنا.",
        "loginsuccesstitle": "داخلہ کامیاب",
        "loginsuccess": "'''اب آپ {{SITENAME}} میں بنام \"$1\" داخل ہوچکے ہیں۔'''",
        "wrongpassword": "آپ نے غلط کلمۂ شناخت درج کیا ہے۔ دوبارہ کو شش کریں۔",
        "wrongpasswordempty": "کلمۂ شناخت ندارد۔ دوبارہ کوشش کریں۔",
        "passwordtooshort": "آپکا منتخب کردہ پارلفظ مختصر ہے. پارلفظ کم از کم {{PLURAL:$1|1 محرف|$1 محارف}} ہونا چاہئے.",
+       "passwordtoolong": "خفیہ رمز (پاس ورڈ) {{PLURAL:$1|1 حرف|$1 حروف}} سے زیادہ طویل نہیں ہو سکتا۔",
+       "passwordtoopopular": "عام طور پر چنا جانے والا خفیہ رمز (پاسورڈ) استعمال نہیں کیا جا سکتا۔ براہ مہربانی آپ کوئی الگ خفیہ رمز استعمال کریں، تا کہ آپ کا کھاتہ محفوظ رہے۔",
        "password-name-match": "آپکا پارلفظ آپکے اسمِ صارف سے مختلف ہونا چاہئے.",
        "password-login-forbidden": "اس صارف نام یا کلمۂ شناخت (پاسورڈ) کا استعمال ممنوع ہے",
        "mailmypassword": "پاسورڈ تبدیل کریں",
        "noemailprefs": "اِن خصائص کو کام میں لانے کیلئے اپنے ترجیحات میں برقی ڈاک کا پتہ متعین کیجئے.",
        "emailconfirmlink": "اپنے برقی پتہ کی تصدیق کیجئے",
        "invalidemailaddress": "برقی پتہ قبول نہیں کیا جاسکتا کیونکہ یہ غلط شکل میں ہے.\nبراہِ کرم! ایک برقی پتہ صحیح شکل میں درج کیجئے یا جگہ کو خالی چھوڑ دیجئے.",
+       "cannotchangeemail": "کھاتے کا برقی پتہ اس ویکی سے پر رہتے ہوئے نہیں تبدیل کیا جا سکتا۔",
        "emaildisabled": "اس سائٹ سے برقی خط نہیں بھیجے جاسکتے",
        "accountcreated": "تخلیقِ کھاتہ",
        "accountcreatedtext": "[[{{ns:صارف}}:$1|$1]] ([[{{ns:تبادلۂ خیال صارف}}:$1|تبادلۂ خیال]]) کا صارف کھاتہ بن چکا ہے۔",
        "createaccount-title": "کھاتہ سازی برائے {{SITENAME}}",
        "createaccount-text": "کسی نے {{SITENAME}} ($4) پر \"$2\" کے نام سے اور \"$3\" پارلفظ کے ساتھ آپ کا برقی پتہ استعمال کرتے ہوئے کھاتہ بنایا ہے.\nآپ کو چاہئے کہ ابھی داخلِ نوشتہ ہوکر اپنا پارلفظ تبدیل کردیں.\n\nاگر یہ کھاتہ غلطی سے بنا تھا تو آپ یہ پیغام نظرانداز کرسکتے ہیں.",
        "login-throttled": "آپ نے حال ہی میں متعدد مرتبہ لاگ ان ہونے کی کوشش کی ہے۔\nدوبارہ کوشش کرنے سے پہلے $1 انتظار فرمائیے۔",
+       "login-abort-generic": "آپ داخل (لاگ ان) نہیں ہو پائے - ساقط",
        "loginlanguagelabel": "زبان: $1",
        "pt-login": "داخل ہوجائیے",
        "pt-login-button": "داخل ہو",
        "anontalkpagetext": "----''یہ صفحہ ایک ایسے صارف کا ہے جنہوں نے یا تو اب تک اپنا کھاتا نہیں بنایا یا پھر وہ اسے استعمال نہیں کر رہے/ رہی ہیں۔ لہٰذا ہمیں انکی شناخت کے لئے ایک عددی آئی پی پتہ استعمال کرنا پڑرہا ہے۔ اس قسم کا آئی پی پتہ ایک سے زائد صارفین کے لئے مشترک بھی ہوسکتا ہے۔ اگر آپکی موجودہ حیثیت ایک گمنام صارف کی ہے اور آپ محسوس کریں کہ اس صفحہ پر آپکی جانب منسوب یہ بیان غیرضروری ہے تو براہ کرم [[Special:UserLogin/signup|کھاتہ بنائیں]] یا [[Special:UserLogin|داخلِ نوشتہ]] ہوجائیے تاکہ مستقبل میں آپکو گمنام صارفین میں شمار کرنے سے پرہیز کیا جاسکے۔\"",
        "noarticletext": "اِس صفحہ میں فی الحال کوئی متن موجود نہیں ہے.\nآپ دیگں صفحات میں [[Special:Search/{{PAGENAME}}|اِس صفحہ کے عنوان کیلئے تلاش کرسکتے ہیں]]، <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} متعلقہ نوشتہ جات تلاش کرسکتے ہیں],\nیا [{{fullurl:{{FULLPAGENAME}}|action=edit}} اِس صفحہ میں ترمیم کرسکتے ہیں]</span>",
        "noarticletext-nopermission": "اس صفحہ میں فی الحال کوئی متن موجود نہیں ہے.\nآپ دیگں صفحات میں [[Special:Search/{{PAGENAME}}|اِس صفحہ کے عنوان کیلئے]] یا <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} متعلقہ نوشتہ جات تلاش کرسکتے ہیں]</span>",
+       "userpage-userdoesnotexist-view": "صارف کھاتہ \"$1\" مندرج نہیں ہے۔",
        "updated": "(اپ ڈیٹڈ)",
        "note": "'''نوٹ:'''",
        "previewnote": "'''یاد رکھیں، یہ صرف نمائش ہے ۔آپ کی ترامیم ابھی محفوظ نہیں کی گئیں۔'''",
        "edit-gone-missing": "صفحہ تجدید نہیں کیا جاسکتا.\nلگتا ہے یہ حذف ہوچکا ہے.",
        "edit-conflict": "تنازعۂ تدوین.",
        "edit-no-change": "آپ کی تدوین کو نظرانداز کردیا گیا، کیونکہ متن میں کوئی تبدیلی نہیں ہوئی تھی.",
+       "postedit-confirmation-created": "صفحہ تخلیق کر دیا گیا۔",
+       "postedit-confirmation-restored": "صفحہ بحال کر دیا گیا۔",
        "postedit-confirmation-saved": "آپ کی ترمیم محفوظ ہوگئی۔",
        "edit-already-exists": "نیا صفحہ تخلیق نہیں کیا جاسکتا.\nیہ پہلے سے موجود ہے.",
+       "defaultmessagetext": "طے شدہ پیغام کا متن",
        "content-model-text": "سادہ متن",
        "content-model-javascript": "جاوا اسکرپٹ",
        "viewpagelogs": "اس صفحہ کیلیے نوشتہ جات دیکھیے",
        "mergehistory-no-destination": "مقصود صفحہ $1 موجود نہیں.",
        "mergehistory-invalid-source": "مآخذ صفحہ کا عنوان صحیح ہونا چاہئے.",
        "mergehistory-invalid-destination": "مقصود صفحہ کا عنوان صحیح ہونا چاہئے.",
+       "mergehistory-autocomment": "[[:$1]] ضم [[:$2]] میں",
+       "mergehistory-comment": "[[:$1]] ضم [[:$2]] میں: $3",
        "mergehistory-same-destination": "مآخذ اور مقصود صفحات ایک جیسے نہیں ہوسکتے.",
        "mergehistory-reason": "وجہ:",
        "mergelog": "نوشتہ کا انضمام",
        "rows": "صفیں:",
        "columns": "قطاریں:",
        "searchresultshead": "تلاش",
+       "stub-threshold-sample-link": "نمونہ",
        "stub-threshold-disabled": "غیر فعال",
        "recentchangesdays": "حالیہ تبدیلیوں میں دکھائی جانے والے ایّام:",
        "recentchangesdays-max": "(زیادہ سے زیادہ $1 {{PLURAL:$1|دن|ایام}})",
        "recentchanges-label-unpatrolled": "اس ترمیم کی اب تک مراجعت نہیں کی گئی",
        "recentchanges-label-plusminus": "صفحہ کا حجم تبدیل شدہ بلحاظ بائٹ مقدار",
        "recentchanges-legend-heading": "'''اختیارات'''",
+       "recentchanges-submit": "دکھائیں",
        "rcnotefrom": "ذیل میں <strong>$3, $4</strong> سے کی گئی {{PLURAL:$5|تبدیلی|تبدیلیاں}} <strong>$1</strong> تک دکھائی جا رہی ہیں۔",
        "rclistfrom": "$3 $2 سےنئی تبدیلیاں دکھانا شروع کریں",
        "rcshowhideminor": "معمولی ترامیم $1",
        "rcshowhidemine": "ذاتی ترامیم $1",
        "rcshowhidemine-show": "دکھاؤ",
        "rcshowhidemine-hide": "چھپائیں",
+       "rcshowhidecategorization-show": "دکھائیں",
+       "rcshowhidecategorization-hide": "چھپائیں",
        "rclinks": "آخری $2 روز میں ہونے والی $1 تبدیلیوں کا مشاہدہ کریں<br />$3",
        "diff": "فرق",
        "hist": "تاریخچہ",
        "recentchangeslinked-title": "\"$1\" سے متعلقہ تبدیلیاں",
        "recentchangeslinked-summary": "یہ ان تبدیلیوں کی فہرست ہے جو حال ہی میں کسی مخصوص صفحہ سے مربوط صفحات (یا مخصوص زمرہ کے اراکین) میں کی گئی ہیں\n\n[[Special:Watchlist|آپ کی زیر نظر فہرست]] میں یہ صفحات متجل (bold) نظر آئیں گےـ",
        "recentchangeslinked-page": "صفحۂ منصوبہ دیکھئے",
+       "autochange-username": "میڈیاویکی خودکار تبدیلیاں",
        "upload": "فائل اثقال/اپلوڈ فائل",
        "uploadbtn": "زبراثقال ملف (اپ لوڈ فائل)",
        "reuploaddesc": "زبراثقال ورقہ (فارم) کیجانب واپس۔",
        "sourcefilename": "اسم ملف (فائل) کا منبع:",
        "destfilename": "تعین شدہ اسم ملف:",
        "watchthisupload": "یہ صفحہ زیر نظر کریں",
+       "upload-dialog-button-cancel": "منسوخ",
+       "upload-dialog-button-done": "مکمل",
+       "upload-dialog-button-save": "محفوظ",
+       "upload-dialog-button-upload": "اپلوڈ",
+       "upload-form-label-select-file": "قلف منتخب کریں",
+       "upload-form-label-infoform-title": "تفصیلات",
+       "upload-form-label-infoform-name": "نام",
+       "upload-form-label-infoform-description": "تفصیل",
+       "upload-form-label-usage-title": "استعمال",
+       "upload-form-label-usage-filename": "ملف نام",
+       "foreign-structured-upload-form-label-own-work": "یہ میرا ذاتی کام ہے",
+       "foreign-structured-upload-form-label-infoform-categories": "زمرہ جات",
+       "foreign-structured-upload-form-label-infoform-date": "تاریخ",
+       "foreign-structured-upload-form-3-label-yes": "ہاں",
+       "foreign-structured-upload-form-3-label-no": "نہیں",
        "license": "اجازہ:",
        "license-header": "اجازہ کاری",
+       "listfiles-delete": "حذف",
        "imgfile": "ملف",
        "listfiles": "فہرست فائل",
        "listfiles_date": "تاریخ",
        "brokenredirects": "نامکمل متبادل ربط",
        "brokenredirects-edit": "ترمیم کریں",
        "brokenredirects-delete": "حذف",
+       "withoutinterwiki-legend": "سابقہ",
+       "withoutinterwiki-submit": "دکھائیں",
+       "fewestrevisions": "کم نظرِ ثانی شدہ مضامین",
        "nbytes": "$1 {{PLURAL:$1|لکمہ|لکمہ جات}}",
        "ncategories": "{{PLURAL:$1|زمرہ|زمرہ جات}} $1",
+       "ninterwikis": "$1 {{PLURAL:$1|بین الویکی|بین الویکی}}",
+       "nlinks": "$1 {{PLURAL:$1|بین الویکی|بین الویکی}}",
        "nmembers": "{{PLURAL:$1|رکن|اراکین}}",
+       "nrevisions": "$1 {{PLURAL:$1|نظر ثانی|نظر ثانیاں}}",
+       "nimagelinks": "$1 پر مستعمل {{PLURAL:$1|صفحہ|صفحات}}",
+       "ntransclusions": "$1 پر مستعمل {{PLURAL:$1|صفحہ|صفحات}}",
+       "specialpage-empty": "تلاش کرنے پر اس رپورٹ کا کوئی صفحہ نہیں ملا۔",
        "lonelypages": "يتيم صفحات",
        "lonelypagestext": "ذیل میں ان صفحات کی فہرست ہے جو {{SITENAME}} میں موجود دیگر صفحات سے مربوط یا ان میں شامل نہیں ہیں۔",
        "uncategorizedpages": "بے زمرہ صفحات",
        "uncategorizedcategories": "بے زمرہ زمرہ جات",
        "uncategorizedimages": "بے زمرہ تصاویر",
+       "uncategorizedtemplates": "غیر زمرہ بند سانچہ جات",
        "unusedcategories": "غیر استعمال شدہ زمرہ جات",
        "unusedimages": "غیر استعمال شدہ فائلیں",
        "wantedcategories": "طلب شدہ زمرہ جات",
        "mostimages": "سب سے زیادہ استعمال کردہ تصاویر",
        "mostrevisions": "زیادہ تجدید نظر کیے جانے والے صفحات",
        "prefixindex": "تمام صفحات بمع سابقہ",
+       "prefixindex-submit": "دکھائیں",
        "shortpages": "چھوٹے صفحات",
        "longpages": "طویل ترین صفحات",
        "deadendpages": "مردہ صفحات",
        "protectedpages": "محفوظ شدہ صفحات",
+       "protectedpages-timestamp": "وقت کی مہر",
+       "protectedpages-page": "صفحہ",
        "protectedpages-reason": "وجہ",
        "protectedpages-unknown-timestamp": "نامعلوم",
        "protectedpages-unknown-performer": "نامعلوم صارف",
        "listusers": "فہرست ارکان",
        "usercreated": "{{GENDER:$3|تخلیق شدہ}}  بتاریخ $1 بوقت $2",
        "newpages": "جدید صفحات",
+       "newpages-submit": "دکھائیں",
        "newpages-username": "صارف نام:",
        "ancientpages": "قدیم ترین صفحات",
        "move": "منتقـل",
        "specialloguserlabel": "صارف:",
        "speciallogtitlelabel": "ہدف (عنوان یا {{ns:user}}:صارف نام برائے صارف):",
        "log": "نوشتہ جات",
+       "logeventslist-submit": "دکھائیں",
        "allpages": "تمام صفحات",
        "nextpage": "اگلا صفحہ ($1)",
        "prevpage": "پچھلا صفحہ ($1)",
        "allpagessubmit": "چلو",
        "allpagesprefix": "مطلوبہ سابقہ سے شروع ہونے والے صفحات کی نمائش:",
        "categories": "زمرہ",
+       "categories-submit": "دکھائیں",
        "categoriespagetext": "ذیل میں موجود {{PLURAL:$1|زمرہ|زمرہ جات}} میں صفحات یا میڈیا موجود ہے۔\n[[Special:UnusedCategories|غیر مستعمل زمرہ جات]] یہاں نہیں دکھائے گئے ہیں۔\nنیز [[Special:WantedCategories|مطلوبہ زمرہ جات کی فہرست]] بھی ملاحظہ فرمائیں۔",
+       "sp-deletedcontributions-contribs": "شراکتیں",
+       "linksearch": "بیرونی روابط کی تلاش",
+       "linksearch-pat": "تلاش کا انداز",
+       "linksearch-ns": "فضائے نام:",
        "linksearch-ok": "تلاش",
        "linksearch-line": "$1 مربوط ہے $2 سے",
        "listusers-submit": "دکھاؤ",
        "listusers-noresult": "یہ صارف نہیں ملا",
+       "listusers-blocked": "(مسدود)",
        "activeusers": "متحرک صارفین کی فہرست",
        "activeusers-hidebots": "پوشیدہ خود کار صارف",
        "activeusers-hidesysops": "پوشیدہ منتظمین",
        "activeusers-noresult": "یہ صارف نہیں مل سکا",
+       "listgrouprights-group": "گروہ",
        "listgrouprights-rights": "اختیارات",
        "listgrouprights-members": "(اراکین کی فہرست)",
        "listgrouprights-namespaceprotection-namespace": "فضائے نام",
+       "trackingcategories-msg": "کھوجی زمرہ",
+       "trackingcategories-name": "پیغام کا عنوان",
+       "trackingcategories-desc": "زمرہ کی شمولیت کا معیار",
+       "trackingcategories-disabled": "زمرہ غیر فعال ہے",
        "mailnologintext": "دیگر ارکان کو برقی خط ارسال کرنے کیلیۓ لازم ہے کہ آپ [[Special:UserLogin|داخل شدہ]] حالت میں ہوں اور آپ کی [[Special:Preferences|ترجیحات]] ایک درست برقی خط کا پتا درج ہو۔",
        "emailuser": "صارف کو برقی خط لکھیں",
        "emailuser-title-notarget": "ای میل صارف",
        "defemailsubject": "{{SITENAME}} سے برقی خط",
+       "usermaildisabled": "صارف برقی پتہ غیر فعال ہے",
+       "usermaildisabledtext": "آپ اس ویکی پر رہتے ہوئے دوسرے صارف کو برقی خط ارسال نہيں کر سکتے",
+       "noemailtitle": "کوئی برقی پتہ نہیں ہے",
        "noemailtext": "اس صارف نے برقی خط کے لیے پتہ فراہم نہیں کیا، یا یہ چاہتا ہے کا اس سے کوئی صارف رابطہ نہ کرے۔",
        "emailusername": "صارف نام:",
+       "emailfrom": "از:",
+       "emailto": "بہ:",
        "emailsubject": "موضوع:",
        "emailmessage": "پیغام:",
        "emailsend": "بھیجیں",
+       "emailccme": "میرے پیغام کی ایک نقل مجھے بھی میل کی جائے۔",
+       "emailsenttext": "آپ کا پیغام بھیج دیا گیا۔",
        "watchlist": "میری زیرنظرفہرست",
        "mywatchlist": "زیرنظرفہرست",
        "watchlistfor2": "براۓ $1 ($2)",
        "wlnote": "نیچےآخری $1 تبدیلیاں ہیں جو کے پیچھلے <b>$2</b> گھنٹوں میں کی گئیں۔",
        "wlshowlast": "دکھائیں آخری $1 گھنٹے $2 دن",
        "watchlistall2": "تمام",
+       "watchlist-hide": "چھپائیں",
+       "watchlist-submit": "دکھائیں",
+       "wlshowhideminor": "معمولی ترامیم",
+       "wlshowhidebots": "روبہ جات",
+       "wlshowhideliu": "مندرج صارفین",
+       "wlshowhideanons": "گمنام صارفین",
+       "wlshowhidepatr": "مراجعت شدہ ترامیم",
+       "wlshowhidemine": "میری ترامیم",
        "watchlist-options": "اختیارات برائے زیرِنظرفہرست",
        "enotif_reset": "جملہ صفحات کو بطور زیارت شدہ نشان زد کریں",
        "enotif_subject_deleted": "{{SITENAME}} میں صفحہ $1 صارف $2 نے {{GENDER:$2|حذف کیا}}",
        "confirm": "یقین",
        "excontent": "'$1':مواد تھا",
        "excontentauthor": "حذف شدہ مواد: '$1' (اور صرف '[[Special:Contributions/$2|$2]]' نے حصہ ڈالا)",
-       "historywarning": "انتباہ: جو صفحہ آپ حذف کرنے جارہے ہیں اس سے ایک تاریخچہ منسلک ہے۔",
+       "delete-confirm": "حذف ''$1''",
+       "delete-legend": "حذف",
+       "historywarning": "<strong>انتباہ</strong>: آپ اس صفحہ کو $1 {{PLURAL:$1|نظر ثانی|نظر ثانیوں}} کے تاریخچہ کے ساتھ حذف کر رہے ہیں:",
+       "historyaction-submit": "دکھائیں",
        "confirmdeletetext": "آپ نے اس صفحے کو اس سے ملحقہ تاریخچہ سمیت حذف کرنے کا ارادہ کیا ہے۔ براۓ مہربانی تصدیق کرلیجیۓ کہ آپ اس عمل کے نتائج سے بخوبی آگاہ ہیں، اور یہ بھی یقین کرلیجیۓ کہ آپ ایسا [[{{MediaWiki:Policy-url}}|ویکیپیڈیا کی حکمت عملی]] کے دائرے میں رہ کر کر رہے ہیں۔",
        "actioncomplete": "اقدام تکمیل کو پہنچا",
        "actionfailed": "عمل ناکام",
        "rollbacklinkcount": "استرجع $1 {{PLURAL:$1|ترمیم|ترامیم}}",
        "rollbackfailed": "سابقہ حالت پر واپسی ناکام",
        "cantrollback": "تدوین ثانی کا اعادہ نہیں کیا جاسکتا؛ کیونکہ اس میں آخری بار حصہ لینے والا ہی اس صفحہ کا واحد کاتب ہے۔",
+       "changecontentmodel-title-label": "صفحہ کا عنوان",
+       "changecontentmodel-reason-label": "وجہ:",
        "protectlogpage": "نوشتۂ محفوظ شدگی",
        "protectedarticle": "\"[[$1]]\" کومحفوظ کردیا",
        "unprotectedarticle": "\"[[$1]]\" کوغیر محفوظ کیا",
        "prot_1movedto2": "[[$1]] بجانب [[$2]] منتقل",
        "protectcomment": "وجہ:",
        "protect-default": "تمام صارفین کو اہل بناؤ",
-       "protect-level-sysop": "صرف منتظمین",
+       "protect-level-sysop": "صرف منتظمین کو اجازت ہے",
+       "protect-summary-cascade": "آبشاری",
+       "protect-expiring": "مدت خاتمہ  $1 (یو ٹی سی)",
+       "protect-expiring-local": "مدت خاتمہ  $1",
+       "protect-expiry-indefinite": "لا محدود",
+       "protect-othertime": "دیگر وقت:",
+       "protect-othertime-op": "دیگر وقت",
+       "protect-otherreason-op": "دیگر وجہ",
+       "protect-expiry-options": "1 گھنٹہ:1 گھنٹہ،1 دن:1 دن،1 ہفتہ:1 ہفتہ،2 ہفتے:2 ہفتے،1 مہینا:1 مہینا،3 مہینے:3 مہینے،6 مہینے:6 مہینے،1 سال:1 سال،لامحدود:لامحدود",
+       "restriction-type": "اجازت:",
        "undelete": "ضائع کردہ صفحات دیکھیں",
        "undeletepage": "معائنہ خذف شدہ صفحات",
        "undeletepagetitle": "'''ذیل میں [[:$1|$1]] کے حذف شدہ ترامیم درج ہیں۔'''",
        "undeleteviewlink": "دکھاؤ",
        "undeleteinvert": "انتخاب بالعکس",
        "undeletecomment": "وجہ:",
+       "undelete-search-submit": "تلاش",
+       "undelete-show-file-submit": "ہاں",
        "namespace": "فضائے نام:",
        "invert": "انتخاب بالعکس",
        "namespace_association": "متعلقہ فضا",
        "mycontris": "شراکت",
        "anoncontribs": "شراکتیں",
        "contribsub2": "براۓ $1 ($2)",
-       "uctop": " (اوپر)",
+       "uctop": "(موجودہ)",
        "month": "مہینہ (اور اُس سے قبل):",
        "year": "سال (اور اُس سے قبل):",
        "sp-contributions-newbies": "صرف نئے کھاتوں کے مساہمات دکھاؤ",
        "isredirect": "لوٹایا گیا صفحہ",
        "istemplate": "شامل شدہ",
        "isimage": "ربطِ ملف",
+       "whatlinkshere-prev": "{{PLURAL:$1|پچھلا|پچھلے $1}}",
+       "whatlinkshere-next": "{{PLURAL:$1|اگلا|اگلے $1}}",
        "whatlinkshere-links": "روابط ←",
        "whatlinkshere-hideredirs": "رجوع مکررات $1",
        "whatlinkshere-hidetrans": "$1 تضمینات",
        "ipbsubmit": "اس صارف کا داخلہ ممنوع کریں",
        "ipboptions": "2 گھنٹے:2 hours,1 یوم:1 day,3 ایام:3 days,1 ہفتہ:1 week,2 ہفتے:2 weeks,1 مہینہ:1 month,3 مہینے:3 months,6 مہینے:6 months,1 سال:1 year,لامحدود:infinite",
        "ipblocklist": "ممنوع صارفین",
+       "blocklist-reason": "وجہ",
+       "ipblocklist-submit": "تلاش",
        "blocklink": "پابندی لگائیں",
        "unblocklink": "پابندی ختم",
        "change-blocklink": "پابندی میں تبدیلی",
        "allmessagesdefault": "طے شدہ متن",
        "allmessagescurrent": "موجودہ متن",
        "allmessagestext": "یہ میڈیاویکی: جاۓ نام میں دستیاب نظامی پیغامات کی فہرست ہے۔",
+       "allmessages-filter-all": "تمام",
+       "allmessages-filter-modified": "تبدیل شدہ",
+       "allmessages-language": "زبان:",
+       "allmessages-filter-translate": "ترجمہ",
        "thumbnail-more": "چوڑا کریں",
        "import": "درآمد صفحات",
        "tooltip-pt-userpage": "آپ کا صارفی صفحہ",
        "tooltip-t-permalink": "صفحہ کے موجودہ نظرثانی کا مستقل ربط",
        "tooltip-ca-nstab-main": "صفحۂ مضمون دیکھئے",
        "tooltip-ca-nstab-user": "اِس صارف کے مساہمات کی فہرست دیکھئے",
-       "tooltip-ca-nstab-special": "Û\8cÛ\81 Ø§Û\8cÚ© Ø®Ø§Øµ ØµÙ\81Ø­Û\81 Û\81Û\92Ø\8c Ø¢Ù¾ Ø§Ù\90س Ù\85Û\8cÚº ØªØ±Ù\85Û\8cÙ\85 Ù\86Û\81Û\8cÚº Ú©Ø±Ø³Ú©ØªÛ\92",
+       "tooltip-ca-nstab-special": "Û\81Ù\85 Ù\85عذرت Ø®Ù\88اÛ\81 Û\81Û\8cÚº! Ø¢Ù¾ Ø§Ø³ [[Ù\88Û\8cÚ©Û\8cÙ¾Û\8cÚ\88Û\8cا:Ù\86اÙ\85 Ù\81ضا|Ù\86اÙ\85 Ù\81ضا]] Ù\85Û\8cÚº ØªØ±Ù\85Û\8cÙ\85 Ú©Ø§ Ø§Ø®ØªÛ\8cار Ù\86Û\81Û\8cÚº Ø±Ú©Ú¾ØªÛ\92Û\94",
        "tooltip-ca-nstab-project": "صفحۂ صارف دیکھئے",
        "tooltip-ca-nstab-image": "صفحۂ ملف دیکھئے",
        "tooltip-ca-nstab-template": "سانچہ دیکھئے",
        "exif-colorspace": "رنگ فضا",
        "exif-datetimeoriginal": "ڈیٹا بنانے کا تاریخ اور وقت",
        "exif-datetimedigitized": "معددی کا تاریخ اور وقت",
+       "exif-writer": "مصنف",
+       "exif-languagecode": "زبان",
+       "exif-iimcategory": "زمرہ",
        "exif-orientation-1": "عام",
        "exif-meteringmode-0": "نامعلوم",
        "namespacesall": "تمام",
        "monthsall": "تمام",
        "deletedwhileediting": "انتباہ: آپ کے ترمیم شروع کرنے کے بعد یہ صفحہ حذف کیا جا چکا ہے!",
        "confirm_purge_button": "جی!",
+       "table_pager_next": "اگلا صفحہ",
+       "table_pager_prev": "پچھلا صفحہ",
+       "table_pager_first": "پہلا صفحہ",
+       "table_pager_last": "آخری صفحہ",
        "autosumm-blank": "تمام مندرجات حذف",
        "autoredircomment": "[[$1]] سے رجوع مکرر",
        "autosumm-new": "نیا صفحہ: $1",
        "hijri-calendar-m11": "ذوالقعدہ",
        "hijri-calendar-m12": "ذوالحجہ",
        "version": "ورژن",
+       "version-specialpages": "خاص صفحات",
+       "version-other": "دیگر",
+       "version-ext-colheader-credits": "مصنف",
+       "version-poweredby-others": "دیگر",
+       "version-libraries-authors": "مصنف",
+       "fileduplicatesearch-submit": "تلاش",
        "specialpages": "خصوصی صفحات",
+       "specialpages-group-pages": "فہارست صفحات",
        "tag-filter": "[[Special:Tags|لوحہ]] فلٹر:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ٹیگ|ٹیگز}}]]: $2)",
+       "tags-source-header": "ماخذ",
+       "tags-active-header": "فعال؟",
+       "tags-active-yes": "ہاں",
+       "tags-active-no": "نہیں",
+       "tags-delete": "حذف",
+       "tags-activate": "فعال کریں",
+       "tags-deactivate": "غیر فعال  کریں",
+       "tags-hitcount": "$1 {{PLURAL:$1|تبدیلی|تبدیلیاں}}",
+       "tags-create-submit": "تخلیق",
+       "tags-delete-title": "حذف ٹیگ",
+       "tags-delete-reason": "وجہ:",
+       "tags-activate-title": "ٹیگ فعال",
+       "tags-activate-reason": "وجہ:",
+       "tags-activate-submit": "فعال",
+       "tags-deactivate-title": "ٹیگ غیر فعال",
+       "tags-deactivate-reason": "وجہ:",
+       "tags-deactivate-submit": "غیر فعال",
+       "tags-edit-title": "ٹیگ میں ترمیم",
+       "tags-edit-reason": "وجہ:",
+       "htmlform-selectorother-other": "دیگر",
+       "htmlform-no": "نہیں",
+       "htmlform-yes": "ہاں",
        "logentry-delete-delete": "$1 {{GENDER:$2|حذف کیا گیا}} صفحہ $3",
        "logentry-move-move": "$1 نے صفحہ $3 کو بجانب $4 منتقل کیا",
        "logentry-newusers-create": "صارف کھاتہ $1 {{GENDER:$2|بنایا گیا}}",
+       "logentry-upload-upload": "$1 {{GENDER:$2|اپلوڈ}} $3",
        "rightsnone": "(کچھ نہیں)",
        "revdelete-summary": "خلاصۂ تدوین",
+       "feedback-thanks-title": "شکریہ!",
        "searchsuggest-search": "تلاش",
        "expandtemplates": "سانچے کو وسیع کریں",
        "expand_templates_input": "ان پٹ متن:",
        "expand_templates_ok": "ٹھیک ہے",
        "expand_templates_remove_comments": "تبصرے حذف کریں",
        "expand_templates_preview": "پیش نظارہ",
+       "pagelang-name": "صفحہ",
+       "pagelang-language": "زبان",
        "special-characters-group-latin": "لاطینی محارف",
        "special-characters-group-latinextended": "وسیع لاطینی",
        "special-characters-group-symbols": "علامات",
index 2d7dccc..06da196 100644 (file)
        "gotaccount": "Ku teil om jo registracii, '''$1'''.",
        "gotaccountlink": "Kirjutagatoiš sistemha",
        "userlogin-resetlink": "Unohtid-ik andmused tulendan täht?",
+       "userlogin-helplink2": "Abu tulendanke sistemha",
        "createacct-emailrequired": "E-počtal adres",
        "createacct-email-ph": "Kirjutagat teiden e-počtan adres",
        "createacct-another-email-ph": "Kirjutagat e-počtan adres",
index b79e7ee..c79ee35 100644 (file)
@@ -40,7 +40,7 @@
        "tog-watchmoves": "畀我移个页搭文件加进我个监控列表里去",
        "tog-watchdeletion": "畀我刪脫個頁搭文件加進我個關注表裏",
        "tog-watchrollback": "拿我执行过回退个页面加到我个关注表里去",
-       "tog-minordefault": "é»\98èª\8dè¨\98å\85¨é\83¨ç·¨é\83½æ\98¯ç´°å\80\8b",
+       "tog-minordefault": "é»\98认æ\8b¿æ\89\80æ\9c\89ç¼\96è¾\91æ \87è®°æ\88\90ç»\86ç¼\96è¾\91",
        "tog-previewontop": "編寫框頭前顯示先望",
        "tog-previewonfirst": "頭垡編寫顯示先望",
        "tog-enotifwatchlistpages": "我關注表裏個頁要弗文件變脫到用電子信通知我",
@@ -48,7 +48,7 @@
        "tog-enotifminoredits": "頁搭文件細編也用電子信通知我",
        "tog-enotifrevealaddr": "電子信通知單裏顯示我個電子信地址",
        "tog-shownumberswatching": "顯示關注人數",
-       "tog-oldsig": "能界签名先望:",
+       "tog-oldsig": "本生个签名:",
        "tog-fancysig": "畀簽名當wiki文本(弗自動鏈接)",
        "tog-uselivepreview": "使用实时预览",
        "tog-forceeditsummary": "編要空白到提醒我",
        "category_header": "“$1”分類裏個頁",
        "subcategories": "子分类",
        "category-media-header": "\"$1\"分类里个媒体",
-       "category-empty": "''箇分类里页搭媒体能界还呒有。''",
+       "category-empty": "<em>本分类现在呒不任何页面或者媒体文件。</em>",
        "hidden-categories": "$1囥脫分類",
        "hidden-category-category": "囥脫分類",
-       "category-subcat-count": "{{PLURAL:$2|箇分類便只接落去許兒分類。|箇分類有$1個兒分類,攏共$2個兒分類。}}",
-       "category-subcat-count-limited": "箇分類有下向許$1個兒分類。",
-       "category-article-count": "{{PLURAL:$2|箇分類便只下向許頁。|箇分類裏有下底$1許頁,攏共$2張。}}",
-       "category-article-count-limited": "能界個分類裏有下底$1頁。",
+       "category-subcat-count": "{{PLURAL:$2|迭个分类里向只有下底一只子分类。|迭个分类里向有下底$1只子分类,共总有$2只子分类。}}",
+       "category-subcat-count-limited": "迭只分类包括下底个{{PLURAL:$1|子分类|$1只子分类}}。",
+       "category-article-count": "{{PLURAL:$2|迭只分类只有下底一只页面。|迭只分类包含下底$1只页面,共总$2只页面。}}",
+       "category-article-count-limited": "下底个{{PLURAL:$1|页面|$1只页面}}属于当前分类。",
        "category-file-count": "{{PLURAL:$2|箇分类便只下头个文件。|箇分类里有下头$1个文件,共$2个文件。}}",
-       "category-file-count-limited": "能界個分類裏有下底$1個文件。",
+       "category-file-count-limited": "下底个{{PLURAL:$1|文件|$1只文件}}属于当前分类。",
        "listingcontinuesabbrev": "接落。",
        "index-category": "索引拉许个页面",
        "noindex-category": "朆索引个页",
        "edit-local": "编辑本地说明",
        "create": "建",
        "create-local": "添加本地说明",
-       "editthispage": "ç·¨ç®\87é \81",
+       "editthispage": "ç¼\96è¾\91该å\8fªé¡µé\9d¢",
        "create-this-page": "建箇頁",
        "delete": "删除",
        "deletethispage": "刪箇頁",
        "redirectto": "重定向到:",
        "lastmodifiedat": "箇页此垡来$1 $2改进。",
        "viewcount": "箇頁望過$1垡。",
-       "protectedpage": "受保頁",
+       "protectedpage": "畀保护个页面",
        "jumpto": "蹦到:",
        "jumptonavigation": "导航",
        "jumptosearch": "搜寻",
        "youhavenewmessagesmanyusers": "你有从多个用户来个$1($2)。",
        "newmessageslinkplural": "{{PLURAL:$1|新消息|999=新消息}}",
        "newmessagesdifflinkplural": "此垡̺{{PLURAL:$1|变化|999=变化}}",
-       "youhavenewmessagesmulti": "爾徠$1裏有新信息",
+       "youhavenewmessagesmulti": "侬有新消息来拉$1",
        "editsection": "编辑",
        "editold": "编",
        "viewsourceold": "望源碼",
        "red-link-title": "$1(页面弗存在)",
        "sort-descending": "倒排",
        "sort-ascending": "顺排",
-       "nstab-main": "页",
+       "nstab-main": "页",
        "nstab-user": "用户页面",
        "nstab-media": "媒體頁",
        "nstab-special": "特別页",
        "notloggedin": "弗曾登录",
        "userlogin-noaccount": "呒不账号?",
        "userlogin-joinproject": "加进{{SITENAME}}",
-       "nologin": "你侬还呒有账号?'''$1'''。",
+       "nologin": "还呒不账号?$1。",
        "nologinlink": "建新账号",
        "createaccount": "建账号",
        "gotaccount": "已经有仔帐号哉? '''$1'''。",
        "histlegend": "选择比较版本:标记要比较个两只版本,回车或者揿页面底里个揿钮。<br /> 图例:(当前) = 搭当前版本有啥两样, (上个) = 搭上个版本有啥两样,小 = 小改动。",
        "history-fieldset-title": "浏览页史",
        "history-show-deleted": "只准删脱个",
-       "histfirst": "最老",
-       "histlast": "最新",
+       "histfirst": "顶早",
+       "histlast": "顶晏",
        "historysize": "($1字节)",
        "historyempty": "(空)",
        "history-feed-title": "校订历史",
        "searchresultshead": "搜索",
        "stub-threshold": "短链接格式阈值($1):",
        "stub-threshold-disabled": "停用",
-       "recentchangesdays": "最近更改里向个显示日数:",
+       "recentchangesdays": "“近段辰光个改动”当中显示几日天:",
        "recentchangesdays-max": "最长 $1 日",
        "recentchangescount": "默认显示个编辑数:",
-       "prefs-help-recentchangescount": "箇个包括近段辰光个改动、页面历史以及日志。",
+       "prefs-help-recentchangescount": "迭个包括近段辰光个改动、页面历史搭著日志。",
        "savedprefs": "倷个偏好已经保存哉。",
        "savedrights": "{{GENDER:$1|$1}}个用户权限已经畀保存。",
        "timezonelegend": "时区:",
        "allpagesbadtitle": "畀定个页面标题是非法个,或者具有一个内部语言或内部 wiki 个前缀。渠作兴包括一个或更多个弗好用于标题个字符。",
        "allpages-bad-ns": "{{SITENAME}}呒不叫\"$1\"个名字空间。",
        "categories": "页面分类",
+       "categoriespagetext": "下底个{{PLURAL:$1|分类包括}}页面或者媒体文件。[[Special:UnusedCategories|未使用分类]]弗勒伊𡍲显示。另见[[Special:WantedCategories|需要个分类]]。",
        "deletedcontributions": "删脱个用户贡献",
        "linksearch": "外部链接搜寻",
        "linksearch-ns": "名字空間:",
        "historywarning": "<strong>警告:</strong>侬要删脱个页面有$1次{{PLURAL:$1|修订}}历史:",
        "confirmdeletetext": "侬即将删除一只页面或图像以及其历史。\n请确定侬要进行此项操作,并且了解其后果,同时侬个行为符合[[{{MediaWiki:Policy-url}}|the policy]]。",
        "actioncomplete": "操作完成哉",
-       "deletedtext": "\"$1\"已经删除。最近删除记录请参见$2。",
+       "deletedtext": "“$1”已经畀删除脱哉。最近删除个记录请参见$2。",
        "dellogpage": "删除记录",
        "dellogpagetext": "下底是最近个删除个列表。",
        "deletionlog": "删除记录",
        "deleteotherreason": "其它/附加理由:",
        "deletereasonotherlist": "别个理由",
        "rollback": "恢复编辑",
-       "rollbacklink": "回退",
+       "rollbacklink": "恢复",
        "rollbacklinkcount": "回退$1届编辑",
        "rollbackfailed": "恢复失败",
        "cantrollback": "弗好恢复编辑;阿末个贡献人是本页唯一个作者。",
        "alreadyrolled": "恢复弗落[[User:$2|$2]]([[User talk:$2|讲张]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])对[[:$1]]个编辑,其他人已经编辑歇或恢复过该个页面。\n\n最后编辑者是[[User:$3|$3]]([[User talk:$3|讲张]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。",
-       "revertpage": "恢复[[Special:Contributions/$2|$2]] ([[User talk:$2|讲张]])个改动;恢复到[[User:$1|$1]]个上一版本",
+       "revertpage": "恢复[[Special:Contributions/$2|$2]]([[User talk:$2|讲张]])个改动到[[User:$1|$1]]个阿末只版本",
        "protectlogpage": "保护日志",
        "protectedarticle": "保护“[[$1]]”",
        "modifiedarticleprotection": "“[[$1]]”个保护等级改好哉",
        "contributions": "{{GENDER:$1|用户}}贡献",
        "contributions-title": "$1个贡献",
        "mycontris": "我个贡献",
+       "anoncontribs": "贡献",
        "contribsub2": "{{GENDER:$3|$1}}个贡献($2)",
        "uctop": "(此垡)",
        "month": "从箇月起 (要勿还要早):",
        "autoredircomment": "重定向页面至[[$1]]",
        "autosumm-new": "新页面:“$1”",
        "watchlistedit-normal-title": "编辑监视列表",
+       "watchlistedit-raw-added": "$1个标题已经加进去哉:",
+       "watchlistedit-raw-removed": "$1个标题已经拿脱哉:",
        "watchlisttools-view": "望相关修改",
        "watchlisttools-edit": "查看并编辑关注表",
        "watchlisttools-raw": "编写原始关注表",
index c7aa620..dae4262 100644 (file)
        "databaseerror-query": "查询:$1",
        "databaseerror-function": "函数:$1",
        "databaseerror-error": "错误:$1",
-       "transaction-duration-limit-exceeded": "因为写入时间($1)超过了$2的限制,为防止创建大量复制延迟,此次处理已被中止。如果您正在同时更改很多项目,请尝试进行多次小规模操作。",
+       "transaction-duration-limit-exceeded": "因为写入时间($1)超过了$2{{PLURAL:$2|秒}}的限制,为防止创建大量复制延迟,此次处理已被中止。如果您正在同时更改很多项目,请尝试进行多次小规模操作。",
        "laggedslavemode": "'''警告:'''页面中可能没有包含最近的更新。",
        "readonly": "数据库被锁定",
        "enterlockreason": "请输入锁定的原因,这包括预计解除锁定的时间",
        "protect_expiry_old": "终止时间已过去。",
        "protect-unchain-permissions": "解锁更多保护选项",
        "protect-text": "您可以在这里浏览和修改对页面<strong>$1</strong>的保护级别。",
-       "protect-locked-blocked": "您不能在被封禁时更改保护级别。以下是页面'''$1'''的当前设置:",
-       "protect-locked-dblock": "您不能在数据库锁定时更改保护级别。以下是页面'''$1'''的当前设置:",
-       "protect-locked-access": "您的帐户没有足够的权限去更改保护级别。以下是页面'''$1'''的当前设置:",
+       "protect-locked-blocked": "您不能在被封禁时更改保护级别。以下是页面<strong>$1</strong>的当前设置:",
+       "protect-locked-dblock": "您不能在数据库锁定时更改保护级别。以下是页面<strong>$1</strong>的当前设置:",
+       "protect-locked-access": "您的帐户没有足够的权限去更改保护级别。以下是页面<strong>$1</strong>的当前设置:",
        "protect-cascadeon": "此页面目前受到保护,因为它被嵌入了以下启用连锁保护的{{PLURAL:$1|页面}}。更改该页面的保护级别不会影响连锁保护。",
        "protect-default": "允许所有用户",
        "protect-fallback": "仅允许拥有“$1”权限的用户",
        "tags-deactivate": "取消激活",
        "tags-hitcount": "$1个更改",
        "tags-manage-no-permission": "您没有权限管理更改标签。",
+       "tags-manage-blocked": "您不能在被封禁的情况下管理更改标签。",
        "tags-create-heading": "创建一个新标签",
        "tags-create-explanation": "默认情况下,新创建的标签将可供用户和机器人使用。",
        "tags-create-tag-name": "标签名称:",
        "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”不被允许移除。",
diff --git a/maintenance/findDeprecated.php b/maintenance/findDeprecated.php
new file mode 100644 (file)
index 0000000..cbb1d5b
--- /dev/null
@@ -0,0 +1,199 @@
+<?php
+/**
+ * Maintenance script that recursively scans MediaWiki's PHP source tree
+ * for deprecated functions and methods and pretty-prints the results.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Maintenance
+ */
+
+require_once __DIR__ . '/Maintenance.php';
+require_once __DIR__ . '/../vendor/autoload.php';
+
+/**
+ * A PHPParser node visitor that associates each node with its file name.
+ */
+class FileAwareNodeVisitor extends PhpParser\NodeVisitorAbstract {
+       private $currentFile = null;
+
+       public function enterNode( PhpParser\Node $node ) {
+               $retVal = parent::enterNode( $node );
+               $node->filename = $this->currentFile;
+               return $retVal;
+       }
+
+       public function setCurrentFile( $filename ) {
+               $this->currentFile = $filename;
+       }
+
+       public function getCurrentFile() {
+               return $this->currentFile;
+       }
+}
+
+/**
+ * A PHPParser node visitor that finds deprecated functions and methods.
+ */
+class DeprecatedInterfaceFinder extends FileAwareNodeVisitor {
+
+       private $currentClass = null;
+
+       private $foundNodes = array();
+
+       public function getFoundNodes() {
+               // Sort results by version, then by filename, then by name.
+               foreach ( $this->foundNodes as $version => &$nodes ) {
+                       uasort( $nodes, function ( $a, $b ) {
+                               return ( $a['filename'] . $a['name'] ) < ( $b['filename'] . $b['name'] ) ? -1 : 1;
+                       } );
+               }
+               ksort( $this->foundNodes );
+               return $this->foundNodes;
+       }
+
+       /**
+        * Check whether a function or method includes a call to wfDeprecated(),
+        * indicating that it is a hard-deprecated interface.
+        */
+       public function isHardDeprecated( PhpParser\Node $node ) {
+               foreach ( $node->stmts as $stmt ) {
+                       if (
+                               $stmt instanceof PhpParser\Node\Expr\FuncCall
+                               && $stmt->name->toString() === 'wfDeprecated'
+                       ) {
+                               return true;
+                       }
+                       return false;
+               }
+       }
+
+       public function enterNode( PhpParser\Node $node ) {
+               $retVal = parent::enterNode( $node );
+
+               if ( $node instanceof PhpParser\Node\Stmt\ClassLike ) {
+                       $this->currentClass = $node->name;
+               }
+
+               if ( $node instanceof PhpParser\Node\FunctionLike ) {
+                       $docComment = $node->getDocComment();
+                       if ( !$docComment ) {
+                               return;
+                       }
+                       if ( !preg_match( '/@deprecated.*(\d+\.\d+)/', $docComment->getText(), $matches ) ) {
+                               return;
+                       }
+                       $version = $matches[1];
+
+                       if ( $node instanceof PhpParser\Node\Stmt\ClassMethod ) {
+                               $name = $this->currentClass . '::' . $node->name;
+                       } else {
+                               $name = $node->name;
+                       }
+
+                       $this->foundNodes[ $version ][] = array(
+                               'filename' => $node->filename,
+                               'line'     => $node->getLine(),
+                               'name'     => $name,
+                               'hard'     => $this->isHardDeprecated( $node ),
+                       );
+               }
+
+               return $retVal;
+       }
+}
+
+
+/**
+ * Maintenance task that recursively scans MediaWiki PHP files for deprecated
+ * functions and interfaces and produces a report.
+ */
+class FindDeprecated extends Maintenance {
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = 'Find deprecated interfaces';
+       }
+
+       public function getFiles() {
+               global $IP;
+
+               $files = new RecursiveDirectoryIterator( $IP . '/includes' );
+               $files = new RecursiveIteratorIterator( $files );
+               $files = new RegexIterator( $files, '/\.php$/' );
+               return iterator_to_array( $files, false );
+       }
+
+       public function execute() {
+               global $IP;
+
+               $files = $this->getFiles();
+               $chunkSize = ceil( count( $files ) / 72 );
+
+               $parser = new PhpParser\Parser( new PhpParser\Lexer\Emulative );
+               $traverser = new PhpParser\NodeTraverser;
+               $finder = new DeprecatedInterfaceFinder;
+               $traverser->addVisitor( $finder );
+
+               $fileCount = count( $files );
+
+               for ( $i = 0; $i < $fileCount; $i++ ) {
+                       $file = $files[$i];
+                       $code = file_get_contents( $file );
+
+                       if ( strpos( $code, '@deprecated' ) === -1 ) {
+                               continue;
+                       }
+
+                       $finder->setCurrentFile( substr( $file->getPathname(), strlen( $IP ) + 1 ) );
+                       $nodes = $parser->parse( $code, array( 'throwOnError' => false ) );
+                       $traverser->traverse( $nodes );
+
+                       if ( $i % $chunkSize === 0 ) {
+                               $percentDone = 100 * $i / $fileCount;
+                               fprintf( STDERR, "\r[%-72s] %d%%", str_repeat( '#', $i / $chunkSize ), $percentDone );
+                       }
+               }
+
+               fprintf( STDERR, "\r[%'#-72s] 100%%\n", '' );
+
+               // Colorize output if STDOUT is an interactive terminal.
+               if ( posix_isatty( STDOUT ) ) {
+                       $versionFmt = "\n* Deprecated since \033[37;1m%s\033[0m:\n";
+                       $entryFmt = "  %s \033[33;1m%s\033[0m (%s:%d)\n";
+               } else {
+                       $versionFmt = "\n* Deprecated since %s:\n";
+                       $entryFmt = "  %s %s (%s:%d)\n";
+               }
+
+               foreach ( $finder->getFoundNodes() as $version => $nodes ) {
+                       printf( $versionFmt, $version );
+                       foreach ( $nodes as $node ) {
+                               printf(
+                                       $entryFmt,
+                                       $node['hard'] ? '+' : '-',
+                                       $node['name'],
+                                       $node['filename'],
+                                       $node['line']
+                               );
+                       }
+               }
+               printf( "\nlegend:\n -: soft-deprecated\n +: hard-deprecated (via wfDeprecated())\n" );
+       }
+}
+
+$maintClass = 'FindDeprecated';
+require_once RUN_MAINTENANCE_IF_MAIN;
index 719eacb..01d9a43 100644 (file)
                                                                if ( $result.get( 0 ) !== $other.get( 0 ) ) {
                                                                        return;
                                                                }
-                                                               // Do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click).
+                                                               // Don't interfere with special clicks (e.g. to open in new tab)
                                                                if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
                                                                        $.suggestions.highlight( context, $result, true );
                                                                        if ( typeof context.config.result.select === 'function' ) {
                                                                if ( $special.get( 0 ) !== $other.get( 0 ) ) {
                                                                        return;
                                                                }
-                                                               // Do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click).
+                                                               // Don't interfere with special clicks (e.g. to open in new tab)
                                                                if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
                                                                        if ( typeof context.config.special.select === 'function' ) {
                                                                                context.config.special.select.call( $special, context.data.$textbox );
index bebda10..f90f859 100644 (file)
@@ -4,7 +4,7 @@
 ( function ( mw, $ ) {
        $( function () {
                var $preftoc, $preferences, $fieldsets,
-                       hash, labelFunc,
+                       labelFunc,
                        $tzSelect, $tzTextbox, $localtimeHolder, servertime,
                        allowCloseWindow, notif;
 
                        }
                } );
 
-               // If we've reloaded the page or followed an open-in-new-window,
-               // make the selected tab visible.
-               hash = location.hash;
-               if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
-                       switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
+               // Jump to correct section as indicated by the hash.
+               // This function is called onload and onhashchange.
+               function detectHash() {
+                       var hash = location.hash,
+                               matchedElement, parentSection;
+                       if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
+                               switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
+                       } else if ( hash.match( /^#mw-[\w\-]+/ ) ) {
+                               matchedElement = document.getElementById( hash.slice( 1 ) );
+                               parentSection = $( matchedElement ).closest( '.prefsection' );
+                               if ( parentSection.length ) {
+                                       // Switch to proper tab and scroll to selected item.
+                                       switchPrefTab( parentSection.attr( 'id' ).replace( 'mw-prefsection-', '' ), 'noHash' );
+                                       matchedElement.scrollIntoView();
+                               }
+                       }
                }
 
                // In browsers that support the onhashchange event we will not bind click
                // handlers and instead let the browser do the default behavior (clicking the
                // <a href="#.."> will naturally set the hash, handled by onhashchange.
-               // But other things that change the hash will also be catched (e.g. using
+               // But other things that change the hash will also be caught (e.g. using
                // the Back and Forward browser navigation).
                // Note the special check for IE "compatibility" mode.
                if ( 'onhashchange' in window &&
                ) {
                        $( window ).on( 'hashchange', function () {
                                var hash = location.hash;
-                               if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
-                                       switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
+                               if ( hash.match( /^#mw-[\w\-]+/ ) ) {
+                                       detectHash();
                                } else if ( hash === '' ) {
                                        switchPrefTab( 'personal', 'noHash' );
                                }
-                       } );
+                       } )
+                       // Run the function immediately to select the proper tab on startup.
+                       .trigger( 'hashchange' );
                // In older browsers we'll bind a click handler as fallback.
-               // We must not have onhashchange *and* the click handlers, other wise
+               // We must not have onhashchange *and* the click handlers, otherwise
                // the click handler calls switchPrefTab() which sets the hash value,
-               // which triggers onhashcange and calls switchPrefTab() again.
+               // which triggers onhashchange and calls switchPrefTab() again.
                } else {
                        $preftoc.on( 'click', 'li a', function ( e ) {
                                switchPrefTab( $( this ).attr( 'href' ).replace( '#mw-prefsection-', '' ) );
                                e.preventDefault();
                        } );
+                       // If we've reloaded the page or followed an open-in-new-window,
+                       // make the selected tab visible.
+                       detectHash();
                }
 
                // Timezone functions.
index 46960f5..84533aa 100644 (file)
@@ -53,7 +53,7 @@
 
                // Allow opening the link in new tab, but not regular navigation.
                this.$label.on( 'click', function ( e ) {
-                       // Do not interfere with non-left clicks or if modifier keys are pressed (e.g. ctrl-click).
+                       // Don't interfere with special clicks (e.g. to open in new tab)
                        if ( !( e.which !== 1 || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey ) ) {
                                e.preventDefault();
                        }
index 60c9991..43c3c8e 100644 (file)
@@ -52,7 +52,7 @@
         * {@link #createUpload createUpload} method to
         * return the new model. The {@link #saveFile saveFile}, and
         * the {@link #uploadFile uploadFile} methods need to be
-        * overriden to use the new model and data returned from the forms.
+        * overridden to use the new model and data returned from the forms.
         *
         * @class
         * @extends OO.ui.BookletLayout
index 322c579..c25e327 100644 (file)
                        };
                }() ),
 
-               // Skeleton user object. mediawiki.user.js extends this
+               // Skeleton user object, extended by the 'mediawiki.user' module.
+               /**
+                * @class mw.user
+                * @singleton
+                */
                user: {
+                       /**
+                        * @property {mw.Map}
+                        */
                        options: new Map(),
+                       /**
+                        * @property {mw.Map}
+                        */
                        tokens: new Map()
                },
 
index 4cec813..7b45248 100644 (file)
                 * @return {string} Url of the page with name of `str`
                 */
                getUrl: function ( str, params ) {
-                       var url = mw.config.get( 'wgArticlePath' ).replace(
-                               '$1',
-                               util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) )
-                       );
+                       var titleFragmentStart,
+                               url,
+                               fragment = '',
+                               pageName = util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) );
+
+                       // Find any fragment should one exist
+                       if ( typeof str === 'string' ) {
+                               titleFragmentStart = pageName.indexOf( '%23' );
+                               if ( titleFragmentStart !== -1 ) {
+                                       fragment = pageName.slice( titleFragmentStart + 3 );
+                                       // Exclude the fragment from the page name
+                                       pageName = pageName.slice( 0, titleFragmentStart );
+                               }
+                       }
 
+                       url = mw.config.get( 'wgArticlePath' ).replace( '$1', pageName );
+
+                       // Add query string if necessary
                        if ( params && !$.isEmptyObject( params ) ) {
                                url += ( url.indexOf( '?' ) !== -1 ? '&' : '?' ) + $.param( params );
                        }
 
+                       // Insert the already URL-encoded fragment should it exist, replacing % with .
+                       if ( fragment.length > 0 ) {
+                               url += '#' + fragment.replace( /%/g, '.' );
+                       }
+
                        return url;
                },
 
index 76bc36b..cd37e33 100644 (file)
@@ -14,7 +14,7 @@
                 * Fired when wiki content is being added to the DOM
                 *
                 * It is encouraged to fire it before the main DOM is changed (when $content
-                * is still detatched).  However, this order is not defined either way, so you
+                * is still detached).  However, this order is not defined either way, so you
                 * should only rely on $content itself.
                 *
                 * This includes the ready event on a page load (including post-edit loads)
diff --git a/tests/phpunit/structure/ApiDocumentationTest.php b/tests/phpunit/structure/ApiDocumentationTest.php
new file mode 100644 (file)
index 0000000..d2f96dc
--- /dev/null
@@ -0,0 +1,177 @@
+<?php
+
+/**
+ * Checks that all API modules, core and extensions, have documentation i18n messages
+ *
+ * It won't catch everything since i18n messages can vary based on the wiki
+ * configuration, but it should catch many cases for forgotten i18n.
+ *
+ * @group API
+ */
+class ApiDocumentationTest extends MediaWikiTestCase {
+
+       /** @var ApiMain */
+       private static $main;
+
+       /** @var array Sets of globals to test. Each array element is input to HashConfig */
+       private static $testGlobals = array(
+               array(
+                       'MiserMode' => false,
+                       'AllowCategorizedRecentChanges' => false,
+               ),
+               array(
+                       'MiserMode' => true,
+                       'AllowCategorizedRecentChanges' => true,
+               ),
+       );
+
+       /**
+        * Initialize/fetch the ApiMain instance for testing
+        * @return ApiMain
+        */
+       private static function getMain() {
+               if ( !self::$main ) {
+                       self::$main = new ApiMain( RequestContext::getMain() );
+                       self::$main->getContext()->setLanguage( 'en' );
+               }
+               return self::$main;
+       }
+
+       /**
+        * Test a message
+        * @param Message $msg
+        * @param string $what Which message is being checked
+        */
+       private function checkMessage( $msg, $what ) {
+               $msg = ApiBase::makeMessage( $msg, self::getMain()->getContext() );
+               $this->assertInstanceOf( 'Message', $msg, "$what message" );
+               $this->assertTrue( $msg->exists(), "$what message {$msg->getKey()} exists" );
+       }
+
+       /**
+        * @dataProvider provideDocumentationExists
+        * @param string $path Module path
+        * @param array $globals Globals to set
+        */
+       public function testDocumentationExists( $path, array $globals ) {
+               $main = self::getMain();
+
+               // Set configuration variables
+               $main->getContext()->setConfig( new MultiConfig( array(
+                       new HashConfig( $globals ),
+                       RequestContext::getMain()->getConfig(),
+               ) ) );
+               foreach ( $globals as $k => $v ) {
+                       $this->setMWGlobals( "wg$k", $v );
+               }
+
+               // Fetch module.
+               $module = TestingAccessWrapper::newFromObject( $main->getModuleFromPath( $path ) );
+
+               // Test messages for flags.
+               foreach ( $module->getHelpFlags() as $flag ) {
+                       $this->checkMessage( "api-help-flag-$flag", "Flag $flag" );
+               }
+
+               // Module description messages.
+               $this->checkMessage( $module->getDescriptionMessage(), 'Module description' );
+
+               // Parameters. Lots of messages in here.
+               $params = $module->getFinalParams( ApiBase::GET_VALUES_FOR_HELP );
+               $tags = array();
+               foreach ( $params as $name => $settings ) {
+                       if ( !is_array( $settings ) ) {
+                               $settings = array();
+                       }
+
+                       // Basic description message
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG] ) ) {
+                               $msg = $settings[ApiBase::PARAM_HELP_MSG];
+                       } else {
+                               $msg = "apihelp-{$path}-param-{$name}";
+                       }
+                       $this->checkMessage( $msg, "Parameter $name description" );
+
+                       // If param-per-value is in use, each value's message
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE] ) ) {
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE],
+                                       "Parameter $name PARAM_HELP_MSG_PER_VALUE is array" );
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_TYPE],
+                                       "Parameter $name PARAM_TYPE is array for msg-per-value mode" );
+                               $valueMsgs = $settings[ApiBase::PARAM_HELP_MSG_PER_VALUE];
+                               foreach ( $settings[ApiBase::PARAM_TYPE] as $value ) {
+                                       if ( isset( $valueMsgs[$value] ) ) {
+                                               $msg = $valueMsgs[$value];
+                                       } else {
+                                               $msg = "apihelp-{$path}-paramvalue-{$name}-{$value}";
+                                       }
+                                       $this->checkMessage( $msg, "Parameter $name value $value" );
+                               }
+                       }
+
+                       // Appended messages (e.g. "disabled in miser mode")
+                       if ( isset( $settings[ApiBase::PARAM_HELP_MSG_APPEND] ) ) {
+                               $this->assertInternalType( 'array', $settings[ApiBase::PARAM_HELP_MSG_APPEND],
+                                       "Parameter $name PARAM_HELP_MSG_APPEND is array" );
+                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_APPEND] as $i => $msg ) {
+                                       $this->checkMessage( $msg, "Parameter $name HELP_MSG_APPEND #$i" );
+                               }
+                       }
+
+                       // Info tags (e.g. "only usable in mode 1") are typically shared by
+                       // several parameters, so accumulate them and test them later.
+                       if ( !empty( $settings[ApiBase::PARAM_HELP_MSG_INFO] ) ) {
+                               foreach ( $settings[ApiBase::PARAM_HELP_MSG_INFO] as $i ) {
+                                       $tags[array_shift( $i )] = 1;
+                               }
+                       }
+               }
+
+               // Info tags (e.g. "only usable in mode 1") accumulated above
+               foreach ( $tags as $tag => $dummy ) {
+                       $this->checkMessage( "apihelp-{$path}-paraminfo-{$tag}", "HELP_MSG_INFO tag $tag" );
+               }
+
+               // Messages for examples.
+               foreach ( $module->getExamplesMessages() as $qs => $msg ) {
+                       $this->checkMessage( $msg, "Example $qs" );
+               }
+       }
+
+       public static function provideDocumentationExists() {
+               $main = self::getMain();
+               $paths = self::getSubModulePaths( $main->getModuleManager() );
+               array_unshift( $paths, $main->getModulePath() );
+
+               $ret = array();
+               foreach ( $paths as $path ) {
+                       foreach ( self::$testGlobals as $globals ) {
+                               $g = array();
+                               foreach ( $globals as $k => $v ) {
+                                       $g[] = "$k=" . var_export( $v, 1 );
+                               }
+                               $k = "Module $path with " . join( ', ', $g );
+                               $ret[$k] = array( $path, $globals );
+                       }
+               }
+               return $ret;
+       }
+
+       /**
+        * Return paths of all submodules in an ApiModuleManager, recursively
+        * @param ApiModuleManager $manager
+        * @return string[]
+        */
+       protected static function getSubModulePaths( ApiModuleManager $manager ) {
+               $paths = array();
+               foreach ( $manager->getNames() as $name ) {
+                       $module = $manager->getModule( $name );
+                       $paths[] = $module->getModulePath();
+                       $subManager = $module->getModuleManager();
+                       if ( $subManager ) {
+                               $paths = array_merge( $paths, self::getSubModulePaths( $subManager ) );
+                       }
+               }
+               return $paths;
+       }
+}
index d40c00a..75dd8cd 100644 (file)
                } );
        } );
 
-       QUnit.test( 'getUrl', 5, function ( assert ) {
+       QUnit.test( 'getUrl', 8, function ( assert ) {
                // Not part of startUp module
                mw.config.set( 'wgArticlePath', '/wiki/$1' );
                mw.config.set( 'wgPageName', 'Foobar' );
 
                href = mw.util.getUrl( 'Sandbox', { action: 'edit' } );
                assert.equal( href, '/wiki/Sandbox?action=edit', 'simple title with query string' );
+
+               // Test fragments
+               href = mw.util.getUrl( 'Foo:Sandbox#Fragment', { action: 'edit' } );
+               assert.equal( href, '/wiki/Foo:Sandbox?action=edit#Fragment', 'advanced title with query string and fragment' );
+
+               href = mw.util.getUrl( 'Foo:Sandbox \xC4#Fragment \xC4', { action: 'edit' } );
+               assert.equal( href, '/wiki/Foo:Sandbox_%C3%84?action=edit#Fragment_.C3.84', 'title with query string, fragment, and special characters' );
+
+               href = mw.util.getUrl( 'Foo:%23#Fragment', { action: 'edit' } );
+               assert.equal( href, '/wiki/Foo:%2523?action=edit#Fragment', 'title containing %23 (#), fragment, and a query string' );
        } );
 
        QUnit.test( 'wikiScript', 4, function ( assert ) {