Merge "Document mw.user.options and mw.user.tokens properties"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 19 Dec 2015 18:07:23 +0000 (18:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 19 Dec 2015 18:07:23 +0000 (18:07 +0000)
170 files changed:
Gemfile
Gemfile.lock
RELEASE-NOTES-1.27
autoload.php
composer.json
docs/hooks.txt
includes/DefaultSettings.php
includes/Html.php
includes/HttpFunctions.php
includes/Import.php
includes/MediaWiki.php
includes/MovePage.php
includes/OutputPage.php
includes/Preferences.php
includes/Sanitizer.php
includes/api/ApiLogin.php
includes/api/ApiOptions.php
includes/api/ApiRollback.php
includes/api/ApiStashEdit.php
includes/api/i18n/de.json
includes/api/i18n/el.json
includes/api/i18n/en.json
includes/api/i18n/fa.json
includes/api/i18n/he.json
includes/api/i18n/nap.json
includes/api/i18n/qqq.json
includes/api/i18n/zh-hans.json
includes/cache/LocalisationCache.php
includes/db/DatabaseMysqlBase.php
includes/diff/DifferenceEngine.php
includes/installer/Installer.php
includes/installer/MysqlInstaller.php
includes/installer/i18n/el.json
includes/installer/i18n/fa.json
includes/installer/i18n/ka.json
includes/jobqueue/JobRunner.php
includes/jobqueue/aggregator/JobQueueAggregatorRedis.php
includes/libs/MultiHttpClient.php
includes/mail/EmailNotification.php
includes/page/WikiPage.php
includes/parser/Preprocessor_Hash.php
includes/password/PasswordFactory.php
includes/resourceloader/ResourceLoaderImageModule.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/revisiondelete/RevDelRevisionItem.php
includes/revisiondelete/RevDelRevisionList.php
includes/skins/SkinTemplate.php
includes/specialpage/RedirectSpecialPage.php
includes/specials/SpecialMyLanguage.php
includes/specials/SpecialMyRedirectPages.php
includes/specials/SpecialPreferences.php
includes/specials/SpecialWantedtemplates.php
includes/specials/SpecialWatchlist.php
includes/user/User.php
includes/utils/IP.php
languages/Language.php
languages/i18n/ar.json
languages/i18n/ast.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bo.json
languages/i18n/bs.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/cu.json
languages/i18n/cv.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/grc.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hr.json
languages/i18n/hsb.json
languages/i18n/hy.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/ka.json
languages/i18n/kiu.json
languages/i18n/kk-cyrl.json
languages/i18n/ko.json
languages/i18n/ksh.json
languages/i18n/ku-latn.json
languages/i18n/la.json
languages/i18n/lb.json
languages/i18n/lt.json
languages/i18n/mk.json
languages/i18n/nap.json
languages/i18n/nl.json
languages/i18n/pa.json
languages/i18n/pl.json
languages/i18n/ps.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/qu.json
languages/i18n/ru.json
languages/i18n/si.json
languages/i18n/sl.json
languages/i18n/so.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/vep.json
languages/i18n/wuu.json
languages/i18n/zh-hans.json
languages/messages/MessagesHt.php
maintenance/importDump.php
resources/Resources.php
resources/src/jquery/jquery.suggestions.js
resources/src/mediawiki.action/mediawiki.action.view.redirect.js
resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css
resources/src/mediawiki.legacy/oldshared.css
resources/src/mediawiki.legacy/wikibits.js
resources/src/mediawiki.less/mediawiki.mixins.less
resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js
resources/src/mediawiki.skinning/content.css
resources/src/mediawiki.skinning/content.externallinks.css
resources/src/mediawiki.special/mediawiki.special.changeslist.visitedstatus.js [new file with mode: 0644]
resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js
resources/src/mediawiki/api/user.js [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/ccbysa.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/ccbysa.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/noderiv.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/noderiv.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/ownwork.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/ownwork.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/useful.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option2/useful.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/camera.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/camera.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/graphics.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/graphics.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/guide.html [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/search-ltr.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/search-ltr.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/search-rtl.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/search-rtl.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/website-ltr.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/website-ltr.svg [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/website-rtl.png [new file with mode: 0644]
resources/src/mediawiki/bookletlayout/option4/website-rtl.svg [new file with mode: 0644]
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.css [deleted file]
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.less [new file with mode: 0644]
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.js
resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
resources/src/mediawiki/mediawiki.Upload.js
resources/src/mediawiki/mediawiki.feedlink.css
resources/src/mediawiki/mediawiki.htmlform.css
resources/src/mediawiki/mediawiki.searchSuggest.js
resources/src/mediawiki/mediawiki.user.js
resources/src/mediawiki/page/startup.js
resources/src/mediawiki/page/watch.js
tests/browser/environments.yml
tests/browser/features/support/env.rb
tests/parser/parserTests.txt
tests/phpunit/includes/api/ApiOptionsTest.php
tests/phpunit/includes/utils/IPTest.php
tests/phpunit/structure/ApiDocumentationTest.php [new file with mode: 0644]

diff --git a/Gemfile b/Gemfile
index 392558c..ee09906 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,4 @@
-# ruby=ruby-2.1.2
-# ruby-gemset=core
-
 source 'https://rubygems.org'
 
-gem 'mediawiki_selenium', '~> 1.2.1'
-gem 'rubocop', require: false
+gem 'mediawiki_selenium', '~> 1.6.3'
+gem 'rubocop', '~> 0.32.1', require: false
index 3a695ef..4d0203a 100644 (file)
@@ -5,7 +5,7 @@ GEM
     astrolabe (1.3.0)
       parser (>= 2.2.0.pre.3, < 3.0)
     builder (3.2.2)
-    childprocess (0.5.6)
+    childprocess (0.5.8)
       ffi (~> 1.0, >= 1.0.11)
     cucumber (1.3.20)
       builder (>= 2.1.2)
@@ -13,15 +13,15 @@ GEM
       gherkin (~> 2.12)
       multi_json (>= 1.7.5, < 2.0)
       multi_test (>= 0.1.2)
-    data_magic (0.21)
+    data_magic (0.22)
       faker (>= 1.1.2)
-      yml_reader (>= 0.4)
+      yml_reader (>= 0.6)
     diff-lcs (1.2.5)
-    domain_name (0.5.24)
+    domain_name (0.5.25)
       unf (>= 0.0.5, < 1.0.0)
-    faker (1.4.3)
+    faker (1.6.1)
       i18n (~> 0.5)
-    faraday (0.9.1)
+    faraday (0.9.2)
       multipart-post (>= 1.2, < 3)
     faraday-cookie_jar (0.0.6)
       faraday (>= 0.7.4)
@@ -29,29 +29,30 @@ GEM
     ffi (1.9.10)
     gherkin (2.12.2)
       multi_json (~> 1.3)
-    headless (1.0.2)
+    headless (2.2.0)
     http-cookie (1.0.2)
       domain_name (~> 0.5)
     i18n (0.7.0)
     json (1.8.3)
-    mediawiki_api (0.4.1)
+    mediawiki_api (0.5.0)
       faraday (~> 0.9, >= 0.9.0)
       faraday-cookie_jar (~> 0.0, >= 0.0.6)
-    mediawiki_selenium (1.2.1)
-      cucumber (~> 1.3, >= 1.3.10)
-      headless (~> 1.0, >= 1.0.1)
+    mediawiki_selenium (1.6.3)
+      cucumber (~> 1.3, >= 1.3.20)
+      headless (~> 2.0, >= 2.1.0)
       json (~> 1.8, >= 1.8.1)
-      mediawiki_api (~> 0.2, >= 0.2.1)
+      mediawiki_api (~> 0.5, >= 0.5.0)
       page-object (~> 1.0)
       rest-client (~> 1.6, >= 1.6.7)
+      rspec-core (~> 2.14, >= 2.14.4)
       rspec-expectations (~> 2.14, >= 2.14.4)
       syntax (~> 1.2, >= 1.2.0)
       thor (~> 0.19, >= 0.19.1)
-    mime-types (2.6.1)
+    mime-types (2.99)
     multi_json (1.11.2)
     multi_test (0.1.2)
     multipart-post (2.0.0)
-    netrc (0.10.3)
+    netrc (0.11.0)
     page-object (1.1.0)
       page_navigation (>= 0.9)
       selenium-webdriver (>= 2.44.0)
@@ -66,6 +67,7 @@ GEM
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 3.0)
       netrc (~> 0.7)
+    rspec-core (2.99.2)
     rspec-expectations (2.99.2)
       diff-lcs (>= 1.1.3, < 2.0)
     rubocop (0.32.1)
@@ -76,7 +78,7 @@ GEM
       ruby-progressbar (~> 1.4)
     ruby-progressbar (1.7.5)
     rubyzip (1.1.7)
-    selenium-webdriver (2.46.2)
+    selenium-webdriver (2.48.1)
       childprocess (~> 0.5)
       multi_json (~> 1.0)
       rubyzip (~> 1.0)
@@ -86,17 +88,14 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.1)
-    watir-webdriver (0.8.0)
+    watir-webdriver (0.9.1)
       selenium-webdriver (>= 2.46.2)
     websocket (1.2.2)
-    yml_reader (0.5)
+    yml_reader (0.6)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  mediawiki_selenium (~> 1.2.1)
-  rubocop
-
-BUNDLED WITH
-   1.10.5
+  mediawiki_selenium (~> 1.6.3)
+  rubocop (~> 0.32.1)
index 1d6d404..cc78a8a 100644 (file)
@@ -130,6 +130,9 @@ production.
   the text before diffing it.
 * Deprecated formats dbg, txt, and yaml have been removed.
 * (T47988) The protect log event details now use new-style formatting.
+* The following response properties from action=login are deprecated, and may
+  be removed in the future: lgtoken, cookieprefix, sessionid. Clients should
+  handle cookies to properly manage session state.
 
 === Action API internal changes in 1.27 ===
 * ApiQueryORM removed.
@@ -182,6 +185,8 @@ changes to languages because of Phabricator reports.
 * wfIsTrustedProxy() was removed (deprecated since 1.24).
 * wfGetIP() was removed (deprecated since 1.19).
 * MWHookException was removed.
+* OutputPage::appendSubtitle() was removed (deprecated since 1.19).
+* OutputPage::loginToUse() was removed (deprecated since 1.19).
 
 == Compatibility ==
 
index dea31ab..0f334e8 100644 (file)
@@ -740,6 +740,7 @@ $wgAutoloadLocalClasses = array(
        'MailAddress' => __DIR__ . '/includes/mail/MailAddress.php',
        'Maintenance' => __DIR__ . '/maintenance/Maintenance.php',
        'MaintenanceFormatInstallDoc' => __DIR__ . '/maintenance/formatInstallDoc.php',
+       'MakeTestEdits' => __DIR__ . '/maintenance/makeTestEdits.php',
        'MalformedTitleException' => __DIR__ . '/includes/title/MalformedTitleException.php',
        'ManualLogEntry' => __DIR__ . '/includes/logging/LogEntry.php',
        'MapCacheLRU' => __DIR__ . '/includes/libs/MapCacheLRU.php',
index e0cece5..b4878c9 100644 (file)
@@ -17,7 +17,7 @@
        },
        "require": {
                "composer/semver": "1.2.0",
-               "cssjanus/cssjanus": "1.1.1",
+               "cssjanus/cssjanus": "1.1.2",
                "ext-iconv": "*",
                "liuggio/statsd-php-client": "1.0.18",
                "mediawiki/at-ease": "1.1.0",
index 0cb4756..6afeab8 100644 (file)
@@ -3040,6 +3040,7 @@ $user: user who does the move
 $pageid: database ID of the page that's been moved
 $redirid: database ID of the created redirect
 $reason: reason for the move
+$revision: the revision created by the move
 
 'TitleMoveCompleting': After moving an article (title), pre-commit.
 $old: old title
index 1642c09..54216fd 100644 (file)
@@ -535,6 +535,12 @@ $wgUseInstantCommons = false;
  */
 $wgForeignUploadTargets = array();
 
+/**
+ * Cross-wiki upload A/B test configuration.
+ */
+$wgForeignUploadTestEnabled = false;
+$wgForeignUploadTestDefault = 1;
+
 /**
  * File backend structure configuration.
  *
@@ -4748,6 +4754,12 @@ $wgWhitelistReadRegexp = false;
  */
 $wgEmailConfirmToEdit = false;
 
+/**
+ * Should MediaWiki attempt to protect user's privacy when doing redirects?
+ * Keep this true if access counts to articles are made public.
+ */
+$wgHideIdentifiableRedirects = true;
+
 /**
  * Permission keys given to users in each group.
  *
@@ -5521,12 +5533,15 @@ $wgDebugDumpSql = false;
  * @since 1.26
  */
 $wgTrxProfilerLimits = array(
-       // Basic GET and POST requests
+       // HTTP GET/HEAD requests.
+       // Master queries should not happen on GET requests
        'GET' => array(
                'masterConns' => 0,
                'writes' => 0,
                'readQueryTime' => 5
        ),
+       // HTTP POST requests.
+       // Master reads and writes will happen for a subset of these.
        'POST' => array(
                'readQueryTime' => 5,
                'writeQueryTime' => 1,
index b7958dd..5f91dac 100644 (file)
@@ -359,8 +359,6 @@ class Html {
                        'keygen' => array( 'keytype' => 'rsa' ),
                        'link' => array( 'media' => 'all' ),
                        'menu' => array( 'type' => 'list' ),
-                       // Note: the use of text/javascript here instead of other JavaScript
-                       // MIME types follows the HTML5 spec.
                        'script' => array( 'type' => 'text/javascript' ),
                        'style' => array(
                                'media' => 'all',
@@ -674,7 +672,6 @@ class Html {
                }
 
                return self::rawElement( 'style', array(
-                       'type' => 'text/css',
                        'media' => $media,
                ), $contents );
        }
@@ -691,7 +688,6 @@ class Html {
                return self::element( 'link', array(
                        'rel' => 'stylesheet',
                        'href' => $url,
-                       'type' => 'text/css',
                        'media' => $media,
                ) );
        }
index e6801e3..5ede04f 100644 (file)
@@ -782,7 +782,22 @@ class CurlHttpRequest extends MWHttpRequest {
                        $this->curlOptions[CURLOPT_HEADER] = true;
                } elseif ( $this->method == 'POST' ) {
                        $this->curlOptions[CURLOPT_POST] = true;
-                       $this->curlOptions[CURLOPT_POSTFIELDS] = $this->postData;
+                       $postData = $this->postData;
+                       // Don't interpret POST parameters starting with '@' as file uploads, because this
+                       // makes it impossible to POST plain values starting with '@' (and causes security
+                       // issues potentially exposing the contents of local files).
+                       // The PHP manual says this option was introduced in PHP 5.5 defaults to true in PHP 5.6,
+                       // but we support lower versions, and the option doesn't exist in HHVM 5.6.99.
+                       if ( defined( 'CURLOPT_SAFE_UPLOAD' ) ) {
+                               $this->curlOptions[CURLOPT_SAFE_UPLOAD] = true;
+                       } elseif ( is_array( $postData ) ) {
+                               // In PHP 5.2 and later, '@' is interpreted as a file upload if POSTFIELDS
+                               // is an array, but not if it's a string. So convert $req['body'] to a string
+                               // for safety.
+                               $postData = wfArrayToCgi( $postData );
+                       }
+                       $this->curlOptions[CURLOPT_POSTFIELDS] = $postData;
+
                        // Suppress 'Expect: 100-continue' header, as some servers
                        // will reject it with a 417 and Curl won't auto retry
                        // with HTTP 1.0 fallback
index 519f74a..ee1cab5 100644 (file)
@@ -660,14 +660,26 @@ class WikiImporter {
         * @return bool|mixed
         */
        private function processLogItem( $logInfo ) {
+
                $revision = new WikiRevision( $this->config );
 
-               $revision->setID( $logInfo['id'] );
+               if ( isset( $logInfo['id'] ) ) {
+                       $revision->setID( $logInfo['id'] );
+               }
                $revision->setType( $logInfo['type'] );
                $revision->setAction( $logInfo['action'] );
-               $revision->setTimestamp( $logInfo['timestamp'] );
-               $revision->setParams( $logInfo['params'] );
-               $revision->setTitle( Title::newFromText( $logInfo['logtitle'] ) );
+               if ( isset( $logInfo['timestamp'] ) ) {
+                       $revision->setTimestamp( $logInfo['timestamp'] );
+               }
+               if ( isset( $logInfo['params'] ) ) {
+                       $revision->setParams( $logInfo['params'] );
+               }
+               if ( isset( $logInfo['logtitle'] ) ) {
+                       // @todo Using Title for non-local titles is a recipe for disaster.
+                       // We should use ForeignTitle here instead.
+                       $revision->setTitle( Title::newFromText( $logInfo['logtitle'] ) );
+               }
+
                $revision->setNoUpdates( $this->mNoUpdates );
 
                if ( isset( $logInfo['comment'] ) ) {
@@ -677,7 +689,10 @@ class WikiImporter {
                if ( isset( $logInfo['contributor']['ip'] ) ) {
                        $revision->setUserIP( $logInfo['contributor']['ip'] );
                }
-               if ( isset( $logInfo['contributor']['username'] ) ) {
+
+               if ( !isset( $logInfo['contributor']['username'] ) ) {
+                       $revision->setUsername( 'Unknown user' );
+               } else {
                        $revision->setUserName( $logInfo['contributor']['username'] );
                }
 
@@ -1655,6 +1670,16 @@ class WikiRevision {
 
        function importLogItem() {
                $dbw = wfGetDB( DB_MASTER );
+
+               $user = User::newFromName( $this->getUser() );
+               if ( $user ) {
+                       $userId = intval( $user->getId() );
+                       $userText = $user->getName();
+               } else {
+                       $userId = 0;
+                       $userText = $this->getUser();
+               }
+
                # @todo FIXME: This will not record autoblocks
                if ( !$this->getTitle() ) {
                        wfDebug( __METHOD__ . ": skipping invalid {$this->type}/{$this->action} log time, timestamp " .
@@ -1687,8 +1712,8 @@ class WikiRevision {
                        'log_type' => $this->type,
                        'log_action' => $this->action,
                        'log_timestamp' => $dbw->timestamp( $this->timestamp ),
-                       'log_user' => User::idFromName( $this->user_text ),
-                       # 'log_user_text' => $this->user_text,
+                       'log_user' =>  $userId,
+                       'log_user_text' => $userText,
                        'log_namespace' => $this->getTitle()->getNamespace(),
                        'log_title' => $this->getTitle()->getDBkey(),
                        'log_comment' => $this->getComment(),
index bb0f1e4..fcd425d 100644 (file)
@@ -36,6 +36,11 @@ class MediaWiki {
         */
        private $config;
 
+       /**
+        * @var String Cache what action this request is
+        */
+       private $action;
+
        /**
         * @param IContextSource|null $context
         */
@@ -141,13 +146,11 @@ class MediaWiki {
         * @return string Action
         */
        public function getAction() {
-               static $action = null;
-
-               if ( $action === null ) {
-                       $action = Action::getActionName( $this->context );
+               if ( $this->action === null ) {
+                       $this->action = Action::getActionName( $this->context );
                }
 
-               return $action;
+               return $this->action;
        }
 
        /**
@@ -241,8 +244,37 @@ class MediaWiki {
                // Handle any other redirects.
                // Redirect loops, titleless URL, $wgUsePathInfo URLs, and URLs with a variant
                } elseif ( !$this->tryNormaliseRedirect( $title ) ) {
+                       // Prevent information leak via Special:MyPage et al (T109724)
+                       if ( $title->isSpecialPage() ) {
+                               $specialPage = SpecialPageFactory::getPage( $title->getDBKey() );
+                               if ( $specialPage instanceof RedirectSpecialPage
+                                       && $this->config->get( 'HideIdentifiableRedirects' )
+                                       && $specialPage->personallyIdentifiableTarget()
+                               ) {
+                                       list( , $subpage ) = SpecialPageFactory::resolveAlias( $title->getDBKey() );
+                                       $target = $specialPage->getRedirect( $subpage );
+                                       // target can also be true. We let that case fall through to normal processing.
+                                       if ( $target instanceof Title ) {
+                                               $query = $specialPage->getRedirectQuery() ?: array();
+                                               $request = new DerivativeRequest( $this->context->getRequest(), $query );
+                                               $request->setRequestURL( $this->context->getRequest()->getRequestURL() );
+                                               $this->context->setRequest( $request );
+                                               // Do not varnish cache these. May vary even for anons
+                                               $this->context->getOutput()->lowerCdnMaxage( 0 );
+                                               $this->context->setTitle( $target );
+                                               $wgTitle = $target;
+                                               // Reset action type cache. (Special pages have only view)
+                                               $this->action = null;
+                                               $title = $target;
+                                               $output->addJsConfigVars( array(
+                                                       'wgInternalRedirectTargetUrl' => $target->getFullURL( $query ),
+                                               ) );
+                                               $output->addModules( 'mediawiki.action.view.redirect' );
+                                       }
+                               }
+                       }
 
-                       // Special pages
+                       // Special pages ($title may have changed since if statement above)
                        if ( NS_SPECIAL == $title->getNamespace() ) {
                                // Actions that need to be made when we have a special pages
                                SpecialPageFactory::executePath( $title, $this->context );
@@ -618,14 +650,10 @@ class MediaWiki {
                $trxProfiler = Profiler::instance()->getTransactionProfiler();
                $trxProfiler->setLogger( LoggerFactory::getInstance( 'DBPerformance' ) );
 
-               // Aside from rollback, master queries should not happen on GET requests.
-               // Periodic or "in passing" updates on GET should use the job queue.
-               if ( !$request->wasPosted()
-                       && in_array( $action, array( 'view', 'edit', 'history' ) )
-               ) {
-                       $trxProfiler->setExpectations( $wgTrxProfilerLimits['GET'], __METHOD__ );
-               } else {
+               if ( $request->wasPosted() ) {
                        $trxProfiler->setExpectations( $wgTrxProfilerLimits['POST'], __METHOD__ );
+               } else {
+                       $trxProfiler->setExpectations( $wgTrxProfilerLimits['GET'], __METHOD__ );
                }
 
                // If the user has forceHTTPS set to true, or if the user
index b918955..936b94a 100644 (file)
@@ -252,7 +252,7 @@ class MovePage {
                $protected = $this->oldTitle->isProtected();
 
                // Do the actual move
-               $this->moveToInternal( $user, $this->newTitle, $reason, $createRedirect );
+               $nullRevision = $this->moveToInternal( $user, $this->newTitle, $reason, $createRedirect );
 
                // Refresh the sortkey for this row.  Be careful to avoid resetting
                // cl_timestamp, which may disturb time-based lists on some sites.
@@ -376,7 +376,15 @@ class MovePage {
 
                $dbw->endAtomic( __METHOD__ );
 
-               $params = array( &$this->oldTitle, &$this->newTitle, &$user, $pageid, $redirid, $reason );
+               $params = array(
+                       &$this->oldTitle,
+                       &$this->newTitle,
+                       &$user,
+                       $pageid,
+                       $redirid,
+                       $reason,
+                       $nullRevision
+               );
                $dbw->onTransactionIdle( function () use ( $params, $dbw ) {
                        // Keep each single hook handler atomic
                        $dbw->setFlag( DBO_TRX ); // flag is automatically reset by DB layer
@@ -396,6 +404,7 @@ class MovePage {
         * @param string $reason The reason for the move
         * @param bool $createRedirect Whether to leave a redirect at the old title. Does not check
         *   if the user has the suppressredirect right
+        * @return Revision the revision created by the move
         * @throws MWException
         */
        private function moveToInternal( User $user, &$nt, $reason = '', $createRedirect = true ) {
@@ -552,5 +561,7 @@ class MovePage {
                # Log the move
                $logid = $logEntry->insert();
                $logEntry->publish( $logid );
+
+               return $nullRevision;
        }
 }
index fea667e..67c54bb 100644 (file)
@@ -1032,17 +1032,6 @@ class OutputPage extends ContextSource {
                $this->addSubtitle( $str );
        }
 
-       /**
-        * Add $str to the subtitle
-        *
-        * @deprecated since 1.19; use addSubtitle() instead
-        * @param string|Message $str String or Message to add to the subtitle
-        */
-       public function appendSubtitle( $str ) {
-               wfDeprecated( __METHOD__, '1.19' );
-               $this->addSubtitle( $str );
-       }
-
        /**
         * Add $str to the subtitle
         *
@@ -2510,16 +2499,6 @@ class OutputPage extends ContextSource {
                throw new PermissionsError( $permission );
        }
 
-       /**
-        * Produce the stock "please login to use the wiki" page
-        *
-        * @deprecated since 1.19; throw the exception directly
-        */
-       public function loginToUse() {
-               wfDeprecated( __METHOD__, '1.19' );
-               throw new PermissionsError( 'read' );
-       }
-
        /**
         * Format a list of error messages
         *
index 327d19a..ad25fa8 100644 (file)
@@ -1273,7 +1273,7 @@ class Preferences {
         * @param IContextSource $context
         * @param string $formClass
         * @param array $remove Array of items to remove
-        * @return HtmlForm
+        * @return PreferencesForm|HtmlForm
         */
        static function getFormObject(
                $user,
index b1b5da2..4fc775f 100644 (file)
@@ -753,7 +753,7 @@ class Sanitizer {
                        # However:
                        # * data-ooui is reserved for ooui
                        # * data-mw and data-parsoid are reserved for parsoid
-                       # * data-mw-<ext name here> is reserved for extensions (or core) if
+                       # * data-mw-<name here> is reserved for extensions (or core) if
                        #   they need to communicate some data to the client and want to be
                        #   sure that it isn't coming from an untrusted user.
                        if ( !preg_match( '/^data-(?!ooui|mw|parsoid)/i', $attribute )
index c66e215..eb376d3 100644 (file)
@@ -99,6 +99,12 @@ class ApiLogin extends ApiBase {
                                $result['result'] = 'Success';
                                $result['lguserid'] = intval( $user->getId() );
                                $result['lgusername'] = $user->getName();
+
+                               // @todo: These are deprecated, and should be removed at some
+                               // point (1.28 at the earliest, and see T121527). They were ok
+                               // when the core cookie-based login was the only thing, but
+                               // CentralAuth broke that a while back and
+                               // SessionManager/AuthManager are *really* going to break it.
                                $result['lgtoken'] = $user->getToken();
                                $result['cookieprefix'] = $this->getConfig()->get( 'CookiePrefix' );
                                $result['sessionid'] = session_id();
@@ -107,6 +113,8 @@ class ApiLogin extends ApiBase {
                        case LoginForm::NEED_TOKEN:
                                $result['result'] = 'NeedToken';
                                $result['token'] = $loginForm->getLoginToken();
+
+                               // @todo: See above about deprecation
                                $result['cookieprefix'] = $this->getConfig()->get( 'CookiePrefix' );
                                $result['sessionid'] = session_id();
                                break;
index 74ce053..7a90527 100644 (file)
@@ -35,14 +35,10 @@ class ApiOptions extends ApiBase {
         * Changes preferences of the current user.
         */
        public function execute() {
-               $user = $this->getUser();
-
-               if ( $user->isAnon() ) {
+               if ( $this->getUser()->isAnon() ) {
                        $this->dieUsage( 'Anonymous users cannot change preferences', 'notloggedin' );
-               }
-
-               if ( !$user->isAllowed( 'editmyoptions' ) ) {
-                       $this->dieUsage( 'You don\'t have permission to edit your options', 'permissiondenied' );
+               } elseif ( !$this->getUser()->isAllowed( 'editmyoptions' ) ) {
+                       $this->dieUsage( "You don't have permission to edit your options", 'permissiondenied' );
                }
 
                $params = $this->extractRequestParams();
@@ -53,11 +49,9 @@ class ApiOptions extends ApiBase {
                }
 
                // Load the user from the master to reduce CAS errors on double post (T95839)
-               if ( wfGetLB()->getServerCount() > 1 ) {
-                       $user = User::newFromId( $user->getId() );
-                       if ( !$user->loadFromId( User::READ_EXCLUSIVE ) ) {
-                               $this->dieUsage( 'Anonymous users cannot change preferences', 'notloggedin' );
-                       }
+               $user = $this->getUser()->getInstanceForUpdate();
+               if ( !$user ) {
+                       $this->dieUsage( 'Anonymous users cannot change preferences', 'notloggedin' );
                }
 
                if ( $params['reset'] ) {
index 6a3346f..7037fb6 100644 (file)
@@ -59,6 +59,16 @@ class ApiRollback extends ApiBase {
                $pageObj = WikiPage::factory( $titleObj );
                $summary = $params['summary'];
                $details = array();
+
+               // If change tagging was requested, check that the user is allowed to tag,
+               // and the tags are valid
+               if ( count( $params['tags'] ) ) {
+                       $tagStatus = ChangeTags::canAddTagsAccompanyingChange( $params['tags'], $user );
+                       if ( !$tagStatus->isOK() ) {
+                               $this->dieStatus( $tagStatus );
+                       }
+               }
+
                $retval = $pageObj->doRollback(
                        $this->getRbUser( $params ),
                        $summary,
@@ -81,6 +91,10 @@ class ApiRollback extends ApiBase {
                // Watch pages
                $this->setWatch( $watch, $titleObj, 'watchrollback' );
 
+               if ( count( $params['tags'] ) ) {
+                       ChangeTags::addTags( $params['tags'], null, intval( $details['newid'] ), null, null );
+               }
+
                $info = array(
                        'title' => $titleObj->getPrefixedText(),
                        'pageid' => intval( $details['current']->getPage() ),
@@ -107,6 +121,10 @@ class ApiRollback extends ApiBase {
                        'pageid' => array(
                                ApiBase::PARAM_TYPE => 'integer'
                        ),
+                       'tags' => array(
+                               ApiBase::PARAM_TYPE => ChangeTags::listExplicitlyDefinedTags(),
+                               ApiBase::PARAM_ISMULTI => true,
+                       ),
                        'user' => array(
                                ApiBase::PARAM_TYPE => 'string',
                                ApiBase::PARAM_REQUIRED => true
index c6d267c..8822750 100644 (file)
@@ -41,8 +41,6 @@ class ApiStashEdit extends ApiBase {
        const ERROR_UNCACHEABLE = 'uncacheable';
 
        public function execute() {
-               $cache = ObjectCache::getLocalClusterInstance();
-
                $user = $this->getUser();
                $params = $this->extractRequestParams();
 
@@ -108,17 +106,17 @@ class ApiStashEdit extends ApiBase {
                // The user will abort the AJAX request by pressing "save", so ignore that
                ignore_user_abort( true );
 
+               // Use the master DB for fast blocking locks
+               $dbw = wfGetDB( DB_MASTER );
+
                // Get a key based on the source text, format, and user preferences
                $key = self::getStashKey( $title, $content, $user );
                // De-duplicate requests on the same key
                if ( $user->pingLimiter( 'stashedit' ) ) {
                        $status = 'ratelimited';
-               } elseif ( $cache->lock( $key, 0, 30 ) ) {
-                       /** @noinspection PhpUnusedLocalVariableInspection */
-                       $unlocker = new ScopedCallback( function() use ( $cache, $key ) {
-                               $cache->unlock( $key );
-                       } );
+               } elseif ( $dbw->lock( $key, __METHOD__, 1 ) ) {
                        $status = self::parseAndStash( $page, $content, $user );
+                       $dbw->unlock( $key, __METHOD__ );
                } else {
                        $status = 'busy';
                }
@@ -252,30 +250,36 @@ class ApiStashEdit extends ApiBase {
        public static function checkCache( Title $title, Content $content, User $user ) {
                $cache = ObjectCache::getLocalClusterInstance();
                $logger = LoggerFactory::getInstance( 'StashEdit' );
+               $stats = RequestContext::getMain()->getStats();
 
                $key = self::getStashKey( $title, $content, $user );
                $editInfo = $cache->get( $key );
                if ( !is_object( $editInfo ) ) {
                        $start = microtime( true );
                        // We ignore user aborts and keep parsing. Block on any prior parsing
-                       // so as to use it's results and make use of the time spent parsing.
-                       if ( $cache->lock( $key, 30, 30 ) ) {
+                       // so as to use its results and make use of the time spent parsing.
+                       // Skip this logic if there no master connection in case this method
+                       // is called on an HTTP GET request for some reason.
+                       $lb = wfGetLB();
+                       $dbw = $lb->getAnyOpenConnection( $lb->getWriterIndex() );
+                       if ( $dbw && $dbw->lock( $key, __METHOD__, 30 ) ) {
                                $editInfo = $cache->get( $key );
-                               $cache->unlock( $key );
-                       }
-                       $sec = microtime( true ) - $start;
-                       if ( $sec > .01 ) {
-                               $logger->warning( "Waited $sec seconds on '$key'." );
+                               $dbw->unlock( $key, __METHOD__ );
                        }
+
+                       $timeMs = 1000 * max( 0, microtime( true ) - $start );
+                       $stats->timing( 'editstash.lock-wait-time', $timeMs );
                }
 
                if ( !is_object( $editInfo ) || !$editInfo->output ) {
+                       $stats->increment( 'editstash.cache-misses' );
                        $logger->debug( "No cache value for key '$key'." );
                        return false;
                }
 
                $time = wfTimestamp( TS_UNIX, $editInfo->output->getTimestamp() );
                if ( ( time() - $time ) <= 3 ) {
+                       $stats->increment( 'editstash.cache-hits' );
                        $logger->debug( "Timestamp-based cache hit for key '$key'." );
                        return $editInfo; // assume nothing changed
                }
@@ -304,6 +308,7 @@ class ApiStashEdit extends ApiBase {
                        }
 
                        if ( $changed || $res->numRows() != $templateUses ) {
+                               $stats->increment( 'editstash.cache-misses' );
                                $logger->info( "Stale cache for key '$key'; template changed." );
                                return false;
                        }
@@ -327,11 +332,13 @@ class ApiStashEdit extends ApiBase {
                        }
 
                        if ( $changed || $res->numRows() != count( $files ) ) {
+                               $stats->increment( 'editstash.cache-misses' );
                                $logger->info( "Stale cache for key '$key'; file changed." );
                                return false;
                        }
                }
 
+               $stats->increment( 'editstash.cache-hits' );
                $logger->debug( "Cache hit for key '$key'." );
 
                return $editInfo;
@@ -430,6 +437,10 @@ class ApiStashEdit extends ApiBase {
                return true;
        }
 
+       function isWriteMode() {
+               return true;
+       }
+
        function isInternal() {
                return true;
        }
index 684b7b5..fc258e2 100644 (file)
@@ -22,7 +22,7 @@
        "apihelp-main-param-action": "Auszuführende Aktion.",
        "apihelp-main-param-format": "Format der Ausgabe.",
        "apihelp-main-param-maxlag": "maxlag kann verwendet werden, wenn MediaWiki auf einem datenbankreplizierten Cluster installiert ist. Um weitere Replikationsrückstände zu verhindern, lässt dieser Parameter den Client warten, bis der Replikationsrückstand kleiner als der angegebene Wert (in Sekunden) ist. Bei einem größerem Rückstand wird der Fehlercode <samp>maxlag</samp> zurückgegeben mit einer Nachricht wie <samp>Waiting for $host: $lag seconds lagged</samp>.<br />Siehe [[mw:Manual:Maxlag_parameter|Handbuch: Maxlag parameter]] für weitere Informationen.",
-       "apihelp-main-param-smaxage": "Den <code>s-maxage</code>-HTTP-Cache-Control-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
+       "apihelp-main-param-smaxage": "Den <code>s-maxage</code>-HTTP-Cache-Control-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gepuffert.",
        "apihelp-main-param-maxage": "Den <code>max-age</code>-HTTP-Cache-Control-Header auf diese Anzahl Sekunden festlegen. Fehler werden niemals gecacht.",
        "apihelp-main-param-assert": "Sicherstellen, dass der Benutzer eingeloggt ist, wenn auf <kbd>user</kbd> gesetzt, oder Bot ist, wenn auf <kbd>bot</kbd> gesetzt.",
        "apihelp-main-param-requestid": "Der angegebene Wert wird mit in die Antwort aufgenommen und kann zur Unterscheidung von Anfragen verwendet werden.",
@@ -75,6 +75,7 @@
        "apihelp-delete-param-title": "Titel der Seite, die gelöscht werden soll. Kann nicht zusammen mit <var>$1pageid</var> verwendet werden.",
        "apihelp-delete-param-pageid": "Seitennummer der Seite, die gelöscht werden soll. Kann nicht zusammen mit <var>$1title</var> verwendet werden.",
        "apihelp-delete-param-reason": "Löschbegründung. Falls nicht festgelegt, wird eine automatisch generierte Begründung verwendet.",
+       "apihelp-delete-param-tags": "Ändert die Markierungen, die auf den Eintrag im Lösch-Logbuch anzuwenden sind.",
        "apihelp-delete-param-watch": "Seite auf die Beobachtungsliste des aktuellen Benutzers setzen.",
        "apihelp-delete-param-watchlist": "Seite zur Beobachtungsliste des aktuellen Benutzers hinzufügen oder von ihr entfernen, die Standardeinstellungen verwenden oder die Beobachtung nicht ändern.",
        "apihelp-delete-param-unwatch": "Seite von der Beobachtungsliste entfernen.",
        "apihelp-expandtemplates-param-revid": "Versionsnummer, die für die Anzeige von <nowiki>{{REVISIONID}}</nowiki> und ähnlichen Variablen verwendet wird.",
        "apihelp-expandtemplates-param-prop": "Welche Informationen abgerufen werden sollen.\n\nBeachte bitte, dass das Ergebnis Wikitext enthält, aber die Ausgabe in einem veralteten Format ist, falls keine Werte ausgewählt sind.",
        "apihelp-expandtemplates-paramvalue-prop-wikitext": "Der expandierte Wikitext.",
+       "apihelp-expandtemplates-paramvalue-prop-categories": "Kategorien in der Eingabe vorhanden, die nicht in der Ausgabe des Wikitextes vertreten sind.",
        "apihelp-expandtemplates-paramvalue-prop-properties": "Seiteneigenschaften, die durch expandierte magische Wörter im Wikitext definiert sind.",
+       "apihelp-expandtemplates-paramvalue-prop-volatile": "Ob die Ausgabe flüchtig ist und nicht an anderer Stelle auf der Seite wiederverwendet werden sollte.",
        "apihelp-expandtemplates-paramvalue-prop-ttl": "Die maximale Zeit, nach der der Ergebnis-Cache ungültig wird.",
+       "apihelp-expandtemplates-paramvalue-prop-modules": "Etwaige Ressourcen-Lader-Module, die Parserfunktionen angefordert haben, werden zur Ausgabe hinzugefügt. Entweder <kbd>jsconfigvars</kbd> oder <kbd>encodedjsconfigvars</kbd> müssen gemeinsam mit <kbd>modules</kbd> angefordert werden.",
        "apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "Gibt die JavaScript-Konfigurationsvariablen speziell für die Seite aus.",
        "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars": "Gibt die JavaScript-Konfigurationsvariablen speziell für die Seite als JSON-Zeichenfolge aus.",
        "apihelp-expandtemplates-paramvalue-prop-parsetree": "Der XML-Parserbaum der Eingabe.",
        "apihelp-logout-description": "Abmelden und alle Sitzungsdaten löschen.",
        "apihelp-logout-example-logout": "Meldet den aktuellen Benutzer ab",
        "apihelp-managetags-description": "Ermöglicht Verwaltungsaufgaben zu Änderungsmarkierungen.",
+       "apihelp-managetags-param-operation": "Welcher Vorgang soll ausgeführt werden:\n;create:Ein neues Änderungsschlagwort zum manuellen Gebrauch erstellen.\n;delete:Ein Änderungsschlagwort aus der Datenbank entfernen. Einschließlich dem Entfernen des Schlagworts von allen Überarbeitungen, kürzlichen Änderungseinträgen und Logbuch-Einträgen, in denen es genutzt wird.\n;activate:Ein Änderungsschlagwort aktivieren und damit Benutzern erlauben es manuell anzuwenden.\n;deactive:Ein Änderungsschlagwort deaktivieren und damit die manuelle Verwendung durch Benutzer unterbinden.",
+       "apihelp-managetags-param-tag": "Schlagwort zum Erstellen, Löschen, Aktivieren oder Deaktivieren. Zum Erstellen darf das Schlagwort noch nicht vorhanden sein. Zur Löschung muss das Schlagwort vorhanden sein. Zur Aktivierung muss das Schlagwort vorhanden sein, darf aber nicht von einer Erweiterung in Gebrauch sein. Zur Deaktivierung muss das Schlagwort gegenwärtig aktiv und manuell definiert sein.",
        "apihelp-managetags-param-reason": "optionale Begründung für das Erstellen, Löschen, Aktivieren oder Deaktivieren der Markierung.",
        "apihelp-managetags-param-ignorewarnings": "Warnungen während des Vorgangs ignorieren.",
        "apihelp-managetags-example-create": "Erstellt eine Markierung namens <kbd>spam</kbd> mit der Begründung <kbd>For use in edit patrolling</kbd> (für die Eingangskontrolle).",
        "apihelp-opensearch-param-limit": "Maximale Anzahl zurückzugebender Ergebnisse.",
        "apihelp-opensearch-param-namespace": "Zu durchsuchende Namensräume.",
        "apihelp-opensearch-param-suggest": "Nichts unternehmen, falls <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> falsch ist.",
+       "apihelp-opensearch-param-redirects": "Wie mit Weiterleitungen umgegangen werden soll:\n;return:Gibt die Weiterleitung selbst zurück.\n;resolve:Gibt die Zielseite zurück. Kann weniger als $1limit Ergebnisse zurückgeben.\nAus Kompatibilitätsgründen ist für $1format=json die Vorgabe \"return\" und \"resolve\" für alle anderen Formate.",
        "apihelp-opensearch-param-format": "Das Format der Ausgabe.",
+       "apihelp-opensearch-param-warningsaserror": "Wenn Warnungen mit <kbd>format=json</kbd> auftreten, gib einen API-Fehler zurück, anstatt ihn zu ignorieren.",
        "apihelp-opensearch-example-te": "Seiten finden, die mit <kbd>Te</kbd> beginnen.",
+       "apihelp-options-description": "Die Voreinstellungen des gegenwärtigen Benutzers ändern.",
        "apihelp-options-param-reset": "Setzt die Einstellungen auf Websitestandards zurück.",
+       "apihelp-options-param-resetkinds": "Liste von zurückzusetzenden Optionstypen, wenn die <var>$1reset</var>-Option ausgewählt ist.",
+       "apihelp-options-param-change": "Liste von Änderungen, die mit Name=Wert formatiert sind (z.B. skin=vector). Wert darf keine Verkettungszeichen enthalten. Falls kein Wert angegeben wurde (nichtmal ein Gleichheitszeichen), z.B.: optionname|otheroption|..., wird die Option auf ihren Vorgabewert zurückgesetzt.",
+       "apihelp-options-param-optionvalue": "Der Wert für die Option, die durch <var>$1optionname</var> angegeben ist, kann Verkettungszeichen enthalten.",
        "apihelp-options-example-reset": "Alle Einstellungen zurücksetzen",
        "apihelp-options-example-change": "Ändert die Einstellungen <kbd>skin</kbd> und <kbd>hideminor</kbd>.",
        "apihelp-options-example-complex": "Setzt alle Einstellungen zurück, dann <kbd>skin</kbd> und <kbd>nickname</kbd> festlegen.",
        "apihelp-paraminfo-description": "Ruft Informationen über API-Module ab.",
+       "apihelp-paraminfo-param-modules": "Liste von Modulnamen (Werte der <var>action</var>- und <var>format</var>-Parameters, oder <kbd>main</kbd>). Kann Untermodule mit einem <kbd>+</kbd> bestimmen.",
        "apihelp-paraminfo-param-helpformat": "Format der Hilfe-Zeichenfolgen.",
+       "apihelp-paraminfo-param-querymodules": "Liste von Abfragemodulnamen (Werte von <var>prop</var>-, <var>meta</var>- oder <var>list</var>-Parameter). Benutze <kbd>$1modules=query+foo</kbd> anstatt <kbd>$1querymodules=foo</kbd>.",
+       "apihelp-paraminfo-param-mainmodule": "Auch Informationen über die Hauptmodule (top-level) erhalten. Benutze <kbd>$1modules=main</kbd> stattdessen.",
+       "apihelp-paraminfo-param-formatmodules": "Liste von Formatmodulnamen (Wert des Parameters <var>format</var>). Stattdessen <var>$1modules</var> verwenden.",
+       "apihelp-paraminfo-example-1": "Zeige Info für <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>, und <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>.",
+       "apihelp-parse-param-title": "Titel der Seite, zu der der Text gehört. Falls ausgelassen, muss <var>$1contentmodel</var> angegeben werden und [[API]] wird als Titel verwendet.",
+       "apihelp-parse-param-text": "Zu parsender Text. <var>$1title</var> oder <var>$1contentmodel</var> verwenden, um das Inhaltsmodell zu steuern.",
        "apihelp-parse-param-summary": "Zu parsende Zusammenfassung.",
+       "apihelp-parse-param-page": "Parst den Inhalt dieser Seite. Kann nicht zusammen mit <var>$1text</var> und <var>$1title</var> verwendet werden.",
+       "apihelp-parse-param-pageid": "Parst den Inhalt dieser Seite. Überschreibt <var>$1page</var>.",
+       "apihelp-parse-param-redirects": "Falls <var>$1page</var> oder <var>$1pageid</var> als eine Weiterleitung festgelegt ist, diese auflösen.",
+       "apihelp-parse-param-oldid": "Parst den Inhalt dieser Version. Überschreibt <var>$1page</var> und <var>$1pageid</var>.",
        "apihelp-parse-param-prop": "Welche Informationen bezogen werden sollen:",
        "apihelp-parse-paramvalue-prop-text": "Gibt den geparsten Text des Wikitextes zurück.",
        "apihelp-parse-paramvalue-prop-langlinks": "Gibt die Sprachlinks im geparsten Wikitext zurück.",
        "apihelp-parse-paramvalue-prop-properties": "Gibt verschiedene Eigenschaften zurück, die im geparsten Wikitext definiert sind.",
        "apihelp-parse-param-section": "Parst nur den Inhalt dieser Abschnittsnummer.\n\nFalls <kbd>new</kbd>, parst <var>$1text</var> und <var>$1sectiontitle</var>, als ob ein neuer Abschnitt der Seite hinzugefügt wird.\n\n<kbd>new</kbd> ist nur erlaubt mit der Angabe <var>text</var>.",
        "apihelp-parse-param-sectiontitle": "Überschrift des neuen Abschnittes, wenn <var>section</var> = <kbd>new</kbd> ist.\n\nAnders als beim Bearbeiten der Seite wird der Parameter nicht durch die <var>summary</var> ersetzt, wenn er weggelassen oder leer ist.",
+       "apihelp-parse-param-disablepp": "Benutze <var>$1disablelimitreport</var> stattdessen.",
        "apihelp-parse-param-disableeditsection": "Lässt Abschnittsbearbeitungslinks in der Parserausgabe weg.",
+       "apihelp-parse-param-disabletidy": "Wende keine HTML-Säuberung (z.B. Aufräumen) auf die Parser-Ausgabe an.",
        "apihelp-parse-param-preview": "Im Vorschaumodus parsen.",
+       "apihelp-parse-param-sectionpreview": "Im Abschnitt Vorschau-Modus parsen (aktiviert ebenfalls den Vorschau-Modus)",
        "apihelp-parse-param-disabletoc": "Inhaltsverzeichnis in der Ausgabe weglassen.",
+       "apihelp-parse-param-contentmodel": "Inhaltsmodell des eingegebenen Textes. Fall ausgelassen, muss $1title angegeben werden und Standardwert wird das Modell des angegebenen Titels. Ist nur gültig im Zusammenhang mit $1text.",
        "apihelp-parse-example-page": "Eine Seite parsen.",
        "apihelp-parse-example-text": "Wikitext parsen.",
        "apihelp-parse-example-texttitle": "Parst den Wikitext über die Eingabe des Seitentitels.",
        "apihelp-query+alldeletedrevisions-param-user": "Nur Versionen von diesem Benutzer auflisten.",
        "apihelp-query+alldeletedrevisions-param-excludeuser": "Schließt Bearbeitungen des angegebenen Benutzers aus.",
        "apihelp-query+alldeletedrevisions-param-namespace": "Nur Seiten in diesem Namensraum auflisten.",
+       "apihelp-query+alldeletedrevisions-example-user": "Liste die letzten 50 gelöschten Beiträge, sortiert nach Benutzer <kbd>Beispiel</kbd>.",
+       "apihelp-query+alldeletedrevisions-example-ns-main": "Liste die ersten 50 gelöschten Bearbeitungen im Hauptnamensraum.",
+       "apihelp-query+allfileusages-description": "Liste alle Dateiverwendungen, einschließlich nicht-vorhandener.",
        "apihelp-query+allfileusages-param-from": "Titel der Datei, bei der die Aufzählung beginnen soll.",
        "apihelp-query+allfileusages-param-to": "Titel der Datei, bei der die Aufzählung enden soll.",
+       "apihelp-query+allfileusages-param-prefix": "Sucht nach allen Dateititeln, die mit diesem Wert beginnen.",
        "apihelp-query+allfileusages-param-prop": "Informationsteile zum Einbinden:",
+       "apihelp-query+allfileusages-paramvalue-prop-ids": "Fügt die Seiten-IDs der benutzenden Seiten hinzu (kann nicht mit $1unique verwendet werden).",
        "apihelp-query+allfileusages-paramvalue-prop-title": "Ergänzt den Titel der Datei.",
        "apihelp-query+allfileusages-param-limit": "Wie viele Gesamtobjekte zurückgegeben werden sollen.",
        "apihelp-query+allfileusages-param-dir": "Aufzählungsrichtung.",
+       "apihelp-query+allfileusages-example-B": "Liste Dateititel, einschließlich fehlender, mit den Seiten-IDs von denen sie stammen, beginne bei <kbd>B</kbd>.",
        "apihelp-query+allfileusages-example-unique": "Einheitliche Dateititel auflisten",
        "apihelp-query+allfileusages-example-unique-generator": "Ruft alle Dateititel ab und markiert die fehlenden.",
        "apihelp-query+allfileusages-example-generator": "Seiten abrufen, die die Dateien enthalten",
        "apihelp-query+allimages-description": "Alle Bilder nacheinander auflisten.",
        "apihelp-query+allimages-param-sort": "Eigenschaft, nach der sortiert werden soll.",
        "apihelp-query+allimages-param-dir": "Aufzählungsrichtung.",
+       "apihelp-query+allimages-param-from": "Der Bildtitel bei dem die Auflistung beginnen soll. Darf nur mit $1sort=Name verwendet werden.",
+       "apihelp-query+allimages-param-to": "Der Bildtitel bei dem die Auflistung anhalten soll. Dard nur mit $1sort=Name verwendet werden.",
+       "apihelp-query+allimages-param-start": "Der Zeitstempel bei dem die Auflistung beginnen soll. Darf nur mit $1sort=Zeitstempel verwendet werden.",
+       "apihelp-query+allimages-param-end": "Der Zeitstempel bei dem die Auflistung anhalten soll. Darf nur mit $1sort=Zeitstempel verwendet werden.",
+       "apihelp-query+allimages-param-prefix": "Suche nach allen Bilder die mit diesem Wert beginnen. Darf nur mit $1sort=Name verwendet werden.",
        "apihelp-query+allimages-param-minsize": "Beschränkt auf Bilder mit mindestens dieser Anzahl an Bytes.",
        "apihelp-query+allimages-param-maxsize": "Beschränkt auf Bilder mit höchstens dieser Anzahl an Bytes.",
        "apihelp-query+allimages-param-sha1": "SHA1-Hash des Bildes. Überschreibt $1sha1base36.",
        "apihelp-query+allimages-param-sha1base36": "SHA1-Hash des Bildes (Basis 36; verwendet in MediaWiki).",
+       "apihelp-query+allimages-param-user": "Gibt nur Dateien zurück, die von diesem Nutzer hochgeladen wurden. Darf nur mit $1sort=Zeitstempel verwendet werden. Darf nicht mit zusammen mit $1filterbots verwendet werden.",
+       "apihelp-query+allimages-param-filterbots": "Wie Dateien, die von Bots hochgeladen wurden, gefiltert werden sollen. Darf nur mit $1sort=Zeitstempel verwendet werden. Darf nicht zusammen mit $1user verwendet werden.",
+       "apihelp-query+allimages-param-mime": "Nach welchem MIME-Typ gesucht werden soll, z.B. <kbd>image/jpeg</kbd>.",
        "apihelp-query+allimages-param-limit": "Wie viele Gesamtbilder zurückgegeben werden sollen.",
+       "apihelp-query+allimages-example-B": "Zeigt eine Liste der Dateien an, die mit dem Buchstaben <kbd>B</kbd> beginnen.",
        "apihelp-query+allimages-example-recent": "Zeigt eine Liste von kürzlich hochgeladenen Dateien ähnlich zu [[Special:NewFiles]].",
+       "apihelp-query+allimages-example-mimetypes": "Zeige eine Liste von Dateien mit den MIME-Typen  <kbd>image/png</kbd> oder <kbd>image/gif</kbd>",
+       "apihelp-query+allimages-example-generator": "Zeige Informationen über 4 Dateien beginnend mit dem Buchstaben <kbd>T</kbd>.",
+       "apihelp-query+alllinks-description": "Liste alle Verknüpfungen auf, die auf einen bestimmten Namensraum verweisen.",
+       "apihelp-query+alllinks-param-from": "Der Titel der Verknüpfung bei der die Auflistung beginnen soll.",
+       "apihelp-query+alllinks-param-to": "Der Titel der Verknüpfung bei der die Auflistung enden soll.",
+       "apihelp-query+alllinks-param-prefix": "Suche nach allen verknüpften Titeln die mit diesem Wert beginnen.",
+       "apihelp-query+alllinks-param-prop": "Welche Informationsteile einbinden:",
+       "apihelp-query+alllinks-paramvalue-prop-ids": "Fügt die Seiten-ID der verknüpfenden Seite hinzu (darf nicht zusammen mit <var>$1unique</var> verwendet werden).",
+       "apihelp-query+alllinks-paramvalue-prop-title": "Fügt den Titel der Verknüpfung hinzu.",
+       "apihelp-query+alllinks-param-namespace": "Der aufzulistende Namensraum.",
+       "apihelp-query+alllinks-param-limit": "Wie viele Gesamtobjekte zurückgegeben werden sollen.",
+       "apihelp-query+alllinks-param-dir": "Aufzählungsrichtung.",
+       "apihelp-query+alllinks-example-B": "Liste verknüpfte Titel, einschließlich fehlender, mit den Seiten-IDs von denen sie stammen, beginne bei <kbd>B</kbd>.",
        "apihelp-query+alllinks-example-unique": "Einheitlich verlinkte Titel auflisten",
+       "apihelp-query+alllinks-example-unique-generator": "Ruft alle verknüpften Titel ab und markiert die fehlenden.",
+       "apihelp-query+alllinks-example-generator": "Ruft Seiten ab welche die Verknüpfungen beinhalten.",
        "apihelp-query+allmessages-description": "Gibt Nachrichten von dieser Website zurück.",
+       "apihelp-query+allmessages-param-messages": "Welche Nachrichten ausgegeben werden sollen. <kbd>*</kbd> (Vorgabe) bedeutet alle Nachrichten.",
+       "apihelp-query+allmessages-param-prop": "Welche Eigenschaften abgerufen werden sollen.",
+       "apihelp-query+allmessages-param-enableparser": "Setzen, um den Parser zu aktivieren. Dies wird den Wikitext der Nachricht vorverarbeiten (magische Worte ersetzen, Vorlagen berücksichtigen, usw.).",
+       "apihelp-query+allmessages-param-nocontent": "Wenn gesetzt, füge nicht den Inhalt der Nachricht der Ausgabe hinzu.",
+       "apihelp-query+allmessages-param-args": "Argumente die in der Nachricht ersetzt werden sollen.",
+       "apihelp-query+allmessages-param-filter": "Gebe nur Nachrichten mit Namen, die diese Zeichenfolge enthalten, zurück.",
+       "apihelp-query+allmessages-param-customised": "Gebe nur Nachrichten in diesem Anpassungszustand zurück.",
+       "apihelp-query+allmessages-param-lang": "Gebe Nachrichten in dieser Sprache zurück.",
+       "apihelp-query+allmessages-param-from": "Gebe Nachrichten beginnend mit dieser Nachricht zurück.",
+       "apihelp-query+allmessages-param-to": "Gebe Nachrichten bei dieser Nachricht endend zurück.",
+       "apihelp-query+allmessages-param-title": "Seitenname, der als Kontext verwendet werden soll, wenn eine Nachricht geparst wird (für die $1enableparser-Option).",
+       "apihelp-query+allmessages-param-prefix": "Gebe Nachrichten mit diesem Präfix zurück.",
+       "apihelp-query+allmessages-example-ipb": "Zeige Nachrichten die mit <kbd>ipb-</kbd> beginnen.",
+       "apihelp-query+allmessages-example-de": "Zeige Nachrichten <kbd>august</kbd> und <kbd>mainpage</kbd> auf deutsch.",
        "apihelp-query+allpages-description": "Listet alle Seiten in einem Namensraum nacheinander auf.",
        "apihelp-query+allpages-param-from": "Seitentitel, bei dem die Auflistung beginnen soll.",
        "apihelp-query+allpages-param-to": "Seitentitel, bei dem die Auflistung enden soll.",
        "apihelp-query+allredirects-example-unique": "Einzigartige Zielseiten auflisten.",
        "apihelp-query+allredirects-example-unique-generator": "Bezieht alle Zielseiten und markiert die Fehlenden.",
        "apihelp-query+allredirects-example-generator": "Seiten abrufen, die die Weiterleitungen enthalten",
+       "apihelp-query+allrevisions-description": "Liste alle Bearbeitungen.",
+       "apihelp-query+allrevisions-param-start": "Der Zeitstempel, bei dem die Auflistung beginnen soll.",
+       "apihelp-query+allrevisions-param-end": "Der Zeitstempel, bei dem die Auflistung enden soll.",
+       "apihelp-query+allrevisions-param-user": "Liste nur Bearbeitungen von diesem Benutzer auf.",
+       "apihelp-query+allrevisions-param-excludeuser": "Schließe Bearbeitungen dieses Benutzers bei der Auflistung aus.",
+       "apihelp-query+allrevisions-param-namespace": "Nur Seiten dieses Namensraums auflisten.",
+       "apihelp-query+allrevisions-example-user": "Liste die letzten 50 Beiträge, sortiert nach Benutzer <kbd>Beispiel</kbd> auf.",
+       "apihelp-query+allrevisions-example-ns-main": "Liste die ersten 50 Bearbeitungen im Hauptnamensraum auf.",
+       "apihelp-query+alltransclusions-param-from": "Der Titel der Transklusion bei dem die Auflistung beginnen soll.",
+       "apihelp-query+alltransclusions-param-to": "Der Titel der Transklusion bei dem die Auflistung enden soll.",
+       "apihelp-query+alltransclusions-param-prefix": "Suche nach allen transkludierten Titeln die mit diesem Wert beginnen.",
+       "apihelp-query+alltransclusions-param-prop": "Welche Informationsteile einbinden:",
+       "apihelp-query+alltransclusions-paramvalue-prop-title": "Fügt den Titel der Transklusion hinzu.",
        "apihelp-query+alltransclusions-param-namespace": "Der aufzulistende Namensraum.",
+       "apihelp-query+alltransclusions-param-limit": "Wie viele Gesamtobjekte zurückgegeben werden sollen.",
+       "apihelp-query+alltransclusions-param-dir": "Die Auflistungsrichtung.",
        "apihelp-query+alltransclusions-example-unique": "Einzigartige eingebundene Titel auflisten.",
        "apihelp-query+allusers-param-limit": "Wie viele Benutzernamen insgesamt zurückgegeben werden sollen.",
        "apihelp-query+allusers-example-Y": "Benutzer ab <kbd>Y</kbd> auflisten.",
        "apihelp-query+filearchive-param-to": "Der Bildertitel, bei dem die Auflistung enden soll.",
        "apihelp-query+filearchive-param-limit": "Wie viele Bilder insgesamt zurückgegeben werden sollen.",
        "apihelp-query+filearchive-paramvalue-prop-sha1": "Ergänzt die SHA-1-Prüfsumme für das Bild.",
+       "apihelp-query+filearchive-paramvalue-prop-dimensions": "Alias für die Größe.",
+       "apihelp-query+filearchive-paramvalue-prop-mediatype": "Ergänzt den Medientyp des Bildes.",
+       "apihelp-query+filearchive-paramvalue-prop-bitdepth": "Ergänzt die Bittiefe der Version.",
        "apihelp-query+filearchive-example-simple": "Eine Liste aller gelöschten Dateien auflisten",
+       "apihelp-query+filerepoinfo-example-simple": "Ruft Informationen über Dateirepositorien ab.",
+       "apihelp-query+fileusage-paramvalue-prop-pageid": "Seitenkennung jeder Seite.",
+       "apihelp-query+fileusage-paramvalue-prop-title": "Titel jeder Seite.",
+       "apihelp-query+fileusage-param-limit": "Wie viel zurückgegeben werden soll.",
+       "apihelp-query+imageinfo-description": "Gibt Informationen und alle Versionen der Datei zurück.",
+       "apihelp-query+imageinfo-param-prop": "Welche Dateiinformationen abgerufen werden sollen:",
        "apihelp-query+imageinfo-param-limit": "Wie viele Dateiversionen pro Datei zurückgegeben werden sollen.",
        "apihelp-query+imageinfo-param-start": "Zeitstempel, von dem die Liste beginnen soll.",
        "apihelp-query+imageinfo-param-end": "Zeitstempel, an dem die Liste enden soll.",
        "apihelp-query+iwlinks-paramvalue-prop-url": "Ergänzt die vollständige URL.",
        "apihelp-query+langbacklinks-param-limit": "Wie viele Gesamtseiten zurückgegeben werden sollen.",
        "apihelp-query+langbacklinks-example-simple": "Ruft Seiten ab, die auf [[:fr:Test]] verlinken.",
+       "apihelp-query+langlinks-param-limit": "Wie viele Sprachlinks zurückgegeben werden sollen.",
        "apihelp-query+langlinks-paramvalue-prop-url": "Ergänzt die vollständige URL.",
        "apihelp-query+links-example-simple": "Links von der <kbd>Hauptseite</kbd> abrufen",
        "apihelp-query+linkshere-description": "Alle Seiten finden, die auf die angegebenen Seiten verlinken.",
index 3610667..44d750a 100644 (file)
@@ -5,13 +5,15 @@
                        "Protnet",
                        "Stam.nikos",
                        "Macofe",
-                       "Geraki"
+                       "Geraki",
+                       "Giorgos456"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Τεκμηρίωση]]\n* [[mw:API:FAQ|Συχνές ερωτήσεις]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Λίστα αλληλογραφίας]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Ανακοινώσεις API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Σφάλματα & αιτήματα]\n</div>\n<strong>Κατάσταση:</strong> Όλα τα χαρακτηριστικά που εμφανίζονται σε αυτή τη σελίδα πρέπει να λειτουργούν, αλλά το API είναι ακόμα σε ενεργό ανάπτυξη, και μπορεί να αλλάξει ανά πάσα στιγμή. Εγγραφείτε στη [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce λίστα αλληλογραφίας] για να ειδοποιείστε για ενημερώσεις.\n\n<strong>Εσφαλμένα αιτήματα:</strong> Όταν στέλνονται εσφαλμένα αιτήματα στο API, επιστρέφεται μία κεφαλίδα HTTP (header) με το κλειδί \"MediaWiki-API-Error\" κι έπειτα η τιμή της κεφαλίδας και ο κωδικός σφάλματος που επιστρέφονται ορίζονται στην ίδια τιμή. Για περισσότερες πληροφορίες, δείτε [[mw:API:Errors_and_warnings|API: Σφάλματα και προειδοποιήσεις]].",
        "apihelp-main-param-action": "Ποια ενέργει να εκτελεστεί.",
        "apihelp-main-param-format": "Η μορφή των δεδομένων εξόδου.",
        "apihelp-main-param-curtimestamp": "Συμπερίληψη της τρέχουσας χρονοσφραγίδας στο αποτέλεσμα.",
+       "apihelp-main-param-origin": "Κατά την πρόσβαση στο API χρησιμοποιώντας ένα cross-domain αίτημα AJAX (ΕΤΠ), το σύνολο αυτό το τομέα προέλευσης. Αυτό πρέπει να περιλαμβάνεται σε κάθε προ-πτήσης αίτηση, και ως εκ τούτου πρέπει να είναι μέρος του URI αιτήματος (δεν είναι η ΘΈΣΗ του σώματος). Αυτό πρέπει να ταιριάζει με μία από τις ρίζες της <code>Προέλευσης</code> κεφαλίδων ακριβώς, γι ' αυτό θα πρέπει να οριστεί σε κάτι σαν <kbd>https://en.wikipedia.org</kbd> ή <kbd>https://meta.wikimedia.org</kbd>. Εάν αυτή η παράμετρος δεν ταιριάζει με την <code>Προέλευση</code> κεφαλίδα, 403 απάντηση θα πρέπει να επιστραφεί. Εάν αυτή η παράμετρος ταιριάζει με την <code>Προέλευση</code> κεφαλίδα και η καταγωγή του είναι στη λίστα επιτρεπόμενων, μια <code>Access-Control-Allow-Origin</code> κεφαλίδα θα πρέπει να ρυθμιστεί.",
        "apihelp-main-param-uselang": "Γλώσσα για τις μεταφράσεις μηνυμάτων. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> με <kbd>siprop=languages</kbd> επιστρέφει μια λίστα με κωδικούς γλωσσών, ή καθορίστε <kbd>user</kbd> για να χρησιμοποιήσετε την προτίμηση γλώσσας του τρέχοντα χρήστη, ή καθορίστε <kbd>content</kbd> για να χρησιμοποιήσετε τη γλώσσα περιεχομένου αυτού του wiki.",
        "apihelp-block-description": "Φραγή χρήστη",
        "apihelp-block-param-user": "Όνομα χρήστη, διεύθυνση IP ή εύρος διευθύνσεων IP που θέλετε να επιβάλετε φραγή.",
        "apihelp-block-param-anononly": "Αποκλείστε ανώνυμους χρήστες μόνο (δηλ. απενεργοποιήστε ανώνυμες επεξεργασίες για αυτή τη διεύθυνση IP).",
        "apihelp-block-param-nocreate": "Αποτροπή δημιουργίας λογαριασμού.",
        "apihelp-block-param-autoblock": "Αποκλείστε αυτόματα την τελευταία χρησιμοποιημένη διεύθυνση IP και κάθε συνακόλουθη διεύθυνση IP από την οποία γίνεται προσπάθεια σύνδεσης.",
+       "apihelp-block-param-noemail": "Να αποτρέψει το χρήστη από την αποστολή e-mail μέσω του wiki. (Απαιτεί το δικαίωμα <code>blockemail</code>).",
+       "apihelp-block-param-hidename": "Κρύψε το όνομα χρήστη από το ημερολόγιο φραγών. (Απαιτείται το δικαίωμα <code>hideuser</code>).",
+       "apihelp-block-param-reblock": "Αν ο χρήστης είναι ήδη αποκλεισμέμος, αντικαταστήστε την υπάρχουσα φραγή.",
+       "apihelp-block-param-watchuser": "Παρακολούθηση του χρήστη ή της διεύθυνσης IP του χρήστη και των σελίδων συζήτησής του.",
+       "apihelp-block-example-ip-simple": "Φραγή διεύθυνσης IP <kbd>192.0.2.5</kbd> για τρεις μέρες με το λόγο, <kbd>Πρώτη απεργία</kbd>.",
+       "apihelp-checktoken-param-token": "Δείγμα σας για τη δοκιμή.",
+       "apihelp-checktoken-param-maxtokenage": "Μέγιστη επιτρεπόμενη διάρκεια του token, σε δευτερόλεπτα.",
        "apihelp-createaccount-description": "Δημιουργήστε νέο λογαριασμό χρήστη.",
        "apihelp-createaccount-param-name": "Όνομα χρήστη.",
        "apihelp-createaccount-param-password": "Κωδικός πρόσβασης (αγνοείται, αν έχει οριστεί το <var>$1mailpassword</var>).",
index 897c05e..263f137 100644 (file)
        "apihelp-rollback-description": "Undo the last edit to the page.\n\nIf the last user who edited the page made multiple edits in a row, they will all be rolled back.",
        "apihelp-rollback-param-title": "Title of the page to roll back. Cannot be used together with <var>$1pageid</var>.",
        "apihelp-rollback-param-pageid": "Page ID of the page to roll back. Cannot be used together with <var>$1title</var>.",
+       "apihelp-rollback-param-tags": "Tags to apply to the rollback.",
        "apihelp-rollback-param-user": "Name of the user whose edits are to be rolled back.",
        "apihelp-rollback-param-summary": "Custom edit summary. If empty, default summary will be used.",
        "apihelp-rollback-param-markbot": "Mark the reverted edits and the revert as bot edits.",
index 465f102..a5af63a 100644 (file)
                        "Signal89",
                        "Mjbmr",
                        "Ebraminio",
-                       "Macofe"
+                       "Macofe",
+                       "Huji"
                ]
        },
+       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|مستندات]]\n* [[mw:API:FAQ|پرسش‌های متداول]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api فهرست پست الکترونیکی]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce اعلانات رابط برنامه‌نویسی کاربردی]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R ایرادها و درخواست‌ها]\n</div>\n\n<strong>وضعیت:</strong> تمام ویژگی‌هایی که در این صفحه نمایش یافته‌اند باید کار بکنند، ولی رابط برنامه‌نویسی کاربردی کماکان در حال توسعه است، و ممکن است در هر زمان تغییر بکند. به عضویت [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ فهرست پست الکترونیکی mediawiki-api-announce] در بیایید تا از تغییرات باخبر شوید.\n\n<strong>درخواست‌های معیوب:</strong> وقتی درخواست‌های معیوب به رابط برنامه‌نویسی کاربردی فرستاده شوند، یک سرایند اچ‌تی‌تی‌پی با کلید «MediaWiki-API-Erorr» فرستاده می‌شود و بعد هم مقدار سرایند و هم کد خطای بازگردانده شده  هر دو به یک مقدار نسبت داده می‌شوند. برای اطلاعات بیشتر [[mw:API:Errors_and_warnings|API: Errors and warnings]] را ببینید.",
        "apihelp-main-param-action": "کدام عملیات را انجام دهد.",
        "apihelp-main-param-format": "فرمت خروجی.",
        "apihelp-main-param-curtimestamp": "برچسب زمان کنونی را در نتیجه قرار دهید.",
        "apihelp-edit-param-undo": "این بازبینی را برگردانید. $1text، $1prependtext و $1appendtext را باطل می‌کند.",
        "apihelp-edit-param-undoafter": "همه بازبینی‌ها را از $1undo تا این یکی برگردانید. اگر تنظیم نشد، فقط یک بازبینی را برگردانید.",
        "apihelp-edit-param-redirect": "اصلاح خودکار تغییرمسیرها.",
+       "apihelp-edit-param-contentmodel": "مدل محتوایی محتوای جدید",
+       "apihelp-edit-param-token": "بلیط باید همیشه به عنوان اخرین پارامتر، یا دست کم بعد از پارامتر $1text فرستاده شود.",
        "apihelp-edit-example-edit": "ویرایش صفحه",
+       "apihelp-edit-example-undo": "واگردانی نسخه‌های ۱۳۵۷۹ تا ۱۳۵۸۵ با خلاصهٔ خودکار.",
        "apihelp-emailuser-description": "ایمیل به کاربر",
        "apihelp-emailuser-param-target": "کاربر برای ارسال ایمیل به وی.",
        "apihelp-emailuser-param-subject": "موضوع هدر.",
@@ -84,6 +89,7 @@
        "apihelp-expandtemplates-description": "گسترش همه الگوها در ویکی نبشته",
        "apihelp-expandtemplates-param-title": "عنوان صفحه",
        "apihelp-expandtemplates-param-text": "تبدیل برای ویکی‌متن.",
+       "apihelp-expandtemplates-paramvalue-prop-wikitext": "ویکی‌متن گسترش‌یافته.",
        "apihelp-feedcontributions-description": "خوراک مشارکت‌های یک کاربر را برمی‌گرداند.",
        "apihelp-feedcontributions-param-feedformat": "فرمت خوراک.",
        "apihelp-feedcontributions-param-namespace": "فیلتر شدن مشارکتها براساس فضای نام.",
        "apihelp-import-param-interwikipage": "برای درون‌ریز میان‌ویکی: صفحه برای درون‌ریزی.",
        "apihelp-import-param-fullhistory": "برای درون‌ریزی میان‌ویکی: درون‌ریزی تاریخچهٔ کامل، نه فقط نسخهٔ موجود.",
        "apihelp-import-param-templates": "برای درون ریزی میان‌ویکی: همچنین درون‌ریزی الگوهای مورد استفاده.",
-       "apihelp-import-param-namespace": "براÛ\8c Ø¯Ø±Ù\88Ù\86â\80\8cرÛ\8cزÛ\8c Ù\85Û\8cاÙ\86â\80\8cÙ\88Û\8cÚ©Û\8c: Ø¯Ø±Ù\88Ù\86â\80\8cرÛ\8cزÛ\8c Ø¨Ù\87 Ø§Û\8cÙ\86 Ù\81ضاÛ\8c Ù\86اÙ\85.",
-       "apihelp-import-param-rootpage": "درون‌ریزی به عنوان زیر صفحهٔ این صفحه.",
+       "apihelp-import-param-namespace": "درÙ\88Ù\86 Ø±Û\8cزÛ\8c Ø¨Ù\87 Ø§Û\8cÙ\86 Ù\81ضاÛ\8c Ù\86اÙ\85. Ù\86Ù\85Û\8câ\80\8cتÙ\88اÙ\86د Ù\87Ù\85زÙ\85اÙ\86 Ø¨Ø§ <var>$1rootpage</var> Ø§Ø³ØªÙ\81ادÙ\87 Ø´Ù\88د.",
+       "apihelp-import-param-rootpage": "درون‌ریزی به عنوان زیر صفحهٔ این صفحه. نمی‌تواند همزمان با <var>$1rootpage</var> استفاده شود.",
        "apihelp-login-param-name": "نام کاربری.",
        "apihelp-login-param-password": "گذرواژه.",
        "apihelp-login-param-domain": "دامنه (اختیاری)",
+       "apihelp-login-param-token": "بلیط ورود به سامانه که در اولین درخواست دریافت شد.",
        "apihelp-login-example-gettoken": "دریافت توکن ورود",
        "apihelp-login-example-login": "ورود",
        "apihelp-logout-description": "خروج به همراه پاک نمودن اطلاعات این نشست",
        "apihelp-query+protectedtitles-param-end": "متوقف‌کردن فهرست‌کردن در این برچسب زمانی حفاظت.",
        "apihelp-query+random-param-namespace": "بازگرداندن صفحه‌های فقط در این فضاهای نام.",
        "apihelp-query+random-param-limit": "محدود کنید چه تعداد صفحه بازگردانده خواهد شد.",
-       "apihelp-query+random-param-redirect": "یک تغییرمسیر تصادفی جای یک صفحه تصادفی بارگیری کنید.",
+       "apihelp-query+random-param-redirect": "از <kbd>$1filterredir=redirects</kbd> استفاده کنید.",
        "apihelp-query+random-example-simple": "بازگرداندن تو صفحهٔ تصادفی از فضای نام اصلی",
        "apihelp-query+random-example-generator": "بازگرداندن اطلاعات صفحه دربارهٔ دو صفحهٔ تصادفی از فضای نام اصلی",
        "apihelp-query+recentchanges-param-start": "برچسب زمانی برای آغاز شمارش از.",
index b2fe5b8..54093ee 100644 (file)
        "apihelp-rollback-description": "ביטול העריכה האחרונה לדף.\n\nאם המשמש האחרון שערך את הדף עשה מספר עריכות זו אחר זו, הן תשוחזרנה.",
        "apihelp-rollback-param-title": "שם הדף לשחזור. לא יכול לשמש יחד עם <var>$1pageid</var>.",
        "apihelp-rollback-param-pageid": "מזהה הדף לשחזור. לא יכול לשמש יחד עם <var>$1title</var>.",
+       "apihelp-rollback-param-tags": "אילו תגים להחיל על השחזור.",
        "apihelp-rollback-param-user": "שם המשתמשים שהעריכות שלו תשוחזרנה.",
        "apihelp-rollback-param-summary": "תקציר עריכה מותאם. אם ריק, ישמש תקציר לפי בררת מחדל.",
        "apihelp-rollback-param-markbot": "לסמן את העריכות ששוחזרו ואת השחזור בתור עריכות בוט.",
index e2d862f..44d04fe 100644 (file)
@@ -5,12 +5,25 @@
                        "C.R."
                ]
        },
+       "apihelp-main-param-action": "Quale aziona d'avess'a fà.",
+       "apihelp-main-param-format": "Qualu furmato avess'ascì d'output.",
        "apihelp-main-param-servedby": "Include 'o risultato 'e nomme d' 'o host ca servette 'a richiesta.",
        "apihelp-main-param-curtimestamp": "Include dint' 'o risultato 'o timestamp 'e mò.",
        "apihelp-block-description": "Blocca n'utente.",
        "apihelp-block-param-user": "Nomme utente, indirizzo IP o range IP 'a bluccà.",
        "apihelp-block-param-reason": "Mutive p' 'o blocco.",
+       "apihelp-block-param-anononly": "Blocca surtanto ll'utente anonime (e.g. stuta 'a possibilità 'e ffà cuntribbute 'a st'indirizzo IP).",
        "apihelp-block-param-nocreate": "Nun premmmettere 'a criazione 'e cunte",
+       "apihelp-block-param-autoblock": "Automaticamende blocca l'urdeme indirizze IP ausate, e tuttuquante ll'indirizze IP addò tentasse 'e trasì.",
+       "apihelp-block-param-noemail": "Scanza st'utente 'e mannà mmasciate pe' bbìa d' 'o wiki. (Servisse 'o <code>blockemail</code> buono).",
+       "apihelp-block-param-hidename": "Annascunne 'o nomme utente d' 'o riggistro 'e blocche (Addimanna 'e premmesse 'e <code>hideuser</code>).",
+       "apihelp-checktoken-param-type": "Tipo 'e token ncurzo 'e test.",
+       "apihelp-checktoken-param-token": "Token 'a testà.",
+       "apihelp-checktoken-param-maxtokenage": "Massima ammaturità cunzentuta p' 'o token, 'n secunde.",
+       "apihelp-checktoken-example-simple": "Verifica 'a validità 'e nu token <kbd>csrf</kbd>.",
+       "apihelp-clearhasmsg-description": "Scancella 'o flag <code>hasmsg</code> pe ll'utente currente.",
+       "apihelp-clearhasmsg-example-1": "Scancella 'o flag <code>hasmsg</code> pe' l'utente currente.",
+       "apihelp-compare-description": "Piglia 'e differenze nfra 2 paggene.\n\nNu nummero 'e verziune, 'o titolo 'e na paggena, o ll'IDE 'e paggena adda essere nnicato fosse p' 'o \"'a\" ca pe' ll' \"a\".",
        "apihelp-compare-param-fromtitle": "Primmo titolo 'a cunfruntà.",
        "apihelp-compare-param-fromid": "Primmo ID 'e paggena a cunfruntà.",
        "apihelp-compare-param-fromrev": "Primma verziona a cunfruntà.",
@@ -21,6 +34,7 @@
        "apihelp-createaccount-description": "Crèa cunto nnòvo.",
        "apihelp-createaccount-param-name": "Nomme utente.",
        "apihelp-createaccount-param-password": "Password (sarrà gnurata se mpustato nu <var>$1mailpassword</var>).",
+       "apihelp-createaccount-param-domain": "Dumminio pe' ffà autenticaziona 'a fore (opzionale).",
        "apihelp-delete-description": "Scancella 'na paggena.",
        "apihelp-edit-example-edit": "Cagna paggena.",
        "apihelp-emailuser-description": "E-mail a n'utente.",
index 0cd7596..010ff04 100644 (file)
        "apihelp-rollback-description": "{{doc-apihelp-description|rollback}}",
        "apihelp-rollback-param-title": "{{doc-apihelp-param|rollback|title}}",
        "apihelp-rollback-param-pageid": "{{doc-apihelp-param|rollback|pageid}}",
+       "apihelp-rollback-param-tags": "{{doc-apihelp-param|rollback|tags}}",
        "apihelp-rollback-param-user": "{{doc-apihelp-param|rollback|user}}",
        "apihelp-rollback-param-summary": "{{doc-apihelp-param|rollback|summary}}",
        "apihelp-rollback-param-markbot": "{{doc-apihelp-param|rollback|markbot}}",
index 338a670..ba07419 100644 (file)
        "apihelp-query+allmessages-param-prop": "要获取的属性。",
        "apihelp-query+allmessages-param-enableparser": "设置以启用解析器,将处理消息的wiki文本(替代魔术字、处理模板等)。",
        "apihelp-query+allmessages-param-nocontent": "如果设置,不要在输出中包含消息内容。",
+       "apihelp-query+allmessages-param-includelocal": "也包括本地消息,也就是不存在于软件但作为MediaWiki:页面存在的消息。\n这会列举所有MediaWiki:页面,因此它也将列举那些不是真消息的消息,例如[[MediaWiki:Common.js|Common.js]]。",
        "apihelp-query+allmessages-param-args": "要替代进消息的参数。",
        "apihelp-query+allmessages-param-filter": "只返回名称包含此字符串的消息。",
        "apihelp-query+allmessages-param-customised": "只返回在此定制情形下的消息。",
        "apihelp-query+allredirects-param-namespace": "要列举的名字空间。",
        "apihelp-query+allredirects-param-limit": "返回的总计项目数。",
        "apihelp-query+allredirects-param-dir": "罗列所采用的方向。",
+       "apihelp-query+allredirects-example-B": "列举目标页面,包含丢失的页面、它们来自的页面ID,以<kbd>B</kbd>开头。",
        "apihelp-query+allredirects-example-unique": "列出孤立目标页面。",
        "apihelp-query+allredirects-example-unique-generator": "获取所有目标页面,标记丢失的。",
        "apihelp-query+allredirects-example-generator": "获取包含重定向的页面。",
        "apihelp-query+categorymembers-example-simple": "获取<kbd>Category:Physics</kbd>中的前10个页面。",
        "apihelp-query+categorymembers-example-generator": "获取有关<kbd>Category:Physics</kbd>中的前10个页面的页面信息。",
        "apihelp-query+contributors-description": "获取对一个页面的登录贡献者列表和匿名贡献数。",
+       "apihelp-query+contributors-param-group": "只包括指定用户组中的用户。不包括隐性的或自动提升的用户组,例如*、用户或自动确认用户。",
+       "apihelp-query+contributors-param-excludegroup": "排除指定用户组中的用户。不包括隐性的或自动提升的用户组,例如*、用户或自动确认用户。",
+       "apihelp-query+contributors-param-rights": "只包括拥有指定权限的用户。不包括隐性的或自动提升的用户组,例如*、用户或自动确认用户。",
+       "apihelp-query+contributors-param-excluderights": "排除拥有指定权限的用户。不包括隐性的或自动提升的用户组,例如*、用户或自动确认用户。",
        "apihelp-query+contributors-param-limit": "返回的贡献数。",
        "apihelp-query+contributors-example-simple": "显示<kbd>Main Page</kbd>的贡献。",
        "apihelp-query+deletedrevisions-description": "获得删除修订版本信息。\n\n可在很多途径中使用:\n# 获得一组页面的已删除修订,通过设置标题或页面ID。以标题和时间戳排序。\n# 通过设置它们的ID与修订ID获得关于一组已删除修订。以修订ID排序。",
        "apihelp-query+imageinfo-example-dated": "取得有关[[:File:Test.jpg]]自2008年以来版本的信息。",
        "apihelp-query+images-description": "返回指定页面上包含的所有文件。",
        "apihelp-query+images-param-limit": "返回多少文件。",
+       "apihelp-query+images-param-images": "只列出这些文件。对于检查某一页面使用某一文件很有用。",
        "apihelp-query+images-param-dir": "罗列所采用的方向。",
        "apihelp-query+images-example-simple": "获取[[Main Page]]使用的文件列表。",
        "apihelp-query+images-example-generator": "获取有关[[Main Page]]使用的文件的信息。",
        "apihelp-query+imageusage-param-pageid": "要搜索的页面ID。不能与$1title一起使用。",
        "apihelp-query+imageusage-param-namespace": "要列举的名字空间。",
        "apihelp-query+imageusage-param-dir": "罗列所采用的方向。",
+       "apihelp-query+imageusage-param-filterredir": "如何过滤重定向。当$1redirect被启用时如果设置为nonredirects,这只会应用到第二级。",
        "apihelp-query+imageusage-param-limit": "返回总计页面数。如果<var>$1redirect</var>被启用,则限定分别适用于每一等级(这意味着将返回多达2 * <var>$1limit</var>个结果)。",
        "apihelp-query+imageusage-example-simple": "显示使用[[:File:Albert Einstein Head.jpg]]的页面。",
        "apihelp-query+imageusage-example-generator": "获取有关使用[[:File:Albert Einstein Head.jpg]]的页面的信息。",
        "apihelp-query+links-description": "从指定页面返回所有链接。",
        "apihelp-query+links-param-namespace": "只显示这些名字空间的链接。",
        "apihelp-query+links-param-limit": "返回多少链接。",
+       "apihelp-query+links-param-titles": "只列出这些标题。对于检查某一页面使用某一标题很有用。",
        "apihelp-query+links-param-dir": "罗列所采用的方向。",
        "apihelp-query+links-example-simple": "从页面<kbd>Main Page</kbd>获取链接。",
        "apihelp-query+links-example-generator": "获取有关在页面<kbd>Main Page</kbd>中连接的页面的信息。",
        "apihelp-query+protectedtitles-param-namespace": "只列出这些名字空间的标题。",
        "apihelp-query+protectedtitles-param-level": "只列出带这些保护级别的标题。",
        "apihelp-query+protectedtitles-param-limit": "返回的总计页面数。",
+       "apihelp-query+protectedtitles-param-start": "从此保护时间戳开始列举。",
+       "apihelp-query+protectedtitles-param-end": "列举至此保护时间戳为止。",
        "apihelp-query+protectedtitles-param-prop": "要获取的属性:",
        "apihelp-query+protectedtitles-paramvalue-prop-timestamp": "添加保护被添加时的时间戳。",
        "apihelp-query+protectedtitles-paramvalue-prop-user": "添加对页面添加保护的用户。",
        "apihelp-query+recentchanges-param-tag": "只列出带此标签的更改。",
        "apihelp-query+recentchanges-param-prop": "包含的额外信息束:",
        "apihelp-query+recentchanges-paramvalue-prop-user": "Adds the user responsible for the edit and tags if they are an IP.",
-       "apihelp-query+recentchanges-paramvalue-prop-userid": "Adds the user ID responsible for the edit.",
-       "apihelp-query+recentchanges-paramvalue-prop-comment": "Adds the comment for the edit.",
+       "apihelp-query+recentchanges-paramvalue-prop-userid": "为编辑添加用户ID责任。",
+       "apihelp-query+recentchanges-paramvalue-prop-comment": "为编辑添加摘要。",
        "apihelp-query+recentchanges-paramvalue-prop-parsedcomment": "Adds the parsed comment for the edit.",
        "apihelp-query+recentchanges-paramvalue-prop-flags": "为编辑添加标记。",
        "apihelp-query+recentchanges-paramvalue-prop-timestamp": "添加编辑的时间戳。",
        "apihelp-query+recentchanges-paramvalue-prop-title": "添加编辑的页面标题。",
        "apihelp-query+recentchanges-paramvalue-prop-ids": "添加页面ID、最近更改ID和新旧修订的ID。",
        "apihelp-query+recentchanges-paramvalue-prop-sizes": "Adds the new and old page length in bytes.",
-       "apihelp-query+recentchanges-paramvalue-prop-redirect": "Tags edit if page is a redirect.",
+       "apihelp-query+recentchanges-paramvalue-prop-redirect": "如果页面是重定向的话,标记编辑。",
        "apihelp-query+recentchanges-paramvalue-prop-patrolled": "Tags patrollable edits as being patrolled or unpatrolled.",
        "apihelp-query+recentchanges-paramvalue-prop-loginfo": "Adds log information (log ID, log type, etc) to log entries.",
-       "apihelp-query+recentchanges-paramvalue-prop-tags": "Lists tags for the entry.",
+       "apihelp-query+recentchanges-paramvalue-prop-tags": "列举条目的标签。",
        "apihelp-query+recentchanges-paramvalue-prop-sha1": "Adds the content checksum for entries associated with a revision.",
        "apihelp-query+recentchanges-param-token": "请改用<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>。",
        "apihelp-query+recentchanges-param-show": "只显示满足这些标准的项目。例如,要只查看由登录用户做出的小编辑,设置$1show=minor|!anon。",
        "apihelp-query+recentchanges-param-limit": "返回总计更新数。",
        "apihelp-query+recentchanges-param-type": "显示的更改类型。",
+       "apihelp-query+recentchanges-param-toponly": "只列举作为最新修订的更改。",
        "apihelp-query+recentchanges-param-generaterevisions": "当作为生成器使用时,生成修订ID而不是标题。不带关联修订ID的最近更改记录(例如大多数日志记录)将不会生成任何东西。",
        "apihelp-query+recentchanges-example-simple": "最近更改列表。",
        "apihelp-query+recentchanges-example-generator": "获取有关最近未巡查更改的页面信息。",
        "apihelp-query+redirects-paramvalue-prop-fragment": "每个重定向的碎片,如果有。",
        "apihelp-query+redirects-param-namespace": "只包含这些名字空间的页面。",
        "apihelp-query+redirects-param-limit": "返回多少重定向。",
+       "apihelp-query+redirects-param-show": "只显示符合这些标准的项目:\n;fragment:只显示带碎片的重定向。\n;!fragment:只显示不带碎片的重定向。",
        "apihelp-query+redirects-example-simple": "获取至[[Main Page]]的重定向列表。",
        "apihelp-query+redirects-example-generator": "获取所有重定向至[[Main Page]]的信息。",
        "apihelp-query+revisions-paraminfo-singlepageonly": "可能只能与单一页面使用(模式#2)。",
+       "apihelp-query+revisions-param-startid": "从哪个修订版本ID开始列举。",
+       "apihelp-query+revisions-param-endid": "在此修订版本ID停止修订列举。",
+       "apihelp-query+revisions-param-start": "从哪个修订版本时间戳开始列举。",
        "apihelp-query+revisions-param-end": "列举直至此时间戳。",
        "apihelp-query+revisions-param-user": "只包含由用户做出的修订。",
        "apihelp-query+revisions-param-excludeuser": "不包括由用户做出的修订。",
        "apihelp-query+search-param-what": "要执行的搜索类型。",
        "apihelp-query+search-param-info": "要返回的元数据。",
        "apihelp-query+search-param-prop": "要返回的属性:",
-       "apihelp-query+search-paramvalue-prop-size": "Adds the size of the page in bytes.",
+       "apihelp-query+search-paramvalue-prop-size": "添加页面大小(字节)。",
        "apihelp-query+search-paramvalue-prop-wordcount": "Adds the word count of the page.",
        "apihelp-query+search-paramvalue-prop-timestamp": "Adds the timestamp of when the page was last edited.",
        "apihelp-query+search-paramvalue-prop-snippet": "Adds a parsed snippet of the page.",
        "apihelp-query+search-paramvalue-prop-hasrelated": "<span class=\"apihelp-deprecated\">Deprecated and ignored.</span>",
        "apihelp-query+search-param-limit": "返回的总计页面数。",
        "apihelp-query+search-param-interwiki": "搜索结果中包含跨wiki结果,如果可用。",
+       "apihelp-query+search-param-backend": "要使用的搜索后端,如果没有则为默认。",
        "apihelp-query+search-example-simple": "搜索<kbd>meaning</kbd>。",
        "apihelp-query+search-example-text": "搜索文本<kbd>meaning</kbd>。",
        "apihelp-query+search-example-generator": "获得有关搜索<kbd>meaning</kbd>返回页面的页面信息。",
        "apihelp-query+usercontribs-paramvalue-prop-tags": "列举用于编辑的标签。",
        "apihelp-query+usercontribs-param-show": "只显示符合这些标准的项目,例如只显示不是小编辑的编辑:<kbd>$2show=!minor</kbd>。\n\n如果<kbd>$2show=patrolled</kbd>或<kbd>$2show=!patrolled</kbd>被设定,早于<var>[[mw:Manual:$wgRCMaxAge|$wgRCMaxAge]]</var>($1秒)的修订不会被显示。",
        "apihelp-query+usercontribs-param-tag": "只列出被此标签标记的修订。",
+       "apihelp-query+usercontribs-param-toponly": "只列举作为最新修订的更改。",
        "apihelp-query+usercontribs-example-user": "显示用户<kbd>Example</kbd>的贡献。",
        "apihelp-query+usercontribs-example-ipprefix": "显示来自<kbd>192.0.2.</kbd>前缀所有 IP 地址的贡献。",
        "apihelp-query+userinfo-description": "获取有关当前用户的信息。",
        "apihelp-query+users-paramvalue-prop-groups": "列举每位用户属于的所有组。",
        "apihelp-query+users-paramvalue-prop-implicitgroups": "Lists all the groups a user is automatically a member of.",
        "apihelp-query+users-paramvalue-prop-rights": "Lists all the rights each user has.",
-       "apihelp-query+users-paramvalue-prop-editcount": "Adds the user's edit count.",
-       "apihelp-query+users-paramvalue-prop-registration": "Adds the user's registration timestamp.",
+       "apihelp-query+users-paramvalue-prop-editcount": "添加用户的编辑计数。",
+       "apihelp-query+users-paramvalue-prop-registration": "添加用户的注册时间戳。",
        "apihelp-query+users-paramvalue-prop-emailable": "Tags if the user can and wants to receive email through [[Special:Emailuser]].",
        "apihelp-query+users-paramvalue-prop-gender": "Tags the gender of the user. Returns \"male\", \"female\", or \"unknown\".",
        "apihelp-query+users-paramvalue-prop-centralids": "添加中心ID并为用户附加状态。",
        "apihelp-rollback-description": "撤销对页面的最近编辑。\n\n如果最近编辑页面的用户在一行中进行多次编辑,所有编辑将被回退。",
        "apihelp-rollback-param-title": "要回退的页面标题。不能与<var>$1pageid</var>一起使用。",
        "apihelp-rollback-param-pageid": "要回退的页面的页面 ID。不能与<var>$1title</var>一起使用。",
+       "apihelp-rollback-param-tags": "要应用在回退上的标签。",
        "apihelp-rollback-param-user": "做出要回退的编辑的用户名称。",
        "apihelp-rollback-param-summary": "自定义编辑摘要。如果为空,将使用默认摘要。",
        "apihelp-rollback-param-markbot": "将被回退的编辑和回退操作标记为机器人编辑。",
        "api-help-permissions-granted-to": "{{PLURAL:$1|授予}}:$2",
        "api-help-right-apihighlimits": "在API查询中使用更高的上限(慢查询:$1;快查询:$2)。慢查询的限制也适用于多值参数。",
        "api-credits-header": "制作人员",
-       "api-credits": "API 开发人员:\n* Roan Kattouw(2007年9月~2009年的开发组领导)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan(创建者,2006年9月~2007年9月的开发组领导)\n* Brad Jorsch(2013年至今的开发组领导)\n\n请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求在https://phabricator.wikimedia.org/。"
+       "api-credits": "API 开发人员:\n* Yuri Astrakhan(创建者,2006年9月~2007年9月的开发组领导)\n* Roan Kattouw(2007年9月~2009年的开发组领导)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Brad Jorsch(2013年至今的开发组领导)\n\n请将您的评论、建议和问题发送至mediawiki-api@lists.wikimedia.org,或提交错误请求在https://phabricator.wikimedia.org/。"
 }
index fad8ee8..83da4af 100644 (file)
@@ -38,7 +38,7 @@ use CLDRPluralRuleParser\Evaluator;
  * as grammatical transformation, is done by the caller.
  */
 class LocalisationCache {
-       const VERSION = 3;
+       const VERSION = 4;
 
        /** Configuration associative array */
        private $conf;
@@ -123,7 +123,7 @@ class LocalisationCache {
         * by a fallback sequence.
         */
        static public $mergeableMapKeys = array( 'messages', 'namespaceNames',
-               'dateFormats', 'imageFiles', 'preloadedMessages'
+               'namespaceAliases', 'dateFormats', 'imageFiles', 'preloadedMessages'
        );
 
        /**
index ca568ad..b36de98 100644 (file)
@@ -845,7 +845,7 @@ abstract class DatabaseMysqlBase extends Database {
         * @since 1.20
         */
        public function lockIsFree( $lockName, $method ) {
-               $lockName = $this->addQuotes( $lockName );
+               $lockName = $this->addQuotes( $this->makeLockName( $lockName ) );
                $result = $this->query( "SELECT IS_FREE_LOCK($lockName) AS lockstatus", $method );
                $row = $this->fetchObject( $result );
 
@@ -859,7 +859,7 @@ abstract class DatabaseMysqlBase extends Database {
         * @return bool
         */
        public function lock( $lockName, $method, $timeout = 5 ) {
-               $lockName = $this->addQuotes( $lockName );
+               $lockName = $this->addQuotes( $this->makeLockName( $lockName ) );
                $result = $this->query( "SELECT GET_LOCK($lockName, $timeout) AS lockstatus", $method );
                $row = $this->fetchObject( $result );
 
@@ -880,13 +880,19 @@ abstract class DatabaseMysqlBase extends Database {
         * @return bool
         */
        public function unlock( $lockName, $method ) {
-               $lockName = $this->addQuotes( $lockName );
+               $lockName = $this->addQuotes( $this->makeLockName( $lockName ) );
                $result = $this->query( "SELECT RELEASE_LOCK($lockName) as lockstatus", $method );
                $row = $this->fetchObject( $result );
 
                return ( $row->lockstatus == 1 );
        }
 
+       private function makeLockName( $lockName ) {
+               // http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_get-lock
+               // Newer version enforce a 64 char length limit.
+               return ( strlen( $lockName ) > 64 ) ? sha1( $lockName ) : $lockName;
+       }
+
        public function namedLocksEnqueue() {
                return true;
        }
index 93f0f6c..781b6a6 100644 (file)
@@ -1068,8 +1068,10 @@ class DifferenceEngine extends ContextSource {
        public function addHeader( $diff, $otitle, $ntitle, $multi = '', $notice = '' ) {
                // shared.css sets diff in interface language/dir, but the actual content
                // is often in a different language, mostly the page content language/dir
-               $tableClass = 'diff diff-contentalign-' . htmlspecialchars( $this->getDiffLang()->alignStart() );
-               $header = "<table class='$tableClass'>";
+               $header = Html::openElement( 'table', array(
+                       'class' => array( 'diff', 'diff-contentalign-' . $this->getDiffLang()->alignStart() ),
+                       'data-mw' => 'interface',
+               ) );
                $userLang = htmlspecialchars( $this->getLanguage()->getHtmlCode() );
 
                if ( !$diff && !$otitle ) {
index ba0e38f..b863adc 100644 (file)
@@ -281,15 +281,15 @@ abstract class Installer {
         */
        public $licenses = array(
                'cc-by' => array(
-                       'url' => 'https://creativecommons.org/licenses/by/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by/4.0/',
                        'icon' => '$wgResourceBasePath/resources/assets/licenses/cc-by.png',
                ),
                'cc-by-sa' => array(
-                       'url' => 'https://creativecommons.org/licenses/by-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-sa/4.0/',
                        'icon' => '$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png',
                ),
                'cc-by-nc-sa' => array(
-                       'url' => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-nc-sa/4.0/',
                        'icon' => '$wgResourceBasePath/resources/assets/licenses/cc-by-nc-sa.png',
                ),
                'cc-0' => array(
index e5c1a1d..cbe51f5 100644 (file)
@@ -354,7 +354,7 @@ class MysqlInstaller extends DatabaseInstaller {
                $s .= Xml::closeElement( 'div' );
 
                if ( $this->getVar( '_MysqlEngine' ) != 'MyISAM' ) {
-                       $s .= Xml::openElement( 'script', array( 'type' => 'text/javascript' ) );
+                       $s .= Xml::openElement( 'script' );
                        $s .= '$(\'#dbMyisamWarning\').hide();';
                        $s .= Xml::closeElement( 'script' );
                }
index 44c6b14..ca3f758 100644 (file)
@@ -6,7 +6,8 @@
                        "ZaDiak",
                        "Astralnet",
                        "Geraki",
-                       "Stam.nikos"
+                       "Stam.nikos",
+                       "Giorgos456"
                ]
        },
        "config-desc": "Το πρόγραμμα εγκατάστασης για το MediaWiki",
        "config-upload-deleted": "Καταλόγος για διαγραφέντα αρχεία:",
        "config-logo": "Διεύθυνση URL λογότυπου:",
        "config-instantcommons": "Ενεργοποίηση Instant Commons",
+       "config-cc-error": "Ο επιλογέας αδειών  Creative Commons επιλογέα δεν έδωσε κανένα αποτέλεσμα.\nΕισάγετε το όνομα της άδειας χειροκίνητα.",
        "config-cc-again": "Επιλέξτε ξανά...",
+       "config-cc-not-chosen": "Επιλέξτε την  άδεια Creative Commons που θέλετε και κάντε κλικ στο κουμπί \"συνέχεια\".",
        "config-advanced-settings": "Προηγμένες ρυθμίσεις παραμέτρων",
        "config-cache-options": "Ρυθμίσεις για την προσωρινή αποθήκευση αντικειμένου:",
+       "config-memcache-noport": "Δεν καθορίσατε μια θύρα για να χρησιμοποιήσετε για το Memcached server: $1.\nΑν δεν ξέρετε τη θύρα, η προεπιλογή είναι 11211.",
+       "config-memcache-badport": "Οι Memcached αριθμοί θύρας θα πρέπει να είναι μεταξύ $1 και $2.",
        "config-extensions": "Επεκτάσεις",
+       "config-extensions-help": "Οι επεκτάσεις που αναφέρονται ανωτέρω εντοπίστηκαν στο φακελό σας  <code>./extensions</code>.\n\nΜπορεί να απαιτούν επιπλέον παραμετροποιήσεις, αλλά μπορείτε να τις ενεργοποιήσετε τώρα.",
        "config-skins": "Θέματα εμφάνισης",
        "config-skins-help": "Τα θέματα εμφάνισης που αναφέρονται παραπάνω εντοπίστηκαν στον κατάλογο <code>./skins</code>. Πρέπει να  ενεργοποιήσετε τουλάχιστον ένα και να επιλέξτε ποιο θα είναι το προεπιλεγμένο.",
        "config-skins-use-as-default": "Χρήση αυτού του θέματος εμφάνισης ως προεπιλογή",
+       "config-skins-missing": "Κανένα θέμα εμφάνισης δεν βρέθηκε: Το MediaWiki θα χρησιμοποιήσει ένα προγενέστερο θέμα εμφάνισης μέχρι να εγκαταστήσετε κάποια κανονικά.",
        "config-skins-must-enable-some": "Πρέπει να επιλέξετε τουλάχιστον μία εμφάνιση να την ενεργοποιήσετε.",
        "config-skins-must-enable-default": "Το θέμα εμφάνισης που επιλέχθηκε ως προεπιλεγμένο πρέπει να είναι ενεργοποιημένο.",
        "config-install-alreadydone": "<strong>Προειδοποίηση:</strong> Φαίνεται πως έχετε ήδη εγκατεστημένο το MediaWiki και προσπαθείτε να το εγκαταστήσετε ξανά.\nΠαρακαλώ προχωρήστε στην επόμενη σελίδα.",
        "config-install-extensions": "Γίνεται συμπερίληψη των επεκτάσεων",
        "config-install-database": "Ρύθμιση βάσης δεδομένων",
        "config-install-schema": "Γίνεται δημιουργία του σχήματος της βάσης δεδομένων",
+       "config-install-pg-schema-not-exist": "PostgreSQL σχήμα δεν υφίσταται.",
+       "config-install-pg-schema-failed": "Η δημιουργία πινάκων απέτυχε.\nΒεβαιωθείτε ότι ο χρήστης \"$1\" μπορεί  να γράψει στο σχήμα \"$2\".",
        "config-install-pg-commit": "Γίνονται οι αλλαγές",
        "config-install-pg-plpgsql": "Γίνεται έλεγχος για τη γλώσσα PL/pgSQL",
        "config-pg-no-plpgsql": "Πρέπει να εγκαταστήσετε τη γλώσσα PL/pgSQL στη βάση δεδομένων $1",
        "config-install-user-grant-failed": "Η παροχή άδειας στο χρήστη «$1» απέτυχε: $2",
        "config-install-user-missing": "Ο χρήστης «$1» που καθορίστηκε δεν υπάρχει.",
        "config-install-tables": "Γίνεται δημιουργία πινάκων",
+       "config-install-tables-exist": "<strong>Προειδοποίηση:</strong> Οι πίνακες MediaWiki φαίνεται να υπάρχουν ήδη.\nΠαρακάμπτοντας τη δημιουργία.",
        "config-install-tables-failed": "<strong>Σφάλμα:</strong>Η δημιουργία πινάκων απέτυχε με το ακόλουθο μήνυμα λάθους: $1",
        "config-install-interwiki": "Γίνεται συμπλήρωση του προεπιλεγμένου πίνακα interwiki",
        "config-install-interwiki-list": "Αδυναμία ανάγνωσης του αρχείου <code>interwiki.list</code>.",
+       "config-install-interwiki-exists": "<strong>Προειδοποίηση:</strong> O πίνακας interwiki φαίνεται να έχει ήδη καταχωρηθεί.\nΠαρακάμπτοντας προεπιλεγμένη λίστα.",
        "config-install-stats": "Γίνεται αρχικοποίηση των στατιστικών",
        "config-install-keys": "Γίνεται δημιουργία των μυστικών κλειδιών",
        "config-install-sysop": "Γίνεται δημιουργία του λογαριασμού χρήστη του διαχειριστή",
+       "config-install-subscribe-fail": "Ανίκανος να εγγραφείτε στο mediawiki-ανακοινώση: $1",
        "config-install-mainpage": "Γίνεται δημιουργία της αρχικής σελίδας με προεπιλεγμένο περιεχόμενο",
        "config-install-extension-tables": "Γίνεται δημιουργία πινάκων για τις εγκατεστημένες επεκτάσεις",
        "config-install-mainpage-failed": "Δεν ήταν δυνατή η εισαγωγή της αρχικής σελίδας: $1",
index de26499..c2889bf 100644 (file)
@@ -9,7 +9,8 @@
                        "Reza1615",
                        "Alirezaaa",
                        "Danialbehzadi",
-                       "Leyth"
+                       "Leyth",
+                       "Huji"
                ]
        },
        "config-desc": "نصب کنندهٔ ویکی‌مدیا",
        "config-db-install-account": "حساب کاربری برای نصب",
        "config-db-username": "نام کاربری پایگاه اطلاعات:",
        "config-db-password": "گذرواژه پایگاه داده‌ها:",
-       "config-db-password-empty": "لطفاً یک رمز عبور برای کاربر تازه پایگاه اطلا‌عاتی وارد کنید: $1\nدر صورتی که ممکن است کاربران بدون رمز عبور به وجود آیند،امن نیست.",
-       "config-db-username-empty": "شما باید یک مقدار برای \"نام کاربری {{int:config-db-username}}\" وارد کنید",
        "config-db-install-username": "نام کاربری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌شد.\nاین نام کاربری حساب مدیاویکی نیست; نام کاربری برای پایگاه اطلاعاتی شما است.",
        "config-db-install-password": "رمز عبوری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌شد.\nاین رمز عبور برای حساب مدیاویکی نیست;رمز عبور برای پایگاه اطلاعاتی شما است.",
        "config-db-install-help": "نام کاربری و رمز عبوری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌ٰشد.",
        "config-admin-error-bademail": "شما آدرس ایمیل نامعتبر وارد کرده‌اید.",
        "config-subscribe": "عضویت در [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce release announcements mailing list].",
        "config-subscribe-help": "این یک میلینگ لیست کم حجم است که برای اطلاع‌رسانی کاربرد دارد و شامل اطلاعیه‌های امنیتی می‌شود.\nشما باید در آن ثبت نام کنید و زمانی که نسخهٔ جدید مدیاویکی ارائه شد آن را به‌روز نمائید.",
-       "config-subscribe-noemail": "شما بدون ثبت آدرس ایمیل قصد داشتید در فهرست ایمیل‌رسانی ثبت‌نام کنید.\nاگر قصد ثبت‌نام دارید لطفاً ایمیلی مشخص کنید.",
+       "config-subscribe-noemail": "شما بدون ثبت نشانی پست الکترونیکی قصد داشتید در فهرست اطلاع‌رسانی پخش نرم‌افزار ثبت‌نام کنید.\nاگر قصد ثبت‌نام دارید لطفاً یک نشانی پست الکترونیکی مشخص کنید.",
        "config-almost-done": "شما تقریباً عملیات را کامل کرده‌اید.\nاکنون می‌توانید پیکربندی باقیمانده را نخوانده رها کنید و درحال‌حاضر ویکی را نصب کنید.",
        "config-optional-continue": "سوال‌های بیشتری از من بپرسید.",
        "config-optional-skip": "درحال‌حاضر خسته‌ام،سریعاً ویکی را نصب کنید.",
        "config-nofile": "پروندهٔ «$1» یافت نشد. آیا حذف شده‌است؟",
        "config-extension-link": "آیا می‌دانستید که ویکی شما [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions] را پشتیبانی می‌کند؟\nشما می‌توانید [//www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category]",
        "mainpagetext": "'''نرم‌افزار ویکی با موفقیت نصب شد.'''",
-       "mainpagedocfooter": "از [//meta.wikimedia.org/wiki/Help:Contents راهنمای کاربران]\nبرای استفاده از نرم‌افزار ویکی کمک بگیرید.\n\n== آغاز به کار ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings تنظیم پیکربندی]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki پرسش‌های متداول]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce فهرست ارسال نسخه‌های مدیاویکی]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise مدیاویکی برای زبان شما]"
+       "mainpagedocfooter": "از [//meta.wikimedia.org/wiki/Help:Contents راهنمای کاربران]\nبرای استفاده از نرم‌افزار ویکی کمک بگیرید.\n\n== آغاز به کار ==\n\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings تنظیم پیکربندی]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki پرسش‌های متداول]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce فهرست ارسال نسخه‌های مدیاویکی]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise مدیاویکی برای زبان شما]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam آموزش مقابله به هرزنگاری در ویکی شما]"
 }
index 726b74d..13750e8 100644 (file)
@@ -1,7 +1,8 @@
 {
        "@metadata": {
                "authors": [
-                       "David1010"
+                       "David1010",
+                       "BRUTE"
                ]
        },
        "config-information": "ინფორმაცია",
@@ -24,6 +25,8 @@
        "config-page-existingwiki": "არსებული ვიკი",
        "config-restart": "დიახ, თავიდან დაიწყეთ",
        "config-sidebar": "* [//www.mediawiki.org მედიავიკის ვებ-გვერდი]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents/ka მომხმარებლების დახმარება]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents/ka ადმინისტრატორების დახმარება]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/ka FAQ]\n----\n* <doclink href=Readme>წამიკითხე</doclink>\n* <doclink href=ReleaseNotes>ინფორმაცია გამოშვებაზე</doclink>\n* <doclink href=Copying>ლიცენზია</doclink>\n* <doclink href=UpgradeDoc>განახლება</doclink>",
+       "config-env-php": "PHP $1 დაინსტალირებულია",
+       "config-env-hhvm": "HHVM $1 დაინსტალირებულია.",
        "config-xcache": "[http://xcache.lighttpd.net/ XCache] დაყენდა",
        "config-apc": "[http://www.php.net/apc APC] დაყენდა",
        "config-wincache": "[http://www.iis.net/download/WinCacheForPhp WinCache] დაყენდა",
@@ -64,6 +67,7 @@
        "config-admin-email": "ელ. ფოსტის მისამართი:",
        "config-admin-error-bademail": "თქვენ მიერ შეყვანილი ელ.ფოსტა არასწორია.",
        "config-subscribe": "გამოიწერეთ [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce მედიავიკის ახალი ვერსიის გამოსვლის სიახლეები].",
+       "config-optional-continue": "მკითხე მეტი.",
        "config-profile": "მომხმარებელთა უფლებების პროფილი:",
        "config-profile-wiki": "ღია ვიკი",
        "config-profile-no-anon": "საჭიროა ანგარიშის შექმნა",
@@ -80,6 +84,7 @@
        "config-email-settings": "ელ. ფოსტის პარამეტრები",
        "config-upload-settings": "სურათებისა და ფაილების ატვირთვა",
        "config-upload-enable": "ფაილების ატვირთვის ჩართვა",
+       "config-upload-deleted": "წაშლილი ფაილების დირექტორია:",
        "config-logo": "ლოგოს URL:",
        "config-cc-again": "აირჩიეთ კიდევ ერთხელ...",
        "config-advanced-settings": "დამატებითი კონფიგურაცია",
@@ -87,6 +92,7 @@
        "config-install-step-done": "შესრულდა",
        "config-install-step-failed": "ვერ მოხერხდა",
        "config-install-schema": "სქემის შექმნა",
+       "config-install-user-alreadyexists": "მომხმარებელი \"$1\" უკვე არსებობს",
        "config-install-tables": "ცხრილების შექმნა",
        "config-install-interwiki-list": "ვერ მოიძებნა ფაილი <code>interwiki.list</code>.",
        "config-download-localsettings": "<code>LocalSettings.php</code>-ის გადმოწერა",
index b121dfe..5666415 100644 (file)
@@ -201,14 +201,14 @@ class JobRunner implements LoggerAwareInterface {
                                // Record how long jobs wait before getting popped
                                $readyTs = $job->getReadyTimestamp();
                                if ( $readyTs ) {
-                                       $pickupDelay = $popTime - $readyTs;
+                                       $pickupDelay = max( 0, $popTime - $readyTs );
                                        $stats->timing( 'jobqueue.pickup_delay.all', 1000 * $pickupDelay );
                                        $stats->timing( "jobqueue.pickup_delay.$jType", 1000 * $pickupDelay );
                                }
                                // Record root job age for jobs being run
                                $root = $job->getRootJobParams();
                                if ( $root['rootJobTimestamp'] ) {
-                                       $age = $popTime - wfTimestamp( TS_UNIX, $root['rootJobTimestamp'] );
+                                       $age = max( 0, $popTime - wfTimestamp( TS_UNIX, $root['rootJobTimestamp'] ) );
                                        $stats->timing( "jobqueue.pickup_root_age.$jType", 1000 * $age );
                                }
                                // Track the execution time for jobs
index 9b4e7e9..81f93c0 100644 (file)
@@ -24,6 +24,8 @@
 /**
  * Class to handle tracking information about all queues using PhpRedis
  *
+ * The mediawiki/services/jobrunner background service must be set up and running.
+ *
  * @ingroup JobQueue
  * @ingroup Redis
  * @since 1.21
@@ -33,8 +35,6 @@ class JobQueueAggregatorRedis extends JobQueueAggregator {
        protected $redisPool;
        /** @var array List of Redis server addresses */
        protected $servers;
-       /** @var bool */
-       protected $registeredQueue = false;
 
        /**
         * @param array $params Possible keys:
@@ -55,44 +55,11 @@ class JobQueueAggregatorRedis extends JobQueueAggregator {
        }
 
        protected function doNotifyQueueEmpty( $wiki, $type ) {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->hDel( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ) );
-
-                       return true;
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-
-                       return false;
-               }
+               return true; // managed by the service
        }
 
        protected function doNotifyQueueNonEmpty( $wiki, $type ) {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->multi( Redis::PIPELINE );
-                       if ( !$this->registeredQueue ) {
-                               // Make sure the queue is registered as existing
-                               $conn->hSetNx( $this->getQueueTypesKey(), $type, 'enabled' );
-                               $conn->sAdd( $this->getWikiSetKey(), $wiki );
-                       }
-                       $conn->hSet( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ), time() );
-                       $conn->exec();
-
-                       $this->registeredQueue = true;
-
-                       return true;
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-
-                       return false;
-               }
+               return true; // managed by the service
        }
 
        protected function doGetAllReadyWikiQueues() {
@@ -107,60 +74,25 @@ class JobQueueAggregatorRedis extends JobQueueAggregator {
                                unset( $map['_epoch'] ); // ignore
                                $pendingDBs = array(); // (type => list of wikis)
                                foreach ( $map as $key => $time ) {
-                                       list( $type, $wiki ) = $this->dencQueueName( $key );
+                                       list( $type, $wiki ) = $this->decodeQueueName( $key );
                                        $pendingDBs[$type][] = $wiki;
                                }
                        } else {
-                               // Avoid duplicated effort
-                               $rand = wfRandomString( 32 );
-                               $conn->multi( Redis::MULTI );
-                               $conn->setex( "{$rand}:lock", 3600, 1 );
-                               $conn->renamenx( "{$rand}:lock", $this->getReadyQueueKey() . ":lock" );
-                               if ( $conn->exec() !== array( true, true ) ) { // lock
-                                       $conn->delete( "{$rand}:lock" );
-                                       return array(); // already in progress
-                               }
-
-                               $pendingDBs = $this->findPendingWikiQueues(); // (type => list of wikis)
-
-                               $conn->multi( Redis::PIPELINE );
-                               $now = time();
-                               $map = array( '_epoch' => time() ); // dummy key for empty Redis collections
-                               foreach ( $pendingDBs as $type => $wikis ) {
-                                       $conn->hSetNx( $this->getQueueTypesKey(), $type, 'enabled' );
-                                       foreach ( $wikis as $wiki ) {
-                                               $map[$this->encQueueName( $type, $wiki )] = $now;
-                                       }
-                               }
-                               $conn->hMSet( $this->getReadyQueueKey(), $map );
-                               $conn->exec();
-
-                               $conn->delete( $this->getReadyQueueKey() . ":lock" ); // unlock
+                               throw new UnexpectedValueException(
+                                       "No queue listing found; make sure redisJobChronService is running."
+                               );
                        }
 
                        return $pendingDBs;
                } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
+                       $this->redisPool->handleError( $conn, $e );
 
                        return array();
                }
        }
 
        protected function doPurge() {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->delete( $this->getReadyQueueKey() );
-                       // leave key at getQueueTypesKey() alone
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-
-                       return false;
-               }
-
-               return true;
+               return true; // fully and only refreshed by the service
        }
 
        /**
@@ -181,15 +113,6 @@ class JobQueueAggregatorRedis extends JobQueueAggregator {
                return $conn;
        }
 
-       /**
-        * @param RedisConnRef $conn
-        * @param RedisException $e
-        * @return void
-        */
-       protected function handleException( RedisConnRef $conn, $e ) {
-               $this->redisPool->handleError( $conn, $e );
-       }
-
        /**
         * @return string
         */
@@ -197,34 +120,11 @@ class JobQueueAggregatorRedis extends JobQueueAggregator {
                return "jobqueue:aggregator:h-ready-queues:v2"; // global
        }
 
-       /**
-        * @return string
-        */
-       private function getQueueTypesKey() {
-               return "jobqueue:aggregator:h-queue-types:v2"; // global
-       }
-
-       /**
-        * @return string
-        */
-       private function getWikiSetKey() {
-               return "jobqueue:aggregator:s-wikis:v2"; // global
-       }
-
-       /**
-        * @param string $type
-        * @param string $wiki
-        * @return string
-        */
-       private function encQueueName( $type, $wiki ) {
-               return rawurlencode( $type ) . '/' . rawurlencode( $wiki );
-       }
-
        /**
         * @param string $name
         * @return string
         */
-       private function dencQueueName( $name ) {
+       private function decodeQueueName( $name ) {
                list( $type, $wiki ) = explode( '/', $name, 2 );
 
                return array( rawurldecode( $type ), rawurldecode( $wiki ) );
index c6fa914..6ad7741 100644 (file)
@@ -338,6 +338,19 @@ class MultiHttpClient {
                        );
                } elseif ( $req['method'] === 'POST' ) {
                        curl_setopt( $ch, CURLOPT_POST, 1 );
+                       // Don't interpret POST parameters starting with '@' as file uploads, because this
+                       // makes it impossible to POST plain values starting with '@' (and causes security
+                       // issues potentially exposing the contents of local files).
+                       // The PHP manual says this option was introduced in PHP 5.5 defaults to true in PHP 5.6,
+                       // but we support lower versions, and the option doesn't exist in HHVM 5.6.99.
+                       if ( defined( 'CURLOPT_SAFE_UPLOAD' ) ) {
+                               curl_setopt( $ch, CURLOPT_SAFE_UPLOAD, true );
+                       } elseif ( is_array( $req['body'] ) ) {
+                               // In PHP 5.2 and later, '@' is interpreted as a file upload if POSTFIELDS
+                               // is an array, but not if it's a string. So convert $req['body'] to a string
+                               // for safety.
+                               $req['body'] = wfArrayToCgi( $req['body'] );
+                       }
                        curl_setopt( $ch, CURLOPT_POSTFIELDS, $req['body'] );
                } else {
                        if ( is_resource( $req['body'] ) || $req['body'] !== '' ) {
index 044bb53..f557c1a 100644 (file)
@@ -216,6 +216,7 @@ class EmailNotification {
        public function actuallyNotifyOnPageChange( $editor, $title, $timestamp, $summary, $minorEdit,
                $oldid, $watchers, $pageStatus = 'changed' ) {
                # we use $wgPasswordSender as sender's address
+               global $wgUsersNotifiedOnAllChanges;
                global $wgEnotifWatchlist, $wgBlockDisablesLogin;
                global $wgEnotifMinorEdits, $wgEnotifUserTalk;
 
@@ -262,6 +263,7 @@ class EmailNotification {
                                                && ( !$minorEdit || $watchingUser->getOption( 'enotifminoredits' ) )
                                                && $watchingUser->isEmailConfirmed()
                                                && $watchingUser->getID() != $userTalkId
+                                               && !in_array( $watchingUser->getName(), $wgUsersNotifiedOnAllChanges )
                                                && !( $wgBlockDisablesLogin && $watchingUser->isBlocked() )
                                        ) {
                                                if ( Hooks::run( 'SendWatchlistEmailNotification', array( $watchingUser, $title, $this ) ) ) {
@@ -272,7 +274,6 @@ class EmailNotification {
                        }
                }
 
-               global $wgUsersNotifiedOnAllChanges;
                foreach ( $wgUsersNotifiedOnAllChanges as $name ) {
                        if ( $editor->getName() == $name ) {
                                // No point notifying the user that actually made the change!
index f290db8..8fb760d 100644 (file)
@@ -1737,13 +1737,6 @@ class WikiPage implements Page, IDBAccessObject {
                        $status = $this->doCreate( $pstContent, $flags, $user, $summary, $meta );
                }
 
-               // Trigger post-save hook
-               $revision = $status->value['revision']; // new revision
-               $hook_args = array( &$this, &$user, $pstContent, $summary,
-                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $baseRevId );
-               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
-               Hooks::run( 'PageContentSaveComplete', $hook_args );
-
                // Promote user to any groups they meet the criteria for
                DeferredUpdates::addCallableUpdate( function () use ( $user ) {
                        $user->addAutopromoteOnceGroups( 'onEdit' );
@@ -1899,6 +1892,12 @@ class WikiPage implements Page, IDBAccessObject {
                        $this->mTitle->invalidateCache( $now );
                }
 
+               // Trigger post-save hook
+               $hook_args = array( &$this, &$user, $content, $summary,
+                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $meta['baseRevId'] );
+               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
+               Hooks::run( 'PageContentSaveComplete', $hook_args );
+
                return $status;
        }
 
@@ -2007,6 +2006,12 @@ class WikiPage implements Page, IDBAccessObject {
                // Return the new revision to the caller
                $status->value['revision'] = $revision;
 
+               // Trigger post-save hook
+               $hook_args = array( &$this, &$user, $content, $summary,
+                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $meta['baseRevId'] );
+               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
+               Hooks::run( 'PageContentSaveComplete', $hook_args );
+
                return $status;
        }
 
index 4f12414..14292a5 100644 (file)
@@ -1745,7 +1745,7 @@ class PPNode_Hash_Tree implements PPNode {
                                $children[] = $child;
                        }
                }
-               return $children;
+               return new PPNode_Hash_Array( $children );
        }
 
        /**
index 6b634cb..f80e158 100644 (file)
@@ -200,11 +200,10 @@ final class PasswordFactory {
                // stopping at a minimum of 10 chars.
                $length = max( 10, $minLength );
                // Multiply by 1.25 to get the number of hex characters we need
-               $length = $length * 1.25;
                // Generate random hex chars
-               $hex = MWCryptRand::generateHex( $length );
+               $hex = MWCryptRand::generateHex( ceil( $length * 1.25 ) );
                // Convert from base 16 to base 32 to get a proper password like string
-               return Wikimedia\base_convert( $hex, 16, 32 );
+               return substr( Wikimedia\base_convert( $hex, 16, 32, $length ), -$length );
        }
 
        /**
index 73eb8a7..27e1201 100644 (file)
@@ -372,6 +372,8 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                return array(
                        "background-image: url($fallback);",
                        "background-image: linear-gradient(transparent, transparent), url($primary);",
+                       // Do not serve SVG to Opera 12, bad rendering with border-radius or background-size (T87504)
+                       "background-image: -o-linear-gradient(transparent, transparent), url($fallback);",
                );
        }
 
index 39e4e0b..fc128fb 100644 (file)
@@ -104,6 +104,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        'wgResourceLoaderLegacyModules' => self::getLegacyModules(),
                        'wgForeignUploadTargets' => $conf->get( 'ForeignUploadTargets' ),
                        'wgEnableUploads' => $conf->get( 'EnableUploads' ),
+                       'wgForeignUploadTestEnabled' => $conf->get( 'ForeignUploadTestEnabled' ),
+                       'wgForeignUploadTestDefault' => $conf->get( 'ForeignUploadTestDefault' ),
                );
 
                Hooks::run( 'ResourceLoaderGetConfigVars', array( &$vars ) );
index 17e1fd1..e52d07c 100644 (file)
@@ -147,6 +147,10 @@ class RevDelRevisionItem extends RevDelItem {
                }
        }
 
+       /**
+        * @return string A HTML <li> element representing this revision, showing
+        * change tags and everything
+        */
        public function getHTML() {
                $difflink = $this->list->msg( 'parentheses' )
                        ->rawParams( $this->getDiffLink() )->escaped();
@@ -156,8 +160,22 @@ class RevDelRevisionItem extends RevDelItem {
                if ( $this->isDeleted() ) {
                        $revlink = "<span class=\"history-deleted\">$revlink</span>";
                }
+               $content = "$difflink $revlink $userlink $comment";
+               $attribs = array();
+               $tags = $this->getTags();
+               if ( $tags ) {
+                       list( $tagSummary, $classes ) = ChangeTags::formatSummaryRow( $tags, 'revisiondelete' );
+                       $content .= " $tagSummary";
+                       $attribs['class'] = implode( ' ', $classes );
+               }
+               return Xml::tags( 'li', $attribs, $content );
+       }
 
-               return "<li>$difflink $revlink $userlink $comment</li>";
+       /**
+        * @return string Comma-separated list of tags
+        */
+       public function getTags() {
+               return $this->row->ts_tags;
        }
 
        public function getApiData( ApiResult $result ) {
index 4a0fff8..ebce504 100644 (file)
@@ -59,20 +59,36 @@ class RevDelRevisionList extends RevDelList {
         */
        public function doQuery( $db ) {
                $ids = array_map( 'intval', $this->ids );
-               $live = $db->select(
-                       array( 'revision', 'page', 'user' ),
-                       array_merge( Revision::selectFields(), Revision::selectUserFields() ),
-                       array(
+               $queryInfo = array(
+                       'tables' => array( 'revision', 'user' ),
+                       'fields' => array_merge( Revision::selectFields(), Revision::selectUserFields() ),
+                       'conds' => array(
                                'rev_page' => $this->title->getArticleID(),
                                'rev_id' => $ids,
                        ),
-                       __METHOD__,
-                       array( 'ORDER BY' => 'rev_id DESC' ),
-                       array(
+                       'options' => array( 'ORDER BY' => 'rev_id DESC' ),
+                       'join_conds' => array(
                                'page' => Revision::pageJoinCond(),
-                               'user' => Revision::userJoinCond() )
+                               'user' => Revision::userJoinCond(),
+                       ),
+               );
+               ChangeTags::modifyDisplayQuery(
+                       $queryInfo['tables'],
+                       $queryInfo['fields'],
+                       $queryInfo['conds'],
+                       $queryInfo['join_conds'],
+                       $queryInfo['options'],
+                       ''
                );
 
+               $live = $db->select(
+                       $queryInfo['tables'],
+                       $queryInfo['fields'],
+                       $queryInfo['conds'],
+                       __METHOD__,
+                       $queryInfo['options'],
+                       $queryInfo['join_conds']
+               );
                if ( $live->numRows() >= count( $ids ) ) {
                        // All requested revisions are live, keeps things simple!
                        return $live;
index 163f3d5..c0e5556 100644 (file)
@@ -1027,7 +1027,9 @@ class SkinTemplate extends Skin {
                                         */
                                        $mode = $user->isWatched( $title ) ? 'unwatch' : 'watch';
                                        $content_navigation['actions'][$mode] = array(
-                                               'class' => $onPage && ( $action == 'watch' || $action == 'unwatch' ) ? 'selected' : false,
+                                               'class' => 'mw-watchlink ' . (
+                                                       $onPage && ( $action == 'watch' || $action == 'unwatch' ) ? 'selected' : ''
+                                               ),
                                                // uses 'watch' or 'unwatch' message
                                                'text' => $this->msg( $mode )->text(),
                                                'href' => $title->getLocalURL( array( 'action' => $mode ) )
index 9129ee5..5047354 100644 (file)
@@ -94,6 +94,18 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
                        ? $params
                        : false;
        }
+
+       /**
+        * Indicate if the target of this redirect can be used to identify
+        * a particular user of this wiki (e.g., if the redirect is to the
+        * user page of a User). See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return false;
+       }
 }
 
 /**
index 3d8ff97..d11fbe6 100644 (file)
@@ -99,4 +99,15 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
                        return $base;
                }
        }
+
+       /**
+        * Target can identify a specific user's language preference.
+        *
+        * @see T109724
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
index 5ef03f1..850b1f6 100644 (file)
@@ -45,6 +45,16 @@ class SpecialMypage extends RedirectSpecialArticle {
 
                return Title::makeTitle( NS_USER, $this->getUser()->getName() . '/' . $subpage );
        }
+
+       /**
+        * Target identifies a specific User. See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
 
 /**
@@ -68,6 +78,16 @@ class SpecialMytalk extends RedirectSpecialArticle {
 
                return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() . '/' . $subpage );
        }
+
+       /**
+        * Target identifies a specific User. See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
 
 /**
@@ -90,6 +110,16 @@ class SpecialMycontributions extends RedirectSpecialPage {
        public function getRedirect( $subpage ) {
                return SpecialPage::getTitleFor( 'Contributions', $this->getUser()->getName() );
        }
+
+       /**
+        * Target identifies a specific User. See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
 
 /**
@@ -110,6 +140,16 @@ class SpecialMyuploads extends RedirectSpecialPage {
        public function getRedirect( $subpage ) {
                return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
        }
+
+       /**
+        * Target identifies a specific User. See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
 
 /**
@@ -132,4 +172,14 @@ class SpecialAllMyUploads extends RedirectSpecialPage {
 
                return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() );
        }
+
+       /**
+        * Target identifies a specific User. See T109724.
+        *
+        * @since 1.27
+        * @return bool
+        */
+       public function personallyIdentifiableTarget() {
+               return true;
+       }
 }
index 3b5b9c9..49ab6d5 100644 (file)
@@ -65,7 +65,10 @@ class SpecialPreferences extends SpecialPage {
 
                $this->addHelpLink( 'Help:Preferences' );
 
-               $htmlForm = Preferences::getFormObject( $this->getUser(), $this->getContext() );
+               // Load the user from the master to reduce CAS errors on double post (T95839)
+               $user = $this->getUser()->getInstanceForUpdate() ?: $this->getUser();
+
+               $htmlForm = Preferences::getFormObject( $user, $this->getContext() );
                $htmlForm->setSubmitCallback( array( 'Preferences', 'tryUISubmit' ) );
                $sectionTitles = $htmlForm->getPreferenceSections();
 
index 9e26f0f..a4b9dd8 100644 (file)
@@ -44,7 +44,10 @@ class WantedTemplatesPage extends WantedQueryPage {
                                'title' => 'tl_title',
                                'value' => 'COUNT(*)'
                        ),
-                       'conds' => array( 'page_title IS NULL' ),
+                       'conds' => array(
+                               'page_title IS NULL',
+                               'tl_namespace' => NS_TEMPLATE
+                       ),
                        'options' => array( 'GROUP BY' => array( 'tl_namespace', 'tl_title' ) ),
                        'join_conds' => array( 'page' => array( 'LEFT JOIN',
                                array( 'page_namespace = tl_namespace',
index e22a8e6..68dc9ab 100644 (file)
@@ -44,6 +44,9 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                $output = $this->getOutput();
                $request = $this->getRequest();
                $this->addHelpLink( 'Help:Watching pages' );
+               $output->addModules( array(
+                       'mediawiki.special.changeslist.visitedstatus',
+               ) );
 
                $mode = SpecialEditWatchlist::getMode( $request, $subpage );
                if ( $mode !== false ) {
index 1de4008..2ac0f2c 100644 (file)
@@ -4228,7 +4228,7 @@ class User implements IDBAccessObject {
                        $salt, $request ?: $this->getRequest(), $timestamp
                );
 
-               if ( $val != $sessionToken ) {
+               if ( !hash_equals( $sessionToken, $val ) ) {
                        wfDebug( "User::matchEditToken: broken session data\n" );
                }
 
@@ -5321,6 +5321,28 @@ class User implements IDBAccessObject {
                }
        }
 
+       /**
+        * Get a new instance of this user that was loaded from the master via a locking read
+        *
+        * Use this instead of the main context User when updating that user. This avoids races
+        * where that user was loaded from a slave or even the master but without proper locks.
+        *
+        * @return User|null Returns null if the user was not found in the DB
+        * @since 1.27
+        */
+       public function getInstanceForUpdate() {
+               if ( !$this->getId() ) {
+                       return null; // anon
+               }
+
+               $user = self::newFromId( $this->getId() );
+               if ( !$user->loadFromId( self::READ_EXCLUSIVE ) ) {
+                       return null;
+               }
+
+               return $user;
+       }
+
        /**
         * Checks if two user objects point to the same user.
         *
index fd7030e..8abca5b 100644 (file)
@@ -132,8 +132,9 @@ class IP {
 
        /**
         * Convert an IP into a verbose, uppercase, normalized form.
-        * IPv6 addresses in octet notation are expanded to 8 words.
-        * IPv4 addresses are just trimmed.
+        * Both IPv4 and IPv6 addresses are trimmed. Additionally,
+        * IPv6 addresses in octet notation are expanded to 8 words;
+        * IPv4 addresses have leading zeros, in each octet, removed.
         *
         * @param string $ip IP address in quad or octet form (CIDR or not).
         * @return string
@@ -143,8 +144,16 @@ class IP {
                if ( $ip === '' ) {
                        return null;
                }
-               if ( self::isIPv4( $ip ) || !self::isIPv6( $ip ) ) {
-                       return $ip; // nothing else to do for IPv4 addresses or invalid ones
+               /* If not an IP, just return trimmed value, since sanitizeIP() is called
+                * in a number of contexts where usernames are supplied as input.
+                */
+               if ( !self::isIPAddress( $ip ) ) {
+                       return $ip;
+               }
+               if ( self::isIPv4( $ip ) ) {
+                       // Remove leading 0's from octet representation of IPv4 address
+                       $ip = preg_replace( '/(?:^|(?<=\.))0+(?=[1-9]|0\.|0$)/', '', $ip );
+                       return $ip;
                }
                // Remove any whitespaces, convert to upper case
                $ip = strtoupper( $ip );
@@ -399,8 +408,9 @@ class IP {
                if ( self::isIPv6( $ip ) ) {
                        $n = 'v6-' . self::IPv6ToRawHex( $ip );
                } elseif ( self::isIPv4( $ip ) ) {
-                       // Bug 60035: an IP with leading 0's fails in ip2long sometimes (e.g. *.08)
-                       $ip = preg_replace( '/(?<=\.)0+(?=[1-9])/', '', $ip );
+                       // T62035/T97897: An IP with leading 0's fails in ip2long sometimes (e.g. *.08),
+                       // also double/triple 0 needs to be changed to just a single 0 for ip2long.
+                       $ip = self::sanitizeIP( $ip );
                        $n = ip2long( $ip );
                        if ( $n < 0 ) {
                                $n += pow( 2, 32 );
index 7747198..69f518b 100644 (file)
@@ -4451,12 +4451,11 @@ class Language {
         * @return bool|string
         */
        public static function getFallbackFor( $code ) {
-               if ( $code === 'en' || !Language::isValidBuiltInCode( $code ) ) {
-                       return false;
-               } else {
-                       $fallbacks = self::getFallbacksFor( $code );
+               $fallbacks = self::getFallbacksFor( $code );
+               if ( $fallbacks ) {
                        return $fallbacks[0];
                }
+               return false;
        }
 
        /**
index e3b8d81..1a3c8d3 100644 (file)
        "morenotlisted": "هذه القائمة غير مكتملة.",
        "mypage": "صفحة",
        "mytalk": "نقاش",
-       "anontalk": "نقاش عنوان الآي بي",
+       "anontalk": "نقاش",
        "navigation": "تصفح",
        "and": "&#32;و",
        "qbfind": "جد",
index a8c9eef..280086c 100644 (file)
        "laggedslavemode": "'''Avisu:''' Esta páxina pue que nun tenga actualizaciones recientes.",
        "readonly": "Base de datos candada",
        "enterlockreason": "Introduz un motivu pal candáu, amestando una estimación de cuándo va tener llugar el descandáu",
-       "readonlytext": "Nestos momentos la base de datos ta candada pa nueves entraes y otres modificaciones, seique por un mantenimientu de rutina, volviendo tar accesible cuando esti dea fin.\n\nL'alministrador que la candó conseñó esti motivu: $1",
+       "readonlytext": "Nestos momentos la base de datos ta candada pa nueves entraes y otros cambios, seique por un mantenimientu de rutina, y n'acabando too volverá a la normalidá.\n\nL'alministrador del sistema que la candó conseñó esti motivu: $1",
        "missing-article": "La base de datos nun atopó'l testu d'una páxina qu'hubiera tener alcontrao, nomada «$1» $2.\n\nEsto débese davezu a siguir una \"dif\" caducada o un enllaz d'historial a una páxina que se desanició.\n\nSi esti nun ye'l casu, seique tengas atopao un bug nel software.\nPor favor informa d'esto a un [[Special:ListUsers/sysop|alministrador]], anotando la URL.",
        "missingarticle-rev": "(núm. revisión: $1)",
        "missingarticle-diff": "(Diff: $1, $2)",
        "title-invalid-relative": "El títulu contien un camín relativu. Los títulos de páxina relativos (./, ../) son inválidos porque de vezu nun se puede llegar al pasalos a los restoladores web.",
        "title-invalid-magic-tilde": "El títulu de páxina solicitáu contien una secuencia máxica de tildes (<nowiki>~~~</nowiki>) inválida.",
        "title-invalid-too-long": "El títulu de páxina solicitáu ye llargu enforma. Nun tien de pasar de $1 {{PLURAL:$1|byte|bytes}} en codificación UTF-8.",
-       "title-invalid-leading-colon": "El títulu de páxina solicitáu contién un caráuter dos puntos inválidu al principiu.",
+       "title-invalid-leading-colon": "El títulu de páxina solicitáu contien un caráuter dos puntos inválidu al principiu.",
        "perfcached": "Los datos siguientes tán na caché y seique nun tean anovaos. Hai un máximu {{PLURAL:$1|d'un resultáu disponible|de $1 resultaos disponibles}} na caché.",
        "perfcachedts": "Los datos siguientes tán na caché y anovaronse por última vegada'l $1. Hai un máximu {{PLURAL:$4|d'un resultáu disponible|de $4 resultaos disponibles}} na caché.",
        "querypage-no-updates": "Anguaño los anovamientos d'esta páxina tán desactivaos.\nEstos datos nun van refrescase nestos momentos.",
        "mypreferencesprotected": "Nun tien permisu pa editar les sos preferencies.",
        "ns-specialprotected": "Les páxines especiales nun se puen editar.",
        "titleprotected": "Esti títulu ta protexíu escontra creación por [[User:$1|$1]].\nEl motivu conseñáu ye «''$2''».",
-       "filereadonlyerror": "Nun pudo camudase'l ficheru «$1» porque'l depósitu de ficheros «$2» ta en mou de sólo llectura.\n\nL'alministrador que lu bloquió dio esti motivu: «$3».",
+       "filereadonlyerror": "Nun pudo camudase'l ficheru «$1» porque l'estoyu de ficheros «$2» ta en mou de sólo llectura.\n\nL'alministrador del sistema que lu bloquió dio esti motivu: «$3».",
        "invalidtitle-knownnamespace": "Títulu inválidu col espaciu de nomes «$2» ya'l testu «$3»",
        "invalidtitle-unknownnamespace": "Títulu inválidu col númberu $1 d'espaciu de nomes desconocíu ya'l testu «$2»",
        "exception-nologin": "Nun anició sesión",
        "passwordreset-emailtext-user": "L'usuariu $1 de {{SITENAME}} solicitó un reaniciu de la so contraseña de {{SITENAME}} ($4). {{PLURAL:$3|La cuenta d'usuariu siguiente ta asociada|Les cuentes d'usuariu siguientes tán asociaes}} con esta direición de corréu electrónicu:\n\n$2\n\n{{PLURAL:$3|Esta contraseña provisional caduca|Estes contraseñes provisionales caduquen}} {{PLURAL:$5|nun día|en $5 díes}}.\nTendría d'aniciar sesión y escoyer una contraseña nueva agora. Si esta solicitú la fizo otra persona, o si recordó la clave orixinal y yá nun quier camudala, pue escaecer esti mensaxe y siguir usando la contraseña antigua.",
        "passwordreset-emailelement": "Nome d'usuariu: \n$1\n\nContraseña temporal: \n$2",
        "passwordreset-emailsentemail": "Si esta ye una direición de corréu electrónicu rexistrada pa la to cuenta, unviaráse un corréu pa reaniciar la contraseña.",
+       "passwordreset-emailsentusername": "Si hai una direición rexistrada de corréu electrónicu correspondiente a esta cuenta, unviaráse un corréu electrónicu pa reaniciar la contraseña.",
        "passwordreset-emailsent-capture": "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo.",
        "passwordreset-emailerror-capture": "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo, pero falló l'unviu {{GENDER:$2|al usuariu|a la usuaria}}: $1",
        "changeemail": "Camudar o desaniciar la dirección de corréu electrónicu",
        "copyrightwarning2": "Por favor, ten en cuenta que toles contribuciones de {{SITENAME}} se puen editar, alterar o desaniciar por otros usuarios. Si nun quies que'l to trabayu s'edite ensin midida, nun lu pongas equí.<br />\nAmás tas dexándonos afitao qu'escribisti esto tu mesmu, o que lo copiasti d'una fonte llibre de dominiu públicu o asemeyao (ver $1 pa más detalles).\n'''¡Nun pongas trabayos con drechos d'autor ensin permisu!'''",
        "editpage-cannot-use-custom-model": "El modelu de conteníu d'esta páxina nun pue cambiase.",
        "longpageerror": "'''ERROR: El testu qu'unviasti tien {{PLURAL:$1|un quilobyte|$1 quilobytes}}, que pasa del máximu de {{PLURAL:$2|un quilobyte|$2 quilobytes}}.'''\nNun se pue grabar.",
-       "readonlywarning": "'''Avisu: La base de datos ta candada por mantenimientu, polo que nun vas poder guardar les tos ediciones nestos momentos.'''\nSeique habríes copiar y apegar el testu nun ficheru de testu y guardalu pa intentalo más sero.\n\nL'alministrador que la candó dio esta esplicación: $1",
+       "readonlywarning": "<strong>Avisu: La base de datos ta candada por mantenimientu, polo que nun vas poder guardar les tos ediciones nestos momentos.</strong>\nSeique habríes copiar y apegar el testu nun ficheru de testu y guardalu pa intentalo sero.\n\nL'alministrador del sistema que la candó dio esta esplicación: $1",
        "protectedpagewarning": "'''Avisu: Esta páxina ta candada pa que sólo los alministradores puean editala.'''\nLa cabera entrada del rexistru s'ufre darréu pa referencia:",
        "semiprotectedpagewarning": "'''Nota:''' Esta páxina ta candada pa que nun puean editala namái que los usuarios rexistraos.\nLa cabera entrada del rexistru s'ufre darréu pa referencia:",
        "cascadeprotectedwarning": "<strong>Avisu:</strong> Esta páxina ta candada pa que namái los alministradores puedan editala porque ta trescluída {{PLURAL:$1|na siguiente páxina protexida|nes siguientes páxines protexíes}} en cascada:",
        "permissionserrors": "Fallu de permisos",
        "permissionserrorstext": "Nun tien permisu pa facer eso {{PLURAL:$1|pol siguiente motivu|polos siguientes motivos}}:",
        "permissionserrorstext-withaction": "Nun tien permisu pa $2 {{PLURAL:$1|pol siguiente motivu|polos siguientes motivos}}:",
-       "contentmodelediterror": "Nun ye posible editar esta revisión porque'l so modelu de conteníu ye <code>$1</code>, mentanto que'l modelu de conteníu actual de la páxina ye <code>$2</code>.",
+       "contentmodelediterror": "Nun ye posible editar esta revisión porque'l so modelu de conteníu ye <code>$1</code>, que ye distintu del modelu de conteníu actual de la páxina, <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Avisu: Tas volviendo a crear una páxina que se desanició anteriormente.'''\n\nHabríes considerar si ye afechisco siguir editando esta páxina.\nEquí tienes el rexistru de desanicios y tresllaos d'esta páxina:",
        "moveddeleted-notice": "Esta páxina se desanició.\nComo referencia, embaxo s'ufre'l rexistru de desanicios y tresllaos de la páxina.",
        "moveddeleted-notice-recent": "Esta páxina desanicióse apocayá (dientro de les postreres 24 hores).\nLos rexistros de desaniciu y treslláu de la páxina amuésense de siguío como referencia.",
        "recentchanges-legend-heading": "'''Lleenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ver tamién la  [[Special:NewPages|llista de páxines nueves]])",
        "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-submit": "Amosar",
        "rcnotefrom": "Abaxo {{PLURAL:$5|tá'l cambiu|tan los cambios}} dende'l <strong>$3</strong>, a les <strong>$4</strong> (s'amuesen un máximu de <strong>$1</strong>).",
        "rclistfrom": "Amosar los nuevos cambios dende'l $3 a les $2",
        "rcshowhideminor": "$1 ediciones menores",
        "foreign-structured-upload-form-label-own-work-message-shared": "Certifico que tengo los drechos d'autor d'esti ficheru, y aceuto irrevocablemente lliberalu a Wikimedia Commons baxo la llicencia [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0], y aceuto les [https://wikimediafoundation.org/wiki/Terms_of_Use Condiciones d'usu].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Si nun tienes los drechos d'autor d'esti ficheru, o quieres lliberalu baxo una llicencia diferente, considera usar el [https://commons.wikimedia.org/wiki/Special:UploadWizard Asistente de carga en Commons Upload].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Tamién pué interesate usar [[Special:Upload|la páxina de carga de {{SITENAME}}]] si esti ficheru pué xubise allí baxo les sos polítiques.",
+       "foreign-structured-upload-form-2-label-intro": "Gracies por donar una imaxe pa usar en {{SITENAME}}. Sólo tendríes de siguir si la mesma cumple delles condiciones:",
+       "foreign-structured-upload-form-2-label-ownwork": "Tien que ser completamente <strong>la to propia creación</strong>, non alcontrada n'Internet",
+       "foreign-structured-upload-form-2-label-noderiv": "Nun tien de contener <strong>nengún trabayu d'otra persona</strong>, o tar inspiráu por otros",
+       "foreign-structured-upload-form-2-label-useful": "Tien de ser <strong>educativu y útil</strong> pa enseñar a otros",
+       "foreign-structured-upload-form-2-label-ccbysa": "Tien d'<strong>aceutar espublizase pa siempre</strong> n'Internet baxo la llicencia [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Reconocimientu-CompartirIgual 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Si nun ye verdadero tolo anterior, inda podríes ser capaz de xubir esti ficheru usando l'[https://commons.wikimedia.org/wiki/Special:UploadWizard Asistente de xubíes de Commons], mentanto tea disponible baxo una llicencia llibre.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Al xubir el ficheru, certifiques que tienes los drechos d'autor d'esti ficheru, y aceutes definitivamente espublizar esti ficheru en Wikimedia Commons baxo la llicencia Creative Commons Reconocimientu-CompartirIgual 4.0, y aceutes les [https://wikimediafoundation.org/wiki/Terms_of_Use Condiciones d'usu].",
+       "foreign-structured-upload-form-3-label-question-website": "¿Descargasti esta imaxe d'un sitiu web, o la alcontrasti con una gueta d'imáxenes?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "¿Creasti esta imaxe (sacasti la semeya, ficisti'l dibuxu, etc.) tu mesmu?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "¿Contien, o ta inspirada por, una obra propiedá d'otra persona, como un logo?",
+       "foreign-structured-upload-form-3-label-yes": "Sí",
+       "foreign-structured-upload-form-3-label-no": "Non",
+       "foreign-structured-upload-form-3-label-alternative": "Por desgracia, nesti casu, esta ferramienta nun tien encontu pa xubir esti ficheru. Índa podríes xubilu usando l'[https://commons.wikimedia.org/wiki/Special:UploadWizard Asistente de xubíes de Commons], mentanto tea disponible baxo una llicencia llibre.",
+       "foreign-structured-upload-form-4-label-good": "Usando esta ferramienta, puedes xubir gráficos educativos creaos por ti y fotografíes que sacaras, que nun contengan obres d'otres persones.",
+       "foreign-structured-upload-form-4-label-bad": "Nun puedes xubir imáxenes atopaes nun motor de gueta o descargaes d'otros sitios web.",
        "backend-fail-stream": "Nun se pudo tresmitir el ficheru $1.",
        "backend-fail-backup": "Nun se pudo facer copia de seguridá del ficheru $1.",
        "backend-fail-notexists": "El ficheru $1 nun esiste.",
        "mostrevisions": "Páxines con más revisiones",
        "prefixindex": "Toles páxines col prefixu",
        "prefixindex-namespace": "Toles páxines col prefixu (espaciu de nomes $1)",
+       "prefixindex-submit": "Amosar",
        "prefixindex-strip": "Cortar el prefixu na llista",
        "shortpages": "Páxines curties",
        "longpages": "Páxines llargues",
        "protectedpages-performer": "Usuariu que protexe",
        "protectedpages-params": "Parámetros de proteición",
        "protectedpages-reason": "Motivu",
+       "protectedpages-submit": "Amosar páxines",
        "protectedpages-unknown-timestamp": "Desconocida",
        "protectedpages-unknown-performer": "Usuariu desconocíu",
        "protectedtitles": "Títulos protexíos",
        "protectedtitles-summary": "Esta páxina llista los títulos que tienen torgada la creación. Pa ver una llista de les páxines protexíes esistentes, vea [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Nun hai títulos protexíos anguaño con estos parámetros.",
+       "protectedtitles-submit": "Amosar títulos",
        "listusers": "Llista d'usuarios",
        "listusers-editsonly": "Amosar namái usuarios con ediciones",
        "listusers-creationsort": "Ordenar por data de creación",
        "usereditcount": "$1 {{PLURAL:$1|edición|ediciones}}",
        "usercreated": "{{GENDER:$3|Creáu el|Creada'l}} $1 a les $2",
        "newpages": "Páxines nueves",
+       "newpages-submit": "Amosar",
        "newpages-username": "Nome d'usuariu:",
        "ancientpages": "Páxines más vieyes",
        "move": "Treslladar",
        "specialloguserlabel": "Fecho por:",
        "speciallogtitlelabel": "Oxetivu (títulu o {{ns:user}}:nome d'usuariu):",
        "log": "Rexistros",
+       "logeventslist-submit": "Amosar",
        "all-logs-page": "Tolos rexistros públicos",
        "alllogstext": "Visualización combinada de tolos rexistros disponibles de {{SITENAME}}.\nPues filtrar la visualización seleicionando una mena de rexistru, el nome d'usuariu (teniendo en cuenta les mayúscules y minúscules) o la páxina afectada (teniendo en cuenta tamién les mayúscules y minúscules).",
        "logempty": "Nun hai coincidencies nel rexistru.",
        "cachedspecial-viewing-cached-ts": "Tas viendo una versión en caché d'esta páxina, que pue nun tar anovada dafechu.",
        "cachedspecial-refresh-now": "Ver la más nueva.",
        "categories": "Categoríes",
+       "categories-submit": "Amosar",
        "categoriespagetext": "{{PLURAL:$1|La siguiente categoría contién|Les siguientes categoríes contienen}} páxines o ficheros multimedia.\nLes [[Special:UnusedCategories|categoríes nun usaes]] nun s'amuesen equí.\nVer tamién les [[Special:WantedCategories|categoríes más buscaes]].",
        "categoriesfrom": "Amosar categoríes qu'emprimen por:",
        "special-categories-sort-count": "ordenar por tamañu",
        "activeusers-hidebots": "Anubrir bots",
        "activeusers-hidesysops": "Anubrir alministradores",
        "activeusers-noresult": "Nun s'alcontraron usuarios.",
+       "activeusers-submit": "Amosar los usuarios activos",
        "listgrouprights": "Drechos de los grupos d'usuariu",
        "listgrouprights-summary": "La siguiente ye una llista de grupos d'usuariu definíos nesta wiki, colos sos drechos d'accesu asociaos.\nPue haber [[{{MediaWiki:Listgrouprights-helppage}}|información adicional]] tocante a drechos individuales.",
        "listgrouprights-key": "Lleenda:\n* <span class=\"listgrouprights-granted\">Permisu concedíu</span>\n* <span class=\"listgrouprights-revoked\">Permisu retiráu</span>",
        "post-expand-template-inclusion-category-desc": "El tamañu de la páxina ye mayor que <code>$wgMaxArticleSize</code> después de espander toles plantíes, de mou qu'algunes plantíes nun s'espandieron.",
        "post-expand-template-argument-category-desc": "La páxina ye mayor que <code>$wgMaxArticleSize</code> después d'espander l'argumentu d'una plantía (daqué ente llaves triples, como <code>{{{Daqué}}}</code>).",
        "expensive-parserfunction-category-desc": "La páxina usa demasiaes funciones analítiques costoses (como <code>#ifexist</code>). Llei [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
-       "broken-file-category-desc": "La páxina contién un enllaz frañáu a un ficheru (un enllaz pa incrustar un ficheru cuando'l ficheru nun esiste).",
-       "hidden-category-category-desc": "La categoría contién <code><nowiki>__HIDDENCAT__</nowiki></code> nel conteníu de páxina, que torga de mou predetermináu que s'amuese nel cuadru d'enllaces de categoría de les páxines.",
+       "broken-file-category-desc": "La páxina contien un enllaz frañáu a un ficheru (un enllaz pa incrustar un ficheru cuando'l ficheru nun esiste).",
+       "hidden-category-category-desc": "La categoría contien <code><nowiki>__HIDDENCAT__</nowiki></code> nel conteníu de páxina, que torga de mou predetermináu que s'amuese nel cuadru d'enllaces de categoría de les páxines.",
        "trackingcategories-nodesc": "Nun hai una descripción disponible.",
        "trackingcategories-disabled": "La categoría ta desactivada",
        "mailnologin": "Ensin direición d'unviu",
        "wlshowlast": "Amosar les últimes $1 hores, los últimos $2 díes",
        "watchlistall2": "toos",
        "watchlist-hide": "Anubrir",
+       "watchlist-submit": "Amosar",
        "wlshowtime": "Periodu de tiempu a amosar:",
        "wlshowhideminor": "ediciones menores",
        "wlshowhidebots": "bots",
        "delete-confirm": "Desaniciar «$1»",
        "delete-legend": "Desaniciar",
        "historywarning": "<strong>Avisu:</strong> La páxina que vas desaniciar tien un historial con $1 {{PLURAL:$1|revisión|revisiones}}:",
+       "historyaction-submit": "Amosar",
        "confirmdeletetext": "Tas a piques d'esborrar una páxina xunto con tol so historial.\nPor favor confirma que ye lo que quies facer, qu'entiendes les consecuencies, y que lo tas faciendo acordies coles [[{{MediaWiki:Policy-url}}|polítiques]].",
        "actioncomplete": "Aición completada",
        "actionfailed": "Falló l'aición",
        "whatlinkshere-hidelinks": "$1 enllaces",
        "whatlinkshere-hideimages": "$1 los enllaces al ficheru",
        "whatlinkshere-filters": "Peñeres",
+       "whatlinkshere-submit": "Dir",
        "autoblockid": "Autobloquiar #$1",
        "block": "Bloquiar usuariu",
        "unblock": "Desbloquiar usuariu",
        "yesterday-at": "Ayeri a les $1",
        "bad_image_list": "El formatu ye'l que sigue:\n\nNamái se consideren los elementos de llista (llinies qu'emprimen con *).\nEl primer enllaz d'una llinia tien de ser ún qu'enllacie a un archivu non válidu.\nLos demás enllaces de la mesma llinia considérense esceiciones, p.ex. páxines nes que'l ficheru pue apaecer en llinia.",
        "metadata": "Metadatos",
-       "metadata-help": "Esti ficheru contién otra información, probablemente añadida pola cámara dixital o l'escáner usaos pa crealu o dixitalizalu.\nSi'l ficheru se camudó dende'l so estáu orixinal, seique dalgunos detalles nun se reflexen completamente nel ficheru camudáu.",
+       "metadata-help": "Esti ficheru contien otra información, probablemente añadida pola cámara dixital o l'escáner usaos pa crealu o dixitalizalu.\nSi'l ficheru se camudó dende'l so estáu orixinal, seique dalgunos detalles nun se reflexen completamente nel ficheru camudáu.",
        "metadata-expand": "Amosar detalles estendíos",
        "metadata-collapse": "Esconder detalles estendíos",
        "metadata-fields": "Los campos de metadatos de la imaxe llistaos nesti mensaxe van ser inxeríos na vista de la páxina de la imaxe cuando la tabla de metadatos tea recoyida.\nLos demás tarán anubríos de mou predetermináu.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-compression-6": "JPEG (antiguu)",
        "exif-copyrighted-true": "Con drechos d'autor",
        "exif-copyrighted-false": "Drechos d'autor ensin configurar",
+       "exif-photometricinterpretation-1": "Blancu y prietu (El prietu ye 0)",
        "exif-unknowndate": "Fecha desconocida",
        "exif-orientation-1": "Normal",
        "exif-orientation-2": "Voltiada horizontalmente",
index 3d8a3bc..1db4873 100644 (file)
        "mypreferencesprotected": "Вы ня маеце дазволу на зьмяненьне сваіх наладаў.",
        "ns-specialprotected": "Немагчыма рэдагаваць спэцыяльныя старонкі.",
        "titleprotected": "Стварэньне старонкі з такой назвай было забароненае {{GENDER:$1|ўдзельнікам|ўдзельніцай}} [[User:$1|$1]].\nПрычына забароны: «<em>$2</em>».",
-       "filereadonlyerror": "Ð\9dемагÑ\87Ñ\8bма Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\84айл Â«$1», Ð±Ð¾ Ñ\84айлавае Ñ\81Ñ\85овÑ\96Ñ\88Ñ\87а Â«$2» Ð·Ð½Ð°Ñ\85одзÑ\96Ñ\86Ñ\86а Ñ\9e Ñ\80Ñ\8dжÑ\8bме Ñ\82олÑ\8cкÑ\96 Ð´Ð»Ñ\8f Ñ\87Ñ\8bÑ\82анÑ\8cнÑ\8f.\n\nÐ\90дміністратар, які абмежаваў доступ, пазначыў прычыну: «$3».",
+       "filereadonlyerror": "Ð\9dемагÑ\87Ñ\8bма Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\84айл Â«$1», Ð±Ð¾ Ñ\84айлавае Ñ\81Ñ\85овÑ\96Ñ\88Ñ\87а Â«$2» Ð·Ð½Ð°Ñ\85одзÑ\96Ñ\86Ñ\86а Ñ\9e Ñ\80Ñ\8dжÑ\8bме Ñ\82олÑ\8cкÑ\96 Ð´Ð»Ñ\8f Ñ\87Ñ\8bÑ\82анÑ\8cнÑ\8f.\n\nСÑ\8bÑ\81Ñ\82Ñ\8dмнÑ\8b Ð°дміністратар, які абмежаваў доступ, пазначыў прычыну: «$3».",
        "invalidtitle-knownnamespace": "Няслушны загаловак з прасторай назваў «$2» і тэкстам «$3»",
        "invalidtitle-unknownnamespace": "Няслушны загаловак зь невядомым нумарам прасторы назваў $1 і тэкстам «$2»",
        "exception-nologin": "Вы не ўвайшлі ў сыстэму",
        "copyrightwarning2": "Калі ласка, заўважце, што ўвесь унёсак ў {{GRAMMAR:вінавальны|{{SITENAME}}}} можа рэдагавацца, зьмяняцца і выдаляцца іншымі ўдзельнікамі.\nКалі Вы з гэтым ня згодныя, калі ласка, не зьмяшчайце сюды Вашыя тэксты.<br />\nРазьмяшчэньнем тут тэкстаў, Вы дэкляруеце, што Вы зьяўляецеся іх аўтарам, ці Вы скапіявалі іх з крыніцы, якая дазваляе вольнае выкарыстаньне сваіх тэкстаў (дзеля падрабязнасьцяў глядзіце $1).\n\n'''КАЛІ ЛАСКА, НЕ ЗЬМЯШЧАЙЦЕ ТУТ БЕЗ ДАЗВОЛУ МАТЭРЫЯЛЫ, ЯКІЯ АХОЎВАЮЦЦА АЎТАРСКІМ ПРАВАМ!'''",
        "editpage-cannot-use-custom-model": "Мадэль зьместу гэтай старонкі ня можа быць зьмененая.",
        "longpageerror": "'''Памылка: Аб’ём тэксту, які Вы спрабуеце запісаць складае $1 {{PLURAL:$1|кілябайт|кілябайты|кілябайтаў}}, што болей устаноўленага абмежаваньня на $2 {{PLURAL:$2|кілябайт|кілябайты|кілябайтаў}}.'''\nСтаронка ня можа быць захаваная.",
-       "readonlywarning": "'''ПАПЯРЭДЖАНЬНЕ: База зьвестак была заблякаваная для тэхнічнага абслугоўваньня, таму немагчыма зараз захаваць Вашыя зьмены.'''\nВы можаце скапіяваць тэкст у файл на Вашым кампутары, а пазьней захаваць сюды.\n\nАдміністратар, які заблякаваў базу зьвестак, прапанаваў наступнае тлумачэньне: $1",
+       "readonlywarning": "<strong>Папярэджаньне: База зьвестак была заблякаваная для тэхнічнага абслугоўваньня, таму немагчыма цяпер захаваць Вашыя зьмены.</strong>\nВы можаце скапіяваць тэкст у файл на Вашым кампутары, а пазьней захаваць сюды.\n\nСыстэмны адміністратар, які заблякаваў базу зьвестак, прапанаваў наступнае тлумачэньне: $1",
        "protectedpagewarning": "'''Папярэджаньне: Гэтая старонка была абароненая, таму толькі адміністратары могуць рэдагаваць яе.'''\nАпошні запіс з журнала пададзены ніжэй для даведкі:",
        "semiprotectedpagewarning": "'''Заўвага:''' Гэтая старонка была абароненая, і рэдагаваць яе могуць толькі зарэгістраваныя ўдзельнікі.\nАпошні запіс з журнала пададзены ніжэй для даведкі:",
        "cascadeprotectedwarning": "'''Папярэджаньне:''' гэтая старонка абароненая, толькі ўдзельнікі з правамі адміністратараў могуць рэдагаваць яе, таму што яна ўключаная ў {{PLURAL:$1|1=наступную старонку|наступныя старонкі}} з каскаднай абаронай:",
index f503418..4ae53f9 100644 (file)
@@ -48,7 +48,7 @@
        "tog-enotifwatchlistpages": "Слаць мне эл.пошту, калі мяняецца старонка ў маім спісе назірання",
        "tog-enotifusertalkpages": "Паведамляць мне на эл.пошту аб зменах на маёй старонцы размоў",
        "tog-enotifminoredits": "Паведамяць мне на эл.пошту пра дробныя праўкі старонак і файлаў",
-       "tog-enotifrevealaddr": "Ð\9dе Ñ\81кÑ\80Ñ\8bваÑ\86Ñ\8c Ð¼Ð°Ð¹Ð³Ð¾ Ð°Ð´Ñ\80аÑ\81Ñ\83 эл.пошты ў паведамленнях",
+       "tog-enotifrevealaddr": "Ð\9fаказваÑ\86Ñ\8c Ð¼Ð¾Ð¹ Ð°Ð´Ñ\80аÑ\81 эл.пошты ў паведамленнях",
        "tog-shownumberswatching": "Паказваць колькасць назіральнікаў",
        "tog-oldsig": "Існуючы подпіс:",
        "tog-fancysig": "Апрацоўваць подпіс як вікі-тэкст (без аўтаматычнай спасылкі)",
        "nstab-template": "Шаблон",
        "nstab-help": "Старонка даведкі",
        "nstab-category": "Катэгорыя",
+       "mainpage-nstab": "Галоўная старонка",
        "nosuchaction": "Няма такога дзеяння",
        "nosuchactiontext": "Недапушчальнае дзеянне (action) ў URL.\nМагчымыя прычыны -- памылка ўпісвання URL або пераход па няправільнай спасылцы; таксама магчымая памылка ў праграмах, што працуюць на пляцоўцы {{SITENAME}}.",
        "nosuchspecialpage": "Няма такой адмысловай старонкі",
        "login-abort-generic": "Няўдалая спроба ўвайсці ў сістэму",
        "loginlanguagelabel": "Мова: $1",
        "suspicious-userlogout": "Ваш запыт на выхад быў адмоўлены, паколькі ён выглядае як накіраваны са зламанага браўзера або кэшаванне проксі-сервераў.",
-       "createacct-another-realname-tip": "Сапраўднае імя паведамляць неабавязкова.\nКалі вы рашылі паведаміць яго, ім будзе падпісваецца зроблены ўдзельнікам унёсак.",
+       "createacct-another-realname-tip": "Сапраўднае імя паведамляць неабавязкова.\nКалі вы паведаміце яго, яно будзе выкарыстоўвацца для пазначэння вашага ўкладу.",
        "pt-login": "Увайсці",
        "pt-login-button": "Увайсці",
        "pt-createaccount": "Стварыць уліковы запіс",
        "pt-userlogout": "Выйсці",
        "php-mail-error-unknown": "Невядомая памылка ў функцыі PHP-пошты",
-       "user-mail-no-addy": "Паспрабаваў адправіць электронны ліст без адрасу электроннай пошты",
+       "user-mail-no-addy": "Паспрабаваў адправіць электронны ліст без адраса электроннай пошты",
        "user-mail-no-body": "Спроба даслаць ліст эл.пошты з пустым або неабгрунтавана кароткім зместам.",
        "changepassword": "Пароль",
        "resetpass_announce": "Каб завяршыць уваход у сістэму, Вы павінны ўстанавіць новы пароль.",
        "passwordreset-emailtext-ip": "Нехта (магчыма вы, з IP-адрасу $1) запытаў скід  вашага пароля ў праекце {{SITENAME}} ($4).\n{{PLURAL:$3|Наступны ўліковы запіс звязаны|Наступныя ўліковыя запісы звязаны}} з гэтым адрасам электроннай пошты:\n\n$2\n\n{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць {{PLURAL:$5|адзін дзень|$5 дні|$5 дзён}}.\nВы павінны зараз увайсці ў сістэму і абраць новы пароль. Калі вы не рабілі гэтага запыту, ці ўспомнілі свой зыходны пароль і не жадаеце яго мяняць, вы можаце праігнараваць гэтае паведамленне і працягнуць выкарыстоўваць свой стары пароль.",
        "passwordreset-emailtext-user": "Удзельнік $1 з праекта {{SITENAME}} запытаў скід вашага пароля ў праекце {{SITENAME}}\n($4).\n{{PLURAL:$3|Наступны ўліковы запіс звязаны|Наступныя уліковыя запісы звязаны}} з гэтым адрасам электроннай пошты:\n\n$2\n\n{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць {{PLURAL:$5|$5 дзень |$5 дні |$5 дзён}}.\nВы павінны зараз увайсці ў сістэму і выбраць новы пароль. Калі вы не рабілі гэтага запыту, ці ўспомнілі свой зыходны пароль і не жадаеце яго мяняць, вы можаце праігнараваць гэтае паведамленне і працягваць выкарыстоўваць свой стары пароль.",
        "passwordreset-emailelement": "Імя ўдзельніка: \n$1\n\nЧасовы пароль: \n$2",
-       "passwordreset-emailsent": "Па электроннай пошце быў адпраўлены ліст пра скід пароля.",
+       "passwordreset-emailsentemail": "Па электроннай пошце быў адпраўлены ліст пра скід пароля.",
        "passwordreset-emailsent-capture": "Ніжэй прыведзены адпраўлены ліст пра скід пароля.",
        "passwordreset-emailerror-capture": "Ніжэй прыведзены створаны ліст пра скід пароля, яго адпраўка не атрымалася па прычыне: $1",
        "changeemail": "Змяніць адрас электроннай пошты",
        "prefs-misc": "Рознае",
        "prefs-resetpass": "Змяніць пароль",
        "prefs-changeemail": "Змяніць e-mail",
-       "prefs-setemail": "Устаноўка электроннага адрасу",
+       "prefs-setemail": "Устаноўка электроннага адраса",
        "prefs-email": "Эл.пошта",
        "prefs-rendering": "Від",
        "saveprefs": "Запісаць",
        "prefs-custom-js": "Уласны JS",
        "prefs-common-css-js": "Агульны CSS/JavaScript для ўсіх вокладак:",
        "prefs-reset-intro": "Тут можна вярнуць свае настройкі да прадвызначэнняў, прынятых на гэтай пляцоўцы.\nАдкаціць гэтае дзеянне нельга.",
-       "prefs-emailconfirm-label": "Пацверджанне адрасу эл.пошты:",
+       "prefs-emailconfirm-label": "Пацвярджэнне адраса эл.пошты:",
        "youremail": "Эл.пошта *",
        "username": "Імя {{GENDER:$1|ўдзельніка|ўдзельніцы}}:",
        "prefs-memberingroups": "Уваходзіць у {{PLURAL:$1|групу|групы}}:",
        "prefs-diffs": "Розніцы",
        "prefs-help-prefershttps": "Гэта настройка пачне дзейнічаць па наступным уваходзе ў сістэму.",
        "prefs-tabs-navigation-hint": "Падказка: Вы можаце карыстацца клавішамі са стрэлкамі ўлева і ўправа для навігацыі паміж карткамі ў спісе картак.",
-       "email-address-validity-valid": "Адрас электроннай пошты з'яўляецца сапраўдным",
-       "email-address-validity-invalid": "Увядзіце слушны адрас электроннай пошты",
        "userrights": "Распараджэнне правамі ўдзельніка",
        "userrights-lookup-user": "Распараджацца групамі ўдзельнікаў",
        "userrights-user-editname": "Увядзіце імя ўдзельніка:",
        "right-reupload": "Запісваць паўзверх існуючага файла",
        "right-reupload-own": "Запісваць паўзверх існуючага файла, які ўкладвалі самі",
        "right-reupload-shared": "Перамагаць файлы з агульнага сховішча тутэйшымі файламі",
-       "right-upload_by_url": "УкладваÑ\86Ñ\8c Ñ\84айл Ð· Ñ\81еÑ\86Ñ\96Ñ\9eнага Ð°Ð´Ñ\80аÑ\81Ñ\83 (URL)",
+       "right-upload_by_url": "Ð\97агÑ\80Ñ\83зÑ\96Ñ\86Ñ\8c Ñ\84айлÑ\8b Ð· Ñ\81еÑ\86Ñ\96Ñ\9eнага Ð°Ð´Ñ\80аÑ\81а (URL)",
        "right-purge": "Чысціць кэш пляцоўкі для старонкі без пацверджання",
        "right-autoconfirmed": "Не падпарадкоўвацца абмежаванням хуткасці, накладзеным на IP",
        "right-bot": "Лічыцца аўтаматычным працэсам",
        "action-upload": "укладваць гэты файл",
        "action-reupload": "запісваць паўзверх гэтага файла",
        "action-reupload-shared": "запісваць паўзверх гэтага файла ў супольным сховішчы",
-       "action-upload_by_url": "укладаць гэты файл з адрасу URL",
+       "action-upload_by_url": "загрузіць гэты файл з адраса URL",
        "action-writeapi": "ужываць API запісвання",
        "action-delete": "сціраць гэтую старонку",
        "action-deleterevision": "сціраць гэтую версію",
        "linksearch-ok": "Знайсці",
        "linksearch-text": "Можна выкарыстоўваць падстаноўныя сімвалы, напрыклад, <code>*.wikipedia.org</code>.\nНеабходзен прынамсі дамен верхняга ўзроўню, напрыклад <code>*.org</code><br />\n{{PLURAL:$2|Пратакол|Пратаколы}}, якія падтрымліваюцца: $1 (прадвызначаны http:// калі пратакол не ўказаны)",
        "linksearch-line": "$1, на які спасылаецца $2",
-       "linksearch-error": "УзоÑ\80Ñ\8b Ð¼Ð¾Ð¶Ð½Ð° Ñ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ñ\82олÑ\8cкÑ\96 Ñ\9e Ð¿Ð°Ñ\87аÑ\82ак Ð°Ð´Ñ\80аÑ\81Ñ\83.",
+       "linksearch-error": "Ð\9fадÑ\81Ñ\82ановаÑ\87нÑ\8bÑ\8f Ñ\81Ñ\96мвалÑ\8b Ð¼Ð¾Ð¶Ð½Ð° Ñ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ñ\82олÑ\8cкÑ\96 Ñ\9e Ð¿Ð°Ñ\87аÑ\82ак Ð°Ð´Ñ\80аÑ\81а.",
        "listusersfrom": "Паказаць удзельнікаў, пачаўшы з:",
        "listusers-submit": "Паказаць",
        "listusers-noresult": "Удзельнікі не знойдзеныя.",
        "usermaildisabled": "Электронная пошта ўдзельніка не працуе",
        "usermaildisabledtext": "Вы не можаце адпраўляць паведамленні электроннай пошты іншым карыстальнікам гэтай вікі",
        "noemailtitle": "Няма адраса электроннай пошты",
-       "noemailtext": "Удзельнік не паведаміў карэктнага адрасу эл.пошты.",
+       "noemailtext": "Удзельнік не паведаміў карэктнага адраса эл.пошты.",
        "nowikiemailtext": "Гэты ўдзельнік не жадае атрымліваць эл.пошты ад іншых удзельнікаў.",
        "emailnotarget": "Неіснуючае ці памылковае імя ўдзельніка-атрымальніка.",
        "emailtarget": "Увядзіце імя ўдзельніка-атрымальніка",
        "contributions": "Уклад {{GENDER:$1|удзельніка|удзельніцы}}",
        "contributions-title": "Уклад {{GENDER:$1|удзельніка|удзельніцы}} $1",
        "mycontris": "Уклад",
+       "anoncontribs": "Уклад",
        "contribsub2": "Для $1 ($2)",
        "contributions-userdoesnotexist": "Уліковы запіс удзельніка \"$1\" не зарэгістраваны.",
        "nocontribs": "Не знойдзена змен, адпаведных зададзеным параметрам.",
        "ipbexpiry": "Згасае:",
        "ipbreason": "Прычына:",
        "ipbreason-dropdown": "*Звычайныя прычыны блоку\n** Упісванне несапраўднай інфармацыі\n** Сціранне інфармацыі са старонак\n** Спамавыя спасылкі на вонкавыя сайты\n** Упісванне бессэнсоўнай інфармацыі\n** Некультурныя паводзіны/пераследаванне\n** Злоўжыванне некалькімі рахункамі\n** Недапушчальнае імя ўдзельніка",
-       "ipb-hardblock": "Ð\97абаÑ\80анÑ\96Ñ\86Ñ\8c Ð¿Ð°Ð·Ð½Ð°Ð½Ñ\8bм Ñ\83дзелÑ\8cнÑ\96кам Ñ\80Ñ\8dдагаванне Ð· Ð³Ñ\8dÑ\82ага IP-адÑ\80аÑ\81Ñ\83",
+       "ipb-hardblock": "Ð\97абаÑ\80анÑ\96Ñ\86Ñ\8c Ð·Ð°Ñ\80Ñ\8dгÑ\96Ñ\81Ñ\82Ñ\80аванÑ\8bм Ñ\83дзелÑ\8cнÑ\96кам Ñ\80Ñ\8dдагаванне Ð· Ð³Ñ\8dÑ\82ага IP-адÑ\80аÑ\81а",
        "ipbcreateaccount": "Не дазваляць стварэнне рахунка",
        "ipbemailban": "Не дазваляць удзельніку слаць эл.пошту",
        "ipbenableautoblock": "Аўтаматычна блакаваць адрас IP, якім удзельнік карыстаўся апошнім разам, і ўсе наступныя адрасы IP, з-пад якіх ён паспрабуе рабіць праўкі",
        "ipb-confirmaction": "Калі вы ўпэўнены, што сапраўды хочаце гэта зрабіць, калі ласка, адзначце поле \"{{int:ipb-confirm}}\" ніжэй.",
        "ipb-edit-dropdown": "Прычыны пастаноўкі блока",
        "ipb-unblock-addr": "Зняць блок з $1",
-       "ipb-unblock": "Ð\97нÑ\8fÑ\86Ñ\8c Ð±Ð»Ð¾Ðº Ð· Ñ\96мÑ\8f Ñ\9eдзелÑ\8cнÑ\96ка Ð°Ð±Ð¾ Ð°Ð´Ñ\80аÑ\81Ñ\83 IP",
+       "ipb-unblock": "РазблакÑ\96Ñ\80аваÑ\86Ñ\8c Ñ\83дзелÑ\8cнÑ\96ка Ñ\86Ñ\96 IP-адÑ\80аÑ\81",
        "ipb-blocklist": "Паказаць наяўныя блокі",
        "ipb-blocklist-contribs": "Уклад {{GENDER:$1|$1}}",
        "unblockip": "Зняць блок з удзельніка",
-       "unblockiptext": "У Ñ\84оÑ\80ме, Ñ\88Ñ\82о Ð½Ñ\96жÑ\8dй, Ð¼Ð¾Ð¶Ð½Ð° Ð²Ñ\8fÑ\80нÑ\83Ñ\86Ñ\8c Ð´Ð°Ð·Ð²Ð¾Ð» Ð½Ð° Ð·Ð°Ð¿Ñ\96Ñ\81 Ð´Ð»Ñ\8f Ñ\80аней Ð·Ð°Ð±Ð»Ð°ÐºÐ°Ð²Ð°Ð½Ð°Ð³Ð° Ð°Ð´Ñ\80аÑ\81Ñ\83 IP або ўдзельніка.",
+       "unblockiptext": "Ð\97 Ð´Ð°Ð¿Ð°Ð¼Ð¾Ð³Ð°Ð¹ Ñ\84оÑ\80мÑ\8b Ð½Ñ\96жÑ\8dй Ð¼Ð¾Ð¶Ð½Ð° Ð²Ñ\8fÑ\80нÑ\83Ñ\86Ñ\8c Ð´Ð°Ð·Ð²Ð¾Ð» Ð½Ð° Ð¿Ñ\80аÑ\9eкÑ\96 Ð´Ð»Ñ\8f Ñ\80аней Ð·Ð°Ð±Ð»Ð°ÐºÑ\96Ñ\80аванага IP-адÑ\80аÑ\81а або ўдзельніка.",
        "ipusubmit": "Зняць гэты блок",
        "unblocked": "[[User:$1|$1]] быў адблакаваны",
        "unblocked-range": "$1 быў разблакаваны.",
        "tooltip-pt-userpage": "Ваша ўласная старонка",
        "tooltip-pt-anonuserpage": "Старонка ўдзельніка для таго IP, з якога вы зараз працуеце",
        "tooltip-pt-mytalk": "Ваша старонка размоў",
-       "tooltip-pt-anontalk": "Размовы аб праўках, зробленых з гэтага адрасу IP",
+       "tooltip-pt-anontalk": "Размовы аб праўках, зробленых з гэтага IP-адраса",
        "tooltip-pt-preferences": "Вашы настройкі",
        "tooltip-pt-watchlist": "Пералік старонак, за змяненнямі ў якіх вы сочыце",
        "tooltip-pt-mycontris": "Пералік вашага ўкладу",
-       "tooltip-pt-login": "Уваходзіць у сістэму неабавязкова, але вас вельмі запрашаюць гэтак зрабіць.",
+       "tooltip-pt-anoncontribs": "Спіс правак, зробленых з гэтага IP-адраса",
+       "tooltip-pt-login": "Вам прапануецца ўвайсці ў сістэму, але гэта неабавязкова.",
        "tooltip-pt-logout": "Выйсці з сістэмы",
        "tooltip-pt-createaccount": "Вам прапануецца стварыць уліковы запіс і ўвайсці ў сістэму, але гэта не абавязкова",
        "tooltip-ca-talk": "Размовы пра змест гэтай старонкі",
-       "tooltip-ca-edit": "СÑ\82аÑ\80онкÑ\83 Ð¼Ð¾Ð¶Ð½Ð° Ð¿Ñ\80авÑ\96Ñ\86Ñ\8c. Ð\9fеÑ\80Ñ\88 Ñ\87Ñ\8bм Ð·Ð°Ð¿Ñ\96Ñ\81аÑ\86Ñ\8c Ñ\81вае Ð·Ð¼ÐµÐ½Ñ\8b, Ð¿Ð°Ð³Ð»Ñ\8fдзÑ\96Ñ\86е Ð½Ð° Ð²Ñ\8bнÑ\96к, Ð½Ð°Ñ\86Ñ\96Ñ\81нÑ\83Ñ\9eÑ\88Ñ\8b ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\8fга Ð¿Ñ\80аглÑ\8fдÑ\83.",
+       "tooltip-ca-edit": "Ð\9fÑ\80авÑ\96Ñ\86Ñ\8c Ð³Ñ\8dÑ\82Ñ\83 Ñ\81Ñ\82аÑ\80онкÑ\83",
        "tooltip-ca-addsection": "Дадаць новы раздзел",
        "tooltip-ca-viewsource": "Гэтая старонка ахоўваецца, але можна паглядзець яе зыходны тэкст.",
        "tooltip-ca-history": "Ранейшыя версіі гэтай старонкі.",
        "spam_reverting": "Вяртаемся да апошняй версіі без спасылак на $1",
        "spam_blanking": "Усе версіі ўтрымлівалі спасылкі на $1, чысцім",
        "spam_deleting": "Усе версіі ўтрымлівалі спасылкі на $1, сціраем",
-       "simpleantispam-label": "Ð\9fÑ\80авеÑ\80ка Ð°Ð½Ñ\82Ñ\8b\81памÑ\83.\n<strong>Ð\9dÐ\95</strong> ўпісвайце тут нічога!",
+       "simpleantispam-label": "Ð\9fÑ\80авеÑ\80ка Ð°Ð½Ñ\82Ñ\8b\81памÑ\83.\n<strong>Ð\9dе</strong> ўпісвайце тут нічога!",
        "pageinfo-title": "Інфармацыя для \"$1\"",
        "pageinfo-not-current": "Выбачайце, немагчыма даць гэтыя звесткі для старых версій.",
        "pageinfo-header-basic": "Агульныя звесткі",
        "namespacesall": "усе",
        "monthsall": "усе",
        "confirmemail": "Пацвердзіць адрас эл.пошты",
-       "confirmemail_noemail": "У [[Special:Preferences|вашых настаўленнях]] няма дапушчальнага адрасу эл.пошты.",
+       "confirmemail_noemail": "У [[Special:Preferences|вашых настройках]] няма дапушчальнага адраса эл.пошты.",
        "confirmemail_text": "На пляцоўцы {{SITENAME}} патрабуецца праверка адрасу эл.пошты перад тым, як карыстацца магчымасцямі эл.пошты. Націсніце кнопку, што ніжэй, каб адаслаць сабе пацвярджальны ліст. У лісце будзе спасылка на спецыяльную пацвярджальную старонку, якую трэба будзе адкрыць у браўзеры, каб пацвердзіць правільнасць свайго адрасу эл.пошты.",
        "confirmemail_pending": "Вам ужо быў адасланы пацвярджальны код; калі ваш рахунак створаны нядаўна, то магчыма, што трэба пачакаць атрымання пацвярджальнага коду колькі мінут, перад тым як звяртацца па наступны.",
        "confirmemail_send": "Адаслаць код пацверджання",
        "confirmemail_needlogin": "Вам трэба зрабіць $1 каб пацвердзіць свой адрас эл.пошты.",
        "confirmemail_success": "Ваш адрас эл.пошты быў пацверджаны. Можаце [[Special:UserLogin|ўваходзіць у сістэму]] і працаваць з вікі.",
        "confirmemail_loggedin": "Зараз ваш адрас эл.пошты стаўся пацверджаным.",
-       "confirmemail_subject": "Пацверджанне адрасу эл.пошты для {{SITENAME}}",
+       "confirmemail_subject": "Пацвярджэнне адраса эл.пошты для {{SITENAME}}",
        "confirmemail_body": "Нехта (магчыма, што і вы — з адрасу IP $1) завёў рахунак \"$2\" на пляцоўцы {{SITENAME}}, паказваючы гэты адрас эл.пошты як свой.\n\nДзеля таго, каб пацвердзіць, што рахунак сапраўды ваш, і каб актываваць магчымасці эл.пошты для {{SITENAME}}, адкрыйце ў браўзеры гэтую спасылку:\n\n$3\n\nКалі гэта *былі не вы*, не адкрывайце той спасылкі, а адкрыйце гэтую, каб згасіць пацверджанне адрасу эл.пошты:\n\n$5\n\nГэты пацвярджальны код згасне $4.",
        "confirmemail_body_changed": "Нехта з IP-адраса \"$1\" (магчыма, што Вы) змяніў адрас эл.пошты для рахунка \"$2\" на пляцоўцы {{SITENAME}}.\n\nКаб пацвердзіць, што рахунак сапраўды належыць вам, і каб ізноў уключыць працу з эл.поштай для рахунка на пляцоўцы {{SITENAME}}, адкрыйце гэтую спасылку ў браўзеры:\n\n$3\n\nКалі рахунак вам *не належыць*, адкрыйце ніжэй паказаную спасылку, каб адмовіцца ад пацвярджэння адраса эл.пошты:\n\n$5\n\nГэты код пацвярджэння сапраўдны да $4.",
        "confirmemail_body_set": "Нехта (магчыма, вы) з IP-адрасам $1\nпаказаў дадзены адрас электроннай пошты для ўліковага запісу «$2» у праекце {{SITENAME}}.\n\nКаб пацвердзіць, што акаўнт сапраўды належыць вам, і ўключыць магчымасць адпраўкі лістоў з сайта {{SITENAME}}, адкрыйце гэтую спасылку ў браўзеры:\n\n$3\n\nКалі рахунак вам *не належыць*, адкрыйце ніжэй паказаную спасылку, каб адмовіцца ад пацверджання адрасу эл.пошты:\n\n$5\n\nКод пацверджання дзейсны да $4.",
        "searchsuggest-containing": "змяшчае...",
        "api-error-badaccess-groups": "У Вас няма дазволу загружаць файлы ў гэтую вікі.",
        "api-error-badtoken": "Унутраная памылка: няслушны ключ.",
-       "api-error-copyuploaddisabled": "Загрузка з URL-адрасу забароненая на гэтым серверы.",
+       "api-error-copyuploaddisabled": "Загрузка з URL-адраса забаронена на гэтым серверы.",
        "api-error-duplicate": "Ужо {{PLURAL:$1|існуе іншы файл|існуюць іншыя файлы}} з такім жа зместам.",
        "api-error-duplicate-archive": "Раней на сайце {{PLURAL:$1|ўжо быў файл|былі файлы}} з дакладна такім жа зместам, але {{PLURAL:$1|ён быў выдалены|яны былі выдаленыя}}.",
        "api-error-empty-file": "Дасланы Вамі файл быў пусты.",
index 5dd4d39..40b52d4 100644 (file)
        "namespaceprotected": "ཁྱེད་ལ་'''$1''' མིང་གནས་ནང་གི་ཤོག་ངོས་བཟོ་བཅོས་ཀྱི་ཆོག་མཆན་མེད།",
        "ns-specialprotected": "དམིགས་བསམ་ཤོག་ངོས་རྣམས་བཟོ་བཅོས་བྱེད་མི་ཐུབ།",
        "virus-unknownscanner": "ངོས་མ་ཟིན་པའི་དྲ་འབུ།",
+       "welcomeuser": "བྱོན་པ་ལེགས་སོ།,$1!",
        "yourname": "སྤྱོད་མིང་།",
+       "userlogin-yourname-ph": "བེད་སྤྱོད་གཏོང་མིའི་མིང་བླུག་རོགས།",
        "yourpassword": "ལམ་ཡིག",
+       "userlogin-yourpassword-ph": "ཁྱེད་ཀྱི་གསང་བའི་ཨང་གྲངས་བླུག་རོགས།",
        "yourpasswordagain": "གསང་བའི་ཨང་ངོས་འཛིན་གནང་རོགས།",
        "remembermypassword": "ངའི་ལམ་ཡིག་འདིར་(མང་མཐའ་ཉིན $1 {{PLURAL:$1}}) དྲན་པར་བྱས།",
+       "yourdomainname": "ཁྱེད་ཀྱི་ཁྱབ་ཁུལ།",
        "login": "ནང་འཛུལ།",
        "nav-login-createaccount": "ནང་འཛུལ། / ཐོ་འགོད།",
        "userlogin": "ནང་འཛུལ། / ཐོ་འགོད།",
        "logout": "ཕྱིར་འབུད།",
        "userlogout": "ཕྱིར་འབུད།",
        "notloggedin": "ནང་འཛུལ་བྱས་མེད།",
+       "userlogin-noaccount": "ཐོ་ཞིག་མི་དགོས་སམ།",
        "nologinlink": "ཐོ་ཞིག་འགོད་པ།",
        "createaccount": "ཐོ་འགོད།",
        "gotaccount": "$1 སྔོན་ཚུད་ནས་རྩིས་ཁྲ་ཡོད་དམ།",
        "gotaccountlink": "ནང་འཛུལ།",
        "userlogin-resetlink": "ཁྱེད་ཀྱི་ནང་འཛུལ་ཀྱི་ཞིབ་ཕྲའི་གནད་དོན་བརྗེད་འདུག་གམ།",
+       "userlogin-resetpassword-link": "གསང་ཨང་བརྗེད་སོང་འདུག་གམ།",
+       "userlogin-createanother": "ཐོ་གཞན་པ་ཞིག་བཟོ་བ།",
        "createaccountmail": "སྐབས་འཕྲལ་རང་མོས་གྱི་གསང་བའི་ཨང་གྲངས་བེད་སྤྱད་པ་དང། ལྷན་དུ་གློག་འཕྲིན་ཁ་བྱང་ངེས་གཏན་ཞིག་ལ་བསྐུར་རོགས།",
        "createaccountreason": "རྒྱུ་མཚན།",
+       "createacct-reason-ph": "ཐོ་གཞན་པ་ཞིག་འགོད་པའི་རྒྱུ་མཚན་གང་ལགས།",
        "badretype": "ལམ་ཡིག་གང་བཅུག་པ་ཐོ་ཐུག་མ་བྱུང་།",
        "userexists": "སྤྱོད་མིང་འདི་སྔོན་ཚུད་ནས་བེད་སྤྱོད་བྱས་ཟིན་འདུག་པས། མིང་གཞན་ཞིག་གདམ་གནང་རོགས།",
        "loginerror": "ནང་འཛུལ་ནོར་སྐྱོན།",
        "wrongpassword": "ལམ་ཡིག་ནོར་འདུག བསྐྱར་དུ་ཚོད་ལྟ་བྱོས།",
        "wrongpasswordempty": "ལམ་ཡིག་སྟོང་པ་རེད། བསྐྱར་དུ་ཚོད་ལྟ་བྱོས།",
        "mailmypassword": "གསང་བའི་ཨང་གྲངས་བསྐྱར་བཟོ་གནང་རོགས།",
+       "accountcreated": "ཐོ་བཀོད་ཚར་འདུག",
        "loginlanguagelabel": "སྐད་རིགས། $1",
        "pt-login": "ནང་འཛུ།",
        "pt-login-button": "ནང་འཛུལ།",
        "changepassword": "ལམ་ཡིག་བརྗེ་བ།",
        "resetpass_announce": "ནང་འཛུལ་བྱེད་པར། ཁྱེད་ཀྱིས་གསང་བའི་ཨང་གསར་པ་ཞིག་འཇུག་རོགས།",
+       "resetpass_header": "གསང་ཨང་བརྗེ་བ།",
        "oldpassword": "ལམ་ཡིག་རྙིང་བ།",
        "newpassword": "ལམ་ཡིག་གསར་བ།",
        "retypenew": "ལམ་ཡིག་གསར་བ་བསྐྱར་འཇུག་བྱོས།",
index fdeeb1f..0f08306 100644 (file)
        "recentchanges-label-plusminus": "Promjena veličine stranice u bajtovima",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|spisak novih stranica]])",
+       "recentchanges-submit": "Prikaži",
        "rcnotefrom": "Ispod {{PLURAL:$5|je izmjena|su izmjene}} od <strong>$3, $4</strong> (do <strong>$1</strong> prikazano).",
        "rclistfrom": "Prikaži nove izmjene počev od $3 $2",
        "rcshowhideminor": "$1 manje izmjene",
        "speciallogtitlelabel": "Cilj (naslov ili {{ns:user}}:korisničko ime):",
        "log": "Zapisnici",
        "all-logs-page": "Svi javni zapisnici",
-       "alllogstext": "Zajednički prikaz svih dostupnih zapisnika sa {{SITENAME}}.\nMožete specificirati prikaz izabiranjem specifičnog spiska, korisničkog imena ili promjenjenog članka (razlikovati velika slova).",
+       "alllogstext": "Skupni prikaz svih dostupnih zapisnika sa {{GRAMMAR:genitiv|{{SITENAME}}}}.\nMožete suziti prikaz izabiranjem specifičnog zapisnika, korisničkog imena (razlikovati velika i mala slova) ili izmijenjenog članka (također treba razlikovati velika i mala slova).",
        "logempty": "Nema zatraženih stavki u zapisniku.",
        "log-title-wildcard": "Traži naslove koji počinju ovim tekstom",
        "showhideselectedlogentries": "Pokaži/sakrij izabrane zapise u evidenciji",
        "tooltip-pt-watchlist": "Spisak stranica koje pratite",
        "tooltip-pt-mycontris": "Spisak vaših doprinosa",
        "tooltip-pt-login": "Predlažemo da se prijavite, ali nije obvezno.",
-       "tooltip-pt-logout": "Odjava sa projekta {{SITENAME}}",
+       "tooltip-pt-logout": "Odjavi me",
        "tooltip-pt-createaccount": "Ohrabrujemo vas da otvorite nalog i prijavite se, međutim to nije obavezno",
        "tooltip-ca-talk": "Razgovor o sadržaju",
        "tooltip-ca-edit": "Uredi ovu stranicu",
index f6b416c..2b08bee 100644 (file)
        "hidden-category-category": "Къайлаха йолу категореш",
        "category-subcat-count": "{{PLURAL:$2|ХӀокху категори чохь ю хӀокхуьнан бухара категори.|ХӀокху категори чохь ю $1 {{PLURAL:$1|бухара категори|бухара категореш}} $2 массо нах.}}",
        "category-subcat-count-limited": "ХӀокх категори чохь {{PLURAL:$1|бухар категори|$1 бухар категореш}} ю.",
-       "category-article-count": "{{PLURAL:$2|Ð¥Ó\80окÑ\85Ñ\83 ÐºÐ°Ñ\82егоÑ\80и Ñ\87оÑ\85Ñ\8c Ñ\8fÑ\86 Ñ\86Ñ\85Ñ\8cа Ð°Ð³Ó\80о Ð±Ðµ.|ХӀокху категори чохь ю $2 агӀо, царах агӀонгахь {{PLURAL:$1|гойту $1 агӀо}}}}",
-       "category-article-count-limited": "ХӀокху категори чохь {{PLURAL:$1|$1 агӀо|$1 агӀонаш}} цхьа агӀо бен яц.",
-       "category-file-count": "{{PLURAL:$2|ХӀокху категори чохь цхьа файл бе яц.|{{PLURAL:$1|Гойту $1 файл|Гойту $1 файлаш}} хӀокху категорешца кху $2.}}",
+       "category-article-count": "{{PLURAL:$2|Ð¥Ó\80окÑ\85Ñ\83 ÐºÐ°Ñ\82егоÑ\80и Ñ\87оÑ\85Ñ\8c Ñ\8e Ñ\86Ñ\85Ñ\8cа Ð°Ð³Ó\80о.|ХӀокху категори чохь ю $2 агӀо, царах агӀонгахь {{PLURAL:$1|гойту $1 агӀо}}}}",
+       "category-article-count-limited": "ХӀокху категори чохь {{PLURAL:$1|$1 агӀо ю|1=цхьа агӀо ю}}.",
+       "category-file-count": "{{PLURAL:$2|ХӀокху категори чохь цхьа файл ю.|{{PLURAL:$1|Гойту $1 файл}} хӀокху категорешца кху $2.}}",
        "category-file-count-limited": "ХӀокху категори чохь {{PLURAL:$1|$1 файл|$1 файлаш|1=цхьаъ бен файл яц}}.",
        "listingcontinuesabbrev": "(кхин дlа)",
        "index-category": "Меттигтерахьйо агӀонаш",
index f3f4cdb..f1a72d3 100644 (file)
@@ -16,7 +16,8 @@
                        "Serwan",
                        "Ebraminio",
                        "Macofe",
-                       "Pirehelokan"
+                       "Pirehelokan",
+                       "Diyariq"
                ]
        },
        "tog-underline": "ھێڵ ھێنان بەژێر بەستەرەکان:",
        "spamprotectionmatch": "ئەم دەقە ئەوەیە کە پاڵێوی سپامەکە دەبزوێنێ: $1",
        "spambot_username": "خاوێنکردنەوەی سپامی میدیاویکی",
        "spam_reverting": "گەڕانەوە بۆ دوایین پێداچوونەوە کە بەستەری لەخۆگرتووە بۆ $1",
-       "simpleantispam-label": "پشکنینی دژەھەرزە.\nئەمە پڕ <strong>مەکەرەوە</strong>!",
+       "simpleantispam-label": "پشکنینی دژەھەرزە.\nئەمە پڕ <strong>مەکەرەوە</strong>پڕکردنەوە ئەوا لە!",
        "pageinfo-title": "زانیاری بۆ «$1»",
        "pageinfo-header-basic": "زانیاریی سەرەتایی",
        "pageinfo-header-edits": "مێژووی دەستکاری",
index edf978a..5b6331f 100644 (file)
        "permissionserrors": "Chyba povolení",
        "permissionserrorstext": "Nemáte povoleno toto provést z {{PLURAL:$1|následujícího důvodu|následujících důvodů|následujících důvodů}}:",
        "permissionserrorstext-withaction": "Z {{PLURAL:$1|následujícího důvodu|následujících důvodů}} nemáte oprávnění $2:",
-       "contentmodelediterror": "Tuto revizi nemůžete editovat, protože model jejího obsahu je <code>$1</code>, zatímco aktuální model obsahu této stránky je <code>$2</code>.",
+       "contentmodelediterror": "Tuto revizi nemůžete editovat, protože model jejího obsahu je <code>$1</code>, což se liší od aktuálního modelu obsahu této stránky, kterým je <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Upozornění: Pokoušíte se znovuzaložit stránku, která byla v minulosti smazána.'''\n\nZvažte, zda je vhodné v editaci této stránky pokračovat.\nNíže vidíte soupis přesunů a smazání této stránky:",
        "moveddeleted-notice": "Tato stránka byla smazána.\nPodrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených přesunů a smazání této stránky.",
        "moveddeleted-notice-recent": "Omlouváme se, ale tato stránka byla nedávno (v posledních 24 hodinách) smazána. Pro úplnost je níže zobrazen soupis přesunů a smazání této stránky.",
index 2224b7c..2a68ab4 100644 (file)
        "watch": "блюдєниѥ",
        "watchthispage": "си страницѧ блюдєниѥ",
        "unwatch": "остави блюдєниѥ",
+       "watchlistall2": "вьсꙗ",
        "watchlist-options": "блюдєниѩ строи",
        "watching": "блюдєниѥ ...",
        "unwatching": "оставьлєниѥ блюдєниꙗ ...",
        "ipblocklist-submit": "исканиѥ",
        "infiniteblock": "вѣчьно",
        "anononlyblock": "тъкъмо анѡнѷмꙑ",
+       "createaccountblock": "сътворѥниѥ мѣстъ ꙁабранєно ѥстъ",
        "blocklink": "ꙁагради",
        "contribslink": "добродѣꙗниꙗ",
        "blocklogpage": "ꙁаграждєниꙗ їсторїꙗ",
        "blocklogentry": "ꙁаградилъ [[$1]] на врѣмѧ $2 $3",
        "block-log-flags-anononly": "тъкъмо анѡнѷмьнꙑ польꙃєватєлє",
+       "block-log-flags-nocreate": "сътворѥниѥ мѣстъ ꙁабранєно ѥстъ",
        "move-page": "прѣимєнованиѥ ⁖ $1 ⁖",
        "move-page-legend": "страницѧ прѣимєнованиѥ",
        "newtitle": "ново имѧ :",
        "htmlform-no": "нѣтъ",
        "htmlform-yes": "да",
        "logentry-delete-delete": "$1 {{GENDER:$2|поничьжилъ|поничьжила}} страницѫ ⁖ $3 ⁖",
+       "logentry-block-block": "$1 {{GENDER:$2|ꙁаградилъ|ꙁаградила}} {{GENDER:$4|$3}} на врѣмѧ $5 $6",
        "logentry-move-move": "$1 {{GENDER:$2|нарєчє}} страницѫ ⁖ $3 ⁖ имєньмь ⁖ $4 ⁖",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|нарєчє}} страницѫ ⁖ $3 ⁖ имєньмь ⁖ $4 ⁖ бєꙁ прѣнаправлєниꙗ сътворѥниꙗ",
        "logentry-move-move_redir": "$1 {{GENDER:$2|нарєчє}} страницѧ ⁖ $3 ⁖ имєньмь ⁖ $4 ⁖ врьхоу прѣнаправлѥниꙗ",
index 1da3321..cf5a59c 100644 (file)
        "rclinks": "Юлашки $2 кун хушшинче тунă $1 улшăнусене кăтартмалла<br />$3",
        "diff": "танл.",
        "hist": "ист",
-       "hide": "Ð\9aăтартмалла мар",
-       "show": "Ð\9aăтартмалла",
+       "hide": "кăтартмалла мар",
+       "show": "кăтартмалла",
        "minoreditletter": "п",
        "newpageletter": "Ç",
        "boteditletter": "б",
        "sp-contributions-search": "Хушнине шырамалли",
        "sp-contributions-username": "IP адрес е усă куракан ят:",
        "sp-contributions-submit": "Шыра",
-       "whatlinkshere": "Кунта килекен каçăсем",
-       "linkshere": "Çак страницăсем '''[[:$1]]''' çине илсе килеççĕ:",
+       "whatlinkshere": "Кунта каçаканнисем",
+       "whatlinkshere-title": "\"$1\" çине каçакан страницăсем",
+       "linkshere": "<strong>[[:$1]]</strong> çине каçакан страницăсем:",
        "nolinkshere": "'''[[:$1]]''' страница çине ытти страницăсенчен килме пулмасть.",
        "whatlinkshere-prev": "{{PLURAL:$1|унчченхи|унчченхи $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|урăххи|урăххисем $1}}",
-       "whatlinkshere-links": "← каçăсем",
+       "whatlinkshere-links": "← каçаканнисем",
        "whatlinkshere-hideredirs": "куçарнисене $1",
+       "whatlinkshere-hidelinks": "Каçаканнисем $1",
        "whatlinkshere-filters": "Аласем",
        "blockip": "{{GENDER:$1|хутшăнакана}} чар",
        "ipaddressorusername": "IP адрес е усă куракан ят:",
        "tooltip-pt-anontalk": "IP адресне сӳтсе явни",
        "tooltip-pt-preferences": "Сирĕн ĕнерлевсем",
        "tooltip-pt-watchlist": "Эсир пăхакан страницисем",
+       "tooltip-pt-mycontris": "Сирĕн хушнисем",
        "tooltip-pt-anoncontribs": "Ку IP адреспа тӳрлетнисем",
        "tooltip-pt-logout": "Сеансне пĕтер",
        "tooltip-ca-talk": "Статьяна сӳтсе явасси",
index 4ec9f1a..e89103c 100644 (file)
@@ -83,7 +83,8 @@
                        "Luke081515",
                        "J. 'mach' wust",
                        "R4c0r",
-                       "MGChecker"
+                       "MGChecker",
+                       "FriedhelmW"
                ]
        },
        "tog-underline": "Links unterstreichen:",
        "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 zweite Grenze von $2 ü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 $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",
        "mypreferencesprotected": "Du bist nicht berechtigt, deine Einstellungen zu ändern.",
        "ns-specialprotected": "Spezialseiten können nicht bearbeitet werden.",
        "titleprotected": "Eine Seite mit diesem Namen kann nicht angelegt werden.\nDie Sperre wurde durch [[User:$1|$1]] mit der Begründung „<em>$2</em>“ eingerichtet.",
-       "filereadonlyerror": "Die Datei „$1“ kann nicht verändert werden, da auf das Dateirepositorium „$2“ nur Lesezugriff möglich ist.\n\nDer Administrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3“.",
+       "filereadonlyerror": "Die Datei „$1“ kann nicht verändert werden, da auf das Dateirepositorium „$2“ nur Lesezugriff möglich ist.\n\nDer Systemadministrator, der den Schreibzugriff sperrte, gab folgenden Grund an: „$3“.",
        "invalidtitle-knownnamespace": "Ungültiger Titel mit Namensraum „$2“ und Text „$3“",
        "invalidtitle-unknownnamespace": "Ungültiger Titel mit unbekannter Namensraumnummer $1 und Text „$2“",
        "exception-nologin": "Nicht angemeldet",
        "exception-nologin-text": "Du musst dich anmelden, um auf diese Seite oder Aktion zugreifen zu können.",
        "exception-nologin-text-manual": "Du musst dich $1, um auf diese Seite oder Aktion zugreifen zu können.",
        "virus-badscanner": "Fehlerhafte Konfiguration: unbekannter Virenscanner: <em>$1</em>",
-       "virus-scanfailed": "Scan fehlgeschlagen (code $1)",
+       "virus-scanfailed": "Scan fehlgeschlagen (Code $1)",
        "virus-unknownscanner": "Unbekannter Virenscanner:",
        "logouttext": "<strong>Du bist nun abgemeldet.</strong>\n\nBeachte, dass einige Seiten noch anzeigen können, dass du angemeldet bist, solange du nicht deinen Browsercache geleert hast.",
        "welcomeuser": "Willkommen, $1!",
        "copyrightwarning2": "Bitte beachte, dass alle Beiträge zu {{SITENAME}} von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können.\nReiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.\n\nDu bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast\n(weitere Einzelheiten unter $1). '''ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!'''",
        "editpage-cannot-use-custom-model": "Das Inhaltsmodell dieser Seite kann nicht geändert werden.",
        "longpageerror": "'''Fehler: Der Text, den du zu speichern versuchst, ist {{PLURAL:$1|ein Kilobyte|$1 Kilobyte}} groß. Dies ist größer als das erlaubte Maximum von {{PLURAL:$2|ein Kilobyte|$2 Kilobyte}}.'''\nEr kann nicht gespeichert werden.",
-       "readonlywarning": "'''Achtung: Die Datenbank wurde für Wartungsarbeiten gesperrt, so dass deine Änderungen derzeit nicht gespeichert werden können.\nSichere den Text bitte lokal auf deinem Computer und versuche zu einem späteren Zeitpunkt, die Änderungen zu übertragen.'''\n\nGrund für die Sperre: $1",
+       "readonlywarning": "<strong>Achtung: Die Datenbank wurde für Wartungsarbeiten gesperrt, so dass deine Änderungen derzeit nicht gespeichert werden können.\nSichere den Text bitte lokal auf deinem Computer und versuche zu einem späteren Zeitpunkt, die Änderungen zu übertragen.</strong>\n\nGrund für die Sperre: $1",
        "protectedpagewarning": "'''Achtung: Diese Seite wurde geschützt. Nur Benutzer mit Administratorrechten können die Seite bearbeiten.'''\nZur Information folgt der aktuelle Logbucheintrag:",
        "semiprotectedpagewarning": "'''Halbsperrung:''' Die Seite wurde so geschützt, dass nur registrierte Benutzer diese ändern können.\nZur Information folgt der aktuelle Logbucheintrag:",
        "cascadeprotectedwarning": "<strong>Achtung:</strong> Diese Seite wurde so geschützt, dass sie nur durch Benutzer mit Administratorrechten bearbeitet werden kann. Sie ist in die {{PLURAL:$1|folgende Seite|folgenden Seiten}} eingebunden, die mittels der Kaskadensperroption geschützt {{PLURAL:$1|ist|sind}}:",
        "permissionserrors": "Berechtigungsfehler",
        "permissionserrorstext": "Du bist nicht berechtigt, die Aktion auszuführen. {{PLURAL:$1|Grund|Gründe}}:",
        "permissionserrorstext-withaction": "Du bist aus {{PLURAL:$1|dem folgenden Grund|den folgenden Gründen}} nicht berechtigt, $2:",
-       "contentmodelediterror": "Du kannst diese Version nicht bearbeiten, da dieses Inhaltsmodell <code>$1</code> und das aktuelle Inhaltsmodell der Seite <code>$2</code> ist.",
+       "contentmodelediterror": "Du kannst diese Version nicht bearbeiten, da das Inhaltsmodell <code>$1</code> vom aktuellen Inhaltsmodell der Seite <code>$2</code> abweicht.",
        "recreate-moveddeleted-warn": "'''Achtung: Du erstellst eine Seite, die bereits früher gelöscht wurde.'''\n\nBitte prüfe sorgfältig, ob die erneute Seitenerstellung den Richtlinien entspricht.\nZu deiner Information folgt das Lösch- und Verschiebungs-Logbuch mit der Begründung für die vorhergehende Löschung:",
        "moveddeleted-notice": "Diese Seite wurde gelöscht. Zur Information folgt das Lösch- und Verschiebungs-Logbuch dieser Seite.",
        "moveddeleted-notice-recent": "Leider wurde diese Seite kürzlich gelöscht (innerhalb der letzten 24 Stunden).\nZur Information wird das Lösch- und Verschiebungs-Logbuch für die Seite unten angezeigt.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Ich bestätige, dass ich das Urheberrecht für diese Datei besitze und stimme unwiderruflich der Veröffentlichung dieser Datei auf Wikimedia Commons unter der Lizenz [https://creativecommons.org/licenses/by-sa/4.0/deed.de „Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International“] sowie den [https://wikimediafoundation.org/wiki/Terms_of_Use/de Nutzungsbedingungen] zu.",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Falls du nicht das Urheberrecht für diese Datei besitzt oder du diese Datei unter einer anderen Lizenz veröffentlichen möchtest, ziehe [https://commons.wikimedia.org/wiki/Special:UploadWizard den Hochladeassistenten auf Wikimedia Commons] in Erwägung.",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Du kannst auch [[Special:Upload|die Hochladeseite auf {{SITENAME}}]] ausprobieren, falls die Website das Hochladen dieser Datei unter ihren Richtlinien erlaubt.",
+       "foreign-structured-upload-form-2-label-intro": "Vielen Dank für das Spenden eines Bildes zur Verwendung auf {{SITENAME}}. Du solltest nur fortfahren, wenn es mehrere Bedingungen erfüllt:",
+       "foreign-structured-upload-form-2-label-ownwork": "Es muss vollständig <strong>deine eigene Schöpfung</strong> sein, nicht nur aus dem Internet genommen",
+       "foreign-structured-upload-form-2-label-noderiv": "Es darf <strong>kein Werk eines anderen</strong> enthalten oder von diesem inspiriert sein",
+       "foreign-structured-upload-form-2-label-useful": "Es soll <strong>lehrreich und nützlich</strong> für andere sein",
+       "foreign-structured-upload-form-2-label-ccbysa": "Es muss <strong>in Ordnung sein, um es für immer</strong> im Internet unter der Lizenz [https://creativecommons.org/licenses/by-sa/4.0/deed.de „Creative Commons – Namensnennung – Weitergabe unter gleichen Bedingungen 4.0“] zu veröffentlichen",
+       "foreign-structured-upload-form-2-label-alternative": "Falls nicht alle der obigen Antworten wahr sind, kannst du diese Datei mithilfe des [https://commons.wikimedia.org/wiki/Special:UploadWizard Hochladeassistenten auf Commons] hochladen, solange sie unter einer freien Lizenz verfügbar ist.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Durch das Hochladen der Datei bestätigst du, dass du das Urheberrecht an dieser Datei besitzt und stimmst der unwiderruflichen Veröffentlichung der Datei auf Wikimedia Commons unter der Lizenz „Creative Commons – Namensnennung – Weitergabe unter gleichen Bedingungen 4.0“ und den [https://wikimediafoundation.org/wiki/Terms_of_Use/de Nutzungsbedingungen] zu.",
+       "foreign-structured-upload-form-3-label-question-website": "Hast du dieses Bild von einer Website heruntergeladen oder es auf einer Bildersuche gefunden?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Hast du dieses Bild (das Foto, die Zeichnung etc.) selbst erstellt?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Enthält es oder wurde es inspiriert von einem Werk eines anderen, wie ein Logo?",
+       "foreign-structured-upload-form-3-label-yes": "Ja",
+       "foreign-structured-upload-form-3-label-no": "Nein",
+       "foreign-structured-upload-form-3-label-alternative": "Leider unterstützt dieses Werkzeug in diesem Fall nicht das Hochladen dieser Datei. Du kannst sie mithilfe des [https://commons.wikimedia.org/wiki/Special:UploadWizard Hochladeassistenten auf Commons] hochladen, solange sie unter einer freien Lizenz verfügbar ist.",
+       "foreign-structured-upload-form-4-label-good": "Mit diesem Werkzeug kannst du lehrreiche Grafiken hochladen, die du erstellt hast und Fotos, die du aufgenommen hast, die keine Werke von anderen enthalten.",
+       "foreign-structured-upload-form-4-label-bad": "Du kannst keine Bilder hochladen, die du auf einer Suchmaschine gefunden oder von anderen Websites heruntergeladen hast",
        "backend-fail-stream": "Die Datei $1 konnte nicht übertragen werden.",
        "backend-fail-backup": "Die Datei $1 konnte nicht gesichert werden.",
        "backend-fail-notexists": "Die Datei $1 ist nicht vorhanden.",
index d52a93e..08e9c69 100644 (file)
        "november-date": "Tışrino Peyên $1",
        "december-date": "Kanun $1",
        "pagecategories": "{{PLURAL:$1|Kategoriye|Kategoriyi}}",
-       "category_header": "Pelê ke kategoriya \"$1\" tede derê",
+       "category_header": "Pelê ke kategoriya \"$1\" derê",
        "subcategories": "Kategoriyê bınêni",
        "category-media-header": "Dosyeyê ke kategoriya \"$1\" derê",
        "category-empty": "''Ena kategoriye de hewna qet nuştey ya zi medya çıniyê.''",
        "aboutpage": "Project:Heqa {{SITENAME}} de",
        "copyright": "Zerrekacı $1 bındı not biya.",
        "copyrightpage": "{{ns:project}}:Heqa telifi",
-       "currentevents": "Hadiseyé rocaniyey",
+       "currentevents": "Veng û vac",
        "currentevents-url": "Project:Rocani hadisey",
        "disclaimers": "Redê mesuliyeti",
        "disclaimerpage": "Project:Reddê mesuliyetê bıngey",
        "deletepage": "Pele bestere",
        "confirm": "Tesdiq ke",
        "excontent": "Zerreko verén: '$1'",
-       "excontentauthor": "Zerreko verên: \"$1\", (teyna \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|vatış]]) iştiraq kerd bı.",
+       "excontentauthor": "zerrekê cı: \"$1\", û iştıraqkerê cı tenya \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|werênayış]]) bi",
        "exbeforeblank": "behsê verê esteriyayişi: '$1'",
        "delete-confirm": "\"$1\" bestere",
        "delete-legend": "Bestere",
index 780527f..11403b3 100644 (file)
        "databaseerror-query": "Ερώτημα: $1",
        "databaseerror-function": "Λειτουργία: $1",
        "databaseerror-error": "Σφάλμα: $1",
+       "transaction-duration-limit-exceeded": "Προκειμένου να αποφευχθεί η δημιουργία υψηλής αναπαραγωγής οτδ, η συναλλαγή αυτή ματαιώθηκε, επειδή η διάρκεια εισαγωγής κειμένου ($1) ξεπέρασε το $2 δεύτερο όριο.\nΑν θέλετε να αλλάξετε πολλά στοιχεία ταυτόχρονα, προσπαθήστε να κάνετε πολλαπλές μικρότερες επιχειρήσεις αντ ' αυτού.",
        "laggedslavemode": "'''Προειδοποίηση:''' Η σελίδα μπορεί να μην περιέχει πρόσφατες ενημερώσεις.",
        "readonly": "Κλειδωμένη βάση δεδομένων",
        "enterlockreason": "Εισαγάγετε μια αιτία για το κλείδωμα και μια εκτίμησή για το πότε το κλείδωμα αυτό θα αρθεί",
        "missingarticle-rev": "(αναθεώρηση#: $1)",
        "missingarticle-diff": "(Διαφ: $1, $2)",
        "readonly_lag": "Η βάση δεδομένων έχει κλειδωθεί αυτόματα για να μπορέσουν οι επιμέρους εξυπηρετητές των αντιγράφων της βάσης δεδομένων να καλύψουν τη διαφορά με τον κεντρικό εξυπηρετητή του πρωτοτύπου της βάσης δεδομένων.",
+       "nonwrite-api-promise-error": "Η \"Υπόσχεση-Μη-Write-API-Δράση\" HTTP header στάλθηκε, αλλά το αίτημα ήταν ένα API-γραφής ενότητα.",
        "internalerror": "Εσωτερικό σφάλμα",
        "internalerror_info": "Εσωτερικό σφάλμα: $1",
        "internalerror-fatal-exception": "Ανεπανόρθωτη εξαίρεση τύπου «$1»",
        "passwordreset-emailtext-ip": "Κάποιος (πιθανώς εσείς, από την διεύθυνση IP $1) ζήτησε την επαναφορά του κωδικού σας σε {{SITENAME}} ($4).  {{PLURAL:$3|Ο ακόλουθος λογαριασμός|Οι ακόλουθοι λογαριασμοί}} χρήστη συνδέονται με αυτή τη διεύθυνση e-mail:\n\n$2\n\n{{PLURAL:$3|Αυτός ο προσωρινός κωδικός πρόσβασης θα λήξει|Αυτοί οι προσωρινοί κωδικοί πρόσβασης θα λήξουν}} σε {{PLURAL:$5|μία ημέρα|$5 ημέρες}}.\nΘα πρέπει να συνδεθείτε τώρα και να επιλέξετε ένα νέο κωδικό. Αν κάποιος άλλος έκανε αυτό το αίτημα ή αν έχετε θυμηθεί τον αρχικό κωδικό πρόσβασής σας, και δεν επιθυμείτε πια να τον αλλάξετε, μπορείτε να αγνοήσετε αυτό το μήνυμα και να συνεχίσετε να χρησιμοποιείτε τον παλιό σας κωδικό πρόσβασης.",
        "passwordreset-emailtext-user": "Ο χρήστης $1 στη {{SITENAME}} ζήτησε μια επαναφορά του κωδικού πρόσβασης σας σε {{SITENAME}} ($4). {{PLURAL:$3|Ο ακόλουθος λογαριασμός|Οι ακόλουθοι λογαριασμοί}} χρήστη συνδέονται με αυτή τη διεύθυνση e-mail:\n\n$2\n\n{{PLURAL:$3|Αυτός ο προσωρινός κωδικός πρόσβασης θα λήξει| Αυτοί οι προσωρινοί κωδικοί πρόσβασης θα λήξουν}} σε {{PLURAL:$5| μία ημέρα| $5 ημέρες}}.\nΘα πρέπει να συνδεθείτε τώρα και να επιλέξετε ένα νέο κωδικό. Αν κάποιος άλλος έκανε αυτό το αίτημα ή αν έχετε θυμηθεί τον αρχικό κωδικό πρόσβασής σας, και δεν επιθυμείτε πια να τον αλλάξετε, μπορείτε να αγνοήσετε αυτό το μήνυμα και να συνεχίσετε να χρησιμοποιείτε τον παλιό σας κωδικό πρόσβασης.",
        "passwordreset-emailelement": "Όνομα χρήστη: \n$1\n\nΠροσωρινός κωδικός πρόσβασης:\n$2",
-       "passwordreset-emailsentemail": "Αν αυτή είναι η καταχωρυμένη διεύθυνση email για τον λογαριασμό σας, τότε θα σταλεί ένα μήνυμα email αρχικοποίησης κωδικού.",
+       "passwordreset-emailsentemail": "Αν αυτό είναι καταχωρημένη διεύθυνση ηλεκτρονικού ταχυδρομείου για το λογαριασμό σας και, στη συνέχεια,  θα σας αποσταλεί μήνυμα ηλεκτρονικού ταχυδρομείου για την επαναφορά του κωδικού πρόσβασης.",
+       "passwordreset-emailsentusername": "Αν υπάρχει καταχωρημένη μια αντίστοιχη  διεύθυνση ηλεκτρονικού ταχυδρομείου σας, τότε θα σας αποσταλεί ένα μήνυμα ηλεκτρονικού ταχυδρομείου για την επαναφορά του κωδικού πρόσβασης.",
        "passwordreset-emailsent-capture": "Έχει αποσταλεί email επαναφοράς κωδικού, το οποίο φαίνεται πιο κάτω.",
        "passwordreset-emailerror-capture": "Ένα email επαναφοράς κωδικού έχει δημιουργηθεί, το οποίο φαίνεται πιο κάτω, αλλά απέτυχε η αποστολή του στο  {{GENDER:$2|χρήστη}}: $1",
        "changeemail": "Αλλαγή ή αφαίρεση της διεύθυνσης ηλεκτρονικού ταχυδρομείου",
        "permissionserrors": "Σφάλμα  άδειας",
        "permissionserrorstext": "Δεν έχετε άδεια να το κάνετε αυτό, για {{PLURAL:$1|τον εξής λόγο|τους εξής λόγους}}:",
        "permissionserrorstext-withaction": "Δεν έχετε την άδεια να $2, για {{PLURAL:$1|τον ακόλουθο λόγο|τους ακόλουθους λόγους}}:",
+       "contentmodelediterror": "Δεν μπορείτε να επεξεργαστείτε αυτή την αναθεώρηση, γιατί το περιεχόμενό του μοντέλου του  είναι <code>$1</code>, το οποίο διαφέρει από το τρέχον περιεχόμενο μοντέλο της σελίδας <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Προειδοποίηση: Ξαναδημιουργείτε μια σελίδα που είχε προηγουμένως διαγραφεί.'''\n\nΘα πρέπει να σκεφτείτε σοβαρά αν είναι σωστό να συνεχίσετε να επεξεργάζεστε αυτή τη σελίδα.\nΟι καταγραφές διαγραφών και μετακινήσεων παρέχονται εδώ για διευκόλυνση:",
        "moveddeleted-notice": "Αυτή η σελίδα έχει διαγραφεί.\nΤο αρχείο καταγραφών διαγραφών και μετακινήσεων της σελίδας παρέχεται παρακάτω για αναφορά.",
        "moveddeleted-notice-recent": "Συγγνώμη, η σελίδα έχει διαγραφεί πρόσφατα (μέσα στις τελευταίες 24 ώρες).\nΗ διαγραφή και μετακίνηση του αρχείου καταγραφής της σελίδας παρέχεται παρακάτω για αναφορά.",
        "recentchanges-legend-heading": "'''Υπόμνημα:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (δείτε [[Special:NewPages|κατάλογος νέων σελίδων]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
+       "recentchanges-submit": "Προβολή",
        "rcnotefrom": "Παρακάτω {{PLURAL:$5|είναι η αλλαγή|είναι οι αλλαγές}} από <strong>$3, $4</strong> (έως <strong>$1</strong> που εμφανίζεται).",
        "rclistfrom": "Εμφάνιση νέων αλλαγών αρχίζοντας από τις $3 στις $2",
        "rcshowhideminor": "$1 μικρών τροποποιήσεων",
        "foreign-structured-upload-form-label-not-own-work-local-local": "Επίσης, μπορεί να θέλετε να δοκιμάσετε [[Special:Upload|την προεπιλεγμένη σελίδα επιφόρτωσης]].",
        "foreign-structured-upload-form-label-own-work-message-default": "Καταλαβαίνω ότι είμαι φόρτωμα αυτό το αρχείο σε ένα κοινόχρηστο αρχείο. Επιβεβαιώνω ότι είμαι τόσο ακόλουθες τους όρους της υπηρεσίας και πολιτικές αδειοδότησης.",
        "foreign-structured-upload-form-label-not-own-work-message-default": "Εάν δεν είστε σε θέση να ανεβάσετε αυτό το αρχείο στο πλαίσιο των πολιτικών της shared repository, παρακαλώ κλείστε αυτό το παράθυρο διαλόγου και να επιχειρήσετε μια άλλη μέθοδος.",
+       "foreign-structured-upload-form-label-not-own-work-local-default": "Επίσης, μπορεί να θέλετε να δοκιμάσετε χρησιμοποιώντας το [[Special:Upload|τη σελίδα ανεβάσματος για το {{SITENAME}}]], αν αυτό το αρχείο μπορεί να φορτωθεί κάτω σύμφωνα με τις πολιτικές τους.",
+       "foreign-structured-upload-form-label-own-work-message-shared": "Δηλώνω ότι κατέχω τα πνευματικά δικαιώματα για αυτό το αρχείο, και συμφωνώ αμετάκλητα στην απελευθέρωση  αυτού του  αρχείου στο Wikimedia Commons με άδεια  [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|τη σελίδα ανεβάσματος για το {{SITENAME}}]], αν αυτό το αρχείο μπορεί να φορτωθεί σύμφωνα με  τις πολιτικές τους.",
+       "foreign-structured-upload-form-2-label-intro": "Σας ευχαριστούμε για τη δωρεά μιας εικόνας που θα χρησιμοποιηθεί στο {{SITENAME}}. Θα πρέπει να συνεχίσετε  μόνο εφόσον πληροί μια σειρά  προϋποθέσεων:",
+       "foreign-structured-upload-form-2-label-ownwork": "Πρέπει να είναι εξ ολοκλήρου <strong>δική σας δημιουργία</strong>, όχι απλά παρμένο από το Internet",
+       "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/ 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": "Με το ανέβασμα του αρχείου, επιβεβαιώνετε ότι έχετε τα πνευματικά δικαιώματα για αυτό το αρχείο, και συμφωνείτε αμετάκλητα για την απελευθέρωση αυτού του αρχείου στα Κοινά του  Wikimedia υπό την άδεια 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 δεν υπάρχει.",
        "uploadstash-badtoken": "Εκτέλεση της εν λόγω ενέργειας  ήταν ανεπιτυχής, ίσως επειδή τα διαπιστευτήριά επεξεργασίας  σας έχουν λήξει. Δοκίμαστε ξανά.",
        "uploadstash-errclear": "Η εκκαθάριση των αρχείων ήταν ανεπιτυχής.",
        "uploadstash-refresh": "Ανανεώσετε τη λίστα των αρχείων",
+       "invalid-chunk-offset": "Άκυρο κομμάτι όφσετ",
        "img-auth-accessdenied": "Δεν επετράπη η πρόσβαση",
        "img-auth-nopathinfo": "Λείπει το PATH_INFO.\nΟ διακομιστής σας δεν είναι ρυθμισμένος για να περάσει αυτές τις πληροφορίες.\nΜπορεί να είναι βασισμένος σε CGI και να μην υποστηρίζει img_atuh.\nΔείτε https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
        "img-auth-notindir": "Η ζητούμενη διαδρομή δεν βρίσκεται στον διαμορφωμένο αρχειοκατάλογο επιφορτώσεων",
        "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": "Μετακίνηση",
        "specialloguserlabel": "",
        "speciallogtitlelabel": "Στόχος (τίτλος ή {{ns:user}}:χρήστης για χρήστη):",
        "log": "Αρχεία καταγραφών",
+       "logeventslist-submit": "Προβολή",
        "all-logs-page": "Όλες οι δημόσιες καταγραφές γεγονότων",
        "alllogstext": "Εποπτική εμφάνιση όλων των ενεργειών φόρτωσης αρχείων, διαγραφής, προστασίας, φραγής και όλων των καταγραφών των διαχειριστών στο αρχείο γεγονότων του {{SITENAME}}. Μπορείτε να περιορίσετε τα αποτελέσματα που εμφανίζονται επιλέγοντας συγκεκριμένο είδος γεγονότων, όνομα χρήστη ή τη σελίδα που επηρεάστηκε.",
        "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": "Απόκρυψη bots",
        "activeusers-hidesysops": "Απόκρυψη διαχειριστών",
        "activeusers-noresult": "Δεν βρέθηκε χρήστης.",
+       "activeusers-submit": "Προβολή ενεργών χρηστών",
        "listgrouprights": "Δικαιώματα ομάδων χρηστών",
        "listgrouprights-summary": "Ακόλουθεί μία λίστα με τις ομάδες χρηστών σε αυτό το wiki καθώς και με τα δικαιώματα πρόσβασης αυτών.\nΕνδέχεται να περιέχει [[{{MediaWiki:Listgrouprights-helppage}}|πρόσθετες πληροφορίες]] σχετικά με ατομικά δικαιώματα.",
        "listgrouprights-key": "Υπόμνημα:\n* <span class=\"listgrouprights-granted\">Χορηγηθέν δικαίωμα</span>\n* <span class=\"listgrouprights-revoked\">Ανακληθέν δικαίωμα</span>",
        "wlshowlast": "Εμφάνιση των τελευταίων $1 ωρών $2 ημερών",
        "watchlistall2": "όλα",
        "watchlist-hide": "Απόκρυψη",
-       "wlshowtime": "Εμφάνιση τελευταίου:",
+       "watchlist-submit": "Προβολή",
+       "wlshowtime": "Περίοδος χρόνου για να εμφανιστεί:",
        "wlshowhideminor": "μικρές τροποποιήσεις",
        "wlshowhidebots": "bots",
        "wlshowhideliu": "εγγεγραμμένοι χρήστες",
        "delete-confirm": "Διαγραφή του \"$1\"",
        "delete-legend": "Διαγραφή",
        "historywarning": "<strong>Προσοχή:</strong> Η σελίδα που πρόκειται να διαγράψετε έχει ιστορικό με περίπου $1 {{PLURAL:$1|επεξεργασία|επεξεργασίες}}:",
+       "historyaction-submit": "Προβολή",
        "confirmdeletetext": "Πρόκειται να διαγράψετε οριστικά από τη βάση δεδομένων μια σελίδα (ή μια εικόνα) μαζί με το ιστορικό της. Παρακαλούμε επιβεβαιώστε ότι θέλετε πραγματικά να το κάνετε, ότι αντιλαμβάνεσθε τις συνέπειες και ότι το κάνετε σύμφωνα με την [[{{MediaWiki:Policy-url}}|πολιτική]].",
        "actioncomplete": "Η ενέργεια ολοκληρώθηκε.",
        "actionfailed": "Η ενέργεια απέτυχε",
        "whatlinkshere-hidelinks": "$1 συνδέσμων",
        "whatlinkshere-hideimages": "$1 σύνδεσμοι αρχείων",
        "whatlinkshere-filters": "Φίλτρα",
+       "whatlinkshere-submit": "Μετάβαση",
        "autoblockid": "Autoblock #$1",
        "block": "Φραγή χρήστη",
        "unblock": "Κατάργηση αποκλεισμού χρήστη",
        "import-error-interwiki": "Η σελίδα «$1» δεν εισήχθη επειδή το όνομα της είναι δεσμευμένο για εξωτερική σύνδεση (interwiki).",
        "import-error-special": "Η σελίδα «$1» δεν εισήχθη επειδή ανήκει σε έναν ειδικό ονοματοχώρο που δεν επιτρέπει σελίδες.",
        "import-error-invalid": "Η σελίδα «$1» δεν εισήχθη επειδή το όνομά με το οποίο επρόκειτο να εισαχθεί δεν είναι έγκυρο σε αυτό το wiki.",
+       "import-error-unserialize": "Αναθεώρηση $2 της σελίδας \"$1\" δεν μπορεί να unserialized. Η αναθεώρηση αυτή αναφέρεται στη χρήση του περιεχομένου πρότυπο $3 συνέχειες όπως $4.",
+       "import-error-bad-location": "Η αναθεώρηση $2 χρησιμοποιώντας μοντέλο περιεχομένου $3 δεν μπορεί να αποθηκευτεί στο \"$1\" σε αυτό το wiki, δεδομένου ότι αυτό το μοντέλο δεν υποστηρίζεται σε αυτή τη σελίδα.",
        "import-options-wrong": "Λάθος {{PLURAL:$2|επιλογή|επιλογές}}: <nowiki>$1</nowiki>",
        "import-rootpage-invalid": "Η δεδομένη ριζική σελίδα είναι μη έγκυρος τίτλος",
        "import-rootpage-nosubpage": "Ο ονοματοχώρος «$1» της βασικής σελίδας δεν επιτρέπει υποσελίδες.",
        "tooltip-pt-preferences": "Οι προτιμήσεις σας",
        "tooltip-pt-watchlist": "Η λίστα με τις σελίδες που παρακολουθείτε για αλλαγές",
        "tooltip-pt-mycontris": "Κατάλογος των συνεισφορών σας",
+       "tooltip-pt-anoncontribs": "Μια λίστα με τις επεξεργασίες που έγιναν από αυτή τη διεύθυνση IP",
        "tooltip-pt-login": "Σας ενθαρρύνουμε να συνδεθείτε· ωστόσο, δεν είναι υποχρεωτικό",
        "tooltip-pt-logout": "Έξοδος",
        "tooltip-pt-createaccount": "Σας ενθαρρύνουμε να δημιουργήσετε ένα λογαριασμό και να συνδεθείτε· ωστόσο, δεν είναι υποχρεωτικό",
        "exif-compression-4": "Κωδικοποίηση Φαξ CCITT Ομάδας 4",
        "exif-copyrighted-true": "Προστατεύεται από πνευματικά δικαιώματα",
        "exif-copyrighted-false": "Δεν έχει οριστεί καθεστώς πνευματικών δικαιωμάτων",
+       "exif-photometricinterpretation-1": "Μαύρο και λευκό (Μαύρο 0)",
        "exif-unknowndate": "Άγνωστη ημερομηνία",
        "exif-orientation-1": "Φυσικός",
        "exif-orientation-2": "Έχει αντιστραφεί οριζόντια.",
        "htmlform-cloner-delete": "Αφαίρεση",
        "htmlform-cloner-required": "Απαιτείται τουλάχιστον μία τιμή.",
        "htmlform-title-badnamespace": "[[:$1]] δεν είναι στο \"{{ns:$2}}\" ονοματοχώρο.",
+       "htmlform-title-not-creatable": "\"$1\" - η  σελίδα τίτλου δεν είναι δυνατόν να δημιουργηθεί",
        "htmlform-title-not-exists": "Το $1 δεν υπάρχει.",
        "htmlform-user-not-exists": "Δεν υπάρχει χρήστης με όνομα <strong>$1</strong>.",
        "htmlform-user-not-valid": "Το <strong>$1</strong> δεν είναι έγκυρο όνομα χρήστη.",
        "logentry-newusers-create2": "Ο λογαριασμός χρήστη $3 δημιουργήθηκε από {{GENDER:$2|τον|την}} $1",
        "logentry-newusers-byemail": "Ο λογαριασμός χρήστη $3 δημιουργήθηκε από {{GENDER:$2|τον|την}} $1 και ο κωδικός πρόσβασης εστάλη μέσω ηλεκτρονικού ταχυδρομείου",
        "logentry-newusers-autocreate": "Ο λογαριασμός χρήστη $1 δημιουργήθηκε αυτόματα",
+       "logentry-protect-protect": "$1 {{GENDER:$2|προστατευμένος|προστατευμένη}} $3 $4",
+       "logentry-protect-modify": "$1 {{GENDER:$2|άλλαξε}} επίπεδο προστασίας για $3 $4",
+       "logentry-protect-modify-cascade": "$1 {{GENDER:$2|άλλαξε}} επίπεδο προστασίας για $3 $4 [διαδοχική]",
        "logentry-rights-rights": "{{GENDER:$2|Ο|Η}} $1 άλλαξε την ιδιότητα μέλους ομάδας για {{GENDER:$3|τον|την}} $3 από $4 σε $5",
        "logentry-rights-rights-legacy": "{{GENDER:$2|Ο|Η}} $1 άλλαξε την ιδιότητα μέλους ομάδας {{GENDER:$1|του|της}} $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|προωθήθηκε}} αυτόματα από το $4 στο $5",
        "logentry-upload-overwrite": "{{GENDER:$2|Ο|Η}} $1 ανέβασε μια νέα έκδοση του $3",
        "logentry-upload-revert": "{{GENDER:$2|Ο|Η}} $1 ανέβασε το $3",
        "log-name-managetags": "Αρχείο καταγραφών διαχείρισης ετικετών",
+       "log-description-managetags": "Αυτή η σελίδα περιέχει εργασίες διαχείρισης που σχετίζονται με τις [[Special:Tags|ετικέτες]]. Το αρχείο καταγραφής περιέχει μόνο οι ενέργειες που πραγματοποιούνται με το χέρι  από κάποιον διαχειριστή· ετικέτες μπορούν να δημιουργηθούν ή να διαγραφούν από το λογισμικό wiki, χωρίς κάποια καταχώριση να καταχωρίζεται σε αυτό το αρχείο καταγραφής.",
        "logentry-managetags-create": "{{GENDER:$2|Ο|Η}} $1 δημιούργησε την ετικέτα «$4»",
        "logentry-managetags-delete": "{{GENDER:$2|Ο|Η}} $1 διέγραψε την ετικέτα «$4» (αφαιρέθηκε από $5 {{PLURAL:$5|αναθεώρηση ή καταχώρηση αρχείου καταγραφής|αναθεωρήσεις και/ή καταχωρήσεις του αρχείου καταγραφής}})",
+       "logentry-managetags-activate": "{{GENDER:$2|Ο|Η}} $1 απενεργοποίησε την ετικέτα «$4» για χρήση από χρήστες και bots",
        "logentry-managetags-deactivate": "{{GENDER:$2|Ο|Η}} $1 απενεργοποίησε την ετικέτα «$4» για χρήση από χρήστες και bots",
        "log-name-tag": "Αρχείο καταγραφών ετικετών",
        "log-description-tag": "Αυτή η σελίδα εμφανίζεται όταν οι χρήστες έχουν προσθέσει ή αφαιρέσει  [[Special:Tags|ετικέτες]] από επιμέρους αναθεωρήσεις ή καταχωρήσεις του αρχείου καταγραφής. Το αρχείο καταγραφής δεν δημιουργεί κατάλογο ενεργειών ετικετών  όταν αυτές συμβαίνουν ως μέρος κάποιας επεξεργασίας, διαγραφής, ή παρόμοιας ενέργειας.",
        "logentry-tag-update-add-revision": "{{GENDER:$2|Ο|Η}} $1 πρόσθεσε {{PLURAL:$7|την ετικέτα|τις ετικέτες}} $6 στην αναθεώρηση $4 της σελίδας $3",
+       "logentry-tag-update-add-logentry": "$1 {{GENDER:$2|προστέθηκε}}  {{PLURAL:$7|η ετικέτα|οι ετικέτες}} $6 στο αρχείο καταγραφής εισόδου $5 της σελίδας $3",
        "logentry-tag-update-remove-revision": "{{GENDER:$2|Ο|Η}} $1 αφαίρεσε {{PLURAL:$9|την ετικέτα|τις ετικέτες}} $8 από την αναθεώρηση $4 της σελίδας $3",
        "logentry-tag-update-remove-logentry": "{{GENDER:$2|Ο|Η}} $1 αφαίρεσε {{PLURAL:$9|την ετικέτα|τις ετικέτες}} $8 από το αρχείο καταγραφής $5 της σελίδας $3",
        "logentry-tag-update-revision": "{{GENDER:$2|Ο|Η}} $1 ενημέρωσε ετικέτες στην αναθεώρηση $4 της σελίδας $3 (πρόσθεσε {{PLURAL:$7|την|τις}} $6• αφαίρεσε {{PLURAL:$9|την|τις}} $8)",
+       "logentry-tag-update-logentry": "$1 {{GENDER:$2|ενημερώθηκαν}} ετικέτες για την καταχώριση αρχείου καταγραφής $5  της σελίδας $3 ({{PLURAL:$7|προστέθηκαν}} $6; {{PLURAL:$9|αφαιρέθηκαν}} $8)",
        "rightsnone": "(κανένα)",
        "revdelete-summary": "επεξεργασία σύνοψης",
        "feedback-adding": "Προσθήκη σχολίων στην σελίδα...",
        "api-error-stashfailed": "Εσωτερικό σφάλμα: ο διακομιστής απέτυχε να αποθηκεύσει το προσωρινό αρχείο.",
        "api-error-publishfailed": "Εσωτερικό σφάλμα: ο διακομιστής απέτυχε να αποθηκεύσει το προσωρινό αρχείο.",
        "api-error-stasherror": "Παρουσιάστηκε ένα σφάλμα κατά το ανέβασμα του αρχείου στην κρύπτη.",
+       "api-error-stashedfilenotfound": "Το κρυμμένο αρχείο δεν βρέθηκε κατά την προσπάθεια να το ανεβάσετε από αποθετήριό του.",
+       "api-error-stashpathinvalid": "Η διαδρομή, στην οποία το κρυμμένο αρχείο θα έπρεπε να έχει βρεθεί δεν ήταν έγκυρη.",
        "api-error-stashfilestorage": "Παρουσιάστηκε ένα σφάλμα κατά την αποθήκευση του αρχείου στην κρύπτη.",
        "api-error-stashzerolength": "Ο διακομιστής δεν θα μπορούσε να κρύψει το αρχείο, επειδή είχε μηδενικό μήκος.",
+       "api-error-stashnotloggedin": "Θα πρέπει να συνδεθείτε για να αποθηκεύσετε τα αρχεία στο αποθετήριο φόρτωσης.",
+       "api-error-stashnosuchfilekey": "Το κλειδί αρχείου στο οποίο προσπαθούσατε να αποκτήσετε πρόσβαση στο αποθετήριο δεν υπάρχει.",
        "api-error-timeout": "Ο διακομιστής δεν αποκρίθηκε εντός του αναμενόμενου χρόνου.",
        "api-error-unclassified": "Προέκυψε ένα άγνωστο σφάλμα.",
        "api-error-unknown-code": "Άγνωστο σφάλμα: \"$1\"",
        "expand_templates_generate_rawhtml": "Εμφάνιση ανεπεξέργαστης HTML",
        "expand_templates_preview": "Προεπισκόπηση",
        "expand_templates_preview_fail_html": "<em>Επειδή το {{SITENAME}} έχει ενεργοποιημένη ακατέργαστη HTML  και υπάρχει μια απώλεια της συνόδου δεδομένων, η προεπισκόπηση είναι κρυμμένη ως ένα προληπτικό μέτρο κατά επιθέσεων JavaScript.</em>\n\n<strong>Αν αυτή είναι μια δικαιολογημένη προσπάθεια προεπισκόπησης, παρακαλούμε δοκιμάστε ξανά.</strong>\nΑν εξακολουθεί να μην λειτουργεί, δοκιμάστε να [[Special:UserLogout|αποσυνδεθείτε]] και να συνδεθείτε πάλι.",
+       "expand_templates_preview_fail_html_anon": "<em>Επειδή το {{SITENAME}} έχει ενεργοποιημένη raw HTML και δεν είστε συνδεδεμένοι, η προεπισκόπηση είναι κρυμμένη ως ένα προληπτικό μέτρο ενάντια σε επιθέσεις JavaScript.</em>\n\n<strong>Αν αυτό είναι δικαιολογημένη απόπειρα προεπισκόπησης, παρακαλούμε να [[Special:UserLogin|συνδεθείτε]] και δοκιμάστε πάλι.</strong>",
        "pagelanguage": "Επιλογέας γλώσσας σελίδας",
        "pagelang-name": "Σελίδα",
        "pagelang-language": "Γλώσσα",
index 62405c8..60f6645 100644 (file)
        "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",
-       "readonlytext": "The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe administrator who locked it offered this explanation: $1",
+       "readonlytext": "The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe system administrator who locked it offered this explanation: $1",
        "missing-article": "The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.",
        "missingarticle-rev": "(revision#: $1)",
        "missingarticle-diff": "(Diff: $1, $2)",
        "mypreferencesprotected": "You do not have permission to edit your preferences.",
        "ns-specialprotected": "Special pages cannot be edited.",
        "titleprotected": "This title has been protected from creation by [[User:$1|$1]].\nThe reason given is \"<em>$2</em>\".",
-       "filereadonlyerror": "Unable to modify the file \"$1\" because the file repository \"$2\" is in read-only mode.\n\nThe administrator who locked it offered this explanation: \"$3\".",
+       "filereadonlyerror": "Unable to modify the file \"$1\" because the file repository \"$2\" is in read-only mode.\n\nThe system administrator who locked it offered this explanation: \"$3\".",
        "invalidtitle-knownnamespace": "Invalid title with namespace \"$2\" and text \"$3\"",
        "invalidtitle-unknownnamespace": "Invalid title with unknown namespace number $1 and text \"$2\"",
        "exception-nologin": "Not logged in",
        "editpage-cannot-use-custom-model": "The content model of this page cannot be changed.",
        "longpage-hint": "-",
        "longpageerror": "<strong>Error: The text you have submitted is {{PLURAL:$1|one kilobyte|$1 kilobytes}} long, which is longer than the maximum of {{PLURAL:$2|one kilobyte|$2 kilobytes}}.</strong>\nIt cannot be saved.",
-       "readonlywarning": "<strong>Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.</strong>\nYou may wish to copy and paste your text into a text file and save it for later.\n\nThe administrator who locked it offered this explanation: $1",
+       "readonlywarning": "<strong>Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.</strong>\nYou may wish to copy and paste your text into a text file and save it for later.\n\nThe system administrator who locked it offered this explanation: $1",
        "protectedpagewarning": "<strong>Warning: This page has been protected so that only users with administrator privileges can edit it.</strong>\nThe latest log entry is provided below for reference:",
        "semiprotectedpagewarning": "<strong>Note:</strong> This page has been protected so that only registered users can edit it.\nThe latest log entry is provided below for reference:",
        "cascadeprotectedwarning": "<strong>Warning:</strong> This page has been protected so that only users with administrator privileges can edit it because it is transcluded in the following cascade-protected {{PLURAL:$1|page|pages}}:",
        "permissionserrors": "Permission error",
        "permissionserrorstext": "You do not have permission to do that, for the following {{PLURAL:$1|reason|reasons}}:",
        "permissionserrorstext-withaction": "You do not have permission to $2, for the following {{PLURAL:$1|reason|reasons}}:",
-       "contentmodelediterror": "You cannot edit this revision because its content model is <code>$1</code>, and the current content model of the page is <code>$2</code>.",
+       "contentmodelediterror": "You cannot edit this revision because its content model is <code>$1</code>, which differs from the current content model of the page <code>$2</code>.",
        "recreate-moveddeleted-warn": "<strong>Warning: You are recreating a page that was previously deleted.</strong>\n\nYou should consider whether it is appropriate to continue editing this page.\nThe deletion and move log for this page are provided here for convenience:",
        "moveddeleted-notice": "This page has been deleted.\nThe deletion and move log for the page are provided below for reference.",
        "moveddeleted-notice-recent": "Sorry, this page was recently deleted (within the last 24 hours).\nThe deletion and move log for the page are provided below for reference.",
        "foreign-structured-upload-form-label-own-work-message-shared": "I attest that I own the copyright on this file, and agree to irrevocably release this file to Wikimedia Commons under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0] license, and I agree to the [https://wikimediafoundation.org/wiki/Terms_of_Use Terms of Use].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "If you do not own the copyright on this file, or you wish to release it under a different license, consider using the [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "You may also want to try using [[Special:Upload|the upload page on {{SITENAME}}]], if the site allows the upload of this file under their policies.",
+       "foreign-structured-upload-form-2-label-intro": "Thank you for donating an image to be used on {{SITENAME}}. You should only continue if it meets several conditions:",
+       "foreign-structured-upload-form-2-label-ownwork": "It must be entirely <strong>your own creation</strong>, not just taken from the Internet",
+       "foreign-structured-upload-form-2-label-noderiv": "It has to contain <strong>no work by anyone else</strong>, or inspired by them",
+       "foreign-structured-upload-form-2-label-useful": "It should be <strong>educational and useful</strong> for teaching others",
+       "foreign-structured-upload-form-2-label-ccbysa": "It must be <strong>OK to publish forever</strong> on the Internet under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0] license",
+       "foreign-structured-upload-form-2-label-alternative": "If not all of the above are true, you may still be able to upload this file using the [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard], as long as it's available under a free license.",
+       "foreign-structured-upload-form-2-label-termsofuse": "By uploading the file, you attest that you own the copyright on this file, and agree to irrevocably release this file to Wikimedia Commons under the Creative Commons Attribution-ShareAlike 4.0 license, and you agree to the [https://wikimediafoundation.org/wiki/Terms_of_Use Terms of Use].",
+       "foreign-structured-upload-form-3-label-question-website": "Did you download this image from a website, or get it from an image search?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Did you create this image (take the photo, sketch the drawing, etc.) yourself?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Does it contain, or is it inspired by, work owned by anyone else, like a logo?",
+       "foreign-structured-upload-form-3-label-yes": "Yes",
+       "foreign-structured-upload-form-3-label-no": "No",
+       "foreign-structured-upload-form-3-label-alternative": "Unfortunately, in this case, this tool does not support uploading this file. You may still be able to upload it using the [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard], as long as it's available under a free license.",
+       "foreign-structured-upload-form-4-label-good": "Using this tool, you can upload educational graphics you've created and photographs you've taken, that don't contain work owned by someone else.",
+       "foreign-structured-upload-form-4-label-bad": "You can not upload images found on a search engine or downloaded from other websites.",
        "backend-fail-stream": "Could not stream file \"$1\".",
        "backend-fail-backup": "Could not backup file \"$1\".",
        "backend-fail-notexists": "The file $1 does not exist.",
index 641bf98..7b38d66 100644 (file)
        "passwordreset-emailtext-user": "El usuario $1 de {{SITENAME}} solicitó el restablecimiento de tu contraseña en {{SITENAME}}\n($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}} a esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} caducarán en {{PLURAL:$5|un día|$5 días}}.\nAhora puedes iniciar sesión y establecer una nueva contraseña. Si fue otra persona la que realizó esta solicitud, o si ya recuerdas tu contraseña original y, por tanto, no deseas cambiarla, puedes ignorar este mensaje y continuar usando tu contraseña anterior.",
        "passwordreset-emailelement": "Nombre de {{GENDER:$1|usuario|usuaria}}: \n$1\n\nContraseña temporal: \n$2",
        "passwordreset-emailsentemail": "Si esta es una dirección de correo electrónico registrada para tu cuenta, entonces se enviará un correo electrónico para el restablecimiento de tu contraseña.",
+       "passwordreset-emailsentusername": "Si hay una dirección de correo electrónico conectada a esta cuenta, entonces se enviará un correo electrónico para el restablecimiento de tu contraseña.",
        "passwordreset-emailsent-capture": "Se ha enviado un correo para el restablecimiento de la contraseña, el cual se muestra a continuación.",
        "passwordreset-emailerror-capture": "Se ha generado un correo electrónico de restablecimiento de contraseña, que se muestra a continuación, pero ha fallado el envío {{GENDER:$2|al usuario|a la usuaria}}: $1",
        "changeemail": "Cambiar o eliminar la dirección de correo electrónico",
        "usereditcount": "$1 {{PLURAL:$1|edición|ediciones}}",
        "usercreated": "{{GENDER:$3|Registrado|Registrada}} el $1 a las $2",
        "newpages": "Páginas nuevas",
+       "newpages-submit": "Mostrar",
        "newpages-username": "Nombre de usuario",
        "ancientpages": "Artículos más antiguos",
        "move": "Trasladar",
        "specialloguserlabel": "Usuario:",
        "speciallogtitlelabel": "Objetivo (título o {{ns:user}}:nombre de usuario):",
        "log": "Registros",
+       "logeventslist-submit": "Mostrar",
        "all-logs-page": "Todos los registros públicos",
        "alllogstext": "Vista combinada de todos los registros de {{SITENAME}}.\nPuedes filtrar la vista seleccionando un tipo de registro, el nombre del usuario o la página afectada. Se distinguen mayúsculas de minúsculas.",
        "logempty": "No hay elementos en el registro con esas condiciones.",
        "cachedspecial-viewing-cached-ts": "Está viendo una versión en caché de esta página, que puede no estar completamente actualizada.",
        "cachedspecial-refresh-now": "Ver lo más reciente.",
        "categories": "Categorías",
+       "categories-submit": "Mostrar",
        "categoriespagetext": "Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéase también las [[Special:WantedCategories|categorías requeridas]].",
        "categoriesfrom": "Mostrar categorías que empiecen por:",
        "special-categories-sort-count": "ordenar por conteo",
        "delete-confirm": "Borrar «$1»",
        "delete-legend": "Borrar",
        "historywarning": "<strong>Atención:</strong> la página que estás a punto de borrar tiene un historial con $1 {{PLURAL:$1|revisión|revisiones}}:",
+       "historyaction-submit": "Mostrar",
        "confirmdeletetext": "Estás a punto de borrar una página, así como todo su historial.\nConfirma que realmente quieres hacer esto, que entiendes las consecuencias y que lo estás haciendo de acuerdo con [[{{MediaWiki:Policy-url}}|las políticas]].",
        "actioncomplete": "Acción completada",
        "actionfailed": "Falló la acción",
index 086f488..af7af64 100644 (file)
        "passwordreset-emailtext-user": "{{GRAMMAR:genitive|{{SITENAME}}}} kasutaja $1 palus lähtestada sinu {{GRAMMAR:genitive|{{SITENAME}}}} ($4) parooli. Selle e-posti aadressiga on seotud {{PLURAL:$3|järgmine konto|järgmised kontod}}:\n\n$2\n\n{{PLURAL:$3|See ajutine parool aegub|Need ajutised paroolid aeguvad}} {{PLURAL:$5|ühe|$5}} päeva pärast.\nPeaksid nüüd sisse logima ja uue parooli valima. Kui selle palve esitas keegi teine või kui sulle meenus su parool ja sa ei soovi seda enam muuta, võid teadet eirata ja jätkata vana parooli kasutamist.",
        "passwordreset-emailelement": "Kasutajanimi: \n$1\n\nAjutine parool: \n$2",
        "passwordreset-emailsentemail": "Kui oled sidunud konto selle e-posti aadressiga, siis saadetakse sulle parooli lähtestamise e-kiri.",
+       "passwordreset-emailsentusername": "Parooli lähtestamise e-kiri saadetakse, kui olemas on kontoga seotud e-posti aadress.",
        "passwordreset-emailsent-capture": "E-kirjatsi on saadetud allpool näidatav parooli lähtestuskiri.",
        "passwordreset-emailerror-capture": "Koostati allpool näidatav parooli lähtestuskiri, aga selle e-kirjatsi {{GENDER:$2|kasutajale}} saatmine ebaõnnestus: $1",
        "changeemail": "E-posti aadressi muutmine või eemaldamine",
        "permissionserrors": "Loatõrge",
        "permissionserrorstext": "Sul pole õigust seda teha {{PLURAL:$1|järgmisel põhjusel|järgmistel põhjustel}}:",
        "permissionserrorstext-withaction": "Sul pole lubatud {{lcfirst:$2}} {{PLURAL:$1|järgmisel põhjusel|järgmistel põhjustel}}:",
-       "contentmodelediterror": "Sa ei saa seda redaktsiooni redigeerida, sest selle sisumudel on <code>$1</code> ning lehekülje praegune sisumudel on <code>$2</code>.",
+       "contentmodelediterror": "Sa ei saa seda redaktsiooni redigeerida, sest selle sisumudel <code>$1</code> erineb lehekülje praegusest sisumudelist <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Hoiatus: Lood uuesti lehekülge, mis on varem kustutatud.'''\n\nKaalu, kas lehekülje uuesti loomine on kohane.\nLehekülje eelnevad kustutamised ja teisaldamised:",
        "moveddeleted-notice": "See lehekülg on kustutatud.\nAllpool on esitatud lehekülje kustutamis- ja teisaldamislogi.",
        "moveddeleted-notice-recent": "Kahjuks on see lehekülg hiljuti kustutatud (viimase 24 tunni jooksul).\nAllpool on ära toodud selle lehekülje sissekanded teisaldamis- ja kustutamislogis.",
        "recentchanges-label-plusminus": "Lehekülje suuruse muutus baitides",
        "recentchanges-legend-heading": "'''Seletus:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vaata ka [[Special:NewPages|uute lehekülgede loendit]])",
+       "recentchanges-submit": "Näita",
        "rcnotefrom": "Allpool on toodud {{PLURAL:$5|muudatus|muudatused}} alates: <strong>$3, kell $4</strong> (näidatakse kuni <strong>$1</strong> muudatust)",
        "rclistfrom": "Näita muudatusi alates: $3, kell $2",
        "rcshowhideminor": "Pisiparandused ($1)",
        "mostrevisions": "Kõige pikema redigeerimislooga leheküljed",
        "prefixindex": "Kõik pealkirjad eesliitega",
        "prefixindex-namespace": "Kõik pealkirjad eesliitega (nimeruumis $1)",
+       "prefixindex-submit": "Näita",
        "prefixindex-strip": "Ära näita loendis eesliidet",
        "shortpages": "Lühikesed leheküljed",
        "longpages": "Pikad leheküljed",
        "protectedpages-performer": "Kaitsja",
        "protectedpages-params": "Kaitse parameetrid",
        "protectedpages-reason": "Põhjus",
+       "protectedpages-submit": "Kuva leheküljed",
        "protectedpages-unknown-timestamp": "Teadmata",
        "protectedpages-unknown-performer": "Teadmata kasutaja",
        "protectedtitles": "Kaitstud pealkirjad",
        "protectedtitles-summary": "Siin on loetletud pealkirjad, mis on praegu loomise eest kaitstud. Olemasolevate kaitstud lehekülgede loendi leiad [[{{#special:ProtectedPages}}|siit]].",
        "protectedtitlesempty": "Hetkel pole ükski pealkiri kaitstud.",
+       "protectedtitles-submit": "Kuva pealkirjad",
        "listusers": "Kasutajate loend",
        "listusers-editsonly": "Näita vaid kasutajaid, kes on teinud muudatusi",
        "listusers-creationsort": "Järjesta konto loomise aja järgi",
        "usereditcount": "$1 {{PLURAL:$1|redigeerimine|redigeerimist}}",
        "usercreated": "Konto {{GENDER:$3|loomise}} aeg: $1 kell $2",
        "newpages": "Uued leheküljed",
+       "newpages-submit": "Näita",
        "newpages-username": "Kasutajanimi:",
        "ancientpages": "Vanimad leheküljed",
        "move": "Teisalda",
        "specialloguserlabel": "Täitja:",
        "speciallogtitlelabel": "Objekt (pealkiri või {{ns:user}}:kasutajanimi):",
        "log": "Logid",
+       "logeventslist-submit": "Näita",
        "all-logs-page": "Kõik avalikud logid",
        "alllogstext": "See on {{GRAMMAR:genitive|{{SITENAME}}}} kõigi olemasolevate logide ühendkuva.\nValiku kitsendamiseks vali logitüüp, sisesta kasutajanimi (tõstutundlik) või huvipakkuva lehekülje pealkiri (samuti tõstutundlik).",
        "logempty": "Logis puuduvad vastavad kirjed.",
        "cachedspecial-viewing-cached-ts": "Vaatad vahemälus olevat lehekülje versiooni, mis ei pruugi olla täiesti ajakohane.",
        "cachedspecial-refresh-now": "Vaata uusimat versiooni.",
        "categories": "Kategooriad",
+       "categories-submit": "Näita",
        "categoriespagetext": "Vikis on {{PLURAL:$1|järgmine kategooria|järgmised kategooriad}}.\nSiin ei näidata [[Special:UnusedCategories|kasutamata kategooriaid]].\nVaata ka [[Special:WantedCategories|puuduvaid kategooriaid]].",
        "categoriesfrom": "Näita kategooriaid alates:",
        "special-categories-sort-count": "järjesta hulga järgi",
        "activeusers-hidebots": "Peida robotid",
        "activeusers-hidesysops": "Peida administraatorid",
        "activeusers-noresult": "Kasutajaid ei leidunud.",
+       "activeusers-submit": "Kuva aktiivsed kasutajad",
        "listgrouprights": "Kasutajarühma õigused",
        "listgrouprights-summary": "Siin on loetletud selle viki kasutajarühmad ja rühmaga seotud õigused.\nÜksikute õiguste kohta võib olla [[{{MediaWiki:Listgrouprights-helppage}}|täiendavat teavet]].",
        "listgrouprights-key": "Legend:\n* <span class=\"listgrouprights-granted\">Väljaantud õigus</span>\n* <span class=\"listgrouprights-revoked\">Äravõetud õigus</span>",
        "wlshowlast": "Näita viimast $1 tundi $2 päeva.",
        "watchlistall2": "kõike",
        "watchlist-hide": "Peida",
+       "watchlist-submit": "Näita",
        "wlshowtime": "Näita viimast:",
        "wlshowhideminor": "pisimuudatused",
        "wlshowhidebots": "robotid",
        "delete-confirm": "Lehekülje \"$1\" kustutamine",
        "delete-legend": "Kustutamine",
        "historywarning": "<strong>Hoiatus:</strong> Kustutataval leheküljel on {{PLURAL:$1|ühe redaktsiooniga|$1 redaktsiooniga}} ajalugu:",
+       "historyaction-submit": "Näita",
        "confirmdeletetext": "Sa oled andmebaasist kustutamas lehekülge koos kogu tema ajalooga.\nPalun kinnita, et tahad seda tõepoolest teha, et sa mõistad tagajärgi ja et sinu tegevus on kooskõlas siinse [[{{MediaWiki:Policy-url}}|sisekorraga]].",
        "actioncomplete": "Toiming sooritatud",
        "actionfailed": "Toiming ebaõnnestus",
        "whatlinkshere-hidelinks": "Lingid ($1)",
        "whatlinkshere-hideimages": "Faililingid ($1)",
        "whatlinkshere-filters": "Filtrid",
+       "whatlinkshere-submit": "Mine",
        "autoblockid": "Automaatblokeering #$1",
        "block": "Kasutaja blokeerimine",
        "unblock": "Kasutaja blokeeringu eemaldamine",
        "exif-compression-6": "JPEG (vana)",
        "exif-copyrighted-true": "Kaitstud",
        "exif-copyrighted-false": "Autoriõiguslik seisund määramata",
+       "exif-photometricinterpretation-0": "Mustvalge (valge on 0)",
+       "exif-photometricinterpretation-1": "Mustvalge (must on 0)",
+       "exif-photometricinterpretation-3": "Palett",
+       "exif-photometricinterpretation-5": "Eraldatud (arvatavasti CMYK)",
+       "exif-photometricinterpretation-9": "CIE L*a*b* (ICC kodeering)",
+       "exif-photometricinterpretation-10": "CIE L*a*b* (ITU kodeering)",
        "exif-unknowndate": "Kuupäev teadmata",
        "exif-orientation-1": "Normaalne",
        "exif-orientation-2": "Pööratud pikali",
        "autosumm-newblank": "Alustatud tühja leheküljega",
        "size-bytes": "$1 {{PLURAL:$1|bait|baiti}}",
        "size-pixel": "$1 {{PLURAL:$1|piksel|pikslit}}",
+       "bitrate-bits": "$1 b/s",
+       "bitrate-kilobits": "$1 kb/s",
+       "bitrate-megabits": "$1 Mb/s",
+       "bitrate-gigabits": "$1 Gb/s",
+       "bitrate-terabits": "$1 Tb/s",
+       "bitrate-petabits": "$1 Pb/s",
+       "bitrate-exabits": "$1 Eb/s",
+       "bitrate-zetabits": "$1 Zb/s",
+       "bitrate-yottabits": "$1 Yb/s",
        "lag-warn-normal": "Viimase {{PLURAL:$1|ühe sekundi|$1 sekundi}} jooksul tehtud muudatused ei pruugi selles loendis näha olla.",
        "lag-warn-high": "Andmebaasiserveri töö viivituste tõttu ei pruugi viimase {{PLURAL:$1|ühe sekundi|$1 sekundi}} jooksul tehtud muudatused selles loendis näha olla.",
        "watchlistedit-normal-title": "Jälgimisloendi redigeerimine",
index d0854ce..2226aae 100644 (file)
        "passwordreset-email": "E-mail helbidea:",
        "passwordreset-emailtitle": "{{SITENAME}}-rako kontuaren xehetasunak",
        "passwordreset-emailelement": "Erabiltzaile izena: \n$1\n\nBehin-behineko pasahitza: \n$2",
-       "passwordreset-emailsent": "Hau zure konturako erregistratuta dagoen helbide elektronikoa baldin bada, mezu elektronikoa bidaliko da zure pasahitza berrezartzeko.",
+       "passwordreset-emailsentemail": "Hau zure konturako erregistratuta dagoen helbide elektronikoa baldin bada, mezu elektronikoa bidaliko da zure pasahitza berrezartzeko.",
        "passwordreset-emailsent-capture": "Pasahitza berrezartzeko e-posta bat bidali dizugu, behean erakusten dena.",
        "changeemail": "Aldatu edo kendu e-mail helbidea",
        "changeemail-header": "Bete ezazu inprimaki hau, zure helbide elektronikoa aldatzeko. Zure kontuari helbide elektronikorik elkartuta ez izatea nahi baduzu, utz ezazu hutsik helbide elektroniko berria, inprimakia bidaltzen duzunean.",
        "prefs-diffs": "Ezberdintasunak",
        "prefs-help-prefershttps": "Hobespen hauek eragina izango dute sartzen zaren hurrengoan.",
        "prefs-tabs-navigation-hint": "Gomendioa: Fitxen zerrendan nabigatzeko ezker eta eskuin geziak erabil ditzakezu.",
-       "email-address-validity-valid": "E-posta helbidea zuzena dela dirudi",
-       "email-address-validity-invalid": "E-posta helbide zuzena idatzi",
        "userrights": "Erabiltzaile baimenen kudeaketa",
        "userrights-lookup-user": "Erabiltzaile taldeak kudeatu",
        "userrights-user-editname": "Erabiltzaile izena idatzi:",
        "editinguser": "'''[[User:$1|$1]]''' $2 lankidearen erabiltzaile-eskubideak aldatzen",
        "userrights-editusergroup": "Erabiltzaile taldeak editatu",
        "saveusergroups": "Erabiltzaile taldeak gorde",
-       "userrights-groupsmember": "Partaide da hemen:",
+       "userrights-groupsmember": "Ondorengo talde honetako kide da:",
        "userrights-groupsmember-auto": "Honen kide inplizitua:",
-       "userrights-groups-help": "Lankide hau dagoen taldeak aldatu dituzu:\n* Aukeratutako taulak esan nahi du lankidea talde horretan dagoela.\n* Aukeratu gabeko taulak esan nahi du lankidea ez dagoela talde horretan.\n* *-k erakusten du ezin duzula taldea ezabatu, behin gehitu ondoren, edo alderantziz.",
+       "userrights-groups-help": "Lankide hau zein taldetakoa den alda dezakezu:\n* Laukia hautatuta baldin badago, esan nahi du lankidea talde horretakoa dela.\n* Laukia hautatu gabe baldin badago, esan nahi du lankidea talde horretakoa ez dela.\n* Izartxoak (*) erakusten du ezin duzula talde horretatik kendu, taldera gehitu eta gero; edo alderantziz, ezin duzula talde horretara gehitu, taldetik kendu eta gero.",
        "userrights-reason": "Arrazoia:",
        "userrights-no-interwiki": "Ez duzu beste wikietan erabiltzaile eskumenak aldatzeko baimenik.",
        "userrights-nodatabase": "$1 datubasea ez da existitzen edo ez dago lokalki.",
        "recentchanges-label-plusminus": "Orriaren neurriak byte kopuru honen gorabehera izan du",
        "recentchanges-legend-heading": "'''Azalpenak:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ikus, gainera, [[Special:NewPages|orri berrien zerrenda]])",
+       "recentchanges-submit": "Erakutsi",
        "rcnotefrom": "Jarraian azaltzen diren aldaketak data honetatik aurrerakoak dira: <b>$2</b> (gehienez <b>$1</b> erakusten dira).",
        "rclistfrom": "Erakutsi $3 $2 ondorengo aldaketa berriak",
        "rcshowhideminor": "$1 aldaketa txikiak",
        "ncategories": "{{PLURAL:$1|kategoria 1|$1 kategoria}}",
        "ninterwikis": "{{PLURAL:$1|Interwiki $1|$1 interwiki}}",
        "nlinks": "{{PLURAL:$1|lotura 1|$1 lotura}}",
-       "nmembers": "{{PLURAL:$1|partaide 1|$1 partaide}}",
+       "nmembers": "{{PLURAL:$1|orri bat|$1 orri}}",
        "nmemberschanged": "$1 → {{PLURAL:$2|kide $2|$2 kide}}",
        "nrevisions": "{{PLURAL:$1|berrikuspen 1|$1 berrikuspen}}",
        "nimagelinks": "{{PLURAL:$1|Orrialde batean erabilia|$1 orrialdetan erabilia}}",
        "exif-compression-6": "JPEG",
        "exif-copyrighted-true": "Copyrightduna",
        "exif-copyrighted-false": "Copyright egoera ez da ezarri",
+       "exif-photometricinterpretation-1": "Zuri-beltza (beltza 0 da)",
        "exif-photometricinterpretation-2": "GBU (RGB)",
        "exif-photometricinterpretation-6": "YCbCr",
        "exif-unknowndate": "Data ezezaguna",
index fc6103a..783d747 100644 (file)
                ]
        },
        "tog-underline": "خط کشیدن زیر پیوندها:",
-       "tog-hideminor": "تغییرات جزئی از فهرست تغییرات اخیر پنهان شوند",
-       "tog-hidepatrolled": "Ù\88Û\8cراÛ\8cØ´â\80\8cÙ\87اÛ\8c Ú¯Ø´Øªâ\80\8cØ®Ù\88ردÙ\87 Ø§Ø² Ù\81Ù\87رست ØªØºÛ\8cÛ\8cرات Ø§Ø®Û\8cر Ù¾Ù\86Ù\87اÙ\86 Ø´Ù\88Ù\86د",
-       "tog-newpageshidepatrolled": "صفحه‌های گشت‌خورده از فهرست صفحه‌های تازه پنهان شوند",
+       "tog-hideminor": "نهفتن تغییرات جزئی از فهرست تغییرات اخیر",
+       "tog-hidepatrolled": "Ù\86Ù\87Ù\81تÙ\86 Ù\88Û\8cراÛ\8cØ´â\80\8cÙ\87اÛ\8c Ú¯Ø´Øªâ\80\8cØ®Ù\88ردÙ\87 Ø§Ø² Ù\81Ù\87رست ØªØºÛ\8cÛ\8cرات Ø§Ø®Û\8cر",
+       "tog-newpageshidepatrolled": "نهفتن صفحه‌های گشت‌خورده از فهرست صفحه‌های تازه",
        "tog-hidecategorization": "نهفتن رده‌بندی صفحه‌ها",
-       "tog-extendwatchlist": "گسترش Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87ا Ø¨Ø±Ø§Û\8c Ù\86Ù\85اÛ\8cØ´ Ù\87Ù\85Ù\87Ù\94 ØªØºÛ\8cÛ\8cراتØ\8c Ù\86Ù\87 Ù\81Ù\82Ø· Ø¢Ø®رین‌ها",
-       "tog-usenewrc": "گروه‌بندی تغییرات بر پایهٔ صفحات تغییرات اخیر و فهرست پیگیری‌ها",
+       "tog-extendwatchlist": "گسترش Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87ا Ø¨Ø±Ø§Û\8c Ù\86Ù\85اÛ\8cØ´ Ù\87Ù\85Ù\87Ù\94 ØªØºÛ\8cÛ\8cراتØ\8c Ù\86Ù\87 Ù\81Ù\82Ø· Ø¬Ø¯Û\8cدترین‌ها",
+       "tog-usenewrc": "گروه‌بندی تغییرات بر پایهٔ صفحه‌ در تغییرات اخیر و فهرست پیگیری‌ها",
        "tog-numberheadings": "شماره‌گذاری خودکار عنوان‌ها",
-       "tog-showtoolbar": "نوار ابزار ویرایش نمایش یابد",
+       "tog-showtoolbar": "نامیش نوار ابزار ویرایش",
        "tog-editondblclick": "ویرایش صفحات با دو کلیک",
        "tog-editsectiononrightclick": "فعال کردن ویرایش بخش‌ها با کلیک راست روی عنوان بخش‌ها",
-       "tog-watchcreations": "صÙ\81Ø­Ù\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\85Û\8câ\80\8cسازÙ\85 Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ø¨Ø§Ø±Ú¯Ø°Ø§Ø±Û\8c Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
-       "tog-watchdefault": "صÙ\81Ø­Ù\87â\80\8cÙ\87ا Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\88Û\8cراÛ\8cØ´ Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
-       "tog-watchmoves": "صÙ\81Ø­Ù\87â\80\8cÙ\87ا Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\85Ù\86تÙ\82Ù\84 Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
-       "tog-watchdeletion": "صÙ\81حات Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ø­Ø°Ù\81 Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
-       "tog-watchrollback": "صÙ\81حاتÛ\8c Ú©Ù\87 Ù\88اگرداÙ\86Û\8c Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
-       "tog-minordefault": "همهٔ ویرایش‌ها به طور پیش‌فرض به عنوان «جزئی» علامت بخورد",
-       "tog-previewontop": "Ù¾Û\8cØ´â\80\8cÙ\86Ù\85اÛ\8cØ´ Ù\82بÙ\84 Ø§Ø² Ø¬Ø¹Ø¨Ù\87Ù\94 Ù\88Û\8cراÛ\8cØ´ Ù\86Ù\85اÛ\8cØ´ Û\8cابد",
-       "tog-previewonfirst": "Ù¾Û\8cØ´â\80\8cÙ\86Ù\85اÛ\8cØ´ Ù\87Ù\86گاÙ\85 Ø§Ù\88Ù\84Û\8cÙ\86 Ù\88Û\8cراÛ\8cØ´ Ù\86Ù\85اÛ\8cØ´ Û\8cابد",
+       "tog-watchcreations": "اÙ\81زÙ\88دÙ\86 ØµÙ\81Ø­Ù\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\85Û\8câ\80\8cسازÙ\85 Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ø¨Ø§Ø±Ú¯Ø°Ø§Ø±Û\8c Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86",
+       "tog-watchdefault": "اÙ\81زÙ\88دÙ\86 ØµÙ\81Ø­Ù\87â\80\8cÙ\87ا Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\88Û\8cراÛ\8cØ´ Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86",
+       "tog-watchmoves": "اÙ\81زÙ\88دÙ\86 ØµÙ\81Ø­Ù\87â\80\8cÙ\87ا Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ù\85Ù\86تÙ\82Ù\84 Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86",
+       "tog-watchdeletion": "اÙ\81زÙ\88دÙ\86 ØµÙ\81حات Ù\88 Ù¾Ø±Ù\88Ù\86دÙ\87â\80\8cÙ\87اÛ\8cÛ\8c Ú©Ù\87 Ø­Ø°Ù\81 Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8câ\80\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86",
+       "tog-watchrollback": "اÙ\81زÙ\88دÙ\86 ØµÙ\81حاتÛ\8c Ú©Ù\87 Ù\88اگرداÙ\86Û\8c Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8c Ù\85Ù\86",
+       "tog-minordefault": "علامت زدن همهٔ ویرایش‌ها به عنوان «جزئی» به طور پیش‌فرض",
+       "tog-previewontop": "Ù\86Ù\85اÛ\8cØ´ Ø¯Ø§Ø¯Ù\86 Ù¾Û\8cØ´â\80\8cÙ\86Ù\85اÛ\8cØ´ Ø¨Ø§Ù\84اÛ\8c Ø¬Ø¹Ø¨Ù\87Ù\94 Ù\88Û\8cراÛ\8cØ´",
+       "tog-previewonfirst": "Ù\86Ù\85اÛ\8cØ´ Ø¯Ø§Ø¯Ù\86 Ù¾Û\8cØ´â\80\8cÙ\86Ù\85اÛ\8cØ´ Ù\87Ù\86گاÙ\85 Ø§Ù\88Ù\84Û\8cÙ\86 Ù\88Û\8cراÛ\8cØ´",
        "tog-enotifwatchlistpages": "اگر صفحه یا پرونده‌ای از فهرست پی‌گیری‌هایم ویرایش شد به من ایمیلی فرستاده شود",
        "tog-enotifusertalkpages": "هنگامی که در صفحهٔ بحث کاربری‌ام تغییری صورت می‌گیرد به من ایمیلی فرستاده شود",
-       "tog-enotifminoredits": "برای تغییرات جزئی در صفحه‌ها و پرونده‌ها هم به من ایمیل فرستاده شود",
-       "tog-enotifrevealaddr": "آدرس ایمیل من را در ایمیل‌های اطلاع‌رسانی نمایش یابد",
+       "tog-enotifminoredits": "برای تغییرات جزئی در صفحه‌ها و پرونده‌ها هم به من ایمیلی فرستاده شود",
+       "tog-enotifrevealaddr": "نشانی پست الکترونیکی من را در ایمیل‌های اطلاع‌رسانی هویدا گردد",
        "tog-shownumberswatching": "شمار کاربران پی‌گیرندهٔ نمایش یابد",
        "tog-oldsig": "امضای کنونی:",
        "tog-fancysig": "امضا به صورت ویکی‌متن در نظر گرفته شود (بدون درج خودکار پیوند)",
        "tog-uselivepreview": "استفاده از پیش‌نمایش زنده",
        "tog-forceeditsummary": "هنگامی که خلاصهٔ ویرایش ننوشته‌ام به من اطلاع داده شود",
-       "tog-watchlisthideown": "ویرایش‌های خودم در فهرست پی‌گیری‌ها پنهان شود",
-       "tog-watchlisthidebots": "ویرایش‌های ربات‌ها در فهرست پی‌گیری‌ها پنهان شود",
-       "tog-watchlisthideminor": "ویرایش‌های جزئی در فهرست پی‌گیری‌ها پنهان شود",
-       "tog-watchlisthideliu": "ویرایش‌های کاربران وارد شده به سامانه در فهرست پی‌گیری‌ها پنهان شود",
-       "tog-watchlisthideanons": "ویرایش‌های کاربران ناشناس در فهرست پی‌گیری‌های من پنهان شود",
-       "tog-watchlisthidepatrolled": "ویرایش‌های گشت‌خورده در فهرست پی‌گیری‌ها پنهان شود",
+       "tog-watchlisthideown": "نهفتن ویرایش‌های خودم در فهرست پی‌گیری‌ها",
+       "tog-watchlisthidebots": "نهفتن ویرایش‌های ربات‌ها در فهرست پی‌گیری‌ها",
+       "tog-watchlisthideminor": "نهفتن ویرایش‌های جزئی در فهرست پی‌گیری‌ها",
+       "tog-watchlisthideliu": "نهفتن ویرایش‌های کاربران وارد شده به سامانه در فهرست پی‌گیری‌ها",
+       "tog-watchlistreloadautomatically": "زمانی که یک پالایه تغییر کرد فهرست پیگیری به صورت خودکار به روز می‌شود (نیازمند جاوا اسکریپت)",
+       "tog-watchlisthideanons": "نهفتن ویرایش‌های کاربران ناشناس در فهرست پی‌گیری‌ها",
+       "tog-watchlisthidepatrolled": "نهفتن ویرایش‌های گشت‌خورده در فهرست پی‌گیری‌ها",
        "tog-watchlisthidecategorization": "نهفتن رده‌بندی صفحه‌ها",
        "tog-ccmeonemails": "رونوشتی از ایمیلی که به دیگران ارسال می‌کنم برای خودم هم فرستاده شود",
        "tog-diffonly": "محتوای صفحه، زیر تفاوت نمایش داده نشود",
-       "tog-showhiddencats": "رده‌های پنهان نمایش داده شود",
-       "tog-norollbackdiff": "بعد از واگردانی تفاوت نشان داده نشود",
+       "tog-showhiddencats": "نمایش رده‌های پنهان",
+       "tog-norollbackdiff": "بعد از واگردانی، تفاوت نشان داده نشود",
        "tog-useeditwarning": "زمان خروج از صفحهٔ ویرایش در صورت داشتن ویرایش‌های‌ ذخیره‌نشده به من هشدار داده شود",
        "tog-prefershttps": "در حالت ورود به سامانه همواره از اتصال امن استفاده شود",
        "underline-always": "همیشه",
        "morenotlisted": "این فهرست کامل نیست.",
        "mypage": "صفحه",
        "mytalk": "بحث",
-       "anontalk": "بحث درباره این نشانی آی‌پی",
+       "anontalk": "بحث",
        "navigation": "ناوبری",
        "and": "&#32;و",
        "qbfind": "یافتن",
        "views": "بازدیدها",
        "toolbox": "ابزارها",
        "userpage": "نمایش صفحهٔ کاربر",
-       "projectpage": "دیدن صفحهٔ پروژه",
+       "projectpage": "نمایش صفحهٔ پروژه",
        "imagepage": "نمایش صفحهٔ پرونده",
        "mediawikipage": "نمایش صفحهٔ پیغام",
        "templatepage": "نمایش صفحهٔ الگو",
        "otherlanguages": "به زبان‌های دیگر",
        "redirectedfrom": "(تغییرمسیر از $1)",
        "redirectpagesub": "صفحهٔ تغییرمسیر",
-       "redirectto": "تغییر مسیر به:",
+       "redirectto": "تغییرمسیر به:",
        "lastmodifiedat": "این صفحه آخرین‌بار در $1 ساعت $2 تغییر یافته‌است.",
        "viewcount": "از این صفحه {{PLURAL:$1|یک‌بار|$1بار}} بازدید شده‌است.",
        "protectedpage": "صفحهٔ محافظت‌شده",
        "databaseerror-query": "پرس‌وجو: $1",
        "databaseerror-function": "تابع: $1",
        "databaseerror-error": "خطا: $1",
+       "transaction-duration-limit-exceeded": "برای پرهیز از ایجاد تاخیر بالا در نسخه‌برداری، این تراکنش لغو شد چرا که مدت زمان نوشتن ($1) از حد $2 ثانیه بیشتر بود.\nاگر در حال تغییر چیزهای زیادی به طور همزمان هستید، سعی کنید به جایش چند عمل را در گروه‌های کوچکتر انجام بدهید.",
        "laggedslavemode": "'''هشدار:''' صفحه ممکن است به‌روزرسانی‌های اخیر را شامل نشود.",
        "readonly": "پایگاه داده قفل شد",
        "enterlockreason": "دلیلی برای قفل کردن ذکر کنید، که حاوی تقریبی از زمانی باشد که قفل برداشته خواهد شد",
-       "readonlytext": "پاÛ\8cگاÙ\87 Ø¯Ø§Ø¯Ù\87 Ø¯Ø± Ø­Ø§Ù\84 Ø­Ø§Ø¶Ø± Ø¯Ø± Ø¨Ø±Ø§Ø¨Ø± ØªØºÛ\8cÛ\8cرات Ù\88 Ø§Û\8cجاد ØµÙ\81Ø­ات قفل شده‌است؛ این وضعیت احتمالاً به خاطر بهینه‌سازی و رسیدگی‌های معمول است که پس از آن وضع به حالت عادی بازخواهد گشت.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $1",
+       "readonlytext": "پاÛ\8cگاÙ\87 Ø¯Ø§Ø¯Ù\87 Ø¯Ø± Ø­Ø§Ù\84 Ø­Ø§Ø¶Ø± Ø¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø§Û\8cجاد Ù\85Ù\88ارد Ø¬Ø¯Û\8cد Ù\88 Ø³Ø§Û\8cر ØªØºÛ\8cÛ\8cرات قفل شده‌است؛ این وضعیت احتمالاً به خاطر بهینه‌سازی و رسیدگی‌های معمول است که پس از آن وضع به حالت عادی بازخواهد گشت.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $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]] در برابر ایجاد محافظت شده‌است.\nدلیل ارائه‌شده این است: «''$2''».",
-       "filereadonlyerror": "تغییر پرونده «$1» ممکن نیست چون مخزن پرونده «$2» در حالت فقط خواندنی قرار دارد.\n\nمدیری که آن را قفل کرده چنین توضیحی را ذکر کرده:  «$3».",
+       "filereadonlyerror": "تغییر پروندهٔ «$1» ممکن نیست چون مخزن پروندهٔ «$2» در حالت فقط خواندنی قرار دارد.\n\nمدیری که آن را قفل کرده چنین توضیحی را ذکر کرده:  «$3».",
        "invalidtitle-knownnamespace": "عنوان نامعتبر با فضای نام «$2» و متن «$3»",
        "invalidtitle-unknownnamespace": "عنوان نامعتبر با فضای نام ناشناختهٔ شمارهٔ $1 و متن «$2»",
        "exception-nologin": "به سامانه وارد نشده‌اید",
        "wrongpasswordempty": "گذرواژه‌ای که وارد کرده‌اید، خالی است.\nلطفاً دوباره تلاش کنید.",
        "passwordtooshort": "گذرواژه باید دست‌کم {{PLURAL:$1|۱ حرف|$1 حرف}} داشته باشد.",
        "passwordtoolong": "گذرواژه نمی تواند حروفش بیشتر از {{PLURAL:$1|۱ حرف|$1 حرف}}  باشد.",
+       "passwordtoopopular": "گذرواژه‌های متداول را نمی‌توانید استفاده کنید. لطفاً گذرواژه‌ای انتخاب کنید که بیشتر منحصر به فرد باشد.",
        "password-name-match": "گذرواژهٔ شما باید با نام کاربری شما تفاوت داشته باشد.",
        "password-login-forbidden": "استفاده از این نام کاربری و گذرواژه ممنوع است.",
        "mailmypassword": "بازنشانی گذرواژه",
        "pt-userlogout": "خروج",
        "php-mail-error-unknown": "خطای ناشناخته در تابع  mail()‎ پی‌اچ‌پی",
        "user-mail-no-addy": "تلاش برای ارسال ایمیل بدون آدرس ایمیل.",
-       "user-mail-no-body": "سعی کردید ایمیلی با محتوای بی‌دلیل کوتاه و یا خالی بفرستید.",
+       "user-mail-no-body": "سعی کردید نامه‌ای الکترونیکی با محتوایی بسیار کوتاه و یا خالی بفرستید.",
        "changepassword": "تغییر گذرواژه",
        "resetpass_announce": "شما باید برای پایان ورود به سامانه، گذرواژهٔ جدیدی را تنظیم کنید.",
        "resetpass_text": "<!-- اینجا متن اضافه کنید -->",
        "passwordreset-emailtext-ip": "یک نفر (احتمالاً شما، با نشانی آی‌پی $1) درخواست بازنشانی گذرواژه‌تان در {{SITENAME}} ($4) را کرده‌است. {{PLURAL:$3|حساب|حساب‌های}} کاربری زیر با این آدرس ایمیل مرتبط هستند:\n\n$2\n\n{{PLURAL:$3|این گذرواژهٔ موقت|این گذرواژه‌های موقت}} پس از {{PLURAL:$5|یک روز|$5 روز}} باطل خواهند شد.\nشما باید هم‌اکنون ثبت ورود کنید و گذرواژه‌ای جدید برگزینید. اگر فکر می‌کنید شخص دیگری این درخواست را داده است یا اگر گذرواژهٔ اصلی‌تان را به یاد آوردید و دیگر نمی‌خواهید آن را تغییر دهید، می‌توانید این پیغام را نادیده بگیرید و به استفاده از گذرواژهٔ قبلی‌تان ادامه دهید.",
        "passwordreset-emailtext-user": "کاربر $1 از {{SITENAME}} درخواست بازنشانی گذرواژهٔ شما در {{SITENAME}} ($4) را کرده است. {{PLURAL:$3|حساب|حساب‌های}} کاربری زیر با این آدرس ایمیل مرتبط است:\n\n$2\n\n{{PLURAL:$3|این گذرواژهٔ موقت|این گذرواژه‌های موقت}} تا {{PLURAL:$5|یک روز|$5 روز}} باطل می‌شود.\nشما باید هم‌اکنون وارد شده و یک گذرواژهٔ جدید برگزینید. اگر شخص دیگری این درخواست را داده است، یا اگر گذرواژهٔ اصلی‌تان را به خاطر آوردید و دیگر نمی‌خواهید آن را تغییر دهید، می‌توانید این پیغام را نادیده بگیرید و به استفاده از گذرواژهٔ قبلی‌تان ادامه دهید.",
        "passwordreset-emailelement": "نام کاربری: \n$1\n\nگذرواژهٔ موقت: \n$2",
-       "passwordreset-emailsentemail": "اگر ایمیلی را برای حساب کاربریتان مشخص کرده باشید، یک نامهٔ بازنشانی گذرواژه فرستاده شده‌است.",
+       "passwordreset-emailsentemail": "اگر نشانی پست الکترونیکی که وارد کردید برای حساب کاربریتان ثبت شده باشد، یک نامهٔ بازنشانی گذرواژه به آن فرستاده می‌شود.",
+       "passwordreset-emailsentusername": "اگر نشانی پست الکترونیکی مرتبطی موجود باشد، یک نامه برای بازنشانی گذرواژه به آن ارسال خواهد شد.",
        "passwordreset-emailsent-capture": "یک ایمیل بازنشانی که در پایین نمایش داده شده، فرستاده شده است.",
        "passwordreset-emailerror-capture": "ایمیل بازنشانی، که در زیر نمایش داده شده، ایجاد شد، ولی ارسال آن به {{GENDER:$2|کاربر}} موفقیت‌آمیز نبود: $1",
        "changeemail": "تغییر یا حذف نشانی ایمیل",
        "copyrightwarning2": "لطفاً توجه داشته‌باشید که همهٔ مشارکت‌ها در {{SITENAME}} ممکن است توسط دیگر مشارکت‌کنندگان تغییر یابند، ویرایش یا حذف شوند.\nاگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش شوند؛ بنابراین، آنها را اینجا ارائه نکنید.<br />\nشما همچنین به ما تعهد می‌کنید که خودتان این را نوشته‌اید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشته‌اید ($1 را برای جزئیات بیشتر ببینید).\n<strong>کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!</strong>",
        "editpage-cannot-use-custom-model": "مدل محتوای این صفحه نمی‌تواند عوض شود.",
        "longpageerror": "'''خطا: متنی که ارسال کرده‌اید {{PULAR:$1|یک کیلوبایت|$1 کیلوبایت}} طول دارد. این مقدار از مقدار بیشینهٔ {{PLURAL:$2|یک کیلوبایت|$2 کیلوبایت}} بیشتر است.'''\nنمی‌توان آن را ذخیره کرد.",
-       "readonlywarning": "'''هشدار: پایگاه داده برای نگهداری قفل شده‌است، به همین علت هم‌اکنون نمی‌توانید ویرایش‌هایتان را ذخیره کنید.'''\nاگر می‌خواهید متن را در یک پروندهٔ متنی کپی کنید و برای آینده ذخیره‌اش کنید.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $1",
+       "readonlywarning": "<strong>هشدار: پایگاه داده برای نگهداری قفل شده‌است، به همین علت هم‌اکنون نمی‌توانید ویرایش‌هایتان را ذخیره کنید.</strong>\nاگر می‌خواهید متن را در یک پروندهٔ متنی کپی کنید و برای آینده ذخیره‌اش کنید.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $1",
        "protectedpagewarning": "'''هشدار: این صفحه قفل شده‌است تا فقط کاربران با دسترسی مدیریت بتوانند ویرایشش کنند.'''\nآخرین موارد سیاهه در زیر آمده‌است:",
        "semiprotectedpagewarning": "'''توجه:''' این صفحه قفل شده‌است تا تنها کاربران ثبت‌نام‌کرده قادر به ویرایش آن باشند.\nآخرین موارد سیاهه در زیر آمده‌است:",
        "cascadeprotectedwarning": "<strong>هشدار:</strong> این صفحه به علت قرارگرفتن در {{PLURAL:$1|صفحهٔ|صفحه‌های}} آبشاری-محافظت‌شدهٔ زیر قفل شده‌است تا فقط مدیران بتوانند ویرایشش کنند.",
        "permissionserrors": "خطای سطح دسترسی",
        "permissionserrorstext": "شما اجازهٔ انجام این کار را به این {{PLURAL:$1|دلیل|دلایل}} ندارید:",
        "permissionserrorstext-withaction": "شما اجازهٔ $2 را به این {{PLURAL:$1|دلیل|دلایل}} ندارید:",
-       "contentmodelediterror": "امکان ویرایش این نسخه برای شما نیست چون نوع محتوای آن <code>$1</code> است و نوع محتوای کنونی صفحه <code>$2</code> است.",
+       "contentmodelediterror": "امکان ویرایش این نسخه برای شما نیست چون نوع محتوای آن <code>$1</code> است که متفاوت است با نوع محتوای کنونی صفحه <code>$2</code> است.",
        "recreate-moveddeleted-warn": "<strong>هشدار: شما در حال ایجاد صفحه‌ای هستید که قبلاً حذف شده‌است.</strong>\n\nدر نظر داشته باشید که آیا ادامهٔ ویرایش این صفحه کار درستی‌است یا نه.\nسیاههٔ حذف و انتقال این صفحه در زیر نشان داده شده‌است:",
        "moveddeleted-notice": "این صفحه حذف شده‌است.\nدر زیر سیاههٔ حذف و انتقال این صفحه نمایش داده شده‌است.",
        "moveddeleted-notice-recent": "متاسفانه صفحه قبلا حذف شده‌است (در ۲۴ ساعت اخیر) \nدلیل حذف و سیاههٔ انتقال در پائین موجود است.",
        "recentchanges-legend-heading": "'''اختصارها:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (همچنین به [[Special:NewPages|فهرست صفحات تازه]] نگاه کنید)",
        "recentchanges-legend-plusminus": "(<em>±۱۲۳</em>)",
+       "recentchanges-submit": "نمایش",
        "rcnotefrom": "در زیر تغییرات از <strong>$3, $4</strong> (تا <strong>$1</strong> {{PLURAL:$5|نشان داده شده‌است|نشان داده شده‌اند}}).",
        "rclistfrom": "نمایش تغییرات تازه با شروع از $3 $2",
        "rcshowhideminor": "$1 ویرایش‌های جزئی",
        "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|پنجرهٔ بارگذاری در {{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/ عامه خلاق با ذکر صاحب اثر و نشر بدون تغییر نسخه ۴٫۰] منتشر کرد",
+       "foreign-structured-upload-form-2-label-alternative": "اگر تمام شرایط بالا برقرار نیست، شما ممکن است کماکان بتوانید آن را از طریق [https://commons.wikimedia.org/wiki/Special:UploadWizard جادوگر بارگذاری ویکی‌انبار] بارگذاری کنید، به شرط آن که تحت یک مجوز آزاد باشد.",
+       "foreign-structured-upload-form-2-label-termsofuse": "با بارگذاری پرونده، شما تایید می‌کنید که صاحب حق تکثیر این پرونده هستید، و قبول می‌کنید که حقوق آن را طبق مجوز عامه خلاق با ذکر صاحب اثر و نشر بدون تغییر نسخه  ۴٫۰ و به صورت غیر قابل برگشت به ویکی‌انبار ببخشید، و نیز [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": "انتقال",
        "specialloguserlabel": "مجری:",
        "speciallogtitlelabel": "هدف (عنوان یا {{ns:user}}:نام کاربر برای کاربر):",
        "log": "سیاهه‌ها",
+       "logeventslist-submit": "نمایش",
        "all-logs-page": "تمام سیاهه‌های عمومی",
        "alllogstext": "نمایش یک‌جای تمام سیاهه‌های موجود در {{SITENAME}}.\nمی‌توانید با انتخاب نوع سیاهه، نام کاربری (حساس به کوچکی و بزرگی حروف) و صفحه‌های تغییریافته (حساس به بزرگی و کوچکی حروف)، نمایش را محدودتر سازید.",
        "logempty": "مورد منطبق با منظور شما در سیاهه یافت نشد.",
        "cachedspecial-viewing-cached-ts": "شما در حال مشاهدهٔ نسخه‌ای از این صفحه که در میانگیر قرار دارد هستید، و این نسخه ممکن است کاملاً واقعی نباشد.",
        "cachedspecial-refresh-now": "مشاهده آخرین.",
        "categories": "رده‌ها",
+       "categories-submit": "نمایش",
        "categoriespagetext": "{{PLURAL:$1|ردهٔ|رده‌های}} زیر دارای صفحات یا پرونده‌هایی {{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": "* <span class=\"listgrouprights-granted\">اختیارات داده‌شده</span>\n* <span class=\"listgrouprights-revoked\">اختیارات گرفته‌شده</span>",
        "wlnote": "در زیر {{PLURAL:$1|تغییری|<strong>$1</strong> تغییری}} که در {{PLURAL:$2|ساعت|<strong>$2</strong> ساعت}} گذشته انجام شده موجود است، تاریخ آخرین بازیابی: $3، $4",
        "wlshowlast": "نمایش آخرین $1 ساعت $2 روز",
        "watchlistall2": "همه",
-       "wlshowtime": "‌نمایش آخرین:",
+       "watchlist-hide": "نهفتن",
+       "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": "عمل ناموفق بود",
        "whatlinkshere-hidelinks": "$1 پیوند",
        "whatlinkshere-hideimages": "$1 پیوندهای پرونده",
        "whatlinkshere-filters": "پالایه‌ها",
+       "whatlinkshere-submit": "برو",
        "autoblockid": "شناسه قطع دسترسی خودکار #$1",
        "block": "بستن کاربر",
        "unblock": "بازکردن کاربر",
        "exif-compression-4": "رمزگذاری نمابر سی‌سی‌آی‌تی‌تی گروه ۴",
        "exif-copyrighted-true": "دارای حق تکثیر",
        "exif-copyrighted-false": "وضعیت حق‌تکثیر تعیین نشده است",
+       "exif-photometricinterpretation-1": "سیاه و سفید (سیاه ۰ است)",
        "exif-unknowndate": "تاریخ نامعلوم",
        "exif-orientation-1": "عادی",
        "exif-orientation-2": "افقی پشت و روشده",
        "monthsall": "همهٔ ماه‌ها",
        "confirmemail": "تأیید نشانی ایمیل",
        "confirmemail_noemail": "شما در صفحهٔ [[Special:Preferences|ترجیحات کاربری]] خود آدرس ایمیل معتبری وارد نکرده‌اید.",
-       "confirmemail_text": "این ویکی، شما را ملزم به تأیید آدرس ایمیل خود، پیش از استفاده از خدمات ایمیل در اینجا می‌کند. دکمهٔ زیرین را فعال کنید تا ایمیلی تأییدی به آدرس ایمیل شما فرستاده شود. این ایمیل دربردارندهٔ پیوندی خواهد بود که حاوی یک کد است. پیوند را در مرورگر خود بار کنید کنید تا آدرس ایمیل شما تأیید شود.",
+       "confirmemail_text": "این ویکی، شما را ملزم به تأیید نشانی پست الکترونیکی خود، پیش از استفاده از خدمات نامه الکترونیکی در اینجا می‌کند. دکمهٔ زیرین را فعال کنید تا نامه تأییدی به نشانی پست الکترونیکی شما فرستاده شود. این نامه الکترونیکی دربردارندهٔ پیوندی خواهد بود که حاوی یک کد است. پیوند را در مرورگر خود بار کنید کنید تا نشانی پست الکترونیکی شما تأیید شود.",
        "confirmemail_pending": "یک کد تأییدی پیشتر برای شما به صورت ایمیل فرستاده شده است. اگر همین اواخر حساب خود را باز کرده‌اید شاید بد نباشد که پیش از درخواست یک کد جدید چند دقیقه درنگ کنید تا شاید ایمیل قبلی برسد.",
        "confirmemail_send": "پُست‌کردن یک کد تأیید",
        "confirmemail_sent": "یک نامهٔ تأییدی فرستاده شد.",
        "logentry-suppress-block": "$1 {{GENDER:$2|بسته شد}} {{GENDER:$4|$3}} با پایان قطع دسترسی در زمان $5 $6",
        "logentry-suppress-reblock": "$1 {{GENDER:$2|تنظیمات}} بستن برای  {{GENDER:$4|$3}} به پایان قطع دسترسی  $5 $6 تغییر یافت",
        "logentry-import-upload": "$1 $3 را توسط بارگذار پرونده {{GENDER:$2|درون‌ریزی کرد}}",
+       "logentry-import-upload-details": "$1 $3 را از طریق بارگذاری پرونده {{GENDER:$2|درون‌ریزی کرد}} ($4 {{PLURAL:$4|نسخه}})",
        "logentry-import-interwiki": "$1 $3 را از ویکی دیگر {{GENDER:$2|درون‌ریز کرد}}",
+       "logentry-import-interwiki-details": "$1 $3 را از $5 {{GENDER:$2|درون‌ریزی کرد}} ($4 {{PLURAL:$4|نسخه}})",
        "logentry-merge-merge": "$1  $3  را به  $4 {{GENDER:$2| ادغام کرد}} (نسخه تا  $5)",
        "logentry-move-move": "$1 صفحهٔ $3 را به $4 {{GENDER:$2|منتقل کرد}}",
        "logentry-move-move-noredirect": "$1 صفحهٔ $3 را بدون برجای‌گذاشتن تغییرمسیر به $4 {{GENDER:$2|منتقل کرد}}",
index 665877a..0a32592 100644 (file)
        "foreign-structured-upload-form-label-own-work-message-shared": "Vakuutan, että minä omistan tämän tiedoston tekijänoikeudet, ja sitoudun siihen, että luovutan peruuttamattomasti tämän tiedoston kohteeseen Wikimedia Commons niillä ehdoilla, jotka liittyvät lisenssiin [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0]. Sitoudun myös noudattamaan [https://wikimediafoundation.org/wiki/Terms_of_Use käyttöehtoja].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Jos sinulla ei ole tähän tiedostoon tekijänoikeutta tai jos haluat luovuttaa tiedoston käyttäen jotain toista lisenssiä, voit käyttää erityistä [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard] -toimintoa.",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Voit myös kokeilla [[Special:Upload|tallennussivua sivustolla {{SITENAME}}]]. Saattaa olla, että sivusto antaa tallentaa tämän tiedoston sinne siellä voimassa olevien käytäntöjen mukaisesti.",
+       "foreign-structured-upload-form-3-label-yes": "Kyllä",
+       "foreign-structured-upload-form-3-label-no": "Ei",
        "backend-fail-stream": "Tiedoston $1 virtauttaminen epäonnistui.",
        "backend-fail-backup": "Tiedostoa $1 ei voitu varmuuskopioida.",
        "backend-fail-notexists": "Tiedostoa $1 ei ole olemassa.",
        "usereditcount": "$1 {{PLURAL:$1|muokkaus|muokkausta}}",
        "usercreated": "{{GENDER:$3|Luotu}} $1 kello $2",
        "newpages": "Uudet sivut",
+       "newpages-submit": "Näytä",
        "newpages-username": "Käyttäjätunnus",
        "ancientpages": "Kauan muokkaamattomat sivut",
        "move": "Siirrä",
        "specialloguserlabel": "Suorittaja:",
        "speciallogtitlelabel": "Kohde (sivu tai {{ns:user}}:käyttäjänimi):",
        "log": "Lokit",
+       "logeventslist-submit": "Näytä",
        "all-logs-page": "Kaikki julkiset lokit",
        "alllogstext": "Tämä on yhdistetty lokien näyttö.\nVoit rajoittaa listaa valitsemalla lokityypin, käyttäjän tai sivun johon muutos on kohdistunut. Jälkimmäiset ovat kirjainkokoherkkiä.",
        "logempty": "Ei tapahtumia lokissa.",
        "cachedspecial-viewing-cached-ts": "Tarkastelet arkistoitua versiota tästä sivusta, joka ei välttämättä ole sivun viimeisin versio.",
        "cachedspecial-refresh-now": "Näytä uusin versio.",
        "categories": "Luokat",
+       "categories-submit": "Näytä",
        "categoriespagetext": "{{PLURAL:$1|Seuraava luokka sisältää|Seuraavat luokat sisältävät}} sivuja tai mediatiedostoja.\n[[Special:UnusedCategories|Käyttämättömiä luokkia]] ei näytetä.\nKatso myös [[Special:WantedCategories|halutut luokat]].",
        "categoriesfrom": "Näytä alkaen luokasta",
        "special-categories-sort-count": "järjestä koon mukaan",
        "delete-confirm": "Poista ”$1”",
        "delete-legend": "Sivun poisto",
        "historywarning": "<strong>Varoitus:</strong> Sivulla, jota olet poistamassa, on muokkaushistoriaa ja sitä on muokattu $1 {{PLURAL:$1|kerran|kertaa}}:",
+       "historyaction-submit": "Näytä",
        "confirmdeletetext": "Olet poistamassa sivun ja kaiken sen historian.\nVahvista, että olet aikeissa tehdä tämän ja että ymmärrät teon seuraukset ja teet poiston [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.",
        "actioncomplete": "Toiminto suoritettu",
        "actionfailed": "Toiminto epäonnistui",
        "exif-compression-6": "JPEG (vanha)",
        "exif-copyrighted-true": "Tekijänoikeuksien alainen",
        "exif-copyrighted-false": "Tekijänoikeustiedot puuttuvat",
+       "exif-photometricinterpretation-1": "Mustavalkoinen (musta on 0)",
        "exif-unknowndate": "Tuntematon päiväys",
        "exif-orientation-1": "Normaali",
        "exif-orientation-2": "Käännetty vaakasuunnassa",
index 0da9733..d9f4fc1 100644 (file)
        "pagecategories": "{{PLURAL:$1|Catégorie|Catégories}}",
        "category_header": "Pages dans la catégorie « $1 »",
        "subcategories": "Sous-catégories",
-       "category-media-header": "Média dans la catégorie \"$1\"",
+       "category-media-header": "Média dans la catégorie « $1 »",
        "category-empty": "<em>Cette catégorie ne contient aucune page ou fichier multimédia.</em>",
        "hidden-categories": "{{PLURAL:$1|Catégorie cachée|Catégories cachées}}",
        "hidden-category-category": "Catégories cachées",
        "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",
-       "readonlytext": "Les ajouts et mises à jour de la base de données sont actuellement bloqués, probablement pour permettre la maintenance de la base, après quoi, tout rentrera dans l'ordre.\n\nL'administrateur ayant verrouillé la base de données a fourni l'explication suivante :<br />$1",
+       "readonlytext": "Les ajouts et mises à jour de la base de données sont actuellement bloqués, probablement pour permettre la maintenance de la base, après quoi, tout rentrera dans l'ordre.\n\nL'administrateur système ayant verrouillé la base de données a fourni l'explication suivante :<br />$1",
        "missing-article": "La base de données n’a pas trouvé le texte d’une page qu’elle aurait dû trouver, intitulée « $1 » $2.\n\nGénéralement, cela survient en suivant un lien vers un diff périmé ou vers l’historique d’une page supprimée.\n\nSi ce n’est pas le cas, il peut s’agir d’un bogue dans le programme.\nVeuillez le signaler à un [[Special:ListUsers/sysop|administrateur]] sans oublier de lui indiquer l’URL du lien.",
        "missingarticle-rev": "(numéro de version : $1)",
        "missingarticle-diff": "(diff : $1, $2)",
        "title-invalid-utf8": "Le titre de la page demandée contient une séquence UTF-8 invalide.",
        "title-invalid-interwiki": "La page cible contient un lien interwiki ne pouvant être utilisé dans les titres.",
        "title-invalid-talk-namespace": "Le titre de la page demandée fait référence à une page de discussion qui peut ne pas exister.",
-       "title-invalid-characters": "Le titre de la page demandée contient des caractères non valides: \"$1\".",
+       "title-invalid-characters": "Le titre de la page demandée contient des caractères non valides : « $1 ».",
        "title-invalid-relative": "Le titre contient un chemin relatif. Les titres référençant des pages relatives (./, ../) sont invalides, car il seront souvent inaccessibles à partir des explorateurs des utilisateurs.",
        "title-invalid-magic-tilde": "Le titre de la page demandée contient une séquence invalide de tilde magiques (<nowiki>~~~</nowiki>).",
        "title-invalid-too-long": "La demande de titre de la page est trop longue. Il ne doit pas être de plus de $1 {{PLURAL:$1|octets|bytes}} dans l'encodage UTF-8.",
        "mypreferencesprotected": "Vous n’avez pas les droits pour modifier vos préférences.",
        "ns-specialprotected": "Les pages dans l'espace de noms « {{ns:special}} » ne peuvent pas être modifiées.",
        "titleprotected": "Ce titre a été protégé à la création par [[User:$1|$1]].\nLe motif avancé est « ''$2'' ».",
-       "filereadonlyerror": "Impossible de modifier le fichier « $1 » parce que le répertoire de fichiers « $2 » est en lecture seule.\n\nL'administrateur qui l'a verrouillé a fourni ce motif : « $3 ».",
+       "filereadonlyerror": "Impossible de modifier le fichier « $1 » parce que le répertoire de fichiers « $2 » est en lecture seule.\n\nL'administrateur système qui l'a verrouillé a fourni ce motif : « $3 ».",
        "invalidtitle-knownnamespace": "Titre invalide avec l'espace de noms « $2 » et l'intitulé « $3 »",
        "invalidtitle-unknownnamespace": "Titre invalide avec le numéro d'espace de noms $1 et l'intitulé « $2 » inconnus",
        "exception-nologin": "Non connecté",
        "copyrightwarning": "Toutes les contributions à {{SITENAME}} sont considérées comme publiées sous les termes de la $2 (voir $1 pour plus de détails). Si vous ne désirez pas que vos écrits soient modifiés et distribués à volonté, merci de ne pas les soumettre ici.<br />\nVous nous promettez aussi que vous avez écrit ceci vous-même, ou que vous l’avez copié d’une source provenant du domaine public, ou d’une ressource libre. '''N’UTILISEZ PAS DE TRAVAUX SOUS DROIT D’AUTEUR SANS AUTORISATION EXPRESSE !'''",
        "copyrightwarning2": "Toutes les contributions à {{SITENAME}} peuvent être modifiées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés et distribués à volonté, merci de ne pas les soumettre ici.<br \n/>Vous nous promettez aussi que vous avez écrit ceci vous-même, ou que vous l’avez copié d’une source provenant du domaine public, ou d’une ressource libre. (voir $1 pour plus de détails).\n'''N’UTILISEZ PAS DE TRAVAUX SOUS DROIT D’AUTEUR SANS AUTORISATION EXPRESSE !'''",
        "editpage-cannot-use-custom-model": "Le modèle de contenu de cette page ne peut pas être modifié.",
-       "longpageerror": "'''Erreur: Le texte que vous avez soumis fait {{PLURAL:$1|un Kio|$1 Kio}}, ce qui dépasse la limite fixée à {{PLURAL:$2|un Kio|$2 Kio}}.'''\nIl ne peut pas être sauvegardé.",
-       "readonlywarning": "'''AVERTISSEMENT : la base de données a été verrouillée pour des opérations de maintenance. Vous ne pouvez donc pas publier vos modifications pour l’instant.'''\nVous pouvez copier et coller votre texte dans un fichier texte et l’enregistrer pour plus tard.\n\nL’administrateur ayant verrouillé la base de données a donné l’explication suivante : $1",
+       "longpageerror": "<strong>Erreur : Le texte que vous avez soumis fait {{PLURAL:$1|un Kio|$1 Kio}}, ce qui dépasse la limite fixée à {{PLURAL:$2|un Kio|$2 Kio}}.</strong>\nIl ne peut pas être sauvegardé.",
+       "readonlywarning": "<strong>AVERTISSEMENT : la base de données a été verrouillée pour des opérations de maintenance. Vous ne pouvez donc pas publier vos modifications pour l’instant.</strong>\nVous pouvez copier et coller votre texte dans un fichier texte et l’enregistrer pour plus tard.\n\nL’administrateur système ayant verrouillé la base de données a donné l’explication suivante : $1",
        "protectedpagewarning": "'''AVERTISSEMENT : cette page est protégée. Seuls les utilisateurs ayant le statut d'administrateur peuvent la modifier.'''<br />\nLa dernière entrée du journal est affichée ci-dessous pour référence :",
        "semiprotectedpagewarning": "'''Note :''' Cette page a été protégée de telle façon que seuls les contributeurs enregistrés puissent la modifier. La dernière entrée du journal est affichée ci-dessous pour référence :",
        "cascadeprotectedwarning": "'''ATTENTION :''' Cette page a été protégée de manière à ce que seuls les administrateurs puissent la modifier car elle est transcluse dans {{PLURAL:$1|la page protégée suivante, qui a|les pages protégées suivantes, qui ont}} la « protection en cascade » activée :",
        "permissionserrors": "Erreur de permissions",
        "permissionserrorstext": "Vous n'avez pas la permission d'effectuer l'opération demandée pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :",
        "permissionserrorstext-withaction": "Vous ne pouvez pas $2, pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :",
-       "contentmodelediterror": "Vous ne pouvez pas modifier cette révision car son modèle de contenu est <code>$1</code>, et le modèle de contenu actuel de la page est <code>$2</code>.",
+       "contentmodelediterror": "Vous ne pouvez pas modifier cette révision car son modèle de contenu est <code>$1</code>, ce qui diffère du modèle de contenu actuel de la page <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Attention : vous êtes en train de recréer une page qui a été précédemment supprimée.'''\n\nAssurez-vous qu'il est pertinent de poursuivre les modifications sur cette page. Le journal des suppressions et des déplacements est affiché ci-dessous :",
        "moveddeleted-notice": "Cette page a été supprimée. Le journal des suppressions et des déplacements est affiché ci-dessous pour référence.",
        "moveddeleted-notice-recent": "Désolé, cette page a été récemment supprimée (dans les dernières 24 heures).\nLes journaux des suppressions et des renommages pour la page sont fournis ci-dessous à titre d’information.",
        "postedit-confirmation-saved": "Votre modification a été enregistrée.",
        "edit-already-exists": "La nouvelle page n'a pas pu être créée.\nElle existe déjà.",
        "defaultmessagetext": "Message par défaut",
-       "content-failed-to-parse": "Échec de l’analyse syntaxique du contenu de $2 pour le modèle $1: $3",
+       "content-failed-to-parse": "Échec de l’analyse syntaxique du contenu de $2 pour le modèle $1 : $3",
        "invalid-content-data": "Données du contenu non valides",
        "content-not-allowed-here": "Le contenu « $1 » n’est pas autorisé sur la page [[$2]]",
        "editwarning-warning": "Quitter cette page vous fera perdre toutes les modifications que vous avez faites.\nSi vous êtes connecté{{GENDER:||e}}, vous pouvez désactiver cet avertissement dans la section « {{int:prefs-editing}} » de vos préférences.",
        "content-model-css": "CSS",
        "content-json-empty-object": "Objet vide",
        "content-json-empty-array": "Tableau vide",
-       "duplicate-args-warning": "<strong>Avertissement:</strong> [[:$1]] appelle [[:$2]] avec plus d'une valeur pour le paramètre \"$3\". Seule la dernière valeur fournie sera utilisée.",
+       "duplicate-args-warning": "<strong>Avertissement :</strong> [[:$1]] appelle [[:$2]] avec plus d'une valeur pour le paramètre « $3 ». Seule la dernière valeur fournie sera utilisée.",
        "duplicate-args-category": "Pages utilisant des arguments dupliqués dans les appels de modèle",
        "duplicate-args-category-desc": "La page contient des appels de modèle qui utilisent des arguments dupliqués, comme <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> ou <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "Attention : cette page contient de trop nombreux appels à des fonctions coûteuses de l'analyseur syntaxique.\n\nIl devrait y avoir moins de $2 appel{{PLURAL:$2||s}}, alors qu'il y en a maintenant $1.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Je certifie être le détenteur des droits d’auteur sur ce fichier, j’accepte de publier ce fichier sur Wikimedia Commons en le plaçant irrévocablement sous licence [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0] et j’accepte les [https://wikimediafoundation.org/wiki/Terms_of_Use conditions d’utilisation].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Si vous n’êtes pas le détenteur des droits d’auteur sur ce fichier ou que vous voulez le publier sous une licence différente, vous pouvez utiliser l’[https://commons.wikimedia.org/wiki/Special:UploadWizard assistant d’import].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Vous pouvez également essayer d’utiliser [[Special:Upload|la page de téléversement de {{SITENAME}}]], si les règles du site autorisent le téléversement du fichier.",
+       "foreign-structured-upload-form-2-label-intro": "Merci de faire don d’une image pour l’utiliser sur {{SITENAME}}. Ne continuez que si elle répond aux conditions suivantes :",
+       "foreign-structured-upload-form-2-label-ownwork": "Elle doit avoir été intégralement <strong>créée par vous</strong>, et pas simplement prise sur Internet.",
+       "foreign-structured-upload-form-2-label-noderiv": "Elle ne doit <strong>pas contenir d’œuvre créée par une autre personne</strong> ni être inspirée d’une telle œuvre.",
+       "foreign-structured-upload-form-2-label-useful": "Elle doit être <strong>éducative et utile</strong> pour instruire les lecteurs",
+       "foreign-structured-upload-form-2-label-ccbysa": "Vous devez accepter de la <strong>publier de façon irrévocable</strong> sur Internet selon les termes de la licence [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Si l’une de ces conditions n’est pas remplie, il est possible que vous puissiez tout de même importer l’image en utilisant l’[https://commons.wikimedia.org/wiki/Special:UploadWizard Assistant d’import de Commons], pourvu qu’elle soit disponible sous licence libre.",
+       "foreign-structured-upload-form-2-label-termsofuse": "En important ce fichier, vous certifiez détenir les droits d’auteur sur ce fichier, vous acceptez de publier irrévocablement ce fichier sur Wikimedia Commons selon les termes de la licence Creative Commons Attribution-ShareAlike 4.0 et vous acceptez les [https://wikimediafoundation.org/wiki/Terms_of_Use conditions d’utilisation].",
+       "foreign-structured-upload-form-3-label-question-website": "Avez-vous téléchargé cette image depuis un site web, ou l’avez-vous obtenue en faisant une recherche d’images ?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Avez-vous créé cette image (pris la photo, fait vous-même le dessin, etc.) ?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Contient-elle ou est-elle inspirée de l’œuvre d’une autre personne, par exemple un logo ?",
+       "foreign-structured-upload-form-3-label-yes": "Oui",
+       "foreign-structured-upload-form-3-label-no": "Non",
+       "foreign-structured-upload-form-3-label-alternative": "Malheureusement, dans ce cas, cet outil ne permet pas d’importer ce fichier. Il est possible que vous puissiez l’importer en utilisant l’[https://commons.wikimedia.org/wiki/Special:UploadWizard Assistant d’import de Commons], pourvu qu’il soit disponible sous licence libre.",
+       "foreign-structured-upload-form-4-label-good": "À l’aide de cet outil, vous pouvez importer des images éducatives que vous avez créées et des photographies que vous avez prises, pourvu qu’elles ne contiennent pas d’œuvres appartenant à d’autres personnes.",
+       "foreign-structured-upload-form-4-label-bad": "Vous ne pouvez pas importer des images trouvées sur un moteur de recherche ou téléchargées sur d’autres sites.",
        "backend-fail-stream": "Impossible de lire le fichier $1.",
        "backend-fail-backup": "Impossible de sauvegarder le fichier $1.",
        "backend-fail-notexists": "Le fichier $1 n’existe pas.",
        "backend-fail-notsame": "Un fichier différent existe déjà pour $1 .",
        "backend-fail-invalidpath": "$1 n’est pas un chemin de stockage valide.",
        "backend-fail-delete": "Impossible de supprimer le fichier $1.",
-       "backend-fail-describe": "Impossible de modifier les métadonnées du fichier \"$1\".",
+       "backend-fail-describe": "Impossible de modifier les métadonnées du fichier « $1 ».",
        "backend-fail-alreadyexists": "Le fichier $1 existe déjà.",
        "backend-fail-store": "Impossible de stocker le fichier $1 en $2.",
        "backend-fail-copy": "Impossible de copier le fichier $1 en $2.",
        "backend-fail-read": "Impossible de lire le fichier $1.",
        "backend-fail-create": "Impossible d’écrire le fichier $1.",
        "backend-fail-maxsize": "Impossible d’écrire le fichier $1 parce qu’il est plus grand {{PLURAL:$2|qu’un octet|que $2 octets}}.",
-       "backend-fail-readonly": "Le support de stockage \"$1\" est actuellement en lecture seule. La raison indiquée est: \"$2\"",
-       "backend-fail-synced": "Le fichier \"$1\" est dans un état incohérent dans les supports de stockage internes",
-       "backend-fail-connect": "Impossible de se connecter au support de stockage \"$1\".",
-       "backend-fail-internal": "Une erreur inconnue s’est produite dans le support de stockage \"$1\".",
-       "backend-fail-contenttype": "Impossible de déterminer le type de contenu du fichier à stocker en \"$1\".",
+       "backend-fail-readonly": "Le support de stockage « $1 » est actuellement en lecture seule. La raison indiquée est : « <em>$2</em> »",
+       "backend-fail-synced": "Le fichier « $1 » est dans un état incohérent dans les supports de stockage internes",
+       "backend-fail-connect": "Impossible de se connecter au support de stockage « $1 ».",
+       "backend-fail-internal": "Une erreur inconnue s’est produite dans le support de stockage « $1 ».",
+       "backend-fail-contenttype": "Impossible de déterminer le type de contenu du fichier à stocker en « $1 ».",
        "backend-fail-batchsize": "Le support de stockage a fourni un lot de $1 {{PLURAL:$1|opération|opérations}} de fichier; la limite est $2 {{PLURAL:$2|opération|opérations}}.",
        "backend-fail-usable": "Impossible de lire ou d’écrire le fichier « $1 » en raison de droits insuffisants ou répertoires/conteneurs manquants.",
-       "filejournal-fail-dbconnect": "Impossible de se connecter à la base de données du journal pour le terminal de stockage \"$1\".",
-       "filejournal-fail-dbquery": "Impossible de mettre à jour la base de données du journal pour le terminal de stockage \"$1\".",
+       "filejournal-fail-dbconnect": "Impossible de se connecter à la base de données du journal pour le terminal de stockage « $1 ».",
+       "filejournal-fail-dbquery": "Impossible de mettre à jour la base de données du journal pour le terminal de stockage « $1 ».",
        "lockmanager-notlocked": "Impossible de déverrouiller « $1 » ; elle n'est pas verrouillée.",
        "lockmanager-fail-closelock": "Impossible de fermer le fichier de verrou pour « $1 ».",
        "lockmanager-fail-deletelock": "Impossible de supprimer le fichier de verrou pour « $1 ».",
        "watchlistanontext": "Veuillez vous connecter pour visualiser ou modifier les éléments de votre liste de suivi.",
        "watchnologin": "Non connecté",
        "addwatch": "Ajouter à la liste de suivi",
-       "addedwatchtext": "La page «[[:$1]]» et sa page de discussion ont été ajoutées à votre [[Special:Watchlist|liste de suivi]].",
+       "addedwatchtext": "La page « [[:$1]] » et sa page de discussion ont été ajoutées à votre [[Special:Watchlist|liste de suivi]].",
        "addedwatchtext-short": "La page « $1 » a été ajoutée à votre liste de suivi.",
        "removewatch": "Supprimer de la liste de suivi",
        "removedwatchtext": "La page « [[:$1]] » et sa page de discussion ont été retirées de votre [[Special:Watchlist|liste de suivi]].",
        "undeletedrevisions": "$1 {{PLURAL:$1|version restaurée|versions restaurées}}",
        "undeletedrevisions-files": "$1 version{{PLURAL:$1||s}} et $2 fichier{{PLURAL:$2||s}} restauré{{PLURAL:$2||s}}",
        "undeletedfiles": "$1 {{PLURAL:$1|fichier restauré|fichiers restaurés}}",
-       "cannotundelete": "Échec de la restauration:\n$1",
+       "cannotundelete": "Échec de la restauration :\n$1",
        "undeletedpage": "'''La page $1 a été restaurée.'''\n\nConsultez le [[Special:Log/delete|journal des suppressions]] pour obtenir la liste des récentes suppressions et restaurations.",
        "undelete-header": "Consultez le [[Special:Log/delete|journal des suppressions]] pour lister les pages récemment supprimées.",
        "undelete-search-title": "Rechercher les pages supprimées",
        "file-info-size-pages": "$1 × $2 pixels, taille de fichier : $3, type MIME : $4, $5 page{{PLURAL:$5||s}}",
        "file-nohires": "Pas de plus haute résolution disponible.",
        "svg-long-desc": "Fichier SVG, résolution de $1 × $2 pixels, taille : $3",
-       "svg-long-desc-animated": "Fichier SVG animé, taille $1 x $2 pixels, taille du fichier: $3",
-       "svg-long-error": "Fichier SVG non valide: $1",
+       "svg-long-desc-animated": "Fichier SVG animé, taille $1 × $2 pixels, taille du fichier : $3",
+       "svg-long-error": "Fichier SVG non valide : $1",
        "show-big-image": "Fichier d'origine",
        "show-big-image-preview": "Taille de cet aperçu : $1.",
        "show-big-image-preview-differ": "Taille de cet aperçu $3 de ce fichier $2 : $1.",
        "hebrew-calendar-m12-gen": "eloul",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discussion]])",
        "duplicate-defaultsort": "Attention : la clé de tri par défaut « $2 » écrase la précédente clé « $1 ».",
-       "duplicate-displaytitle": "<strong>Attention :</strong> Le titre d'affichage «$2» remplace l'ancien titre d'affichage «$1».",
+       "duplicate-displaytitle": "<strong>Attention :</strong> Le titre d'affichage « $2 » remplace l'ancien titre d'affichage « $1 ».",
        "invalid-indicator-name": "<strong>Erreur :</strong> L’attribut <code>name</code> des indicateurs d’état de la page ne doit pas être vide.",
        "version": "Version",
        "version-extensions": "Extensions installées",
        "tags-edit-revision-legend": "Ajouter ou enlever des balises de {{PLURAL:$1|cette révision|toutes les $1 révisions}}",
        "tags-edit-logentry-legend": "Ajouter ou enlever les balises de {{PLURAL:$1|cette entrée de journal|toutes les $1 entrées de journal}}",
        "tags-edit-existing-tags": "Balises existantes :",
-       "tags-edit-existing-tags-none": "\"Aucun\"",
+       "tags-edit-existing-tags-none": "''Aucun''",
        "tags-edit-new-tags": "Nouvelles balises :",
        "tags-edit-add": "Ajouter ces balises :",
        "tags-edit-remove": "Enlever ces balises :",
        "htmlform-cloner-create": "Ajouter encore",
        "htmlform-cloner-delete": "Supprimer",
        "htmlform-cloner-required": "Une valeur au moins est obligatoire.",
-       "htmlform-title-badnamespace": "[[:$1]] n'est pas dans l'espace de noms \"{{ns:$2}}\" .",
-       "htmlform-title-not-creatable": "\"$1\" n'est pas un titre de page réalisable",
+       "htmlform-title-badnamespace": "[[:$1]] n'est pas dans l’espace de noms « {{ns:$2}} ».",
+       "htmlform-title-not-creatable": "« $1 » n’est pas un titre de page pouvant être créée",
        "htmlform-title-not-exists": "$1 n’existe pas",
        "htmlform-user-not-exists": "<strong>$1</strong> n’existe pas.",
        "htmlform-user-not-valid": "<strong>$1</strong> n’est pas un nom d’utilisateur valide.",
        "api-error-ok-but-empty": "Erreur interne : Le serveur n'a pas répondu.",
        "api-error-overwrite": "Écraser un fichier existant n'est pas autorisé.",
        "api-error-stashfailed": "Erreur interne : le serveur n'a pas pu enregistrer le fichier temporaire.",
-       "api-error-publishfailed": "Erreur interne: Le serveur n'a pas pu publier le fichier temporaire.",
+       "api-error-publishfailed": "Erreur interne : Le serveur n'a pas pu publier le fichier temporaire.",
        "api-error-stasherror": "Une erreur s'est produite lors du téléchargement du fichier pour le dissimuler.",
        "api-error-stashedfilenotfound": "Le fichier caché n’a pas été trouvé lors de la tentative pour le télécharger depuis sa cachette.",
        "api-error-stashpathinvalid": "Le chemin où aurait dû se trouver le fichier caché n’est pas valide.",
index 50a852c..1931678 100644 (file)
@@ -16,7 +16,8 @@
                        "ZaDiak",
                        "아라",
                        "JoostBotman",
-                       "Macofe"
+                       "Macofe",
+                       "Giorgos456"
                ]
        },
        "tog-underline": "Ὑπογραμμίζειν συνδέσμους:",
        "actions": "Δράσεις",
        "namespaces": "Ὀνοματεῖα",
        "variants": "Παραλλαγαί",
+       "navigation-heading": "Μενού πλοήγησις",
        "errorpagetitle": "Σφάλμα",
        "returnto": "Ἐπανιέναι εἰς $1.",
        "tagline": "Ἀπὸ {{SITENAME}}",
        "permalink": "Σύνδεσμος μόνιμος",
        "print": "Τυποῦν",
        "view": "Ὁρᾶν",
+       "view-foreign": "Ὁρᾶν στο $1",
        "edit": "Μεταγράφειν",
        "create": "Ποιεῖν",
        "editthispage": "Μεταγράφειν τήνδε τὴν δέλτον",
        "otherlanguages": "Ἀλλογλωσσιστί",
        "redirectedfrom": "(Ἀποσταλτὸν ἀπὸ $1)",
        "redirectpagesub": "Ἐπανάγειν δέλτον",
+       "redirectto": "Ἐπανάγειν στο:",
        "lastmodifiedat": "Ἥδε ἡ δέλτος ὕστατον μετεβλήθη $2, $1.",
        "viewcount": "Ἥδε ἡ δέλτος προσεπελάσθη {{PLURAL:$1|ἅπαξ|$1-(άκ)ις}}.",
        "protectedpage": "Πεφυλαγμένη δέλτος",
        "jumptonavigation": "περιήγησις",
        "jumptosearch": "ἑρευνᾶν",
        "view-pool-error": "Αἱ ἐξυπηρετητικαὶ μηχαναὶ νῦν ὑπερπεφορτισμέναι εἰσίν.\nΠέρα τοῦ δέοντος πολλοὶ χρώμενοι πειρῶνται προσπελάσειν τῇδε δέλτῳ.\nἈνάμεινον πρὸ τοῦ πεπειρακέναι προσπελάσειν πάλιν τῇδε δέλτῳ.\n\n$1",
+       "generic-pool-error": "Αἱ ἐξυπηρετητικαὶ μηχαναὶ νῦν ὑπερπεφορτισμέναι εἰσίν.\nΠέρα τοῦ δέοντος πολλοὶ χρώμενοι πειρῶνται προσπελάσειν τῇδε δέλτῳ.\nἈνάμεινον πρὸ τοῦ πεπειρακέναι προσπελάσειν πάλιν τῇδε δέλτῳ.",
        "pool-queuefull": "Δεξαμενὴ δεδομένων πλήρης",
        "pool-errorunknown": "Ἄγνωστον σφάλμα",
        "aboutsite": "Περὶ {{SITENAME}}",
        "disclaimers": "Ἀποποιήσεις",
        "disclaimerpage": "Project:Γενικὴ ἀποποίησις",
        "edithelp": "Βοήθεια περὶ τοῦ μεταγράφειν",
+       "helppage-top-gethelp": "Βοήθεια",
        "mainpage": "Κυρία Δέλτος",
        "mainpage-description": "Κυρία Δέλτος",
        "policy-url": "Project:Προαίρεσις",
        "hidetoc": "κρύπτειν",
        "collapsible-collapse": "Κατάρρευσις",
        "collapsible-expand": "Ἀνάπτυξις",
+       "confirmable-yes": "Ναί",
+       "confirmable-no": "Οὐ",
        "thisisdeleted": "Ὁρᾶν ἢ ἀποκαθιστάναι $1;",
        "viewdeleted": "Ὁρᾶν $1;",
        "restorelink": "{{PLURAL:$1|μία διαγεγραμμένη μεταγραφή|$1 διαγεγραμμέναι μεταγραφαί}}",
        "nstab-template": "Πρότυπον",
        "nstab-help": "Βοήθεια",
        "nstab-category": "Κατηγορία",
+       "mainpage-nstab": "Κυρία Δέλτος",
        "nosuchaction": "Οὐδεμία τοιαύτη δρᾶσις",
        "nosuchactiontext": "Ἡ καθωρισμένη ὑπὸ τοῦ URL δρᾶσις μὴ ἀναγνωρίσιμος ὑπὸ τοῦ βίκι ἐστί.\nἘνδεχομένως εἰσῆξας ἐσφαλμένως τὴν διεύθυνσιν URL ἢ ἠκολούθησας ἀκύρῳ συνδέσμῳ τινί.\nἘνδεχομένως πταίει σφάλμα τι τοῦ λογισμικοῦ μέρους τοῦ ἱστοτόπου {{SITENAME}}.",
        "nosuchspecialpage": "Οὐδεμία τοιούτη δέλτος",
        "perfcachedts": "Τὸ ἀκόλουθα δεδομένα εἰσὶ λανθάνοντα καὶ ὑστάτως ἐνημερωμένα ἐν $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.",
        "querypage-no-updates": "Αἱ ἐνημερώσεις τῆσδε τῆς δέλτου ἀπενεργοποιηθεῖσαι εἰσίν.\nΤὰ δεδομένα ἐνταῦθα μὴ ἀνανεώσιμα ἔσονται ἐπὶ τοῦ παρόντος.",
        "viewsource": "Πηγὴν ἐπισκοπεῖν",
+       "viewsource-title": "Ὁρᾶν τὴν πηγήν για το $1",
        "actionthrottled": "Δρᾶσις ἠγχθεῖσα",
        "protectedpagetext": "Ἥδε ἡ δέλτος ἀποκεκλῃμένη ἐστὶν εἰς ἀποτροπὴν τοῦ μεταγράφειν.",
        "viewsourcetext": "Ἔξεστί σοι ὁρᾶν τε καὶ ἀντιγράφειν τὴν τῆς δέλτου πηγήν:",
        "namespaceprotected": "Οὐκ ἔξεστί σοι μεταγράφειν δέλτους ἐν τῷ ὀνοματείῳ '''$1'''.",
        "ns-specialprotected": "Αἱ εἰδικαὶ δέλτοι μὴ μεταγραπτέαι εἰσίν.",
        "titleprotected": "Ἡ ποίησις τῆσδε τῆς ἐπιγραφῆς πεφύλακται ὑπὸ τοῦ [[User:$1|$1]].\nἩ δεδομένη αἰτιολογία ἐστὶ \"''$2''\".",
+       "exception-nologin": "Μὴ συνδεδεμένος",
        "virus-badscanner": "Κακὸς σχηματισμός: ἄγνωτος σαρωτὴς ἰῶν: ''$1''",
        "virus-scanfailed": "Σάρωσις πταιστή (κῶδιξ $1)",
        "virus-unknownscanner": "ἄγνωτος ἀντιιός:",
        "logouttext": "'''Νῦν γὰρ ἀποσυνδεδεμένος εἰ.'''\n\nἜξεστί σοι χρῆσθαι τῷ {{SITENAME}} ἀνωνύμως, ἢ ἔξεστί σοι <span class='plainlinks'>[$1 συνδεῖσθαι πάλιν]</span> ὡς ὁ αὐτὸς ἢ ὡς ἄλλος χρώμενος.\nΔέλτοι τινὲς δέ, ἐνδεχομένως, δειχθήσονται ὡς ἂν ἀκμὴν συνδεδεμένος ᾖς, μέχρι ὅτε καθαίρῃς τὴν λανθάνουσαν μνήμην τοῦ προγράμματος πλοηγήσεώς σου.",
        "yourname": "Ὄνομα χρωμένου:",
+       "userlogin-yourname": "Ὄνομα χρωμένου",
        "yourpassword": "Σῆμα:",
+       "userlogin-yourpassword": "Σῆμα",
        "yourpasswordagain": "Ἀνατυπῶσαι σύνθημα:",
        "remembermypassword": "Μίμνῃσκε ἐνθάδε συνδεῖσθαι (μέγιστον $1 {{PLURAL:$1|ἡμέρα|ἡμέραι}})",
        "yourdomainname": "Ὁ τομεύς σου:",
        "logout": "Ἐξέρχεσθαι",
        "userlogout": "Ἐξέρχεσθαι",
        "notloggedin": "Οὐ συνδεδεμένος",
+       "userlogin-noaccount": "Ἆρα λογισμὸν οὐκ ἔχεις;",
        "nologin": "Ἆρα λογισμὸν οὐκ ἔχεις; '''$1'''.",
        "nologinlink": "Λογισμὸν ποιεῖν",
        "createaccount": "Λογισμὸν ποιεῖν",
        "wlheader-enotif": "Σύστημα εἰδήσεως μέσῳ ἠλ-ἐπιστολῶν ἐνεργόν.",
        "wlnote": "Κατωτέρω {{PLURAL:$1|ἐστὶν ἡ ὑστάτη μεταβολὴ|εἰσὶν αἱ ὑστάται  '''$1'''  μεταβολαὶ}} ἐν {{PLURAL:$2|τῇ ὑστάτῃ μίᾳ ὥρᾳ|ταῖς ὑστάταις '''$2''' ὥραις}}.",
        "wlshowlast": "Ἐμφάνισις τῶν τελευταίων $1 ὡρῶν $2 ἡμερῶν",
+       "watchlistall2": "ἅπασαι",
        "watchlist-options": "Ἐπιλογαὶ ἐφοροδιαλογῆς",
        "watching": "Ἐφορῶν...",
        "unwatching": "Ἀνεφορῶν...",
        "movenosubpage": "Ἥδε ἡ δέλτος οὐ περιέχει ὑποδέλτους τινάς.",
        "movereason": "Ἀπολογία:",
        "revertmove": "Ἐπανέρχεσθαι",
-       "delete_and_move": "Διαγράφειν καὶ κινεῖν",
        "delete_and_move_text": "==Διαγραφὴ ἀπαραίτητος==\nἩ ἐγγραφὴ [[:$1]] ὑπάρχει ἤδη. Βούλῃ διαγράψειν τήνδε ἵνα ἐκτελέσηται ἡ μετακίνησις;",
        "delete_and_move_confirm": "Ναί, διάγραψον τὴν δέλτον",
        "delete_and_move_reason": "Διαγραφεῖσα οὕτως ὥστε ποιηθῇ χῶρος διὰ τὴν μετακίνησιν",
index bba5c0d..b501c39 100644 (file)
        "userpage-userdoesnotexist": "સભ્ય ખાતું \"<nowiki>$1</nowiki>\"ની નોંધણીનથી થઈ.\nશું તમે ખરેખર આ પાનાની રચના કે ફેરફાર કરવા માંગો છો",
        "userpage-userdoesnotexist-view": "સભ્યના ખાતા $1 ની નોંધણી નથી થઈ",
        "blocked-notice-logextract": "આ સભ્ય હાલમાં પ્રતિબંધિત છે.\nતમારા નીરીક્ષણ માટે તાજેતરમાં પ્રતિબંધિત થયેલા સભ્યોની યાદિ આપી છે.",
-       "clearyourcache": "'''નોંધ:''' બચત કર્યા પછી, તમારે તમારા બ્રાઉઝરની કૅશ બાયપાસ કરવાની આવશ્યકતા પડી શકે છે.\n*'''ફાયરફોક્સ / સફારી:''' ''શીફ્ટ'' દબાવેલી રાખીને ''રિલોડ'' પર ક્લિક કરો, અથવા તો ''Ctrl-F5'' કે ''Ctrl-R'' દબાવો (મેક પર ''⌘-R'')\n*'''ગુગલ ક્રોમ:''' ''Ctrl-Shift-R'' દબાવો (મેક પર ''⌘-Shift-R'')\n*'''ઈન્ટરનેટ એક્સપ્લોરર:''' ''Ctrl'' દબાવેલી રાખીને ''રિફ્રેશ'' પર ક્લિક કરો, અથવા ''Ctrl-F5'' દબાવો\n*'''ઓપેરા:''' ''સાધનો → પસંદગીઓ''માં જઈને કૅશ સાફ કરો",
+       "clearyourcache": "<strong>નોંધ:</strong> પાનું સાચવ્યા પછી, તમારે તમારા બ્રાઉઝરની કૅશ બાયપાસ કરવાની આવશ્યકતા પડી શકે છે.\n*<strong>ફાયરફોક્સ / સફારી:</strong> </em>શીફ્ટ<em> દબાવેલી રાખીને ''રિલોડ'' પર ક્લિક કરો, અથવા તો <em>Ctrl-F5</em> કે <em>Ctrl-R<em> દબાવો (મેક પર <em>⌘-R</em>)\n*<strong>ગુગલ ક્રોમ:</strong> <em>Ctrl-Shift-R</em> દબાવો (મેક પર <em>⌘-Shift-R</em>)\n*<strong>ઈન્ટરનેટ એક્સપ્લોરર:</strong> <em>Ctrl</em> દબાવેલી રાખીને <em>રિફ્રેશ</em> પર ક્લિક કરો, અથવા <em>Ctrl-F5</em> દબાવો\n*<strong>ઓપેરા:</strong> <em>સાધનો → પસંદગીઓ</em>માં જઈને કૅશ સાફ કરો",
        "usercssyoucanpreview": "'''ટીપ:''' તમારા નવા CSSને સાચવતા પહેલા  \"{{int:showpreview}}\" બટન વાપરી ચકાસણી કરો.",
        "userjsyoucanpreview": "'''ટીપ:''' Use the તમારી નવી JavaScript ને સાચવતા પહેલા   \"{{int:showpreview}}\" બટન વાપરી ચકાસો.",
        "usercsspreview": "'''યાદ રહે કે તમે તમારા સભ્ય CSS નું અવલોકન કરો છે.'''\n'''હજી સીધું તે સચવાયું નથી!'''",
        "prefs-custom-css": "ખાસ  CSS",
        "prefs-custom-js": "સભ્ય નિર્મિત JavaScript",
        "prefs-common-css-js": "બધા જ ફલક માટે સહીયારી CSS/JavaScript",
-       "prefs-reset-intro": "તમà«\80 àª\86 àªªàª¾àª¨àª¾àª¨à«\8b àª\89પયà«\8bàª\97 àª\95રà«\80નà«\87 àª¤àª®àª¾àª°àª¾ àªµàª¿àª\95લà«\8dપà«\8b àª¨à«\80 àª\97à«\8bઠવણà«\80 àª®à«\82ળના àªµàª¿àª\95લà«\8dપà«\8b àª¸àª®àª¾àª¨ àª\97à«\8bઠવà«\80 àª¶àª\95à«\8b àª\9bà«\8b.\nàª\86નà«\87 àª\89લàª\9fાવà«\80 àª¨ શકાય.",
+       "prefs-reset-intro": "તમà«\87 àª\86 àªªàª¾àª¨àª¾àª¨à«\8b àª\89પયà«\8bàª\97 àª\95રà«\80નà«\87 àª¤àª®àª¾àª°àª¾ àªªàª¸àª\82દ àª\95રà«\87લા àªµàª¿àª\95લà«\8dપà«\8bનà«\87 àªªàª¾àª\9bા àª¸àª¾àª\87àª\9fના àª®à«\82ળ àªµàª¿àª\95લà«\8dપà«\8b àª¸àª®àª¾àª¨ àª\97à«\8bઠવà«\80 àª¶àª\95à«\8b àª\9bà«\8b.\n\nàª\86નà«\87 àª\89લàª\9fાવà«\80 àª¨àª¹àª¿ શકાય.",
        "prefs-emailconfirm-label": "ઇ-મેલ પુષ્ટી",
        "youremail": "ઇ-મેઇલ:",
        "username": "{{GENDER:$1|સભ્યનામ}}:",
        "scarytranscludetoolong": "[URL ઘણો લાંબો છે]",
        "deletedwhileediting": "'''ચેતવણી''': તમે ફેરફાર  કર્યા પછી આ પાનું હટાવી દેવાયું !",
        "confirmrecreate": "સભ્ય [[User:$1|$1]] ([[User talk:$1|talk]]) એતમે ફેરફાર કરો તે પહેલાં આ પાનું હટાવી દીધું તેનું કારણ:\n: ''$2''\nકૃપયા ખાત્રી કરો કે તમે આ પાનું ખરેખર રચવા માંગો છે.",
-       "confirmrecreate-noreason": "વપરાશકર્તા [[User:$1|$1]] ([[User talk:$1|ચર્ચા]]) એ આ પાનું તમે ફેરફાર શરૂ કર્યા પછી દૂર કર્યું છે. મહેરબાની કરીને ખાતરી કરો કે તમે ખરેખર આ પાનું ફરીથી બનાવવા માંગો છો.",
+       "confirmrecreate-noreason": "વપરાશકર્તા [[User:$1|$1]] ([[User talk:$1|ચર્ચા]])એ આ પાનું તમે ફેરફાર શરૂ કર્યા પછી દૂર કર્યું છે. મહેરબાની કરીને ખાતરી કરો કે તમે ખરેખર આ પાનું ફરીથી બનાવવા માંગો છો.",
        "recreate": "પુનર્નિર્માણ કરો",
        "confirm_purge_button": "મંજૂર",
        "confirm-purge-top": "આ પાનાનો સ્મૃતિ ભંડાર ખાલી કરું?",
index a89ba25..5a8e6c1 100644 (file)
        "copyrightwarning2": "'''שימו לב:''' תורמים אחרים עשויים לערוך או אף להסיר את תרומתכם ל{{grammar:תחילית|{{SITENAME}}}}. אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים, אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן בזכויות יוצרים (ראו $1 לפרטים נוספים). '''אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!'''",
        "editpage-cannot-use-custom-model": "לא ניתן לשנות את מודל התוכן של הדף הזה.",
        "longpageerror": "<strong>שגיאה: אורך הטקסט ששלחת הוא {{PLURAL:$1|קילובייט אחד|$1 קילובייטים}}, והוא ארוך יותר מהאורך המרבי של {{PLURAL:$2|קילובייט אחד|$2 קילובייטים}}.</strong>\nלא ניתן לשמור אותו.",
-       "readonlywarning": "'''×\90×\96×\94ר×\94: ×\91ס×\99ס ×\94נת×\95× ×\99×\9d × × ×¢×\9c ×\9cצ×\95ר×\9a ×ª×\97×\96×\95ק×\94. ×\91×\96×\9e×\9f ×\96×\94 ×\9c×\90 × ×\99ת×\9f ×\9cש×\9e×\95ר ×\90ת ×\94×\98קס×\98 ×\94ער×\95×\9a.'''\n×\91×\90פשר×\95ת×\9a ×\9c×\94עת×\99ק ×\95×\9c×\94×\93×\91×\99ק ×\90ת ×\94×\98קס×\98 ×\9cת×\95×\9a ×§×\95×\91×¥ ×\98קס×\98 ×\95×\9cש×\9e×\95ר ×\90×\95ת×\95 ×\9c×\9e×\90×\95×\97ר ×\99×\95תר.\n\n×\9eפע×\99ל המערכת שנעל את בסיס הנתונים סיפק את ההסבר הבא: $1",
+       "readonlywarning": "'''×\90×\96×\94ר×\94: ×\91ס×\99ס ×\94נת×\95× ×\99×\9d × × ×¢×\9c ×\9cצ×\95ר×\9a ×ª×\97×\96×\95ק×\94. ×\91×\96×\9e×\9f ×\96×\94 ×\9c×\90 × ×\99ת×\9f ×\9cש×\9e×\95ר ×\90ת ×\94×\98קס×\98 ×\94ער×\95×\9a.'''\n×\91×\90פשר×\95ת×\9a ×\9c×\94עת×\99ק ×\95×\9c×\94×\93×\91×\99ק ×\90ת ×\94×\98קס×\98 ×\9cת×\95×\9a ×§×\95×\91×¥ ×\98קס×\98 ×\95×\9cש×\9e×\95ר ×\90×\95ת×\95 ×\9c×\9e×\95×¢×\93 ×\9e×\90×\95×\97ר ×\99×\95תר.\n\n×\9e× ×\94ל המערכת שנעל את בסיס הנתונים סיפק את ההסבר הבא: $1",
        "protectedpagewarning": "'''אזהרה: דף זה מוגן כך שרק מפעילי מערכת יכולים לערוך אותו.'''\nפעולת היומן האחרונה מוצגת להלן:",
        "semiprotectedpagewarning": "'''הערה:''' דף זה מוגן כך שרק משתמשים רשומים יכולים לערוך אותו.\nפעולת היומן האחרונה מוצגת להלן:",
        "cascadeprotectedwarning": "<strong>אזהרה:</strong> דף זה מוגן כך שרק מפעילי מערכת יכולים לערוך אותו, כי הוא מוכלל {{PLURAL:$1|בדף הבא, שמופעלת עליו|בדפים הבאים, שמופעלת עליהם}} הגנה מדורגת:",
        "permissionserrors": "שגיאת הרשאה",
        "permissionserrorstext": "אינך מורשה לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:",
        "permissionserrorstext-withaction": "אינך מורשה $2, מה{{PLURAL:$1|סיבה הבאה|סיבות הבאות}}:",
-       "contentmodelediterror": "×\9c×\90 × ×\99ת×\9f ×\9cער×\95×\9a ×\90ת ×\94×\92רס×\94 ×\94×\96×\90ת ×\9b×\99 ×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×©×\9c×\94 ×\94×\95×\90 <code>$1</code>, ×\95×\90×\99×\9c×\95 ×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×\94× ×\95×\9b×\97×\99 ×©×\9c ×\94×\93×£ ×\94×\95×\90 <code>$2</code>.",
+       "contentmodelediterror": "×\9c×\90 × ×\99ת×\9f ×\9cער×\95×\9a ×\90ת ×\94×\92רס×\94 ×\94×\96×\90ת ×\9b×\99 ×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×©×\9c×\94 ×\94×\95×\90 <code>$1</code>, ×\94ש×\95× ×\94 ×\9e×\9e×\95×\93×\9c ×\94ת×\95×\9b×\9f ×\94× ×\95×\9b×\97×\99 ×©×\9c ×\94×\93×£, <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''אזהרה: הנכם יוצרים דף חדש שנמחק בעבר.'''\n\nכדאי לשקול אם יהיה זה נכון להמשיך לערוך את הדף.\nיומני המחיקות וההעברות של הדף מוצגים להלן:",
        "moveddeleted-notice": "דף זה נמחק.\nיומני המחיקות וההעברות של הדף מוצגים להלן.",
        "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>, ולא תמונה שנלקחה מהאינטרנט",
+       "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/ ייחוס־שיתוף זהה 4.0 של Creative Commons]",
+       "foreign-structured-upload-form-2-label-alternative": "אם לא כל התנאים המפורטים לעיל מתקיימים, ייתכן שיהיה באפשרותך להעלות את הקובץ באמצעות [https://commons.wikimedia.org/wiki/Special:UploadWizard אשף העלאת הקבצים של ויקישיתוף], אם הוא זמין ברישיון חופשי.",
+       "foreign-structured-upload-form-2-label-termsofuse": "בהעלאת הקובץ, אתה מאשר שאתה מחזיק בזכויות היוצרים על הקובץ הזה, מסכים לשחרר אותו באופן בלתי הפיך עבור ויקישיתוף תחת רישיון [https://creativecommons.org/licenses/by-sa/4.0/ ייחוס־שיתוף זהה 4.0 של Creative Commons], ומסכים ל[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\" אינו קיים.",
index 2a5a368..82a42ee 100644 (file)
@@ -67,7 +67,8 @@
                        "ShrUtiable",
                        "Matma Rex",
                        "Angpradesh",
-                       "Sfic"
+                       "Sfic",
+                       "Niharika29"
                ]
        },
        "tog-underline": "कड़ियाँ अधोरेखन:",
        "passwordreset-emailtext-ip": "किसी ने (शायद आपने ही, $1 आइ॰पी पते से) {{SITENAME}} ($4) पर अपने {{PLURAL:$3|कूटशब्द|कूटशब्दों}} को रीसेट करने का अनुरोध किया है। इस ई-मेल पते से निम्न {{PLURAL:$3|खाता जुड़ा है|खाते जुड़े हैं}}:\n\n$2\n\n{{PLURAL:$3|यह|ये}} अस्थायी कूटशब्द {{PLURAL:$5|एक दिन|$5 दिनों}} के बाद काम नहीं करेंगे। आपको लॉग इन करके एक नया कूटशब्द अभी चुन लेना चाहिए। यदि यह अनुरोध किसी और ने किया है, या फिर आपको अपना मूल कूटशब्द याद आ गया है, और आप {{PLURAL:$3|अपना|अपने}} कूटशब्द नहीं बदलना चाहते, आप इस संदेश को अनदेखा कर के अपने पुराने कूटशब्द का प्रयोग जारी रख सकते हैं।",
        "passwordreset-emailtext-user": "{{SITENAME}} ($4) पर सदस्य $1 ने आपके {{PLURAL:$3|खाते|खातों}} के कूटशब्द को रीसेट करने का अनुरोध किया है। इस ई-मेल पते से निम्न {{PLURAL:$3|खाता जुड़ा है|खाते जुड़े हैं}}:\n\n$2\n\n{{PLURAL:$3|यह|ये}} अस्थायी कूटशब्द {{PLURAL:$5|एक दिन|$5 दिनों}} के बाद काम नहीं करेंगे।\nआपको लॉग इन करके एक नया कूटशब्द अभी चुन लेना चाहिए। यदि यह अनुरोध किसी और ने किया है, या फिर आपको अपना मूल कूटशब्द याद आ गया है, और आप {{PLURAL:$3|अपना|अपने}} कूटशब्द नहीं बदलना चाहते, आप इस संदेश को अनदेखा कर के अपने पुराने कूटशब्द का प्रयोग जारी रख सकते हैं।",
        "passwordreset-emailelement": "सदस्यनाम: \n$1\n\nअस्थायी कूटशब्द: \n$2",
-       "passwordreset-emailsent": "एक कूटशब्द रीसेट ई-मेल भेज दिया गया है।",
+       "passwordreset-emailsentemail": "एक कूटशब्द रीसेट ई-मेल भेज दिया गया है।",
        "passwordreset-emailsent-capture": "नीचे दिखाया गया कूटशब्द रीसेट ई-मेल भेज दिया गया है।",
        "passwordreset-emailerror-capture": "नीचे दृष्टित कूटशब्द रीसेट ई-मेल उत्पन्न किया गया था, परंतु उसे {{GENDER:$2|सदस्य}} को भेजना असफल रहा।\nत्रुटि: $1",
        "changeemail": "ई-मेल पता परिवर्तित करें",
        "prefs-help-prefershttps": "यह वरीयता आपके अगले लॉगिन पर प्रभावी होगी।",
        "prefswarning-warning": "आपने अपनी वरीयताओं में एैसे परिवर्तन किए हैं जिन्हे अभी तक संचित नहीं किया गया है। अगर अाप \"$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>$2</strong> के बाद से (<strong>$1</strong> तक) {{PLURAL:$5|हुआ बदलाव दर्शाया गया है|हुए बदलाव दर्शाए गये हैं}}।",
        "rclistfrom": "$3 $2 से नये बदलाव दिखाएँ",
        "rcshowhideminor": "छोटे बदलाव $1",
        "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 Commons Upload Wizard] का उपयोग करें।",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "यदि आप चाहें तो आप [[Special:Upload|{{SITENAME}} के पृष्ठ]] पर फ़ाइल डाल सकते हैं, यदि यह फ़ाइल वहाँ के नियम के अंतर्गत हो तो।",
+       "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": "लम्बे पृष्ठ",
        "activeusers-hidebots": "बॉट छुपाएँ",
        "activeusers-hidesysops": "प्रबंधक छुपाएँ",
        "activeusers-noresult": "कोई सदस्य नहीं मिले।",
+       "activeusers-submit": "सक्रिय सदस्यों को दिखायें",
        "listgrouprights": "सदस्य समूह अधिकार",
        "listgrouprights-summary": "नीचे इसे विकि के लिए परिभाषित सदस्य समूहों की सूची है, साथ में हर समूह से जुड़े अधिकार भी वर्णित हैं।\nहर अधिकार के बारे में [[{{MediaWiki:Listgrouprights-helppage}}|अतिरिक्त जानकारी]] भी उपलब्ध है।",
        "listgrouprights-key": "* <span class=\"listgrouprights-granted\">दिए गए अधिकार</span>\n* <span class=\"listgrouprights-revoked\">हटाए गए अधिकार</span>",
        "movenosubpage": "इस पृष्ठ के कोई उपपृष्ठ नहीं हैं।",
        "movereason": "कारण:",
        "revertmove": "पुराने अवतरण पर ले जाएं",
-       "delete_and_move": "हटाएँ और नाम बदलें",
        "delete_and_move_text": "==हटाने की ज़रूरत==\nलक्ष्य पृष्ठ \"[[:$1]]\" पहले से मौजूद है।\nनाम बदलने के लिये क्या आप इसे हटाना चाहते हैं?",
        "delete_and_move_confirm": "जी हाँ, पृष्ठ हटाएँ",
        "delete_and_move_reason": "\"[[$1]]\" से स्थानांतरण करने के लिये जगह बनाई गयी है",
index 789b5b6..96442ab 100644 (file)
        "nstab-template": "Predložak",
        "nstab-help": "Pomoć",
        "nstab-category": "Kategorija",
+       "mainpage-nstab": "Glavna stranica",
        "nosuchaction": "Nema takve naredbe",
        "nosuchactiontext": "Navedeni URL označava nepostojeću naredbu.\nMožda se pogrešno upisali URL ili slijedili pogrešnu poveznicu.\nOvo također može ukazivati na grešku u softveru kojeg koristi {{SITENAME}}.",
        "nosuchspecialpage": "Posebna stranica ne postoji",
        "recentchanges-label-plusminus": "Promjena veličine stranice (u bajtovima)",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "Nova stranica",
+       "recentchanges-submit": "Prikaži",
        "rcnotefrom": "Slijede promjene od <b>$2</b> (prikazano ih je do <b>$1</b>).",
        "rclistfrom": "Prikaži nove promjene počevši od $3 $2",
        "rcshowhideminor": "$1 manje promjene",
        "tags-tag": "Naziv oznake",
        "tags-display-header": "Izgled na popisima izmjena",
        "tags-description-header": "Puni opis značenja",
+       "tags-source-header": "Izvor",
        "tags-active-header": "Aktivno?",
        "tags-hitcount-header": "Označene izmjene",
+       "tags-actions-header": "Radnje",
        "tags-active-yes": "Da",
        "tags-active-no": "Ne",
+       "tags-source-extension": "Definirano proširenjem",
+       "tags-source-none": "Nije više u uporabi",
        "tags-edit": "uredi",
        "tags-delete": "izbriši",
        "tags-activate": "pokreni",
index 07fe81a..8743e54 100644 (file)
        "createacct-benefit-heading": "{{SITENAME}} je so wot ludźi kaž tebje wutworiła.",
        "createacct-benefit-body1": "{{PLURAL:$1|změna|změnje|změny|změnow}}",
        "createacct-benefit-body2": "{{PLURAL:$1|strona|stronje|strony|stronow}}",
-       "createacct-benefit-body3": "{{PLURAL:$1|aktiwny sobuskutkowar|aktiwnej sobuskutkowarjej|aktiwni sobuskutkowarjo}}",
+       "createacct-benefit-body3": "{{PLURAL:$1|aktiwny sobuskutkowar|aktiwnej sobuskutkowarjej|aktiwni sobuskutkowarjo|aktiwnych sobuskutkowarjow}}",
        "badretype": "Hesle, kotrejž sy zapodał, so njekryjetej.",
        "userexists": "Wužiwarske mjeno, kotrež sy zapodał, so hižo wužiwa.\nProšu wubjer druhe mjeno.",
        "loginerror": "Zmylk při přizjewjenju",
index 11c5b77..1bd7814 100644 (file)
        "summary-preview": "Ամփոփման նախադիտում:",
        "subject-preview": "Վերնագրի նախադիտում:",
        "blockedtitle": "Մասնակիցը արգելափակված է",
-       "blockedtext": "'''Õ\81Õ¥Ö\80 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¡Õ¶Õ¸Ö\82Õ¶Õ¨ Õ¯Õ¡Õ´ IP-Õ°Õ¡Õ½Ö\81Õ¥Õ¶ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¡Õ® Õ§Ö\89'''\n\nÔ±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Õ¯Õ¡Õ¿Õ¡Ö\80Õ¾Õ¥Õ¬ Õ§ $1 Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81Ö\89\nÕ\8fÖ\80Õ¾Õ¡Õ® ÕºÕ¡Õ¿Õ³Õ¡Õ¼Õ¶ Õ§. ''«$2»''\n\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ½Õ¯Õ«Õ¦Õ¢Õ\9d $8\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ´Õ¡Ö\80Õ¸Ö\82Õ´Õ\9d $6\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§Õ\9d $7\n\nÔ´Õ¸Ö\82Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Õ¥Ö\84 Õ¯Õ¡ÕºÕ¾Õ¥Õ¬ $1 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¡Õ´ Õ´Õ¥Õ¯ Õ¡ÕµÕ¬ [[{{MediaWiki:Grouppage-sysop}}|Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ«]] Õ°Õ¥Õ¿Õ\9d Õ±Õ¥Ö\80 Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ¥Õ¬Õ¸Ö\82 Õ¶ÕºÕ¡Õ¿Õ¡Õ¯Õ¸Õ¾Ö\89 Ô´Õ¡ Õ¶Õ¡Ö\87 Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80 Õ§ Õ¡Õ¶Õ¥Õ¬ Õ±Õ¥Ö\80 Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ´Õ¡Õ¶ Õ§Õ»Õ¸Ö\82Õ´Ö\89\nÔ´Õ¸Ö\82Ö\84 Õ¹Õ¥Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Ö\85Õ£Õ¿Õ¾Õ¥Õ¬` Â«Õ§Õ¬-Õ¶Õ¡Õ´Õ¡Õ¯ Õ¸Ö\82Õ²Õ¡Ö\80Õ¯Õ¥Õ¬ Õ¡ÕµÕ½ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81ին» Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80Õ¸Ö\82Õ©ÕµÕ¸Ö\82Õ¶Õ«Ö\81, Ö\84Õ¡Õ¶Õ« Õ¤Õ¥Õ¼ Õ«Õ¶Ö\84Õ¶Õ¥Ö\80Õ¤ Õ£Õ¸Ö\80Õ®Õ¸Õ² Õ§Õ¬-Ö\83Õ¸Õ½Õ¿Õ« Õ°Õ¡Õ½Ö\81Õ¥ Õ¹Õ§ք  նշել ձեր [[Special:Preferences|մասնակցի նախընտրություններում]] և չեք արգելափակվել այս հնարավորւությունը օգտագործելուց։\n\nՁեր ընթացիկ IP-հասցեն է` $3, արգելափակման իդենտիֆիկատորը՝ #$5։\nԽնդրում ենք նշել այս տվյալները ձեր հարցումների ժամանակ։",
-       "autoblockedtext": "Õ\81Õ¥Ö\80 IP-Õ°Õ¡Õ½Ö\81Õ¥Õ¶ Õ¡Õ¾Õ¿Õ¸Õ´Õ¡Õ¿Õ«Õ¯ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¡Õ® Õ§, Ö\84Õ¡Õ¶Õ« Õ¸Ö\80 Õ¡ÕµÕ¶ Ö\85Õ£Õ¿Õ¡Õ£Õ¸Ö\80Õ®Õ¾Õ¥Õ¬ Õ§ Õ¡ÕµÕ¬ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81, Õ¸Ö\80Õ¨ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§ $1 Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81Ö\89\n\nÕ\8fÖ\80Õ¾Õ¡Õ® ÕºÕ¡Õ¿Õ³Õ¡Õ¼Õ¶ Õ§.\n:''«$2»''\n\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ½Õ¯Õ«Õ¦Õ¢Õ\9d $8\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ´Õ¡Ö\80Õ¸Ö\82Õ´Õ\9d $6\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§Õ\9d $7\n\nÔ´Õ¸Ö\82Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Õ¥Ö\84 Õ¯Õ¡ÕºÕ¾Õ¥Õ¬ $1 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¡Õ´ Õ´Õ¥Õ¯ Õ¡ÕµÕ¬ [[{{MediaWiki:Grouppage-sysop}}|Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ«]] Õ°Õ¥Õ¿Õ\9d Õ±Õ¥Ö\80 Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ¥Õ¬Õ¸Ö\82 Õ¶ÕºÕ¡Õ¿Õ¡Õ¯Õ¸Õ¾Ö\89\n\nÔ´Õ¸Ö\82Ö\84 Õ¹Õ¥Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Ö\85Õ£Õ¿Õ¾Õ¥Õ¬ Â«Õ§Õ¬-Õ¶Õ¡Õ´Õ¡Õ¯ Õ¸Ö\82Õ²Õ¡Ö\80Õ¯Õ¥Õ¬ Õ¡ÕµÕ½ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81ին» Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80Õ¸Ö\82Õ©ÕµÕ¸Ö\82Õ¶Õ«Ö\81 Ö\84Õ¡Õ¶Õ« Õ¤Õ¥Õ¼ Õ«Õ¶Ö\84Õ¶Õ¥Ö\80Õ¤ Õ£Õ¸Ö\80Õ®Õ¸Õ² Õ§Õ¬-Ö\83Õ¸Õ½Õ¿Õ« Õ°Õ¡Õ½Ö\81Õ¥ Õ¹Õ§ք  նշել ձեր [[Special:Preferences|մասնակցի նախընտրություններում]] և չեք արգելափակվել այս հնարավորությից օգտվելուց։\n\nՁեր ընթացիկ IP-հասցեն է $3, արգելափակման իդենտիֆիկատորը՝ $5։\nԽնդրում ենք նշել այս տվյալները ձեր հարցումների ժամանակ։",
+       "blockedtext": "'''Õ\81Õ¥Ö\80 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¡Õ¶Õ¸Ö\82Õ¶Õ¨ Õ¯Õ¡Õ´ IP-Õ°Õ¡Õ½Ö\81Õ¥Õ¶ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¡Õ® Õ§Ö\89'''\n\nÔ±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Õ¯Õ¡Õ¿Õ¡Ö\80Õ¾Õ¥Õ¬ Õ§ $1 Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81Ö\89\nÕ\8fÖ\80Õ¾Õ¡Õ® ÕºÕ¡Õ¿Õ³Õ¡Õ¼Õ¶ Õ§. ''«$2»''\n\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ½Õ¯Õ«Õ¦Õ¢Õ\9d $8\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ´Õ¡Ö\80Õ¸Ö\82Õ´Õ\9d $6\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§Õ\9d $7\n\nÔ´Õ¸Ö\82Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Õ¥Ö\84 Õ¯Õ¡ÕºÕ¾Õ¥Õ¬ $1 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¡Õ´ Õ´Õ¥Õ¯ Õ¡ÕµÕ¬ [[{{MediaWiki:Grouppage-sysop}}|Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ«]] Õ°Õ¥Õ¿Õ\9d Õ±Õ¥Ö\80 Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ¥Õ¬Õ¸Ö\82 Õ¶ÕºÕ¡Õ¿Õ¡Õ¯Õ¸Õ¾Ö\89 Ô´Õ¡ Õ¶Õ¡Ö\87 Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80 Õ§ Õ¡Õ¶Õ¥Õ¬ Õ±Õ¥Ö\80 Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ´Õ¡Õ¶ Õ§Õ»Õ¸Ö\82Õ´Ö\89\nÔ´Õ¸Ö\82Ö\84 Õ¹Õ¥Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Ö\85Õ£Õ¿Õ¾Õ¥Õ¬` Â«Õ§Õ¬-Õ¶Õ¡Õ´Õ¡Õ¯ Õ¸Ö\82Õ²Õ¡Ö\80Õ¯Õ¥Õ¬ Õ¡ÕµÕ½ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81ին» Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80Õ¸Ö\82Õ©ÕµÕ¸Ö\82Õ¶Õ«Ö\81, Ö\84Õ¡Õ¶Õ« Õ¤Õ¥Õ¼ Õ«Õ¶Ö\84Õ¶Õ¥Ö\80Õ¤ Õ£Õ¸Ö\80Õ®Õ¸Õ² Õ§Õ¬-Ö\83Õ¸Õ½Õ¿Õ« Õ°Õ¡Õ½Ö\81Õ¥ Õ¹Õ¥ք  նշել ձեր [[Special:Preferences|մասնակցի նախընտրություններում]] և չեք արգելափակվել այս հնարավորւությունը օգտագործելուց։\n\nՁեր ընթացիկ IP-հասցեն է` $3, արգելափակման իդենտիֆիկատորը՝ #$5։\nԽնդրում ենք նշել այս տվյալները ձեր հարցումների ժամանակ։",
+       "autoblockedtext": "Õ\81Õ¥Ö\80 IP-Õ°Õ¡Õ½Ö\81Õ¥Õ¶ Õ¡Õ¾Õ¿Õ¸Õ´Õ¡Õ¿Õ«Õ¯ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¡Õ® Õ§, Ö\84Õ¡Õ¶Õ« Õ¸Ö\80 Õ¡ÕµÕ¶ Ö\85Õ£Õ¿Õ¡Õ£Õ¸Ö\80Õ®Õ¾Õ¥Õ¬ Õ§ Õ¡ÕµÕ¬ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81, Õ¸Ö\80Õ¨ Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§ $1 Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ« Õ¯Õ¸Õ²Õ´Õ«Ö\81Ö\89\n\nÕ\8fÖ\80Õ¾Õ¡Õ® ÕºÕ¡Õ¿Õ³Õ¡Õ¼Õ¶ Õ§.\n:''«$2»''\n\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ½Õ¯Õ«Õ¦Õ¢Õ\9d $8\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ´Õ¡Õ¶ Õ´Õ¡Ö\80Õ¸Ö\82Õ´Õ\9d $6\n* Ô±Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¾Õ¥Õ¬ Õ§Õ\9d $7\n\nÔ´Õ¸Ö\82Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Õ¥Ö\84 Õ¯Õ¡ÕºÕ¾Õ¥Õ¬ $1 Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81Õ« Õ¯Õ¡Õ´ Õ´Õ¥Õ¯ Õ¡ÕµÕ¬ [[{{MediaWiki:Grouppage-sysop}}|Õ¡Õ¤Õ´Õ«Õ¶Õ«Õ½Õ¿Ö\80Õ¡Õ¿Õ¸Ö\80Õ«]] Õ°Õ¥Õ¿Õ\9d Õ±Õ¥Ö\80 Õ¡Ö\80Õ£Õ¥Õ¬Õ¡Ö\83Õ¡Õ¯Õ¸Ö\82Õ´Õ¨ Ö\84Õ¶Õ¶Õ¡Ö\80Õ¯Õ¥Õ¬Õ¸Ö\82 Õ¶ÕºÕ¡Õ¿Õ¡Õ¯Õ¸Õ¾Ö\89\n\nÔ´Õ¸Ö\82Ö\84 Õ¹Õ¥Ö\84 Õ¯Õ¡Ö\80Õ¸Õ² Ö\85Õ£Õ¿Õ¾Õ¥Õ¬ Â«Õ§Õ¬-Õ¶Õ¡Õ´Õ¡Õ¯ Õ¸Ö\82Õ²Õ¡Ö\80Õ¯Õ¥Õ¬ Õ¡ÕµÕ½ Õ´Õ¡Õ½Õ¶Õ¡Õ¯Ö\81ին» Õ°Õ¶Õ¡Ö\80Õ¡Õ¾Õ¸Ö\80Õ¸Ö\82Õ©ÕµÕ¸Ö\82Õ¶Õ«Ö\81 Ö\84Õ¡Õ¶Õ« Õ¤Õ¥Õ¼ Õ«Õ¶Ö\84Õ¶Õ¥Ö\80Õ¤ Õ£Õ¸Ö\80Õ®Õ¸Õ² Õ§Õ¬-Ö\83Õ¸Õ½Õ¿Õ« Õ°Õ¡Õ½Ö\81Õ¥ Õ¹Õ¥ք  նշել ձեր [[Special:Preferences|մասնակցի նախընտրություններում]] և չեք արգելափակվել այս հնարավորությից օգտվելուց։\n\nՁեր ընթացիկ IP-հասցեն է $3, արգելափակման իդենտիֆիկատորը՝ $5։\nԽնդրում ենք նշել այս տվյալները ձեր հարցումների ժամանակ։",
        "blockednoreason": "պատճառ չի տրվել",
        "whitelistedittext": "Անհրաժեշտ է $1 էջերը խմբագրելու համար։",
        "confirmedittext": "Էջերի խմբագրումից առաջ անհրաժեշտ է վավերացնել էլ-հասցեն։\nԽնդրում ենք նշել և վավերացնել ձեր էլ-փոստի հասցեն ձեր [[Special:Preferences|նախընտրությունների]] մեջ։",
index f81c828..c8d3d28 100644 (file)
        "mypreferencesprotected": "Non si dispone dei permessi necessari per modificare le proprie preferenze.",
        "ns-specialprotected": "Le pagine speciali non possono essere modificate.",
        "titleprotected": "La creazione di una pagina con questo titolo è stata bloccata da [[User:$1|$1]].\nLa motivazione è la seguente: ''$2''.",
-       "filereadonlyerror": "Non è stato possibile modificare il file \"$1\" poiché il repository di file \"$2\" è in modalità di sola lettura.\n\nL'amministratore che lo ha bloccato ha fornito questa motivazione: \"$3\".",
+       "filereadonlyerror": "Non è stato possibile modificare il file \"$1\" poiché il repository di file \"$2\" è in modalità di sola lettura.\n\nL'amministratore di sistema che lo ha bloccato ha fornito questa motivazione: \"$3\".",
        "invalidtitle-knownnamespace": "Titolo non valido con namespace \"$2\" e testo \"$3\"",
        "invalidtitle-unknownnamespace": "Titolo non valido con namespace sconosciuto \"$1\" e testo \"$2\"",
        "exception-nologin": "Accesso non effettuato",
        "passwordreset-emailtext-user": "L'utente $1 di {{SITENAME}} ha richiesto l'invio di una nuova password per l'accesso a {{SITENAME}} ($4). {{PLURAL:$3|L'utente associato|Gli utenti associati}} a questo indirizzo email sono:\n\n$2\n\n{{PLURAL:$3|Questa password temporanea scadrà|Queste password temporanee scadranno}} dopo {{PLURAL:$5|un giorno|$5 giorni}}.\nDovresti accedere e scegliere una nuova password ora. \n\nSe non sei stato tu a fare la richiesta, o se ti sei ricordato la password originale e non vuoi più cambiarla, puoi ignorare questo messaggio e continuare al utilizzare la tua vecchia password.",
        "passwordreset-emailelement": "Nome utente: \n$1\n\nPassword temporanea: \n$2",
        "passwordreset-emailsentemail": "Se questo è un indirizzo di posta elettronica registrato per la tua utenza, allora verrà inviata una email per reimpostare la password.",
+       "passwordreset-emailsentusername": "Se c'è un corrispondente indirizzo di posta elettronica registrato, allora verrà inviata una email per reimpostare la password.",
        "passwordreset-emailsent-capture": "È stata inviata una email di reimpostazione della password, il contenuto è riportato di seguito.",
        "passwordreset-emailerror-capture": "È stata generata una email di reimpostazione della password, riportata di seguito. L'invio {{GENDER:$2|all'utente}} non è riuscito: $1",
        "changeemail": "Modifica o rimuovi indirizzo email",
        "copyrightwarning2": "Per favore tieni presente che tutti i contributi a {{SITENAME}} possono essere modificati, stravolti o cancellati da altri contributori.\nSe non vuoi che i tuoi testi possano essere alterati, allora non inserirli.<br />\nInviando il testo dichiari inoltre, sotto tua responsabilità, che è stato scritto da te personalmente oppure è stato copiato da una fonte di pubblico dominio o similarmente libera (vedi $1 per maggiori dettagli).\n'''Non inviare materiale protetto da copyright senza autorizzazione!'''",
        "editpage-cannot-use-custom-model": "Il modello del contenuto di questa pagina non può essere modificato.",
        "longpageerror": "'''Errore: il testo inviato è lungo {{PLURAL:$1|1|$1}} kilobyte, che è maggiore della dimensione massima consentita ({{PLURAL:$2|1|$2}} kilobyte).'''\nIl testo non può essere salvato.",
-       "readonlywarning": "<strong>ATTENZIONE</strong>: il database è bloccato per manutenzione, non è momentaneamente possibile salvare le modifiche effettuate.\nPer non perderle, copiale in un file di testo e salvalo in attesa dello sblocco del database.\n\nL'amministratore che impostato il blocco ha fornito questa spiegazione: $1.",
+       "readonlywarning": "<strong>Attenzione</strong>: il database è bloccato per manutenzione, non è momentaneamente possibile salvare le modifiche effettuate.\nPer non perderle, copiale in un file di testo e salvalo in attesa dello sblocco del database.\n\nL'amministratore di sistema che impostato il blocco ha fornito questa spiegazione: $1.",
        "protectedpagewarning": "'''Attenzione: questa pagina è stata bloccata in modo che solo gli utenti con privilegi di amministratore possano modificarla.'''\nL'ultimo elemento del registro è riportato di seguito per informazione:",
        "semiprotectedpagewarning": "'''Nota:''' Questa pagina è stata bloccata in modo che solo gli utenti registrati possano modificarla.\nL'ultimo elemento del registro è riportato di seguito per informazione:",
        "cascadeprotectedwarning": "<strong>Attenzione:</strong> Questa pagina è stata bloccata in modo che solo gli utenti con privilegi di amministratore possano modificarla poiché è inclusa selezionando la protezione \"ricorsiva\" {{PLURAL:$1|nella pagina|nelle pagine}}:",
        "permissionserrors": "Permessi non sufficienti",
        "permissionserrorstext": "Non si dispone dei permessi necessari ad eseguire l'azione richiesta, per {{PLURAL:$1|il seguente motivo|i seguenti motivi}}:",
        "permissionserrorstext-withaction": "Non si dispone dei permessi necessari per $2, per {{PLURAL:$1|il seguente motivo|i seguenti motivi}}:",
-       "contentmodelediterror": "Non è possibile modificare questa versione poiché il suo modello di contenuto è <code>$1</code>, mentre il modello di contenuto attuale della pagina è <code>$2</code>.",
+       "contentmodelediterror": "Non puoi modificare questa versione poiché il suo modello di contenuto è <code>$1</code>, che differisce dall'attuale modello di contenuto della pagina <code>$2</code>.",
        "recreate-moveddeleted-warn": "<strong>Attenzione: si sta per ricreare una pagina già cancellata in passato.</strong>\n\nAccertarsi che sia davvero opportuno continuare a modificare questa pagina.\nL'elenco delle relative cancellazioni e degli spostamenti viene riportato di seguito per comodità:",
        "moveddeleted-notice": "Questa pagina è stata cancellata. L'elenco delle relative cancellazioni e degli spostamenti viene riportato di seguito per informazione.",
        "moveddeleted-notice-recent": "Spiacenti, questa pagina è stata cancellata recentemente (nelle ultime 24 ore).\n\nLe azioni di cancellazione e spostamento per questa pagina sono disponibili di seguito per completezza.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Attesto che possiedo i diritti d'autore su questo file, e accetto irrevocabilmente il rilascio di questo file su Wikimedia Commons in base alla licenza [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribuzione-Condividi allo stesso modo 4.0], e accetto le [https://wikimediafoundation.org/wiki/Terms_of_Use Condizioni d'uso].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Se non possiedi i diritti d'autore su questo file, o se lo vuoi rilasciare con una licenza diversa, usa il [https://commons.wikimedia.org/wiki/Special:UploadWizard caricamento guidato di Commons].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Puoi anche provare ad usare la [[Special:Upload|pagina di caricamento su {{SITENAME}}]], se il sito consente il caricamento di questo file in base alle sue politiche.",
+       "foreign-structured-upload-form-2-label-intro": "Grazie per aver donato un'immagine da poter usare su {{SITENAME}}. Dovresti continuare solo se soddisfa alcune condizioni:",
+       "foreign-structured-upload-form-2-label-ownwork": "Deve essere interamente <strong>una tua creazione</strong>, non semplicemente prese da Internet",
+       "foreign-structured-upload-form-2-label-noderiv": "Non deve contenere <strong>alcun lavoro da parte di chiunque altro</strong>, o ispirato da alcuno",
+       "foreign-structured-upload-form-2-label-useful": "Dovrebbe essere <strong>educativo e utile</strong> per insegnare agli altri",
+       "foreign-structured-upload-form-2-label-ccbysa": "Devi accettare di <strong>pubblicare irrevocabilmente</strong> su internet in base alla licenza [https://creativecommons.org/licenses/by-sa/4.0/deed.it Creative Commons Attribuzione-Condividi allo stesso modo 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Se non tutte le precedenti condizioni sono vere, puoi comunque caricare questo file usando il [https://commons.wikimedia.org/wiki/Special:UploadWizard caricamento guidato su Commons], a patto che sia disponibile con una licenza libera.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Caricando questo file, affermi che possiedi il copyright su questo file, e accetti irrevocabilmente di rilasciare questo file su Wikimedia Commons il base alla licenza Creative Commons Attribuzione-Condividi allo stesso modo 4.0, ed accetti inoltre le [https://wikimediafoundation.org/wiki/Terms_of_Use condizioni d'uso].",
+       "foreign-structured-upload-form-3-label-question-website": "Hai scaricato questa immagine da un sito web, o l'hai presa da un motore di ricerca per immagini?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Hai creato tu questa immagine (scattato la foto, creato il disegno, ecc.)?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Contiene, o è ispirato, da opere di altri, come un logo?",
+       "foreign-structured-upload-form-3-label-yes": "Sì",
+       "foreign-structured-upload-form-3-label-no": "No",
+       "foreign-structured-upload-form-3-label-alternative": "Purtroppo, in questo caso, questo strumento non supporta il caricamento di questo file. Puoi ancora caricarlo usando il [https://commons.wikimedia.org/wiki/Special:UploadWizard caricamento guidato su Commons], a patto che sia disponibile con una licenza libera.",
+       "foreign-structured-upload-form-4-label-good": "Usando questo strumento, puoi caricare grafici educativi che hai creato e fotografie che hai scattato, e che non contengono lavoro di proprietà di qualcun altro.",
+       "foreign-structured-upload-form-4-label-bad": "Non puoi caricare immagini trovate su un motore di ricerca o scaricate da un altro sito web.",
        "backend-fail-stream": "Impossibile trasmettere il file $1.",
        "backend-fail-backup": "Impossibile eseguire il backup del file $1 .",
        "backend-fail-notexists": "Il file $1 non esiste.",
        "protectedpages-performer": "Protetta dall'utente",
        "protectedpages-params": "Parametri di protezione",
        "protectedpages-reason": "Motivo",
+       "protectedpages-submit": "Mostra pagine",
        "protectedpages-unknown-timestamp": "Sconosciuto",
        "protectedpages-unknown-performer": "Utente sconosciuto",
        "protectedtitles": "Titoli protetti",
        "protectedtitles-summary": "Questa pagina elenca i titoli che sono attualmente protetti dalla creazione. Per un elenco di pagine esistenti che sono protette, vedi [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Al momento non esistono titoli protetti con i parametri specificati.",
+       "protectedtitles-submit": "Mostra titoli",
        "listusers": "Elenco degli utenti",
        "listusers-editsonly": "Mostra solo utenti con dei contributi",
        "listusers-creationsort": "Ordina per data di creazione",
        "activeusers-hidebots": "Nascondi i bot",
        "activeusers-hidesysops": "Nascondi gli amministratori",
        "activeusers-noresult": "Nessun utente risponde ai criteri impostati.",
+       "activeusers-submit": "Mostra utenti attivi",
        "listgrouprights": "Diritti del gruppo utente",
        "listgrouprights-summary": "Di seguito sono elencati i gruppi utente definiti per questo sito, con i diritti d'accesso loro associati.\nPotrebbero esserci [[{{MediaWiki:Listgrouprights-helppage}}|ulteriori informazioni]] sui diritti individuali.",
        "listgrouprights-key": "Legenda:\n* <span class=\"listgrouprights-granted\">Diritto assegnato</span>\n* <span class=\"listgrouprights-revoked\">Diritto revocato</span>",
index 0461be8..24240ff 100644 (file)
        "tog-showhiddencats": "隠しカテゴリを表示",
        "tog-norollbackdiff": "巻き戻し後の差分を表示しない",
        "tog-useeditwarning": "変更を保存せずに編集画面から離れようとしたら警告",
-       "tog-prefershttps": "ログインする際、常に SSL (https) 接続を使用する",
+       "tog-prefershttps": "ログインする際、常に安全な接続を使用する",
        "underline-always": "常に付ける",
        "underline-never": "常に付けない",
        "underline-default": "外装またはブラウザーの既定値を使用",
        "laggedslavemode": "<strong>警告:</strong> ページに最新の編集が反映されていない可能性があります。",
        "readonly": "データベースがロックされています",
        "enterlockreason": "ロックの理由の入力と、ロック解除の予定を、入力してください",
-       "readonlytext": "データベースは現在、新しいページの追加や編集を受け付けない「ロック状態」になっています。これはおそらくデータベースの定期メンテナンスのためで、メンテナンス終了後は正常な状態に復帰します。\n\nデータベースをロックした管理者による説明は以下の通りです: $1",
+       "readonlytext": "データベースは現在、新しいページの追加や編集を受け付けない「ロック状態」になっています。これはおそらくデータベースの定期メンテナンスのためで、メンテナンス終了後は正常な状態に復帰します。\n\nデータベースをロックしたシステム管理者による説明は以下の通りです: $1",
        "missing-article": "指定されたページ「$1」$2 の本文がデータベース内で見つかりませんでした。\n\n通常、削除されたページの版への古い差分表示や固定リンクをたどった際に、このようなことが起きます。\n\nそれ以外の操作でこのメッセージが表示された場合、ソフトウェアのバグである可能性があります。\n[[Special:ListUsers/sysop|管理者]]までその URL を添えてお知らせください。",
        "missingarticle-rev": "(版番号: $1)",
        "missingarticle-diff": "(差分: $1, $2)",
        "mypreferencesprotected": "あなたには自身の個人設定を編集する権限がありません。",
        "ns-specialprotected": "特別ページは編集できません。",
        "titleprotected": "[[User:$1|$1]]によりこのページ名を持つページの作成は保護されています。\n理由は「<em>$2</em>」です。",
-       "filereadonlyerror": "ファイルリポジトリ「$2」が読み取り専用の状態にあるため、ファイル「$1」を変更できません。\n\n読み取り専用に設定した管理者からの説明:「$3」",
+       "filereadonlyerror": "ファイルリポジトリ「$2」が読み取り専用の状態にあるため、ファイル「$1」を変更できません。\n\n読み取り専用に設定したシステム管理者からの説明: 「$3」",
        "invalidtitle-knownnamespace": "名前空間名「$2」と名前「$3」の組み合わせはページ名として無効です",
        "invalidtitle-unknownnamespace": "不明な名前空間番号 $1 と名前「$2」の組み合わせはページ名として無効です",
        "exception-nologin": "ログインしていません",
        "copyrightwarning2": "{{SITENAME}}への投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。\n自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。<br />\nまた、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は$1を参照)。\n<strong>著作権保護されている作品は、許諾なしに投稿しないでください!</strong>",
        "editpage-cannot-use-custom-model": "このページのコンテント・モデル(content model)を変更することは、できません。",
        "longpageerror": "<strong>エラー: 投稿された文章は {{PLURAL:$1|$1 KB}} の長さがあります。これは投稿できる最大の長さ {{PLURAL:$2|$2 KB}} を超えています。</strong>\nこの編集内容は保存できません。",
-       "readonlywarning": "<strong>警告: データベースがメンテナンスのためロックされており、現在は編集内容を保存できません。</strong>\n必要であれば文章をコピー&amp;ペーストしてテキストファイルとして保存し、後ほど保存をやり直してください。\n\nデータベースをロックした管理者による説明は以下の通りです: $1",
+       "readonlywarning": "<strong>警告: データベースがメンテナンスのためロックされており、現在は編集内容を保存できません。</strong>\n必要であれば文章をコピー&amp;ペーストしてテキストファイルとして保存し、後ほど保存をやり直してください。\n\nデータベースをロックしたシステム管理者による説明は以下の通りです: $1",
        "protectedpagewarning": "<strong>警告: このページは保護されているため、管理者権限を持つ利用者のみが編集できます。</strong>\n参考として以下に最後の記録を表示します:",
        "semiprotectedpagewarning": "<strong>注意:</strong> このページは保護されているため、登録利用者のみが編集できます。\n参考として以下に最後の記録を表示します:",
        "cascadeprotectedwarning": "<strong>警告:</strong> このページはカスケード保護されている以下の{{PLURAL:$1|ページ|ページ群}}からトランスクルードのため読み込まれているので、管理者権限を持つ利用者のみが編集できるように保護されています:",
        "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 Terms of Use] に同意します。",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "このファイルの著作権を所有していない場合、または別のライセンスの下でそれをリリースしたい場合には、 [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard] を使用することを検討してください。",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "もしサイトが、それらの方針の下で、このファイルのアップロードを許可する場合は、You may also want to try using [[Special:Upload|{{SITENAME}}上でのアップロードページ]]を使用することも試してください。",
+       "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 は存在しません。",
index 2ba2c7e..48309cf 100644 (file)
        "search-category": "(კატეგორია $1)",
        "search-file-match": "(ემთხვევა ფაილის შინაარსს)",
        "search-suggest": "ხომ არ იგულისხმეთ: $1?",
+       "search-rewritten": "ნაჩვენებია შედეგები $1-სთვის. ძებნა $2-ის ნაცვლად.",
        "search-interwiki-caption": "დობილი პროექტები",
        "search-interwiki-default": "შედეგები $1-დან:",
        "search-interwiki-more": "(გაგრძელება)",
index ca6843b..eab9811 100644 (file)
        "pagetitle-view-mainpage": "",
        "retrievedfrom": "\"$1\" ra ard",
        "youhavenewmessages": "Yê sıma $1 ($2) esto.",
-       "youhavenewmessagesmulti": "$1 de mesacê sımaê newey estê",
+       "youhavenewmessagesmulti": "$1 de mesacê sımayê neweyi estê",
        "editsection": "bıvurne",
        "editold": "bıvurne",
        "viewsourceold": "çımey bıvêne",
index a19fea6..50e9bb6 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> кезінен бергі (<strong>$1</strong> өңдемеге дейін) {{PLURAL:$5|өзгерістер|өзгерістер}} көрсетіледі.",
        "rclistfrom": "$2, $3 кезінен бергі жаңа өзгерістерді көрсет.",
        "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": "$1 {{PLURAL:$1|өңдеме|өңдемелер}}",
        "usercreated": "$1 $2-та {{GENDER:$3|басталған}}",
        "newpages": "Ең жаңа беттер",
+       "newpages-submit": "Көрсету",
        "newpages-username": "Қатысушы аты:",
        "ancientpages": "Ең ескі беттер",
        "move": "Жылжыту",
        "specialloguserlabel": "Орындаушы:",
        "speciallogtitlelabel": "Нысана (атауы немесе қатысушының {{ns:user}}:қатысушы есімі):",
        "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>",
        "wlshowlast": "Соңғы $1 сағаттағы, $2 күндегіні көрсету",
        "watchlistall2": "барлық",
        "watchlist-hide": "Жасыру",
+       "watchlist-submit": "Көрсету",
        "wlshowtime": "Соңғысын көрсету:",
        "wlshowhideminor": "шағын өңдемелер",
        "wlshowhidebots": "боттар",
        "delete-confirm": "«$1» дегенді жою",
        "delete-legend": "Жою",
        "historywarning": "<strong>Ескету:</strong> Сіз жоймақшы болған бет тарихында  $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 02f811e..7ddf918 100644 (file)
@@ -55,7 +55,8 @@
                        "Kurousagi",
                        "Macofe",
                        "Yearning",
-                       "고솜"
+                       "고솜",
+                       "Sternradio"
                ]
        },
        "tog-underline": "링크에 밑줄:",
        "foreign-structured-upload-form-label-infoform-categories": "분류",
        "foreign-structured-upload-form-label-infoform-date": "날짜",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "이 파일의 저작권을 소유하지 않거나 다른 라이선스로 배포하고 싶다면 [https://commons.wikimedia.org/wiki/Special:UploadWizard 공용 파일 올리기 마법사]를 이용해 보세요.",
+       "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 파일이 존재하지 않습니다.",
        "wlshowhidebots": "봇",
        "wlshowhideliu": "등록된 사용자",
        "wlshowhideanons": "익명 사용자",
+       "wlshowhidepatr": "순찰한 편집",
        "wlshowhidemine": "내 편집",
        "watchlist-options": "주시문서 목록 설정",
        "watching": "주시 추가 중…",
        "protectedarticle": "사용자가 \"[[$1]]\" 문서를 보호했습니다",
        "modifiedarticleprotection": "사용자가 \"[[$1]]\" 문서의 보호 설정을 바꿨습니다",
        "unprotectedarticle": "사용자가 \"[[$1]]\" 문서를 보호 해제했습니다",
-       "movedarticleprotection": "사용자가 문서의 보호 설정을 \"[[$2]]\"에서 \"[[$1]]\"으로 이동했습니다",
+       "movedarticleprotection": "사용자가 문서의 보호 설정을 \"[[$2]]\"에서 \"[[$1]]\"으로 변경했습니다",
        "protect-title": "\"$1\" 보호하기",
        "protect-title-notallowed": "\"$1\" 문서의 보호 수준 보기",
        "prot_1movedto2": "[[$1]] 문서를 [[$2]] 문서로 옮김",
        "move-page-legend": "문서 이동",
        "movepagetext": "아래 양식을 채워 문서의 이름을 바꾸고 모든 역사를 새 이름으로 된 문서로 옮길 수 있습니다.\n원래의 문서는 새 문서로 넘겨주는 링크로만 남게 되고,\n원래 이름을 가리키는 넘겨주기는 자동으로 갱신됩니다.\n만약 이 설정을 선택하지 않았다면 [[Special:DoubleRedirects|이중 넘겨주기]]와 [[Special:BrokenRedirects|끊긴 넘겨주기]]를 확인해주세요.\n당신은 링크와 가리키는 대상이 서로 일치하도록 해야 할 책임이 있습니다.\n\n만약 이미 있는 문서의 이름을 새 이름으로 입력했을 때는 그 문서가 넘겨주기 문서이고 문서 역사가 없어야만 이동이 됩니다. 그렇지 않을 경우에는 이동되지 <strong>않습니다</strong>.\n이것은 실수로 이동한 문서를 되돌릴 수는 있지만, 이미 존재하는 문서 위에 덮어씌울 수는 없다는 것을 의미합니다.\n\n<strong>주의!</strong>\n자주 사용하는 문서를 이동하면 해결하기 어려운 문제를 일으킬 수도 있습니다.\n이동하기 전에 반드시 이 문서를 이동해도 문제가 없는지 확인해주세요.",
        "movepagetext-noredirectfixer": "아래 양식을 채워 문서의 이름을 바꾸고 모든 역사를 새 이름으로 된 문서로 이동할 수 있습니다.\n원래의 문서는 새 문서로 넘겨주는 링크로만 남게 됩니다.\n[[Special:DoubleRedirects|이중 넘겨주기]]와 [[Special:BrokenRedirects|끊긴 넘겨주기]]를 확인해주세요.\n당신은 링크와 가리키는 대상이 서로 일치하도록 해야 할 책임이 있습니다.\n\n만약 이미 있는 문서의 이름을 새 이름으로 입력했을 때는 그 문서가 넘겨주기 문서이고 문서 역사가 없어야만 이동이 됩니다. 그렇지 않을 경우에는 이동되지 <strong>않습니다</strong>.\n이것은 실수로 옮긴 문서를 되돌릴 수는 있지만, 이미 존재하는 문서 위에 덮어씌울 수는 없다는 것을 의미합니다.\n\n<strong>주의!</strong>\n자주 사용하는 문서를 이동하면 해결하기 어려운 문제를 일으킬 수도 있습니다.\n이동하기 전에 반드시 이 문서를 이동해도 문제가 없는지 확인해주세요.",
-       "movepagetalktext": "ì²´í\81¬í\95\98ë©´, ë\94¸ë¦° í\86 ë¡  ë¬¸ì\84\9cê°\80 ì\9e\90ë\8f\99ì\9c¼ë¡\9c ì\9d´ë\8f\99ë\90©ë\8b\88ë\8b¤. ë\8b¤ë§\8c, ë¹\84ì\96´ì\9e\88ì§\80 ì\95\8aì\9d\80 í\86 ë¡  ë¬¸ì\84\9cê°\80 ì\9e\88ë\8b¤ë©´ ì\9d´ë\8f\99ë\90\98ì§\80 ì\95\8aì\8aµë\8b\88ë\8b¤.\n\nì\9d´ë\9f¬í\95\9c ê²½ì\9a°ì\97\90ë\8a\94, 수동으로 이동하거나 합쳐야 합니다.",
+       "movepagetalktext": "ì\9d´ ì¹¸ì\97\90 ì²´í\81¬í\95\98ë©´, ë\94¸ë¦° í\86 ë¡  ë¬¸ì\84\9cê°\80 ì\9e\90ë\8f\99ì\9c¼ë¡\9c ì\9d´ë\8f\99ë\90©ë\8b\88ë\8b¤. ë\8b¤ë§\8c ë¹\84ì\96´ì\9e\88ì§\80 ì\95\8aì\9d\80 í\86 ë¡  ë¬¸ì\84\9cê°\80 ì\9e\88ë\8b¤ë©´ ì\9d´ë\8f\99ë\90\98ì§\80 ì\95\8aì\8aµë\8b\88ë\8b¤.\n\nì\9d´ë\9f¬í\95\9c ê²½ì\9a°ì\97\90ë\8a\94 수동으로 이동하거나 합쳐야 합니다.",
        "moveuserpage-warning": "<strong>경고:</strong> 사용자 문서를 이동하려고 하고 있습니다. 사용자 문서만 이동되며 사용자 이름이 바뀌지 <strong>않는다</strong>는 점을 참고하세요.",
        "movecategorypage-warning": "<strong>경고:</strong> 분류 문서를 이동하려고 합니다. 해당 문서만 이동되고 옛 분류에 있는 문서는 새 분류 안에 다시 분류되지 <em>않음</em>을 참고하세요.",
        "movenologintext": "문서를 이동하려면 [[Special:UserLogin|로그인]]해야 합니다.",
index 81ed4e7..c34ecd3 100644 (file)
        "gender-female": "Dat Su-wi-De-heiß schriiv heh em Wiki met.",
        "prefs-help-gender": "* Moß mer nit aanjävve, un dat kritt de janne Welt ze sinn, nit nur Do allein.",
        "email": "<i lang=\"en\">e-mail</i>",
-       "prefs-help-realname": "Dinge rechteje Nahme kanns De fott lohße.\nWann De en ävver nenne wells, dann kann dä jebruch wähde, öm Ding Beijdrähschdomet ze schmöke.",
+       "prefs-help-realname": "Dinge rechteje Nahme kanns De fott lohße.\nWann De en ävver nenne wells, dann kann dä jebruch wähde, öm Ding Beijdrähsch domet ze schmöke.",
        "prefs-help-email": "Ding <i lang=\"en\">e-mail</i> Adress - kanns De fottlooße, un se es för Andre nit ze sinn - mäht et ävver müjjelich, Der e neu Passwoot ze schecke, wann De et ens verjäße häß.",
        "prefs-help-email-others": "Do kannß och zohlohße, dat mer Der domet övver Ding Metmaacherklaafsigg en <i lang=\"en\">e-mail</i> schecke kann. Esu künne ander Metmaacher met Der en Kontak kumme, ohne dat se Dinge Name oder Ding <i lang=\"en\">e-Mail</i> Adress kenne mööte.",
        "prefs-help-email-required": "Do moß en <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"„de eläktrohnesche Poß“\">e-mail</i>-Adräß aanjävve.",
        "prefs-help-prefershttps": "Di Enschtällong kütt eets zom drahre, wann De nähksde Mohl enloggs.",
        "prefswarning-warning": "Do häs Ding Ennschtällonge verändert, ävver dat noch nit faßjehallde. De moß heh di Sigg met däm Knopp „$1“ verlohße, söns sin Ding Änderonge fott.",
        "prefs-tabs-navigation-hint": "Opjepaß: Met dä Piel-Knöppe kanns de noh rääds un lenks op de Rigger jonn un se ußsöhke.",
-       "email-address-validity-valid": "De Addräß fö de <i lang=\"en\">e-mail</i> schingk en Odenung",
-       "email-address-validity-invalid": "Jivv en jöltijje Addräß fö de <i lang=\"en\">e-mail</i> en",
        "userrights": "De Metmaacher ehr Rääschde verwallde",
        "userrights-lookup-user": "Metmaacherjruppe verwalde",
        "userrights-user-editname": "Däm Metmaacher singe Nahme:",
index 84c1c0b..8c3ab77 100644 (file)
@@ -38,7 +38,7 @@
        "tog-previewonfirst": "Li cem guherandinê hertim yekemîn pêşdîtinê nîşan bide",
        "tog-enotifwatchlistpages": "Heke rûpel an dosyeyek ez dişopînim were guhertin ji min re e-nameyekê bişîne",
        "tog-enotifusertalkpages": "Dema rûpela min a Gotûbêjê hate guhertin e-nameyekê ji min re bişîne",
-       "tog-enotifminoredits": "Ji bo guhertinên biçûk jî E-nameyekê ji min re bişîne",
+       "tog-enotifminoredits": "Ji bo guhertinên biçûk jî e-nameyekê ji min re bişîne",
        "tog-enotifrevealaddr": "Navnîşana enameya min di agahdariyên enameyan de nîşan bide",
        "tog-shownumberswatching": "Hejmara bikarhênerên dişopînin nîşan bide",
        "tog-oldsig": "Îmzeya heye:",
        "editfont-default": "Tercîhên lêgerokê",
        "sunday": "yekşem",
        "monday": "duşem",
-       "tuesday": "Sêşem",
-       "wednesday": "Ã\87arşem",
-       "thursday": "Pêncşem",
-       "friday": "Ã\8en",
+       "tuesday": "sêşem",
+       "wednesday": "çarşem",
+       "thursday": "pêncşem",
+       "friday": "în",
        "saturday": "şemî",
        "sun": "Ykş",
        "mon": "Duş",
        "broken-file-category": "Rûpelên bi girêdanên xerabûyî",
        "about": "Der barê",
        "article": "Gotar",
-       "newwindow": "(di pencereyek din de wê were nîşandan)",
+       "newwindow": "(di pencereyeke din de wê were nîşandan)",
        "cancel": "Betal bike",
        "moredotdotdot": "Bêhtir...",
-       "morenotlisted": "Ev lîste nehatîye temamkirin.",
+       "morenotlisted": "Ev lîste nehatiye temamkirin.",
        "mypage": "Rûpela min",
        "mytalk": "Gotûbêja min",
        "anontalk": "Gotûbêj ji bo vê IP'ê",
        "viewtalkpage": "Li gotûbêjê binêre",
        "otherlanguages": "Bi zimanên din",
        "redirectedfrom": "(Ji $1 hate beralîkirin)",
-       "redirectpagesub": "Rûpelê beralî bike",
-       "redirectto": "Beralîye vir bike:",
+       "redirectpagesub": "Rûpela beralî bike",
+       "redirectto": "Beraliyê vir bike:",
        "lastmodifiedat": "Ev rûpel cara dawî $1, seet li $2an de hate guherandin.",
        "viewcount": "Ev rûpel {{PLURAL:$1|carekê|caran}} tê xwestin.",
        "protectedpage": "Rûpela parastî",
        "actionthrottledtext": "Te ev tişt di demeke gelekî kin de kir. Ji kerema xwe çend xulekan bisekine û carekî din biceribîne.",
        "protectedpagetext": "Ev rûpel ji bo guhertin û karên din ne kirin hatiye parastin.",
        "viewsourcetext": "Tu dikarî li çavkaniya vê rûpelê binêrî û wê kopî bikî:",
-       "viewyourtext": "Hûn çavkanîyê <strong>guhertinê xwe<strong> yê di vê rûpelê de dikarin bibînin û kopî bikin:",
+       "viewyourtext": "Hûn çavkaniyê <strong>guhertinê xwe</strong> yê di vê rûpelê de dikarin bibînin û kopî bikin:",
        "protectedinterface": "Di vê rûpelê de nivîsandin ji bo navrû(interface)yî zimanan yê vê nivîsbariyê ye û ew tê parastin ku vandalîzm li vê derê çênebe.\nBo lêzêdekirin an jî guherandina wergerên bo hemû wîkiyan ji kerema xwe re mehelîkirina Mediawîkiyê [//translatewiki.net/ translatewiki.net]'ê bi kar bîne.",
        "editinginterface": "'''Hişyarî:''' Tu rûpelekê a ku di Wîkîpediya de ji bo sîstemê girîng e,  diguherînî. Guherandinên di vê rûpelê de wê ji aliyê hemû bikarhêneran ve werin dîtin. Ji bo wergerê ji kerema xwe di [//translatewiki.net/wiki/Main_Page?setlang=ku-latn translatewiki.net] de bixebite, projeya MediaWiki.",
        "cascadeprotected": "Ev rûpel hatiye parastin ji ber guherandinê, ji ber ku ev rûpela di {{PLURAL:$1|vê rûpelê|van rûpelan da}} tê bikaranîn:\n$2",
        "namespaceprotected": "Destûra te ji bo guhertina vê rûpelê '''$1''' di valahiya nav de nîne.",
        "customjsprotected": "Destûra te tune ye ku tu vê rûpela JavaScriptê biguherînî ji ber ku ew eyarên kesane yên bikarhênerên din dihewîne.",
-       "mycustomcssprotected": "Mafê te bo guherandina vê rûpela CCS'ê tune ye.",
+       "mycustomcssprotected": "Destûra te bo guherandina vê rûpela CCS'ê tune ye.",
        "mycustomjsprotected": "Destûra te tune ku tu vê rûpela JavaScriptê biguherînî.",
        "myprivateinfoprotected": "Destûra te tune ye ku tu agahiyên xwe yên kesane biguherînî.",
        "mypreferencesprotected": "Destûr tune ye ku tu eyarên xwe biguherînî.",
        "ns-specialprotected": "Rûpelên taybet {{ns:special}} nikarin werin guherandin.",
        "titleprotected": "Rûpelek bi vî navî nikare bê çêkirin. Ev astengkirin ji [[User:$1|$1]] bi sedema ''$2'' hatiye çêkirin.",
-       "exception-nologin": "Ne têketî",
+       "exception-nologin": "Têneketî",
        "virus-unknownscanner": "Antîvîrusa nenas:",
        "logouttext": "'''Tu niha derketî.'''\n\nTu dikarî {{SITENAME}} niha weke bikarhênerekî nediyarkirî bikarbînî, yan jî tu dikarî dîsa bi vî navê xwe yan navekî din wek bikarhêner <span class='plainlinks'>[$1 dîsa têkevî]</span>.\nBila di bîra te de be ku gengaz e hin rûpel mîna ku tu hîn bi navê xwe qeyd kiriyî werin nîşandan, heta ku tu nîşanên çavlêgerandina (browser) xwe jênebî.",
        "welcomeuser": "Xêr hatî, $1!",
        "remembermypassword": "Şifreya min di her têketina min de bîne bîra xwe (herî zêde $1 {{PLURAL:$1|rojekê|rojan}})",
        "userlogin-remembermypassword": "Min têketî bihêle",
        "userlogin-signwithsecure": "Girêdana parastî bikarbîne",
-       "yourdomainname": "Domaînê te",
+       "yourdomainname": "Domainê te",
        "externaldberror": "Çewtiyeke bingeha daneyan heye, an jî destûra te ya rojanekirina hesabê xweyê navxweyî nîne.",
        "login": "Têkeve",
        "nav-login-createaccount": "Têkeve / hesabekî nû çêke",
        "userloginnocreate": "Têkeve",
        "logout": "Derkeve",
        "userlogout": "Derkeve",
-       "notloggedin": "Tu ne têketî yî",
+       "notloggedin": "Têneketî",
        "userlogin-noaccount": "Hesabekî te nîne?",
        "userlogin-joinproject": "Tevlî {{SITENAME}} bibe",
        "nologin": "Hesabê te nîne? $1.",
        "createacct-benefit-body1": "{{PLURAL:$1|guhertin}}",
        "createacct-benefit-body2": "{{PLURAL:$1|rûpel}}",
        "badretype": "Her du şîfreyên ku te nivîsîn li hevdu nayên.",
-       "userexists": "Ev navî bikarhênerî berê tê bikaranîn. Xêra xwe navekî din dake.",
+       "userexists": "Ev navê bikarhênerî berê tê bikaranîn. Xêra xwe navekî din dake.",
        "loginerror": "Çewtiya têketinê",
        "createacct-error": "Çewtiya çêkirina hesabî",
        "createaccounterror": "Hesab nikare were çêkirin: $1",
        "emailconfirmlink": "E-mail adresê xwe nasbike",
        "invalidemailaddress": "Adresa e-nameyan yê te ne tê qebûlkirin, ji ber ku formata xwe qedexe ye (belkî nîşanên qedexe). Xêra xwe adreseka serrast binivisîne ya vê derê vala bêle.",
        "cannotchangeemail": "E-nameya hesabê bo vê wîkiyê nikare bê guherandin.",
-       "emaildisabled": "Ev sîte e-nameya nikara bişîne.",
+       "emaildisabled": "Ev sîte nikare e-nameyan bişîne.",
        "accountcreated": "Hesab hate çêkirin",
        "accountcreatedtext": "Hesabê bikarhêneran ji $1 ra hate çêkirin.",
        "createaccount-title": "Çêkirina hesabekî ji {{SITENAME}}",
        "passwordreset-emailelement": "Navê bikarhêner:\n$1\n\nŞîfreya niha:\n$2",
        "passwordreset-emailsentemail": "E-nameyeke bibîrxistinê hate şandin.",
        "changeemail": "Navnîşana enameya xwe biguherîne an rabike",
-       "changeemail-oldemail": "Navnîşana E-nameya niha:",
+       "changeemail-oldemail": "Navnîşana e-nameya niha:",
        "changeemail-newemail": "Navnîşana e-nameya nû:",
        "changeemail-none": "(nîne)",
        "changeemail-submit": "Enameyê biguherîne",
        "contributions": "Beşdariyên {{GENDER:$1|bikarhêner}}",
        "contributions-title": "Beşdariyên ji bo $1",
        "mycontris": "Beşdariyên min",
+       "anoncontribs": "Beşdariyên min",
        "contribsub2": "Bo {{GENDER:$3|$1}} ($2)",
        "uctop": "(rojane)",
        "month": "Ji meha (û zûtir):",
index 1580115..311d59d 100644 (file)
        "namespaceprotected": "Tibi non licet paginas spatii nominalis '''$1''' recensere.",
        "ns-specialprotected": "Paginae speciales recenseri non possunt.",
        "titleprotected": "Hic titulus protectus est ab usore [[User:$1|$1]] ne creetur.\nRatio data est \"''$2''\".",
-       "exception-nologin": "Conventum non apertum",
-       "exception-nologin-text": "Ad hanc paginam recensendam conventum aperire oportet",
+       "exception-nologin": "Nomen datum non est",
+       "exception-nologin-text": "Ad hanc paginam recensendam nomen dari oportet.",
        "virus-badscanner": "Configuratio mala: scrutator virorum ignotus: ''$1''",
        "virus-scanfailed": "scrutinium fefellit (codex $1)",
        "virus-unknownscanner": "antivirus incognitus:",
-       "logouttext": "'''Conventum tuum conclusum est.'''\n\nNota bene paginas fortasse videantur quasi tuum conventum esset apertum, priusquam navigatrum purgaveris.",
+       "logouttext": "<strong>Secessisti a Vicipedia.</strong>\n\nNota bene, paginae fortasse videantur quasi nomen tuum dedisses, priusquam navigatrum purgaveris.",
        "welcomeuser": "Salve, $1!",
-       "welcomecreation-msg": "Ratio tua creata est.\nNoli oblivisci [[Special:Preferences|praeferentias]] tuas apud {{grammar:accusative|{{SITENAME}}}} mutare.",
+       "welcomecreation-msg": "Tibi nomen impositum est.\nCura [[Special:Preferences|praeferentias]] tuas apud {{grammar:accusative|{{SITENAME}}}} deligas.",
        "yourname": "Nomen usoris:",
        "userlogin-yourname": "Nomen usoris",
        "userlogin-yourname-ph": "Nomen usoris tuum inscribe",
        "remembermypassword": "Tesseram meam hoc in navigatro inter conventa memento ({{PLURAL:$1|die|diebus}} $1 tenus)",
        "userlogin-remembermypassword": "Nomen meum retineatur",
        "yourdomainname": "Regnum tuum:",
-       "login": "Conventum aperire",
-       "nav-login-createaccount": "Conventum aperire / conventum creare",
-       "userlogin": "Conventum aperire / conventum creare",
-       "userloginnocreate": "Conventum aperire",
+       "login": "Nomen dare",
+       "nav-login-createaccount": "Nomen dare / Nomen sibi imponere",
+       "userlogin": "Nomen dare / Nomen sibi imponere",
+       "userloginnocreate": "Nomen dare",
        "logout": "Secedere",
        "userlogout": "Secedere",
-       "notloggedin": "Conventum non est apertum",
+       "notloggedin": "Nomen nullum datum est",
        "userlogin-noaccount": "Num rationem non habes?",
        "nologin": "Num rationem non habes? $1.",
        "nologinlink": "Eam crea",
-       "createaccount": "Rationem novam creare",
+       "createaccount": "Sibi nomen imponere",
        "gotaccount": "Habesne iam rationem? '''$1'''.",
-       "gotaccountlink": "Conventum aperi",
+       "gotaccountlink": "Nomen da",
        "userlogin-resetlink": "Num tesserae tuae oblitus es?",
        "userlogin-resetpassword-link": "Num tesserae oblitus es?",
        "createacct-emailrequired": "Inscriptio electronica",
        "createaccountreason": "Causa:",
        "createacct-reason": "Causa",
        "createacct-reason-ph": "Cur aliam rationem creas",
-       "createacct-submit": "Rationem tuam creare",
+       "createacct-submit": "Nomen tibi impone",
        "createacct-another-submit": "Aliam rationem creare",
        "createacct-benefit-body1": "{{PLURAL:$1|recensio|recensiones}}",
        "createacct-benefit-body2": "{{PLURAL:$1|pagina|paginae}}",
        "badretype": "Tesserae quas scripsisti inter se non congruunt.",
        "userexists": "Nomen usoris quod selegisti iam est.\nNomen usoris alium selige.",
-       "loginerror": "Error factus est in aperiendo conventum",
-       "createacct-error": "Error in ratione creanda",
-       "createaccounterror": "Rationem creare non potuit: $1",
-       "nocookiesnew": "Ratio usoris creata est, sed conventum non apertum est. {{SITENAME}} ''Cookies'' utitur in usorum conventa aperiendo. Cookies tua debiles sunt. Eis potestatem fac, tum conventum aperi cum nomine usoris tesseraque tua nova.",
+       "loginerror": "Aliquis error factus est in nomine dando",
+       "createacct-error": "Aliquid haesit in nomine tibi imponendo",
+       "createaccounterror": "Defecit in nomine imponendo: $1",
+       "nocookiesnew": "Nomen impositum neque datum est.\nNam in nominibus dandis {{SITENAME}} ''Cookies'' utitur.\nQuae apud te vetantur.\nCookies admitte, tum nomen novum cum tessera nova da!",
        "nocookieslogin": "{{SITENAME}} ''Cookies'' in conventis collatorum aperiendis adhibentur. ''Cookies'' tua debilitata sunt. Eis potestatem fac, tum conare denuo.",
        "noname": "Nomen usoris ratum non designavisti.",
-       "loginsuccesstitle": "Conventum prospere apertum est",
+       "loginsuccesstitle": "Nomen feliciter datum est",
        "loginsuccess": "'''Apud {{grammar:accusative|{{SITENAME}}}} agnosceris nomine \"$1\".'''",
-       "nosuchuser": "Usor \"$1\" non est.\nConfirma orthographiam (cave litteras maiusculas minusculasque), aut [[Special:UserLogin/signup|novam rationem crea]].",
+       "nosuchuser": "Nomen \"$1\" ignoratur.\nIn nominibus interest litterarum aut maiuscularum aut minuscularum!\nQuarum cura rationem habeas aut [[Special:UserLogin/signup|novum nomen tibi da]].",
        "nosuchusershort": "Usor \"$1\" non est.\nConfirma orthographiam.",
        "nouserspecified": "Nomen usoris indicare debes.",
        "wrongpassword": "Tessera quam scripsisti non constat. Conare denuo.",
        "wrongpasswordempty": "Tesseram vacuam scripsisti. Conare denuo.",
        "mailmypassword": "Tesseram novam per litteras electronicas petere",
        "passwordremindertitle": "Nova tessera apud {{grammar:accusative|{{SITENAME}}}}",
-       "passwordremindertext": "Aliquis (tu probabiliter, ex loco IP $1)\ntesseram novam petivit pro {{grammar:ablative|{{SITENAME}}}} ($4).\nTessera temporaria usoris \"$2\" creata est: \"$3\".\nSi vis, conventum aperias et statim tesseram tuam mutes.\nTessera temporaria exibit {{PLURAL:$5|unam diem|$5 dies}}.\n\nSi non ipse hanc petitionem fecisti, aut si tesserae tuae\nmeministi et etiam nolis eam mutare, potes hunc nuntium\nignorare, et tessera seni uti continuare.",
+       "passwordremindertext": "Aliquis (haud scio an tute ipse, ex loco IP $1)\ntesseram novam petivit pro {{grammar:ablative|{{SITENAME}}}} ($4).\nTessera temporaria usori \"$2\" creata est: \"$3\".\nSi voles, nomen da et statim tesseram tuam muta!\nTessera temporaria valebit {{PLURAL:$5|unam diem|$5 dies}}.\n\nQuodsi tesseram novam non ipse petivisti vel si tesserae tuae\ninterim in mentem venit neque tu eam mutari voles,\nnegligas hunc nuntium. Licet pergere, ut solitus es.",
        "noemail": "Nulla inscriptio electronica invenitur per usorem \"$1\".",
        "mailerror": "Error in litteras electronicas inmittendas: $1",
-       "acct_creation_throttle_hit": "Ex loco IP tuo, die proximo iam {{PLURAL:$1|una ratio creata est|rationes $1 creatae sunt}}.\nPlurimas non licet creare. Ergo, ex hoc loco IP rationes plurimas hodie creari non possunt.",
+       "acct_creation_throttle_hit": "His superioribus 24 horis ex isto loco IP iam {{PLURAL:$1|nomen impositum est|$1 nomina imposita sunt}}.\nNon autem licet plura sibi imponere. Igitur hodie ex hoc loco IP cetera nomina tibi non imponi possunt.",
        "emailauthenticated": "Tua inscriptio electronica recognita est $3, $2.",
        "emailconfirmlink": "Inscriptionem tuam electronicam adfirmare",
        "emaildisabled": "Huic paginae litteras electronicas mittere non licet.",
-       "accountcreated": "Ratio creata",
-       "accountcreatedtext": "Ratio pro usore [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|disputatio]]) creata est.",
-       "createaccount-title": "Ratio creata apud {{grammar:accusative|{{SITENAME}}}}",
-       "createaccount-text": "Aliquis creavit rationem pro inscriptione electronica tua apud {{grammar:accusative|{{SITENAME}}}} ($4). Nomen usoris est \"$2\" et tessera est \"$3\". Conventum aperias et statim tesseram tuam mutes.\n\nHunc nuntium ignorare potes, si nolis hac ratione uti.",
-       "login-abort-generic": "Conventum aperire non contigit - Desitum",
+       "accountcreated": "Nomen impositum",
+       "accountcreatedtext": "Usori [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|disputatio]]) nomen impositum est.",
+       "createaccount-title": "Tibi nomen est apud {{grammar:accusative|{{SITENAME}}}}",
+       "createaccount-text": "Aliquis inscriptioni electronicae tuae rationem creavit apud {{grammar:accusative|{{SITENAME}}}} ($4). Nomen usoris est \"$2\" et tessera est \"$3\". Quod nomen dare velis et tesseram statim mutare.\n\nLicet hunc nuntium neglegere, si nolis hac ratione uti.",
+       "login-abort-generic": "Non contigit nomen dare - Desitum",
        "loginlanguagelabel": "Lingua: $1",
-       "pt-login": "Conventum aperire",
-       "pt-login-button": "Conventum aperire",
-       "pt-createaccount": "Conventum creare",
+       "pt-login": "Nomen dare",
+       "pt-login-button": "Nomen dare",
+       "pt-createaccount": "Sibi nomen imponere",
        "pt-userlogout": "Secedere",
        "changepassword": "Tesseram mutare",
        "resetpass_header": "Tesseram rationis mutare",
        "oldpassword": "Tessera vetus:",
        "newpassword": "Tessera nova:",
        "retypenew": "Adfirmare tesseram novam:",
-       "resetpass_submit": "Tesseram mutare et conventum aperire",
+       "resetpass_submit": "Tesseram mutare et nomen dare",
        "changepassword-success": "Tessera tua prospere mutata est.",
        "resetpass_forbidden": "Tesserae mutari non possunt",
-       "resetpass-no-info": "Necesse est conventum aperire ad hanc paginam adhibendum.",
+       "resetpass-no-info": "Ad hanc paginam adeundam necesse est nomen dare.",
        "resetpass-submit-loggedin": "Tesseram mutare",
        "resetpass-submit-cancel": "Dimittere",
        "resetpass-temp-password": "Tessera temporaria:",
        "preview": "Praevidere",
        "showpreview": "Monstrare praevisum",
        "showdiff": "Mutata ostendere",
-       "anoneditwarning": "'''Monitio:''' Conventum tuum non apertum. Locus IP tuus in historia huius paginae notabitur.",
-       "anonpreviewwarning": "''Conventum tuum non apertum. Si servas, locus IP tuus in historia huius paginae notabitur.''",
+       "anoneditwarning": "<strong>Monitio:</strong> Nomen tuum non dedisti. In recensendo locus IP tuus in historia huius paginae notabitur. Quodsi <strong>[$1 nomen tuum dederis]</strong> vel <strong>[$2 nomen tibi imposueris]</strong>, quaecumque recensebis, isti nomini attribuentur.",
+       "anonpreviewwarning": "''Nomen tuum non dedisti. Quodsi servas, locus IP tuus in historia huius paginae notabitur.''",
        "missingcommenttext": "Sententiam subter inscribe.",
        "summary-preview": "Praevisum summarii:",
        "subject-preview": "Praevisum rei/tituli:",
        "confirmedittext": "Tua inscriptio electronica est adfirmanda priusquam paginas recenseas. Quaesumus eam selige et adfirma per tuas [[Special:Preferences|praeferentias]].",
        "nosuchsectiontitle": "Haec pars inveniri non potest",
        "nosuchsectiontext": "Partem inexistentem recensere conaris.\nFortasse aliquis hanc partem movit vel delevit.",
-       "loginreqtitle": "Conventum aperiendum",
-       "loginreqlink": "conventum aperire",
+       "loginreqtitle": "Nomen dare necesse est",
+       "loginreqlink": "nomen dare",
        "loginreqpagetext": "Necesse est tibi $1 priusquam paginas alias legas.",
        "accmailtitle": "Tessera missa est.",
        "accmailtext": "Tessera nova usoris [[User talk:$1|$1]] ad $2 missa est. Convento aperto, tessera hic potest mutari: ''[[Special:ChangePassword|tesseram mutare]]''.",
        "newarticle": "(Nova)",
        "newarticletext": "Per nexum progressus es ad paginam quae nondum exsistit.\nNovam paginam si vis creare, in capsam infra praebitam scribe.\n(Vide [$1 paginam auxilii] si plura cognoscere vis.)\nSi hic es propter errorem, solum '''Retrorsum''' in navigatro tuo preme.",
-       "anontalkpagetext": "----''Haec est pagina disputationis usoris anonymi, solum a loco IP suo noti. Memento locos IP aliquando mutaturos, et a usoribus multis fortasse adhibitos. Si es usor ignotus, et tibi querulae sine causa datae sunt, conventum [[Special:UserLogin/signup|crea]] vel [[Special:UserLogin|aperi]] ad confusionem futuram evitendam.''",
+       "anontalkpagetext": "----\n<em>Haec est pagina disputationis usoris anonymi vel potius loci IP cuiusdam.</em>\nMemento locos IP interdum mutari et ab usoribus vel pluribus adhiberi.\nSi ipse sis usor ignotus et ex improviso invenias querulas aliquas, nomen tibi [[Special:UserLogin/signup|impone]] vel [[Special:UserLogin|nomen tuum da]], ut decetero confusionem effugias!",
        "noarticletext": "Hac in pagina non sunt litterae.\nPotes [[Special:Search/{{PAGENAME}}|hanc rem in aliis paginis quaerere]],\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} acta huius paginae videre]\naut [{{fullurl:{{FULLPAGENAME}}|action=edit}} hanc paginam creare]</span>.",
        "noarticletext-nopermission": "Hac in pagina non sunt litterae.\nPotes [[Special:Search/{{PAGENAME}}|hanc rem in aliis paginis quaerere]] aut <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} acta huius paginae videre], sed tibi non licet hanc paginam creare.",
        "userpage-userdoesnotexist": "Usor \"<nowiki>$1</nowiki>\" non est. Visne re vera hanc paginam creare vel recensere?",
        "parser-template-loop-warning": "Ansa formulae detecta: [[$1]]",
        "undo-norev": "Recensio abrogari non potuit quia non est aut deleta est.",
        "undo-summary": "Abrogans recensionem $1 ab usore [[Special:Contributions/$2|$2]] ([[User talk:$2|Disputatio]])",
-       "cantcreateaccounttitle": "Ratio creari non potest",
-       "cantcreateaccount-text": "Creatio rationum ab hoc loco IP ('''$1''') obstructa est ab usore [[User:$3|$3]].\n\nIlle hanc causam dedit: ''$2''",
+       "cantcreateaccounttitle": "Non licuit nomen tibi imponere",
+       "cantcreateaccount-text": "Ex hoc loco IP ('''$1''') nomen sibi imponere ab usore [[User:$3|$3]] interdicitur.\nQui hanc causam dedit: ''$2''",
        "viewpagelogs": "Vide acta huius paginae",
        "nohistory": "Huic paginae non est historia.",
        "currentrev": "Emendatio recentissima",
        "prefs-emailconfirm-label": "Adfirmatio inscriptionis electronicae:",
        "youremail": "Inscriptio electronica:",
        "username": "Nomen usoris:",
-       "prefs-registration": "Dies creationis rationis:",
+       "prefs-registration": "Tempus, quo nomen impositum est",
        "yourrealname": "Nomen verum:",
        "yourlanguage": "Lingua:",
        "yourvariant": "Differentia linguae contentorum:",
        "right-edit": "Paginas recensere",
        "right-createpage": "Paginas creare (sine paginis disputationis)",
        "right-createtalk": "Paginas disputationis creare",
-       "right-createaccount": "Rationes usorum novas creare",
+       "right-createaccount": "Nova nomina sibi imponere",
        "right-minoredit": "Recensiones minores designare",
        "right-move": "Paginas movere",
        "right-move-subpages": "Paginas una cum subpaginis movere",
        "right-userrights": "Omnes potestates usorum recensere",
        "right-userrights-interwiki": "Potestates usorum aliis in vicis recensere",
        "right-siteadmin": "Basem datorum obstruere vel deobstruere",
-       "newuserlogpage": "Index rationum novarum creatarum",
-       "newuserlogpagetext": "Hic est index rationum novarum creatarum.",
+       "newuserlogpage": "Index nominum nuper impositorum",
+       "newuserlogpagetext": "Hic est index nominum nuper impositorum",
        "rightslog": "Index mutationum iuribus usorum",
        "rightslogtext": "Haec est index mutationum iuribus usorum.",
        "action-read": "hanc paginam legere",
        "action-edit": "hanc paginam recensere",
        "action-createpage": "paginas creare",
        "action-createtalk": "paginas disputationis creare",
-       "action-createaccount": "hanc rationem usoris creare",
+       "action-createaccount": "hoc nomen tibi imponere",
        "action-minoredit": "hanc recensionem minorem designare",
        "action-move": "hanc paginam movere",
        "action-move-subpages": "hanc paginam una cum subpaginis movere",
        "recentchanges-label-minor": "Haec est recensio minor",
        "recentchanges-label-bot": "Hanc recensionem automaton fecit",
        "recentchanges-label-unpatrolled": "Haec recensio nondum est examinata",
-       "recentchanges-label-plusminus": "Magnitudo paginae per istam copiam octetorum mutata est",
+       "recentchanges-label-plusminus": "Tot octetis magnitudo paginae mutata est",
+       "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vide etiam [[Special:NewPages|indicem paginarum novarum]])",
        "rcnotefrom": "Subter sunt '''$1''' nuperrime mutata in proxima '''$2''' die.",
        "rclistfrom": "Monstrare mutata nova incipiens ab $3 $2",
        "upload": "Fasciculum imponere",
        "uploadbtn": "Fasciculum imponere",
        "reuploaddesc": "Siste imponere et ad imponendi formam redi",
-       "uploadnologin": "Conventum non est apertum",
+       "uploadnologin": "Nomen tuum non dedisti",
        "uploadnologintext": "Necesse est tibi $1 priusquam fasciculos imponas.",
        "uploaderror": "Imponendi erratum",
        "uploadtext": "Utere formam subter ad fasciculos imponendos.\nUt fasciculos antea impositos videas aut quaeras, adi ad [[Special:FileList|indicem fasciculorum impositorum]]. Fasciculi impositi et deleti quoque in [[Special:Log/upload|notatione fasciculorum impositorum]] notantur.\n\nAd fasciculum in pagina includendum, utere nexu:\n*'''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Fasciculus.jpg]]</nowiki></code>''' aut\n*'''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Fasciculus.png|verba alia]]</nowiki></code>''' aut\n*'''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Fasciculus.ogg]]</nowiki></code>''' pro nexum ad fasciculum directum.",
        "protectedtitles": "Tituli protecti",
        "listusers": "Usores",
        "listusers-editsonly": "Monstrare solum usores qui recensuerunt",
-       "listusers-creationsort": "Ordinare secundum diem creationis rationis",
+       "listusers-creationsort": "Redigere secundum aetatem",
        "usereditcount": "$1 {{PLURAL:$1|recensio|recensiones}}",
-       "usercreated": "Ratio creata $2, $1",
+       "usercreated": "$3 impositum die $2 hora $1",
        "newpages": "Paginae novae",
        "newpages-username": "Nomen usoris:",
        "ancientpages": "Paginae veterrimae",
        "mywatchlist": "Paginae observatae",
        "watchlistfor2": "Pro $1 $2",
        "nowatchlist": "Sunt nullas paginas in indice tuo paginarum observatarum.",
-       "watchlistanontext": "Necesse est conventum aperire ad indicem paginarum observatarum inspiciendum vel recensendum.",
-       "watchnologin": "Conventum non est apertum",
+       "watchlistanontext": "Ad inspiciendum vel recensendum indicem paginarum observatarum necesse est nomen dare.",
+       "watchnologin": "Nomen datum non est",
        "addedwatchtext": "Pagina \"[[:$1]]\" in [[Special:Watchlist|paginas tuas observatas]] addita est.\nMutationes posthac huic paginae et paginae disputationis ibi notabuntur.",
        "removedwatchtext": "Pagina \"[[:$1]]\" ex [[Special:Watchlist|indice paginarum observatarum]] remota est.",
        "watch": "Observare",
        "notanarticle": "Res non est",
        "notvisiblerev": "Emendatio deleta est",
        "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.",
        "wlshowlast": "Monstrare proximas $1 horas $2 dies",
        "watchlistall2": "omnes",
-       "watchlist-options": "Indicis paginarum observatarum praeferentiae",
+       "watchlist-options": "Huius indicis modi",
        "watching": "Custodiens...",
        "unwatching": "Decustodiens...",
-       "enotif_reset": "Indicare omnes paginas visitatas",
+       "enotif_reset": "Omnes paginas indicare tamquam visitatas",
        "enotif_impersonal_salutation": "Usor {{grammar:genitive|{{SITENAME}}}}",
        "enotif_lastdiff": "Vide $1 ad hanc recensionem inspiciendum.",
        "enotif_anon_editor": "usor ignotus $1",
        "contributions": "Conlationes {{GENDER:$1|usoris}}",
        "contributions-title": "Conlationes usoris $1",
        "mycontris": "Conlationes",
+       "anoncontribs": "Conlationes",
        "contribsub2": "Pro $1 ($2)",
        "nocontribs": "Nullae mutationes inventae sunt ex his indiciis.",
        "uctop": "(vertex)",
        "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": "Creationem rationum obstruere",
+       "ipbcreateaccount": "arcere ab 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": "Creatio rationum obstructa",
+       "createaccountblock": "Arcemus te a nomine tibi imponendo",
        "emailblock": "Litterae electronicae obstructae",
        "blocklist-nousertalk": "non potest paginam disputationis suam recensere",
        "blocklink": "obstruere",
        "blocklogtext": "Hic est index actorum obstructionis deobstructionisque. Loci IP qui automatice obstructi sunt non enumerantur. Vide [[Special:BlockList|indicem usorum locorumque IP obstructorum]] pro indice toto.",
        "unblocklogentry": "deobstruxit $1",
        "block-log-flags-anononly": "solum usores anonymi",
-       "block-log-flags-nocreate": "creatio rationum prohibita",
+       "block-log-flags-nocreate": "sibi nomen imponere vetatur",
        "block-log-flags-noautoblock": "obstructio automatica prohibita",
        "block-log-flags-noemail": "Litterae electronicae obstructae",
        "block-log-flags-nousertalk": "non potest paginam disputationis suam recensere",
        "movepagetext": "Formam inferam utere ad paginam renominandum et ad historiam eius ad nomen novum movendum.\nTitulus vetus paginam redirectionis ad titulum novum fiet.\nNexus ad paginam veterem non mutabuntur;\nredirectiones [[Special:DoubleRedirects|duplices]] vel [[Special:BrokenRedirects|fractas]] quaerere et figere debebis.\n\nPagina '''non''' movebitur si pagina sub titulo novo iam est, nisi est vacua aut pagina redirectionis et nullam historiam habet.\n\n'''MONITUM!'''\nHaec mutatio vehemens et improvisa potest esse pro pagina populare;\nadfirma te consequentias intellegere antequam procedis.",
        "movepagetalktext": "Pagina disputationis huius paginae, si est, etiam necessario motabitur '''nisi''':\n\n*Disputatio sub paginae novae nomine contenta habet, aut\n*Capsam subter non nota.\n\nErgo manu necesse disputationes motare vel contribuere erit, si vis.",
        "moveuserpage-warning": "'''Monitio:''' Si paginam usoris moves, solum pagina movetur, usor '''non''' renominatur.",
-       "movenologintext": "Rationem usoris habere et [[Special:UserLogin|conventum aperire]] debes ad movendum paginam.",
+       "movenologintext": "Rationem usoris habeas et [[Special:UserLogin|nomen des]] necesse est, ut paginaem movere liceat.",
        "movenotallowed": "Tibi non licet paginas movere.",
        "movenotallowedfile": "Tibi non licet fasciculos movere.",
        "cant-move-user-page": "Tibi non licet paginas usorum movere (solum eorum subpaginas).",
        "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-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-mycontris": "Index conlationum tuarum",
-       "tooltip-pt-login": "Te conventum aperire hortamur, non autem requisitum",
-       "tooltip-pt-logout": "Secedere",
-       "tooltip-pt-createaccount": "Hortamur ut conventum crees, sed non est necesse",
+       "tooltip-pt-anoncontribs": "Ostendit recensiones ex hoc loco IP factas",
+       "tooltip-pt-login": "Te nomen dare hortamur neque cogimus",
+       "tooltip-pt-logout": "Nomen datum abdicare",
+       "tooltip-pt-createaccount": "Suademus, ut nomen tibi imponas, neque cogeris",
        "tooltip-ca-talk": "Disputatio de hac pagina",
-       "tooltip-ca-edit": "Hanc paginam recensere potes. Quaesumus praevisum inspice antequam servas.",
+       "tooltip-ca-edit": "Hanc paginam recensere",
        "tooltip-ca-addsection": "Novam partem creare",
        "tooltip-ca-viewsource": "Haec pagina protecta est. Inspicere quidem fontem licet.",
        "tooltip-ca-history": "Emendationes veteres huius paginae",
        "confirmemail_sendfailed": "Litteras electronicas adfirmationis non potuimus mittere.\nInspice inscriptionem tuam electronicam ut litteras prohibitas invenias.\n\nNuntius reddidit: $1",
        "confirmemail_invalid": "Codex adfirmationis invalidus. Fortasse id exitum est.",
        "confirmemail_needlogin": "Necesse est tibi $1 ut inscriptionem tuam electronicam adfirmes.",
-       "confirmemail_success": "Tua inscriptio electronica adfirmata est.\nLibenter [[Special:UserLogin|conventum aperias]] utarisque {{grammar:ablative|{{SITENAME}}}}.",
+       "confirmemail_success": "Inscriptio electronica confirmata est.\n[[Special:UserLogin|Nomen tuum dare]] et {{grammar:ablative|{{SITENAME}}}} frui licet.",
        "confirmemail_loggedin": "Inscriptio tua electronica iam adfirmata est.",
        "confirmemail_subject": "{{SITENAME}} - Adfirmatio inscriptionis electronicae",
        "confirmemail_body": "Aliquis (probabiliter tu, ex loco IP $1)\nrationem \"$2\" creavit sub hac inscriptione electronica apud {{grammar:accusative|{{SITENAME}}}}.\n\nUt adfirmas te esse ipsum et proprietates inscriptionum electronicarum licere fieri apud {{grammar:accusative|{{SITENAME}}}}, hunc nexum aperi in tuo navigatro interretiali:\n\n$3\n\nSi *non* tu hoc fecisti, hunc nexum sequere\nad adfirmationem inscriptionis electronicae abrogandum:\n\n$5\n\nHic codex adfirmationis exibit $4.",
        "watchlistedit-raw-title": "Indicem paginarum observatarum quasi textum recensere",
        "watchlistedit-raw-legend": "Indicem paginarum observatarum quasi textum recensere",
        "watchlistedit-raw-titles": "Tituli:",
-       "watchlisttools-view": "Mutationes paginarum observatarum inspicere",
-       "watchlisttools-edit": "Indicem paginarum observatarum inspicere vel recensere",
-       "watchlisttools-raw": "Indicem paginarum observatarum quasi textum recensere",
+       "watchlisttools-clear": "Nullas iam paginas observare",
+       "watchlisttools-view": "Mutationes inspicere",
+       "watchlisttools-edit": "Hunc indicem inspicere vel recensere",
+       "watchlisttools-raw": "Hunc indicem textualiter recensere",
        "hebrew-calendar-m1": "Tisri",
        "hebrew-calendar-m2": "Hesuan",
        "hebrew-calendar-m3": "Casleu",
        "fileduplicatesearch-info": "$1 × $2 elementa imaginalia<br />Magnitudo fasciculi: $3<br />Typus MIME: $4",
        "specialpages": "Paginae speciales",
        "specialpages-group-other": "Aliae paginae speciales",
-       "specialpages-group-login": "Conventum aperire / creare",
+       "specialpages-group-login": "Nomen dare / sibi imponere",
        "specialpages-group-users": "Usores eorumque potestates",
        "specialpages-group-pages": "Indices paginarum",
        "specialpages-group-pagetools": "Instrumenta paginarum",
        "logentry-move-move-noredirect": "$1 movit paginam $3 ad $4 sine redirectione",
        "logentry-move-move_redir": "$1 movit paginam $3 ad $4 praeter redirectionem",
        "logentry-move-move_redir-noredirect": "$1 movit paginam $3 ad $4 praeter redirectionem sine redirectione",
-       "logentry-newusers-newusers": "Ratio usoris $1 creata est",
-       "logentry-newusers-create": "Ratio usoris $1 creata est",
-       "logentry-newusers-create2": "Ratio usoris $3 creata est ab usore $1",
-       "logentry-newusers-autocreate": "Ratio usoris $1 automatice creata est",
+       "logentry-newusers-newusers": "Usori $1 nomen impositum est",
+       "logentry-newusers-create": "Usori $1 nomen impositum est",
+       "logentry-newusers-create2": "Usori $3 nomen ab usore $1 impositum est",
+       "logentry-newusers-autocreate": "Usori $1 nomen automatice impositum est",
        "rightsnone": "(nullus)",
        "revdelete-summary": "summarium recensionis",
        "feedback-cancel": "Dimittere",
        "api-error-filename-tooshort": "Nomen fasciculi brevius est.",
        "api-error-filetype-banned": "Talia genera fasciculorum permissa non sunt.",
        "api-error-illegal-filename": "Nomen fasciculi permissum non est.",
-       "api-error-mustbeloggedin": "Ad fasciculos inmittendos conventum aperire necesse est.",
+       "api-error-mustbeloggedin": "Ad fasciculos deferendos nomen des necesse est.",
        "api-error-unknownerror": "Error incognitus: \"$1\".",
        "expandtemplates": "Formulas resolvere",
        "special-characters-group-latin": "Latinum",
index 9a72155..ab81afa 100644 (file)
        "foreign-structured-upload-form-label-own-work": "Dëst ass mäin eegent Wierk",
        "foreign-structured-upload-form-label-infoform-categories": "Kategorien",
        "foreign-structured-upload-form-label-infoform-date": "Datum",
+       "foreign-structured-upload-form-3-label-yes": "Jo",
+       "foreign-structured-upload-form-3-label-no": "Neen",
        "backend-fail-stream": "De Fichier $1 konnt net iwwerdroe ginn.",
        "backend-fail-backup": "De Fichier $1 konnt net geséchert ginn.",
        "backend-fail-notexists": "De Fichier $1 gëtt et net.",
        "usereditcount": "$1 {{PLURAL:$1|Ännerung|Ännerungen}}",
        "usercreated": "{{GENDER:$3|De(n)|D'}} $1 ëm $2 Auer ugeluecht",
        "newpages": "Nei Säiten",
+       "newpages-submit": "Weisen",
        "newpages-username": "Benotzernumm:",
        "ancientpages": "Eelst Säiten",
        "move": "Réckelen",
        "specialloguserlabel": "Aktive Benotzer:",
        "speciallogtitlelabel": "Zil (Titel oder {{ns:user}}:Benotzernumm fir e Benotzer):",
        "log": "Logbicher",
+       "logeventslist-submit": "Weisen",
        "all-logs-page": "All ëffentlech Logbicher",
        "alllogstext": "Dëst ass eng kombinéiert Lëscht vu Logbicher op {{SITENAME}}.\nDir kënnt d'Siche limitéieren wann Dir e Log-Typ, e Benotzernumm (case-senisitive) oder déi gefrote Säit (och case-senisitive) agitt.",
        "logempty": "Näischt fonnt.",
        "cachedspecial-viewing-cached-ts": "Dir gesitt eng Versioun vun dëser Säit aus dem Tëschespäicher (cache), déi eventuell net méi aktuell ass.",
        "cachedspecial-refresh-now": "Déi rezentst weisen.",
        "categories": "Kategorien",
+       "categories-submit": "Weisen",
        "categoriespagetext": "Dës {{PLURAL:$1|Kategorie huet|Kategorien hu}} Säiten oder Medien.\n[[Special:UnusedCategories|Netbenotzt Kategorië]] ginn hei net gewisen.\nKuckt och [[Special:WantedCategories|Gewënscht Kategorien]].",
        "categoriesfrom": "Weis Kategorien ugefaange bei:",
        "special-categories-sort-count": "no der Zuel zortéieren",
        "delete-confirm": "Läsche vu(n) \"$1\"",
        "delete-legend": "Läschen",
        "historywarning": "<strong>Opgepasst:</strong> D'Säit déi Dir läsche wëllt huet en Historique mat $1 {{PLURAL:$1|Versioun|Versiounen}}:",
+       "historyaction-submit": "Weisen",
        "confirmdeletetext": "Dir sidd am Gaang, eng Säit mat hirem kompletten Historique vollstänneg aus der Datebank ze läschen.\nW.e.g. confirméiert, datt Dir dëst wierklech wëllt, datt Dir d'Konsequenze verstitt, an datt dat Ganzt am Aklang mat de [[{{MediaWiki:Policy-url}}|Richtlinne]] geschitt.",
        "actioncomplete": "Aktioun ofgeschloss",
        "actionfailed": "Aktioun huet net funktionéiert",
index 2677bbf..43d8da3 100644 (file)
        "foreign-structured-upload-form-label-own-work-message-shared": "Aš patvirtinu, kad man priklauso šio failo autorinės teisės ir sutinku neatšaukiamai išleisti šį failą į Wikimedia Commons su [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0] licencija, ir aš sutinku su [https://wikimediafoundation.org/wiki/Terms_of_Use paslaugų teikimo sąlygomis].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Jeigu Jums nepriklauso šio failo autorinės teisės arba Jūs norite išleisti jį su kitokia licencija, apsvarstykite naudojimą [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons įkėlimo vedlį].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Jūs taip pat galite norėti išbandyti [[Special:Upload|{{SITENAME}} įkėlimo puslapį]], jeigu šis puslapis leidžia failų įkėlimą pagal jų politiką.",
+       "foreign-structured-upload-form-3-label-yes": "Taip",
+       "foreign-structured-upload-form-3-label-no": "Ne",
        "backend-fail-stream": "Negali būti apdorotas failas $1.",
        "backend-fail-backup": "Negali būti išsaugotas failas $1.",
        "backend-fail-notexists": "Failas $1 neegzistuoja.",
        "usereditcount": "$1 {{PLURAL:$1|keitimas|keitimai|keitimų}}",
        "usercreated": "{{GENDER:$3|Naudotojo|Naudotojos|Naudotojo}} $3 paskyra sukurta $1 $2",
        "newpages": "Naujausi puslapiai",
+       "newpages-submit": "Rodyti",
        "newpages-username": "Naudotojo vardas:",
        "ancientpages": "Seniausi puslapiai",
        "move": "Pervadinti",
        "specialloguserlabel": "Naudotojas:",
        "speciallogtitlelabel": "Tikslas (pavadinimas arba {{ns:user}}:naudotojo vardas naudotojui):",
        "log": "Specialiųjų veiksmų sąrašas",
+       "logeventslist-submit": "Rodyti",
        "all-logs-page": "Visi viešieji sąrašai",
        "alllogstext": "Bendrai pateikiamas visų galimų „{{SITENAME}}“ specialiųjų veiksmų sąrašas.\nGalima sumažinti rezultatų skaičių, patikslinant veiksmo rūšį, naudotoją ar susijusį puslapį.",
        "logempty": "Sąraše nėra jokių atitinkančių įvykių.",
        "cachedspecial-viewing-cached-ts": "Jūs matote kompiuterio atmintyje išsaugotą puslapio versiją, kuri gali neatitikti naujausios versijos.",
        "cachedspecial-refresh-now": "Peržiūrėti naujausius.",
        "categories": "Kategorijos",
+       "categories-submit": "Rodyti",
        "categoriespagetext": "{{PLURAL:$1|Ši kategorija|Šios kategorijos}} turi puslapių ar failų.\n[[Special:UnusedCategories|Nenaudojamos kategorijos]] čia nerodomos.\nTaip pat žiūrėkite [[Special:WantedCategories|trokštamas kategorijas]].",
        "categoriesfrom": "Vaizduoti kategorijas pradedant nuo:",
        "special-categories-sort-count": "rikiuoti pagal skaičių",
        "activeusers-hidebots": "Slėpti robotus",
        "activeusers-hidesysops": "Slėpti administratorius",
        "activeusers-noresult": "Nerasta jokių naudotojų.",
+       "activeusers-submit": "Rodyti aktyvius vartotojus",
        "listgrouprights": "Naudotojų grupių teisės",
        "listgrouprights-summary": "Žemiau pateiktas naudotojų grupių, apibrėžtų šioje wiki, ir su jomis susijusių teisių sąrašas.\nČia gali būti [[{{MediaWiki:Listgrouprights-helppage}}|papildoma informacija]] apie individualias teises.",
        "listgrouprights-key": "* <span class=\"listgrouprights-granted\">Suteikta teisė</span>\n* <span class=\"listgrouprights-revoked\">Atimta teisė</span>",
        "delete-confirm": "Ištrinti „$1“",
        "delete-legend": "Trynimas",
        "historywarning": "'''Dėmesio:''' Trinamas puslapis turi istoriją su maždaug $1 {{PLURAL:$1|versija|versijomis|versijų}}:",
+       "historyaction-submit": "Rodyti",
        "confirmdeletetext": "Jūs pasirinkote ištrinti puslapį ar paveikslėlį kartu su visa jo istorija.\nPrašome patvirtinti, kad jūs tikrai norite tai padaryti, žinote apie galimus padarinius ir kad tai darote pagal [[{{MediaWiki:Policy-url}}|taisykles]].",
        "actioncomplete": "Veiksmas atliktas",
        "actionfailed": "Veiksmas atšauktas",
        "exif-compression-4": "CCITT 4 grupės fakso kodavimas",
        "exif-copyrighted-true": "Autorinės teisės",
        "exif-copyrighted-false": "Autorinių teisių padėtis nenustatyta",
+       "exif-photometricinterpretation-1": "Juoda ir balta (Juoda yra 0)",
        "exif-unknowndate": "Nežinoma data",
        "exif-orientation-1": "Standartinis",
        "exif-orientation-2": "Apversta horizontaliai",
index b5f54d2..c89c0af 100644 (file)
        "permissionserrors": "Грешка со дозволата",
        "permissionserrorstext": "Немате дозвола да го направите тоа, од {{PLURAL:$1|следнава причина|следниве причини}}:",
        "permissionserrorstext-withaction": "Немате дозвола за $2, од {{PLURAL:$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 часа).\nПодолу можете да го погледате дневникот на бришење и преместување.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Сведочам дека јас сум имател на авторските права на оваа податотека, дека се согласувам дека неотповикливо ја објавувам на Ризницата под лиценцата [https://creativecommons.org/licenses/by-sa/4.0/deed.mk Криејтив комонс Наведи извор-Сподели под исти услови 4.0] и дека се согласувам да се придржувам до [https://wikimediafoundation.org/wiki/Terms_of_Use/mk Условите на употреба].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Доколку вие не сте имател на авторските права на податотекава, или пак сакате да ја објавите под поинаква лиценца, веројатно ќе треба да се послужите со [https://commons.wikimedia.org/wiki/Special:UploadWizard?uselang=mk Помошникот за подигање].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Можете да се обидете и на [[Special:Upload|страницата за подигање на {{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.mk Криејтив комонс Наведи извор - Сподели под исти услови 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Доколку некое од горенаведените не е исполнето, сепак можете да ја објавите сликата, користејќи го [https://commons.wikimedia.org/wiki/Special:UploadWizard?uselang=mk Помошникот за подигање] на Ризницата, под услов делото да е достапно под слободна лиценца.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Подигајќи ја сликава, сведочите дека Вие сте имател на авторските права на неа, и се собгласувате неотповикливо да ја предадете на Ризницата на Викимедија под лиценцата Криејтив комос Наведи извор - Сподели под исти услови 4.0 и се согласувате на [https://wikimediafoundation.org/wiki/Terms_of_Use/mk Условите на употреба].",
+       "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?uselang=mk Помошникот за подигање] на Ризницата, под услов истата да е достапна под слободна лиценца.",
+       "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 не постои.",
        "usereditcount": "$1 {{PLURAL:$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": "Дневникот нема записи што одговараат на ова.",
        "cachedspecial-viewing-cached-ts": "Гледате меѓускладирана верзија на оваа страница, која може да се разликува од тековната.",
        "cachedspecial-refresh-now": "Погл. најновата.",
        "categories": "Категории",
+       "categories-submit": "Прикажи",
        "categoriespagetext": "{{PLURAL:$1|Следната категорија содржи|Следните категории содржат}} страници или мултимедијални податотеки.\n[[Special:UnusedCategories|Неискористените категории]] не се прикажани овде.\nПогледајте ги и [[Special:WantedCategories|потребните категории]].",
        "categoriesfrom": "Приказ на категории почнувајќи од:",
        "special-categories-sort-count": "подреди по број",
        "delete-confirm": "Бришење на „$1“",
        "delete-legend": "Бришење",
        "historywarning": "<strong>Предупредување:</strong> Страницата што сакате да ја избришете има историја со {{PLURAL:$1|една преработка|$1 преработки}}:",
+       "historyaction-submit": "Прикажи",
        "confirmdeletetext": "На пат сте трајно да избришете страница заедно со нејзината историја.\nПотврдете дека имате намера да го направите ова, дека ги разбирате последиците од тоа и дека го правите во согласност со [[{{MediaWiki:Policy-url}}|правилата]].",
        "actioncomplete": "Дејството е извршено",
        "actionfailed": "Неуспешно дејство",
        "exif-compression-6": "JPEG (стар)",
        "exif-copyrighted-true": "Заштитена",
        "exif-copyrighted-false": "Авторскоправниот статус не е зададен",
+       "exif-photometricinterpretation-0": "Црно-бело (црна е 0)",
+       "exif-photometricinterpretation-1": "Црно-бело (црна е 0)",
        "exif-photometricinterpretation-2": "RGB",
+       "exif-photometricinterpretation-3": "Палета",
+       "exif-photometricinterpretation-4": "Маска за проѕирност",
+       "exif-photometricinterpretation-5": "Одвоено (веројатно CMYK)",
        "exif-photometricinterpretation-6": "YCbCr",
+       "exif-photometricinterpretation-8": "CIE L*a*b*",
+       "exif-photometricinterpretation-9": "CIE L*a*b* (ICC-кодирање)",
+       "exif-photometricinterpretation-10": "CIE L*a*b* (ITU-кодирање)",
+       "exif-photometricinterpretation-32803": "Филтерски слој за бои",
+       "exif-photometricinterpretation-34892": "Линеарно сирово",
        "exif-unknowndate": "Непознат датум",
        "exif-orientation-1": "Нормална",
        "exif-orientation-2": "Пресликано по хоризонтала",
index b7bb97e..0c9e0b0 100644 (file)
        "laggedslavemode": "'''Attenzione:''' 'a paggena putesse nun fà vedé ll'aggiornamente cchiù recente.",
        "readonly": "Database bloccato",
        "enterlockreason": "Miette 'o mutivo 'e blocco, nzieme a 'o mumento quanno se penza ca 'o blocco se sarrà fernuto",
-       "readonlytext": "Mo' mo' 'o database è bloccato e nun se ponno azzeccà cagnamiente o pàggene. 'O blocco è normalmente azzeccato a n'operazione semprice 'e manutenzione, e quanno s'è fernuta allora 'a paggena addeventa nurmale.\n\nL'ammenistratore d' 'o sistema ch'a fatto 'o blocco ce dà sta spiegazione: $1",
+       "readonlytext": "Mo' mo' 'o database è bloccato e nun se ponno azzeccà cagnamiente o pàggene. 'O blocco è normalmente azzeccato a n'operazione semprice 'e manutenzione, e quanno s'è fernuta allora 'a paggena addeventa nurmale.\n\nL'ammenistratore 'e sistema ch'a fatto 'o blocco ce dà sta spiegazione: $1",
        "missing-article": "'O database nun trova 'o testo 'e na paggena c'adda stà, c' 'o nomme \"$1\" $2.\n\nNormalmente, chesto succere quanno s'è richiamato, a partire d' 'a cronologgia o pùre a 'o confronto tra verzione, nu cullegamento a na paggena scancellata, a nu confronto tra verziune inesistente o a nu confronto tra verziune re-pulezzate d' 'a cronologgia.\n\n'N caso cuntrario, può darse pure nu sbaglio dint'o software.\nPer piacere, mannate na mmasciata ccà all'[[Special:ListUsers/sysop|amministratore]] annummenanno l'URL 'n quistiona.",
        "missingarticle-rev": "(nummero 'e verzione: $1)",
        "missingarticle-diff": "(Diff: $1, $2)",
        "mypreferencesprotected": "Nun v'è permesso 'a cagnà 'e preferenze tuoje.",
        "ns-specialprotected": "'E paggene spiciale nun se ponno cagnà.",
        "titleprotected": "'A criazione 'e stu titolo è stata bloccata 'a ll'utente [[User:$1|$1]].\n'A ragione è chesta: ''$2''.",
-       "filereadonlyerror": "Nun se può cagnà 'o file \"$1\" pecché 'o repository 'e file \"$2\" sta 'n modo sulo-lettura.\n\nL'ammenistratore che l'ha bloccato ha dato sta ragione: \"$3\".",
+       "filereadonlyerror": "Nun se può cagnà 'o file \"$1\" pecché 'o repository 'e file \"$2\" sta 'n modo sulo-lettura.\n\nL'ammenistratore 'e sistema che l'ha bloccato ha dato sta ragione: \"$3\".",
        "invalidtitle-knownnamespace": "Titolo nun buono c' 'o namespace \"$2\" e testo \"$3\"",
        "invalidtitle-unknownnamespace": "Titolo nun buono c' 'o namespace scanusciuto \"$1\" e testo \"$2\"",
        "exception-nologin": "Acciesso nun affettuato",
        "copyrightwarning2": "Pe' piacere tenite a mmente ca tutte 'e contribbute a {{SITENAME}} se ponno cagnà, alterà, o distribbuì pe l'ati cuntribbuttòre.\n\nSi nun vulite ca 'e teste vuoste fossero cagnàte spenzieratamente, nun 'e mannate ccà.<br />\nMannanno stu testo dichiarate pùre, sott'a responsabilità vosta, ch'è stato scritto 'a vuje perzunalmente o pure ca è stato copiato 'a na fonte n pubblico dominio o similarmente libbera (vedete $1 pe' n'avé dettaglie).\n'''Nun mannate materiale prutetto 'a copyright senza n'avé autorizzaziona!'''",
        "editpage-cannot-use-custom-model": "'O modello 'e cuntenute 'e sta paggena nun se pò cagnà.",
        "longpageerror": "'''Errore: 'o testo mannato è luongo {{PLURAL:$1|1|$1}} kilobyte, ch'è cchiù grosso d' 'a diminziona massima cunzentita ({{PLURAL:$2|1|$2}} kilobyte).'''\n'O testo nun se pò sarvà.",
-       "readonlywarning": "<strong>Attenziò</strong>: 'o database è bloccato pe se ffà 'a manutenzione. P' 'o mumento nun se ponno sarvà 'e cagnamiente fatte.\nPe' nun 'e sperdere, copia sti cuntenute dint'a nu file 'e testo e sarvatillo pe' tramente c'aspiette 'o sblocco d' 'o database.\n\nL'ammenistratore ca mpustaje 'o blocco ave scritto sta spiegazione: $1.",
+       "readonlywarning": "<strong>Attenziò</strong>: 'o database è bloccato pe se ffà 'a manutenzione. P' 'o mumento nun se ponno sarvà 'e cagnamiente fatte.\nPe' nun 'e sperdere, copia sti cuntenute dint'a nu file 'e testo e sarvatillo pe' tramente c'aspiette 'o sblocco d' 'o database.\n\nL'ammenistratore 'e sistema ca mpustaje 'o blocco ave scritto sta spiegazione: $1.",
        "protectedpagewarning": "'''Attenziò: sta paggena è stata bloccata 'n modo tale ca sulamente l'utente ch' 'e privilegge d'ammenistratore 'a ponno cagnà.'''\nL'urdemo elemento d' 'o riggistro è scritto ccà abbascio pe' n'avé riferimento:",
        "semiprotectedpagewarning": "'''Nota:''' Sta paggena è stata bloccata 'n modo ca sulamente l'utente riggistrate 'a ponno cagnà.\nL'urdemo elemento d' 'o riggistro è scritto ccà abbascio pe n'avé nfurmazione:",
        "cascadeprotectedwarning": "'''Attenziò:''' Sta paggena è stata bloccata 'n modo ca sulamente l'utente ch' 'e privilegge d'ammenistratore 'a ponno cagnà. Chesto succiere pecché 'a paggena è appennuta dint'a {{PLURAL:$1|la paggena innecata ccà abbascio, ch'è stata prutetta|'e paggene innecate ccà abbascio, che so' state prutette}} sciglienno 'a prutezione \"ricurziva\":",
        "permissionserrors": "Nun haje 'e premmesse abbastante.",
        "permissionserrorstext": "Nun haje premmesse pe lle ffà st'azziune, {{PLURAL:$1|'o mutivo è chesto|'e mutive so' chiste}}:",
        "permissionserrorstext-withaction": "Nun haje premmesse abbastante pe' $2, {{PLURAL:$1|'o mutivo è chesto|'e mutive so' chiste}}:",
-       "contentmodelediterror": "Vuje nun putite cagnà sta verziona pecché 'o mudell' 'e cuntenute è <code>$1</code>, e 'o mudell' 'e mò d' 'a paggena è <code>$2</code>.",
+       "contentmodelediterror": "Vuje nun putite cagnà sta verziona pecché 'o mudell' 'e cuntenute è <code>$1</code>, ca cagnasse nu poco nfacc' 'o mudell' 'e mò d' 'a paggena è <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Attenziò: staje a crià na paggena scancellata già.'''\n\nVire si è bbuono 'e cuntinuà a cagnà sta paggena. L'elenco ch' 'e relative scancellamiente e spustamente s'è scritto ccà abbascio pe' ffà comodo:",
        "moveddeleted-notice": "Sta paggena è stata scancellata.\nL'elenco d' 'e relative scancellamiente e spustamente s'è scritto ccà abbascio pe' n'avé nfurmazione.",
        "moveddeleted-notice-recent": "Scusate, sta mmasciata è stata scancellata mo mo (dint'a sti 24 ore).\n\nL'aziune 'e scancellazione e spustamento pe' sta paggena so dispunibbele ccà p' 'a cumpretezza.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Faccio attestato ca songo 'o detentore d' 'o copyright 'e stu file, e so' d'accordo 'e lassà irrevocabbelmente stu file a Wikimedia Commons sott'a licienza [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribuziona-SparteEguale 4.0], e so' d'accordo cu sti [https://wikimediafoundation.org/wiki/Terms_of_Use Termene d'Uso].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Si nun tenite 'o copyright 'e stu file, o pure 'o vulite lassà libbero cu n'ata licienza, cunziderate 'ausà 'o [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Putite pure tentà 'e ausà [[Special:Upload|'a paggena 'e carreche 'e {{SITENAME}}]], si stu sito ve premmettesse 'e carrecà llanno pe' bbìa d' 'e pulitiche.",
+       "foreign-structured-upload-form-2-label-intro": "Ve ringraziammo p' 'o dono 'e n'immaggene p' 'a puté ausà dint'a {{SITENAME}}. Avita cuntinuà surtanto si se danno 'e condeziune ccà:",
+       "foreign-structured-upload-form-2-label-ownwork": "Adda essere sana sana <strong>na criaziona propria vosta</strong>, nun fosse na fiurella pigliata 'a ll'Internet",
+       "foreign-structured-upload-form-2-label-noderiv": "<strong>Nun adda mmescà ati fatiche fatte 'a n'ato</strong>, nun adda piglià ispirazione artistica 'e na fatica ca nun fose d' 'a vosta",
+       "foreign-structured-upload-form-2-label-useful": "Adda essere <strong>educazionale e utile</strong> pe' puté mparà ll'ata ggente",
+       "foreign-structured-upload-form-2-label-ccbysa": "Adda essere <strong>OK pe' pubbrecà pe' sempe</strong> ncopp'a ll'Internet sott' 'e condeziune d' 'a licienza [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Si chiste punte ccà ncoppa nun songo overe, putite ancora carrecà 'o file ausanno [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard], chest'è: si fosse a disposizione sott'a na licienza libbera.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Carrecanno stu file, vuje lassate attestato 'e ricanoscenza ca site 'o possessore d' 'o copyright 'e stu file, e ca site d'accordo senza puté turnà arreto 'e libberà stu file p' 'o fà trasì dint'a Wikimedia Commons sott'a licienza Creative Commons Attribution-ShareAlike 4.0, e che site d'accordo ch' 'e [https://wikimediafoundation.org/wiki/Terms_of_Use Tiérmene d'auso].",
+       "foreign-structured-upload-form-3-label-question-website": "Avite scarrecata st'immaggene 'a nu sito internet o l'avite pigliato 'a na cerca-immaggene?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Avite criato vuje st'immaggene (scattat' 'a foto, criato 'o disegno, etc.) vuje stisso/a?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Cuntene, o s'ispirasse 'a, fatiche c' 'o copyright 'e coccherun'ato, comm'a nu logo?",
+       "foreign-structured-upload-form-3-label-yes": "Sì",
+       "foreign-structured-upload-form-3-label-no": "No",
+       "foreign-structured-upload-form-3-label-alternative": "Spiacente, ind'a sta situaziona, stu strumiento nun ve premmettesse 'e carrecà stu file. Putite tentà ancora 'e carrecà stu file ausanno [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard], si chesto se truvasse libbero sott'a na licienza libbera.",
+       "foreign-structured-upload-form-4-label-good": "Ausanno stu tool, putite carrecà grafiche educazionale c'avite criato vuje stisse, immaggene c'avite pigliato, e ca nun cunteneno fatiche 'a coccherun'ato.",
+       "foreign-structured-upload-form-4-label-bad": "Vuje nun putite carrecà immaggene truvate pe' miez' 'e nu mutor' 'e ricerca o c'avite scarrecat'a n'atu sito.",
        "backend-fail-stream": "Nun se può mannà 'o file \"$1\".",
        "backend-fail-backup": "Nun se può ffà 'o backup d' 'o file \"$1\".",
        "backend-fail-notexists": "'O file $1 nun esiste.",
        "usereditcount": "{{PLURAL:$1|nu càgnamiento|$1 càgnamiente}}",
        "usercreated": "{{GENDER:$3|Criato/a}} 'o $1 a $2",
        "newpages": "Paggene cchiù frische",
+       "newpages-submit": "Faje vedé",
        "newpages-username": "Nomme utente:",
        "ancientpages": "Paggene cchiù viecchie",
        "move": "Mòve",
        "specialloguserlabel": "Mplementatore:",
        "speciallogtitlelabel": "Destinazione (titolo o {{ns:user}}:cunto utente pe' ll'utente):",
        "log": "Logs",
+       "logeventslist-submit": "Faje vedé",
        "all-logs-page": "Tutte l'archivie pubbleche",
        "alllogstext": "Visualizzazione mmescata 'e tutte 'e riggistre a disposizione ncopp'a {{SITENAME}}.\nPutite restringere 'a vista a sicondo 'o tipo 'e riggistro, 'o nomme utente (sensibbele a 'e maiuscole), o 'e paggene coinvolte (pure chiste songo sensibbele a 'e maiuscole).",
        "logempty": "Nun ce sta n'elemento dint' 'o riggistro azzeccato â ricerca.",
        "cachedspecial-viewing-cached-ts": "State vedenno na verzione 'n cache, ca putesse nun essere agghiurnata.",
        "cachedspecial-refresh-now": "Vide l'urdeme.",
        "categories": "Categurìe",
+       "categories-submit": "Faje vedé",
        "categoriespagetext": "{{PLURAL:$1|'A categurìa 'nnecata 'e seguito cuntiene|'E categurìe 'nnecate 'e seguito cuntengono}} paggene o file multimediale.\n'E [[Special:UnusedCategories|categurìe vuote]] nun song mostrate ccà.\nVere anche 'e [[Special:WantedCategories|categurìe richieste]].",
        "categoriesfrom": "Fà vedè 'e categurìe partenno 'a:",
        "special-categories-sort-count": "arricetta pe' cunteggio",
        "delete-confirm": "Scancella \"$1\"",
        "delete-legend": "Scancella",
        "historywarning": "'''Attenzione:''' 'A paggena ca state pe' scancellà tene na cronologgia cu $1 {{PLURAL:$1|verzione|verziune}}:",
+       "historyaction-submit": "Faje vedé",
        "confirmdeletetext": "Vedite bbuono, vedite ca state a scancellà na paggena nziem' 'a tutt' 'a cronologgia.\nPe' piacere cunfermate si overo vulite fà cchesto, ca ve site fatto/a capace 'e l'effette 'e st'azione e ca chest'azione rispetta 'e [[{{MediaWiki:Policy-url}}|reole 'e scancellamiento]].",
        "actioncomplete": "Azzione fernuta",
        "actionfailed": "Aziona sfalluta",
        "exif-compression-4": "Codifeca fax CCITT gruppo 4",
        "exif-copyrighted-true": "Prutetto 'a copyright",
        "exif-copyrighted-false": "Status d' 'o copyright nun mpustato",
+       "exif-photometricinterpretation-1": "Janco e niro (niro è 0)",
        "exif-unknowndate": "Data scanusciuta",
        "exif-orientation-1": "Nurmale",
        "exif-orientation-2": "Revutato orizzontalmente",
index 9579c8d..3e5e9dc 100644 (file)
@@ -71,7 +71,8 @@
                        "Esketti",
                        "M!dgard",
                        "Matma Rex",
-                       "Robin van der Vliet"
+                       "Robin van der Vliet",
+                       "Catrope"
                ]
        },
        "tog-underline": "Koppelingen onderstrepen:",
        "passwordreset-emailtext-user": "Gebruiker $1 op de site {{SITENAME}} heeft een aanvraag gedaan om uw wachtwoord voor {{SITENAME}} ($4) opnieuw in te stellen. De volgende {{PLURAL:$3|gebruiker is|gebruikers zijn}} gekoppeld aan dit e-mailadres:\n\n$2\n\n{{PLURAL:$3|Dit tijdelijke wachtwoord vervalt|Deze tijdelijke wachtwoorden vervallen}} over {{PLURAL:$5|een dag|$5 dagen}}.\nMeld u aan en wijzig het wachtwoord nu. Als u dit verzoek niet zelf heeft gedaan, of als u het oorspronkelijke wachtwoord nog kent en het niet wilt wijzigen, negeer dit bericht dan en blijf uw oude wachtwoord gebruiken.",
        "passwordreset-emailelement": "Gebruikersnaam: \n$1\n\nTijdelijk wachtwoord: \n$2",
        "passwordreset-emailsentemail": "Als dit een geregistreerd e-mailadres is voor uw account, dan wordt er een e-mail verzonden om uw wachtwoord opnieuw in te stellen.",
+       "passwordreset-emailsentusername": "Als er een e-mailadres geregistreerd is voor die gebruikersnaam, dan wordt er een e-mail verzonden om uw wachtwoord opnieuw in te stellen.",
        "passwordreset-emailsent-capture": "Er is een e-mail voor het opnieuw instellen van een wachtwoord verzonden. Deze wordt hieronder weergegeven.",
        "passwordreset-emailerror-capture": "Er is een e-mail voor het opnieuw instellen van een wachtwoord aangemaakt. Deze wordt hieronder weergegeven. Het verzenden naar de {{GENDER:$2|gebruiker}} is mislukt om de volgende reden: $1",
        "changeemail": "E-mailadres wijzigen of verwijderen",
        "showingresultsinrange": "Hieronder {{PLURAL:$1|wordt|worden}} maximaal {{PLURAL:$1|<strong>1</strong> resultaat|<strong>$1 </strong>resultaten}} weergegeven in het bereik #<strong>$2</strong> tot #<strong>$3</strong>.",
        "search-showingresults": "{{PLURAL:$4|Resultaat <strong>$1</strong> van <strong>$2</strong>|Resultaten <strong>$1 - $2</strong> van <strong>$3</strong>}}",
        "search-nonefound": "Er zijn geen resultaten voor uw zoekopdracht.",
+       "search-nonefound-thiswiki": "Er zijn voor uw zoekopdracht geen resultaten op deze site.",
        "powersearch-legend": "Uitgebreid zoeken",
        "powersearch-ns": "Zoeken in naamruimten:",
        "powersearch-togglelabel": "Selecteren:",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zie ook de [[Special:NewPages|lijst met nieuwe pagina's]])",
        "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-submit": "Weergeven",
        "rcnotefrom": "Wijzigingen sinds <strong>$3 om $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|wijziging|wijzigingen}}).",
        "rclistfrom": "Wijzigingen bekijken vanaf $3 $2",
        "rcshowhideminor": "Kleine wijzigingen $1",
        "foreign-structured-upload-form-label-own-work-message-shared": "Ik verklaar dat ik de auteursrechten bezit op dit bestand en ik ga onherroepbaar akkoord met het vrijgeven van dit bestand aan Wikimedia Commons onder de licentie [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Naamsvermelding-GelijkDelen 4.0] en ik ga akkoord met de [https://wikimediafoundation.org/wiki/Terms_of_Use Gebruiksvoorwaarden].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Als u geen eigenaar bent van de auteursrechten van dit bestand, of als u het onder een andere licentie wilt vrijgeven, overweeg dan gebruik te maken van de [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "U kunt ook de [[Special:Upload|uploadpagina op {{SITENAME}}]] gebruiken, als de site het uploaden van dit bestand onder hun beleid toestaat.",
+       "foreign-structured-upload-form-2-label-intro": "Fijn dat u een afbeelding wilt doneren voor gebruik op {{SITENAME}}! U kunt alleen verder gaan als uw afbeelding aan een aantal voorwaarden voldoet:",
+       "foreign-structured-upload-form-2-label-ownwork": "Het moet geheel <strong>zelfgemaakt</strong> zijn, niet van het internet gehaald",
+       "foreign-structured-upload-form-2-label-noderiv": "Het moet <strong>geen werk of inspiratie van anderen</strong> bevatten",
+       "foreign-structured-upload-form-2-label-useful": "Het moet <strong>leerzaam en nuttig</strong> zijn",
+       "foreign-structured-upload-form-2-label-ccbysa": "Het moet <strong>voor altijd gepubliceerd mogen worden</strong> op het internet onder de [https://creativecommons.org/licenses/by-sa/4.0/deed.nl Creative Commons Attribution-ShareAlike 4.0]-licentie.",
+       "foreign-structured-upload-form-2-label-alternative": "Als uw afbeelding niet aan al deze voorwaarden voldoet, kunt u hem wellicht alsnog uploaden via de [https://commons.wikimedia.org/wiki/Special:UploadWizard?uselang=nl wizard op Commons], zolang de afbeelding beschikbaar is onder een vrije licentie.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Door dit bestand te uploaden, bevestigt u dat u het auteursrecht hebt op dit bestand, en gaat u ermee akkoord om dit bestand onherroepelijk vrij te geven aan Wikimedia Commons onder de Creative Commons Attribution-ShareAlike 4.0-licentie, en gaat u akkoord met de [https://wikimediafoundation.org/wiki/Terms_of_Use/nl gebruiksvoorwaarden].",
+       "foreign-structured-upload-form-3-label-question-website": "Hebt u deze afbeelding gedownload van een website, of gevonden met een zoekmachine?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Hebt u deze afbeelding zelf gemaakt (zelf een foto genomen, zelf een tekening getekend, o.i.d.)?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Bevat deze afbeelding werk dat eigendom is van iemand anders, zoals een logo, of is het geïnspireerd op werk van anderen?",
+       "foreign-structured-upload-form-3-label-yes": "Ja",
+       "foreign-structured-upload-form-3-label-no": "Nee",
+       "foreign-structured-upload-form-3-label-alternative": "Helaas kunt u dit bestand niet uploaden met deze software. Wellicht kunt u het alsnog uploaden via de [https://commons.wikimedia.org/wiki/Special:UploadWizard?uselang=nl wizard op Commons], zolang het bestand beschikbaar is onder een vrije licentie.",
+       "foreign-structured-upload-form-4-label-good": "Met deze software kunt u educationele afbeeldingen uploaden die u zelf gemaakt hebt, en foto's die u zelf genomen hebt, die geen werk bevatten dat eigendom is van anderen.",
+       "foreign-structured-upload-form-4-label-bad": "U kunt geen afbeeldingen uploaden die u gevonden hebt met een zoekmachine of gedownload hebt van andere websites.",
        "backend-fail-stream": "Het was niet mogelijk het bestand \"$1\" te streamen.",
        "backend-fail-backup": "Het was niet mogelijk een reservekopie van het bestand $1 te maken.",
        "backend-fail-notexists": "Het bestand $1 bestaat niet.",
        "mostrevisions": "Pagina's met de meeste bewerkingen",
        "prefixindex": "Alle pagina's op voorvoegsel",
        "prefixindex-namespace": "Alle pagina's met het voorvoegsel (naamruimte $1)",
+       "prefixindex-submit": "Weergeven",
        "prefixindex-strip": "Voorvoegsel in lijst verwijderen",
        "shortpages": "Korte pagina's",
        "longpages": "Lange pagina's",
        "usereditcount": "$1 {{PLURAL:$1|bewerking|bewerkingen}}",
        "usercreated": "{{GENDER:$3|Geregistreerd}} op $1 om $2",
        "newpages": "Nieuwe pagina's",
+       "newpages-submit": "Weergeven",
        "newpages-username": "Gebruikersnaam:",
        "ancientpages": "Oudste pagina's",
        "move": "Hernoemen",
        "specialloguserlabel": "Uitvoerende gebruiker:",
        "speciallogtitlelabel": "Doel (paginanaam of {{ns:user}}:gebruikersnaam voor gebruiker):",
        "log": "Logboeken",
+       "logeventslist-submit": "Weergeven",
        "all-logs-page": "Alle openbare logboeken",
        "alllogstext": "Dit is het gecombineerde logboek van {{SITENAME}}.\nU kunt ook kiezen voor specifieke logboeken en filteren op gebruiker (hoofdlettergevoelig) en paginanaam (hoofdlettergevoelig).",
        "logempty": "Er zijn geen regels in het logboek die voldoen aan deze criteria.",
        "cachedspecial-viewing-cached-ts": "U bekijkt een cacheversie van deze pagina, die mogelijk niet volledig is bijgewerkt.",
        "cachedspecial-refresh-now": "Meest recente weergeven.",
        "categories": "Categorieën",
+       "categories-submit": "Weergeven",
        "categoriespagetext": "De volgende {{PLURAL:$1|categorie bevat|categorieën bevatten}} pagina's of mediabestanden.\n[[Special:UnusedCategories|Ongebruikte categorieën]] worden hier niet weergegeven.\nZie ook [[Special:WantedCategories|niet-bestaande categorieën met koppelingen]].",
        "categoriesfrom": "Categorieën weergeven vanaf:",
        "special-categories-sort-count": "op aantal sorteren",
        "wlshowlast": "Laatste $1 uur, $2 dagen bekijken",
        "watchlistall2": "alles",
        "watchlist-hide": "Verbergen",
+       "watchlist-submit": "Weergeven",
        "wlshowtime": "Periode om te weergeven:",
        "wlshowhideminor": "kleine bewerkingen",
        "wlshowhidebots": "bots",
        "delete-confirm": "\"$1\" verwijderen",
        "delete-legend": "Verwijderen",
        "historywarning": "<strong>Waarschuwing:</strong> de pagina die u wilt verwijderen heeft ongeveer $1 {{PLURAL:$1|versie|versies}}:",
+       "historyaction-submit": "Weergeven",
        "confirmdeletetext": "U staat op het punt een pagina te verwijderen, inclusief de geschiedenis.\nBevestig hieronder dat dit inderdaad uw bedoeling is, dat u de gevolgen begrijpt en dat de verwijdering overeenstemt met het [[{{MediaWiki:Policy-url}}|beleid]].",
        "actioncomplete": "Handeling voltooid",
        "actionfailed": "De handeling is mislukt.",
index 594e26b..6216f61 100644 (file)
        "createaccountreason": "ਕਾਰਨ:",
        "createacct-reason": "ਕਾਰਨ",
        "createacct-reason-ph": "ਤੁਸੀਂ ਹੋਰ ਖਾਤਾ ਕਿਉਂ ਬਣਾ ਰਹੇ ਹੋ",
-       "createacct-captcha": "ਸੁਰੱਖਿਆ ਜਾਂਚ",
-       "createacct-imgcaptcha-ph": "ਉੱਤੇ ਵੇਖਾਈ ਦੇ ਰਿਹਾ ਸ਼ਬਦ ਦਿਉ",
        "createacct-submit": "ਆਪਣਾ ਖਾਤਾ ਬਣਾਓ",
        "createacct-another-submit": "ਨਵਾਂ ਖਾਤਾ ਬਣਾਓ",
        "createacct-benefit-heading": "{{SITENAME}} ਨੂੰ ਤੁਹਾਡੇ ਵਰਗੇ ਲੋਕਾਂ ਵਲੋਂ ਹੀ ਬਣਾਇਆ ਗਿਆ ਹੈ।",
        "passwordreset-emailtext-ip": "ਕਿਸੇ ਨੇ (ਸ਼ਾਇਦ ਤੁਸੀਂ, IP ਪਤਾ $1 ਤੋਂ) {{SITENAME}}\n($4) ਲਈ ਖਾਤਾ ਤਫ਼ਸੀਲ ਯਾਦ-ਦਹਾਨੀ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਇਹ {{PLURAL:\n$3|ਖਾਤਾ ਇਸ ਈ-ਮੇਲ ਪਤੇ ਨਾਲ਼ ਜੁੜਿਆ ਹੈ|ਖਾਤੇ ਇਸ ਈ-ਮੇਲ ਪਤੇ ਨਾਲ਼ ਜੁੜੇ ਹਨ}}:\n$2\n\nਇਹ ਆਰਜ਼ੀ ਪਾਸਵਰਡ\n{{PLURAL:$5|ਇੱਕ ਦਿਨ|$5 ਦਿਨਾਂ}} ਵਿਚ ਖ਼ਤਮ ਹੋ {{PLURAL:$3|ਜਾਵੇਗਾ|ਜਾਣਗੇ}}।\nਤੁਹਾਨੂੰ ਹੁਣੇ ਲਾਗਇਨ ਕਰਕੇ ਨਵਾਂ ਪਾਸਵਰਡ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਕਿਸੇ ਹੋਰ ਨੇ ਇਹ ਬੇਨਤੀ ਕੀਤੀ ਸੀ ਜਾਂ ਜੇ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਯਾਦ ਹੈ ਅਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਬਦਲਣਾ ਨਹੀਂ ਚਾਹੁੰਦੇ ਤਾਂ ਤੁਸੀਂ ਇਸ ਸੁਨੇਹੇ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰ ਕੇ ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖ ਸਕਦੇ ਹੋ।",
        "passwordreset-emailtext-user": "{{SITENAME}} 'ਤੇ User $1 ਨੇ ਤੁਹਾਡੇ {{SITENAME}} ($4) ਉਤਲੇ ਪਛਾਣ-ਸ਼ਬਦ ਨੂੰ ਮੁੜ-ਬਣਾਉਣ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਇਸ ਈਮੇਲ ਪਤੇ ਨਾਲ਼ ਹੇਠ ਲਿਖੇ {{PLURAL:$3|ਖਾਤੇ|ਖਾਤਿਆਂ}} ਦਾ ਵਾਸਤਾ ਹੈ:\n\n$2\n\n{{PLURAL:$3|ਇਸ ਆਰਜ਼ੀ ਪਛਾਣ-ਸ਼ਬਦ|ਇਹਨਾਂ ਆਰਜ਼ੀ ਪਛਾਣ-ਸ਼ਬਦਾਂ}} ਦੀ ਮਿਆਦ {{PLURAL:$5|ਇੱਕ ਦਿਨ|$5 ਦਿਨਾਂ}} 'ਚ ਮੁੱਕ ਜਾਵੇਗੀ।\nਤੁਹਾਨੂੰ ਹੁਣੇ ਦਾਖ਼ਲ ਹੋ ਕੇ ਕੋਈ ਨਵਾਂ ਪਛਾਣ-ਸ਼ਬਦ ਬਣਾ ਲੈਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇਕਰ ਕਿਸੇ ਹੋਰ ਨੇ ਇਹ ਬੇਨਤੀ ਕੀਤੀ ਹੈ ਜਾਂ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਹਿਲਾ ਪਛਾਣ-ਸ਼ਬਦ ਯਾਦ ਆ ਗਿਆ ਹੈ ਅਤੇ ਹੁਣ ਤੁਸੀਂ ਉਹਨੂੰ ਬਦਲ਼ਨਾ ਨਹੀਂ ਲੋਚਦੇ ਤਾਂ ਤੁਸੀਂ ਇਸ ਸੁਨੇਹੇ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਕੇ ਆਪਣਾ ਪੁਰਾਣਾ ਪਛਾਣ-ਸ਼ਬਦ ਵਰਤਦੇ ਰਹਿ ਸਕਦੇ ਹੋ।",
        "passwordreset-emailelement": "ਯੂਜ਼ਰ-ਨਾਂ: \n$1\n\nਆਰਜ਼ੀ ਪਾਸਵਰਡ: \n$2",
-       "passwordreset-emailsent": "ਇੱਕ ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਈ-ਮੇਲ ਭੇਜੀ ਜਾ ਚੁੱਕੀ ਹੈ।",
+       "passwordreset-emailsentemail": "ਇੱਕ ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਈ-ਮੇਲ ਭੇਜੀ ਜਾ ਚੁੱਕੀ ਹੈ।",
        "passwordreset-emailsent-capture": "ਇੱਕ ਯਾਦ-ਦਹਾਨੀ ਈ-ਮੇਲ, ਜਿਹੜੀ ਕਿ ਹੇਠਾਂ ਦਿੱਸ ਰਹੀ ਹੈ, ਭੇਜੀ ਜਾ ਚੁੱਕੀ ਹੈ।",
        "passwordreset-emailerror-capture": "ਪਛਾਣ-ਸ਼ਬਦ ਮੁੜ ਬਣਾਉਣ ਵਾਸਤੇ ਈਮੇਲ ਤਿਆਰ ਹੋ ਗਈ ਸੀ, ਜੋ ਹੇਠਾਂ ਵਿਖਾਈ ਗਈ ਹੈ, ਪਰ ਇਹਨੂੰ {{GENDER:$2|ਵਰਤੋਂਕਾਰ}} ਵੱਲ ਨਹੀਂ ਘੱਲਿਆ ਜਾ ਸਕਿਆ: $1",
        "changeemail": "ਈ-ਮੇਲ ਸਿਰਨਾਵਾਂ ਬਦਲੋ",
        "prefs-tokenwatchlist": "ਟੋਕਨ",
        "prefs-diffs": "ਫ਼ਰਕ",
        "prefs-help-prefershttps": "ਇਹ ਪਸੰਦ ਤੁਹਾਡੇ ਅਗਲੇ ਦਾਖ਼ਲੇ ਤੋਂ ਚਾਲੂ ਹੋ ਜਾਵੇਗੀ।",
-       "email-address-validity-valid": "ਈ-ਮੇਲ ਪਤਾ ਸਹੀ ਲਗਦਾ ਹੈ",
-       "email-address-validity-invalid": "ਸਹੀ ਈ-ਮੇਲ ਪਤਾ ਦਾਖ਼ਲ ਕਰੋ",
        "userrights": "ਵਰਤੋਂਕਾਰੀ ਹੱਕਾਂ ਦਾ ਪ੍ਰਬੰਧ",
        "userrights-lookup-user": "ਵਰਤੋਂਕਾਰ ਸਮੂਹਾਂ ਦੀ ਦੇਖਭਾਲ",
        "userrights-user-editname": "ਇੱਕ ਵਰਤੋਂਕਾਰ ਨਾਂ ਭਰੋ:",
        "recentchanges-legend-heading": "'''ਟੀਕਾ:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|ਨਵੇਂ ਸਫ਼ਿਆਂ ਦੀ ਸੂਚੀ]] ਵੀ ਵੇਖੋ)",
        "recentchanges-legend-plusminus": "(''±੧੨੩'')",
+       "recentchanges-submit": "ਦਿਖਾਓ",
        "rcnotefrom": "'''$2''' ਤੱਕ ('''$1''' ਤੱਕ ਦਿੱਸਦੇ) ਬਦਲਾਵ ਹੇਠ ਦਿੱਤੀਆਂ ਹਨ।",
        "rclistfrom": "$3 $2 ਤੋਂ ਸ਼ੁਰੂ ਕਰਕੇ ਨਵੀਆਂ ਸੋਧਾਂ ਵਖਾਓ",
        "rcshowhideminor": "ਛੋਟੀਆਂ ਤਬਦੀਲੀਆਂ $1",
        "upload-misc-error": "ਅਣਪਛਾਤੀ ਅੱਪਲੋਡ ਗਲਤੀ",
        "upload-http-error": "ਇੱਕ HTTP ਗ਼ਲਤੀ ਹੋਈ: $1",
        "foreign-structured-upload-form-label-infoform-date": "ਤਾਰੀਖ਼",
+       "foreign-structured-upload-form-3-label-question-website": "ਕੀ ਤੁਸੀਂ ਇਹ ਚਿੱਤਰ ਜ਼ਾਲਸਥਾਨ ਤੋਂ ਉਤਾਰਿਆ ਹੈ ਜਾਂ ਚਿੱਤਰ-ਖੋਜ਼ ਤੋਂ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਹੈ?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "ਕੀ ਤੁਸੀਂ ਇਹ ਚਿੱਤਰ ਆਪ ਬਣਾਇਆ(ਖਿੱਚਿਆ,ਵਾਹਿਆ,ਆਦਿ) ਹੈ?",
+       "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\" ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।",
        "wantedtemplates": "ਚਾਹੀਦੇ ਟੈਪਲੇਟ",
        "mostcategories": "ਸਭ ਤੋਂ ਵੱਧ ਕੈਟੇਗਰੀਆਂ ਵਾਲ਼ੇ ਸਫ਼ੇ",
        "prefixindex": "ਇਸ ਅਗੇਤਰ ਵਾਲੇ ਸਾਰੇ ਸਫ਼ੇ",
+       "prefixindex-submit": "ਦਿਖਾਓ",
        "shortpages": "ਛੋਟੇ ਸਫ਼ੇ",
        "longpages": "ਲੰਮੇ ਸਫ਼ੇ",
        "deadendpages": "ਬੰਦ ਗਲ਼ੀ ਵਾਲ਼ੇ ਸਫ਼ੇ",
        "protectedpages-page": "ਸਫ਼ਾ",
        "protectedpages-expiry": "ਮਿਆਦ",
        "protectedpages-reason": "ਕਾਰਨ",
+       "protectedpages-submit": "ਸਤਹਿ ਪੰਨੇ",
        "protectedpages-unknown-timestamp": "ਅਣਜਾਣ",
        "protectedpages-unknown-performer": "ਅਣਪਛਾਤੇ ਵਰਤੋਂਕਾਰ",
        "protectedtitles": "ਸੁਰੱਖਿਅਤ ਸਿਰਲੇਖ",
+       "protectedtitles-submit": "ਸਤਹਿ ਸਿਰਲੇਖ",
        "listusers": "ਵਰਤੋਂਕਾਰ ਸੂਚੀ",
        "listusers-editsonly": "ਸਿਰਫ਼ ਸੋਧਾਂ ਵਾਲੇ ਵਰਤੋਂਕਾਰ ਵਿਖਾਓ",
        "listusers-creationsort": "ਬਣਾਉਣ ਦੀ ਮਿਤੀ ਮੁਤਾਬਕ ਤਰਤੀਬ ਵਿਚ ਕਰੋ",
        "usereditcount": "$1 {{PLURAL:$1|ਸੋਧ|ਸੋਧਾਂ}}",
        "usercreated": "$1 ਨੂੰ $2 ’ਤੇ {{GENDER:$3|ਬਣਾਇਆ}}",
        "newpages": "ਨਵੇਂ ਸਫ਼ੇ",
+       "newpages-submit": "ਦਿਖਾਓ",
        "newpages-username": "ਵਰਤੋਂਕਾਰ ਨਾਂ:",
        "ancientpages": "ਸਭ ਤੋਂ ਪੁਰਾਣੇ ਸਫ਼ੇ",
        "move": "ਸਿਰਲੇਖ ਬਦਲੋ",
        "specialloguserlabel": "ਕਰਤਾ:",
        "speciallogtitlelabel": "ਸਿਰਲੇਖ:",
        "log": "ਚਿੱਠੇ",
+       "logeventslist-submit": "ਦਿਖਾਓ",
        "all-logs-page": "ਸਾਰੇ ਆਮ ਚਿੱਠੇ",
        "logempty": "ਚਿੱਠੇ ’ਚ ਮੇਲ ਖਾਂਦੀ ਕੋਈ ਚੀਜ਼ ਨਹੀਂ ਹੈ।",
        "log-title-wildcard": "ਇਸ ਲਿਖਤ ਨਾਲ਼ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲ਼ੇ ਸਿਰਲੇਖ ਖੋਜੋ",
        "allpages-hide-redirects": "ਰੀਡਿਰੈਕਟ ਲੁਕਾਓ",
        "cachedspecial-refresh-now": "ਸਭ ਤੋਂ ਨਵਾਂ ਵੇਖੋ।",
        "categories": "ਸ਼੍ਰੇਣੀਆਂ",
+       "categories-submit": "ਦਿਖਾਓ",
        "categoriesfrom": "ਇਸਤੋਂ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲ਼ੀਆਂ ਕੈਟੇਗਰੀਆਂ ਵਖਾਓ:",
        "special-categories-sort-count": "ਗਿਣਤੀ ਮੁਤਾਬਕ ਤਰਤੀਬ ਦੇਵੋ",
        "special-categories-sort-abc": "ਅੱਖਰਾਂ ਮੁਤਾਬਕ ਤਰਤੀਬ ਦਿਓ",
        "activeusers-hidebots": "ਬੌਟਾਂ ਨੂੰ ਲੁਕਾਓ",
        "activeusers-hidesysops": "ਪ੍ਰਸ਼ਾਸਕ ਲੁਕਾਓ",
        "activeusers-noresult": "ਕੋਈ ਵਰਤੋਂਕਾਰ ਨਹੀਂ ਲੱਭਾ।",
+       "activeusers-submit": "ਚਾਲੂ ਵਰਤੋਂਕਾਰ ਦਿਖਾਓ",
        "listgrouprights": "ਵਰਤੋਂਕਾਰ ਸਮੂਹਾਂ ਦੇ ਹੱਕ",
        "listgrouprights-group": "ਸਮੂਹ",
        "listgrouprights-rights": "ਹੱਕ",
        "wlheader-enotif": "ਈਮੇਲ ਸੂਚਨਾ ਚਾਲੂ ਹੈ।",
        "wlnote": "$3, $4 ਮੁਤਾਬਕ ਆਖ਼ਰੀ {{PLURAL:$2|ਘੰਟੇ|'''$2''' ਘੰਟਿਆਂ}} ਵਿਚ {{PLURAL:\n$1|ਤਬਦੀਲੀ ਹੋਈ|'''$1''' ਤਬਦੀਲੀਆਂ ਹੋਈਆਂ}}, ਹੇਠਾਂ ਵੇਖੋ।",
        "wlshowlast": "ਪਿਛਲੇ $1 ਘੰਟੇ $2 ਦਿਨ  ਵਖਾਓ",
+       "watchlistall2": "ਸਭ",
+       "watchlist-submit": "ਦਿਖਾਓ",
        "watchlist-options": "ਨਿਗਰਾਨੀ-ਲਿਸਟ ਦੀਆਂ ਚੋਣਾਂ",
        "watching": "ਨਿਗ੍ਹਾ (ਵਾਚ) ਰੱਖੀ ਜਾ ਰਹੀ ਹੈ...",
        "unwatching": "ਨਿਗ੍ਹਾ ਰੱਖਣੀ (ਵਾਚ) ਬੰਦ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..",
        "delete-confirm": "\"$1\" ਹਟਾਓ",
        "delete-legend": "ਹਟਾਓ",
        "historywarning": "<strong>ਖ਼ਬਰਦਾਰ:</strong> ਜੋ ਸਫ਼ਾ ਤੁਸੀਂ ਮਿਟਾਉਣ ਜਾ ਰਹੇ ਹੋ ਉਹਦਾ ਅਤੀਤ $1 {{PLURAL:$1|ਸੁਧਾਈ|ਸੁਧਾਈਆਂ}} ਦਾ ਹੈ:",
+       "historyaction-submit": "ਦਿਖਾਓ",
        "actioncomplete": "ਕਾਰਵਾਈ ਪੂਰੀ ਹੋਈ",
        "actionfailed": "ਕਾਰਵਾਈ ਨਾਕਾਮ",
        "deletedtext": "\"$1\" ਮਿਟਾਇਆ ਜਾ ਚੁੱਕਾ ਹੈ।\nਤਾਜ਼ੀਆਂ ਮਿਟਾਉਣਾਂ ਦੇ ਰਿਕਾਰਡ ਲਈ $2 ਵੇਖੋ।",
        "whatlinkshere-hidelinks": "$1 ਲਿੰਕ",
        "whatlinkshere-hideimages": "ਫ਼ਾਈਲ ਲਿੰਕ $1",
        "whatlinkshere-filters": "ਫਿਲਟਰ",
+       "whatlinkshere-submit": "ਚਲੋ",
        "block": "ਵਰਤੋਂਕਾਰ 'ਤੇ ਪਾਬੰਦੀ ਲਾਓ",
        "unblock": "ਵਰਤੋਂਕਾਰ 'ਤੇ ਲੱਗੀ ਪਾਬੰਦੀ ਹਟਾਓ",
        "blockip": "{{GENDER:$1|ਵਰਤੋਂਕਾਰ}} 'ਤੇ ਰੋਕ ਲਾਉ",
        "movenosubpage": "ਇਸ ਸਫ਼ੇ ਵਿਚ ਕੋਈ ਉਪਸਫ਼ੇ ਨਹੀਂ ਹਨ।",
        "movereason": "ਕਾਰਨ:",
        "revertmove": "ਉਲਟਾਓ",
-       "delete_and_move": "ਹਟਾਓ ਅਤੇ ਮੂਵ ਕਰੋ",
        "delete_and_move_confirm": "ਹਾਂ, ਸਫ਼ਾ ਮਿਟਾ ਦੇਵੋ",
        "immobile-source-page": "ਇਹ ਸਫ਼ਾ ਭੇਜਣ ਯੋਗ ਨਹੀਂ ਹੈ।",
        "move-leave-redirect": "ਪਿੱਛੇ ਇਕ ਰੀਡਿਰੈਕਟ ਛੱਡੋ",
        "exif-originalimagewidth": "ਕੱਟਣ ਤੋਂ ਪਹਿਲਾਂ ਤਸਵੀਰ ਦੀ ਚੌੜਾਈ",
        "exif-compression-1": "ਬੇਨਪੀੜਿਆ",
        "exif-copyrighted-true": "ਨਕਲ-ਹੱਕ ਹੇਠ",
+       "exif-photometricinterpretation-1": "ਕਾਲਾ ਅਤੇ ਚਿੱਟਾ (ਕਾਲਾ ਸਿਫ਼ਰ(੦) ਹੈ)",
        "exif-unknowndate": "ਅਣਪਛਾਤੀ ਮਿਤੀ",
        "exif-orientation-1": "ਸਧਾਰਨ",
        "exif-orientation-2": "ਲੇਟਵੇਂ ਲੋਟ ਤੁਣਕਿਆ",
index 8e13f50..9980205 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.",
        "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",
        "missingarticle-rev": "(wersja $1)",
        "missingarticle-diff": "(różnica: $1, $2)",
        "readonly_lag": "Baza danych została automatycznie zablokowana na czas potrzebny do wykonania synchronizacji zmian między serwerem głównym i serwerami pośredniczącymi.",
+       "nonwrite-api-promise-error": "Nagłówek HTTP 'Promise-Non-Write-API-Action' został wysłany, ale zapytanie wykorzystywało moduł API, który modyfikuje dane.",
        "internalerror": "Błąd wewnętrzny",
        "internalerror_info": "Błąd wewnętrzny: $1",
        "internalerror-fatal-exception": "Krytyczny wyjątek typu \"$1\"",
        "title-invalid-interwiki": "Podany tytuł strony zawiera link interwiki, który nie może być używany w tytułach.",
        "title-invalid-talk-namespace": "Żądany tytuł strony dotyczy strony dyskusji, która nie istnieje.",
        "title-invalid-characters": "Żądany tytuł strony zawiera błędne znaki: „$1”.",
+       "title-invalid-relative": "Tytuł zawiera ścieżkę względną (./, ../). Tytuły stron ze ścieżką względną są niedozwolone, gdyż w wielu wypadkach byłyby nieosiągalne dla przeglądarki użytkownika.",
        "title-invalid-magic-tilde": "Żądany tytuł strony zawiera błędną, magiczną sekwencję tyld (<nowiki>~~~</nowiki>)",
        "title-invalid-too-long": "Podany tytuł strony jest zbyt długi. Nie może mieć więcej niż $1 {{PLURAL:$1|bajt|bajty|bajtów}} w kodowaniu UTF-8.",
        "title-invalid-leading-colon": "Podany tytuł strony zawiera na początku nieprawidłowy dwukropek.",
        "mypreferencesprotected": "Nie masz uprawnień do edytowania swoich preferencji.",
        "ns-specialprotected": "Stron specjalnych nie można edytować.",
        "titleprotected": "Utworzenie strony o tej nazwie zostało zablokowane przez [[User:$1|$1]].\nUzasadnienie blokady: ''$2''.",
-       "filereadonlyerror": "Nie można zmodyfikować pliku \"$1\" ponieważ repozytorium plików \"$2\" jest w trybie tylko do odczytu.\n\nAdministrator blokujący go podał następujący powód \"''$3''\".",
+       "filereadonlyerror": "Nie można zmodyfikować pliku „$1”, ponieważ repozytorium plików „$2” jest w trybie tylko do odczytu.\n\nBlokujący go administrator systemu podał następujący powód: „$3”.",
        "invalidtitle-knownnamespace": "Nieprawidłowa nazwa w obszarze nazw \"$2\" o treści \"$3\"",
        "invalidtitle-unknownnamespace": "Nieprawidłowa nazwa z nieznaną liczbą przestrzeni nazw  $1  o treści \"$2\"",
        "exception-nologin": "Nie jesteś zalogowany/a",
        "passwordreset-emailtext-ip": "Ktoś (prawdopodobnie Ty, spod adresu IP $1) poprosił o zresetowanie twojego hasła w {{GRAMMAR:MS.lp{{SITENAME}}}} ($4). Z tym adresem e‐mailowym powiązane {{PLURAL:$3|jest konto użytkownika|są następujące konta użytkowników:}}\n\n$2\n\n{{PLURAL:$3|Tymczasowego hasła|Tymczasowych haseł}} można użyć w ciągu {{PLURAL:$5|jednego dnia|$5 dni}}.\nPowinieneś zalogować się i zmienić hasło na nowe. Jeśli to ktoś inny poprosił o wysłanie przypomnienia lub jeśli pamiętasz aktualne hasło i nie chcesz go zmieniać wystarczy, że zignorujesz tę wiadomość i będziesz nadal korzystać ze swojego starego hasła.",
        "passwordreset-emailtext-user": "Użytkownik $1 poprosił o zresetowanie twojego hasła w {{GRAMMAR:MS.lp{{SITENAME}}}} ($4). Z tym adresem e‐mailowym powiązane {{PLURAL:$3|jest konto użytkownika|są następujące konta użytkowników:}}\n\n$2\n\n{{PLURAL:$3|Tymczasowego hasła|Tymczasowych haseł}} można użyć w ciągu {{PLURAL:$5|jednego dnia|$5 dni}}.\nPowinieneś zalogować się i zmienić hasło na nowe. Jeśli to ktoś inny poprosił o wysłanie przypomnienia lub jeśli pamiętasz aktualne hasło i nie chcesz go zmieniać wystarczy, że zignorujesz tę wiadomość i będziesz nadal korzystać ze swojego starego hasła.",
        "passwordreset-emailelement": "Nazwa użytkownika: \n$1\n\nTymczasowe hasło: \n$2",
-       "passwordreset-emailsentemail": "Jeśli adres e‐mail przypisany do Twojego konta został zarejestrowany, zostanie wysłany e-mail do odzyskiwania hasła.",
+       "passwordreset-emailsentemail": "Jeśli ten adres e‐mail jest przypisany do Twojego konta, zostanie na niego wysłany e-mail do odzyskiwania hasła.",
+       "passwordreset-emailsentusername": "Jeśli z tym kontem powiązany jest adres e‐mail, zostanie na niego wysłany e-mail do odzyskiwania hasła.",
        "passwordreset-emailsent-capture": "Wyświetlony poniżej e‐mail pozwalający na zresetowanie hasła został wysłany.",
        "passwordreset-emailerror-capture": "Poniżej wyświetlony e‐mail pozwalający na zresetowanie hasła został wygenerowany, ale nie udało się wysłać go do {{GENDER:$2|użytkownika|użytkowniczki}}: $1",
        "changeemail": "Zmiana lub usunięcie adresu e‐mail",
        "changeemail-no-info": "Musisz być zalogowany, by uzyskać bezpośredni dostęp do tej strony.",
        "changeemail-oldemail": "Obecny adres e‐mail:",
        "changeemail-newemail": "Nowy adres e-mail:",
+       "changeemail-newemail-help": "Jeśli chcesz usunąć swój adres e-mail, pozostaw to pole puste. Nie będzie wtedy możliwe zresetowanie zapomnianego hasła, przestaniesz także otrzymywać inne e-maile z tej wiki.",
        "changeemail-none": "(brak)",
        "changeemail-password": "Twoje hasło:",
        "changeemail-submit": "Zmień e-mail",
        "copyrightwarning2": "Wszelki wkład na {{SITENAME}} może być edytowany, zmieniany lub usunięty przez innych użytkowników.\nJeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.<br />\nZapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach ''domeny publicznej'' lub kompatybilnych (zobacz także $1).\n'''PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!'''",
        "editpage-cannot-use-custom-model": "Model zawartości tej strony nie może być zmieniony.",
        "longpageerror": "'''Błąd! Wprowadzony przez Ciebie tekst ma {{PLURAL:$1|1 kilobajt|$1 kilobajty|$1 kilobajtów}}. Długość tekstu nie może przekraczać {{PLURAL:$2|1 kilobajt|$2 kilobajty|$2 kilobajtów}}. Tekst nie może być zapisany.'''",
-       "readonlywarning": "'''Uwaga! Baza danych została zablokowana do celów administracyjnych. W tej chwili nie można zapisać nowej wersji strony. Jeśli chcesz, może skopiować ją do pliku, aby móc zapisać ją później.'''\n\nAdministrator, który zablokował bazę, podał następujące wyjaśnienie: $1",
+       "readonlywarning": "<strong>Uwaga! Baza danych została zablokowana do celów administracyjnych. W tej chwili nie można zapisać nowej wersji strony. Jeśli chcesz, może skopiować ją do pliku, aby móc zapisać ją później.<strong>\n\nAdministrator systemu, który zablokował bazę, podał następujący powód: $1",
        "protectedpagewarning": "'''Uwaga! Możliwość modyfikacji tej strony została zabezpieczona. Mogą ją edytować jedynie użytkownicy z uprawnieniami administratora.'''\nOstatni wpis z rejestru jest pokazany poniżej.",
        "semiprotectedpagewarning": "'''Uwaga!''' Ta strona została zabezpieczona i tylko zarejestrowani użytkownicy mogą ją edytować.\nOstatni wpis z rejestru jest pokazany poniżej.",
        "cascadeprotectedwarning": "<strong>Uwaga:</strong> Ta strona została zabezpieczona i tylko użytkownicy z uprawnieniami administratora mogą ją edytować. Została ona osadzona w {{PLURAL:$1|następującej stronie, która została zabezpieczona|następujących stronach, które zostały zabezpieczone}} z włączoną opcją dziedziczenia:",
        "permissionserrors": "Błąd uprawnień",
        "permissionserrorstext": "Nie masz uprawnień do tego działania z {{PLURAL:$1|następującej przyczyny|następujących przyczyn}}:",
        "permissionserrorstext-withaction": "Nie masz uprawnień do $2 z {{PLURAL:$1|następującego powodu|następujących powodów}}:",
+       "contentmodelediterror": "Nie możesz edytować tej wersji, ponieważ model jej zawartości (<code>$1</code>) różni się od obecnego modelu zawartości strony (<code>$2</code>).",
        "recreate-moveddeleted-warn": "'''Uwaga! Zamierzasz utworzyć stronę, która została wcześniej usunięta.'''\n\nUpewnij się, czy ponowne utworzenie tej strony jest uzasadnione.\nPoniżej znajduje się rejestr usunięć i zmian nazwy tej strony:",
        "moveddeleted-notice": "Ta strona została usunięta.\nRejestr usunięć i zmian nazwy tej strony jest pokazany poniżej.",
        "moveddeleted-notice-recent": "Przepraszamy, ale ta strona została niedawno (w ciągu ostatnich 24 godzin) usunięta. Poniżej znajduje się rejestr usunięć i zmian nazwy tej strony.",
        "powersearch-legend": "Wyszukiwanie zaawansowane",
        "powersearch-ns": "Przeszukaj przestrzenie nazw:",
        "powersearch-togglelabel": "Zaznacz:",
-       "powersearch-toggleall": "wszystko",
-       "powersearch-togglenone": "nic",
+       "powersearch-toggleall": "Wszystko",
+       "powersearch-togglenone": "Nic",
        "powersearch-remember": "Zapamiętaj wybór dla kolejnych wyszukiwań",
        "search-external": "Wyszukiwanie zewnętrzne",
        "searchdisabled": "Wyszukiwanie w {{GRAMMAR:MS.lp|{{SITENAME}}}} zostało wyłączone.\nW międzyczasie możesz skorzystać z wyszukiwania Google.\nJednak informacje o treści {{GRAMMAR:D.lp|{{SITENAME}}}} mogą być w Google nieaktualne.",
        "upload-options": "Opcje przesyłania",
        "watchthisupload": "Obserwuj ten plik",
        "filewasdeleted": "Plik o tej nazwie istniał, ale został usunięty.\nZanim załadujesz go ponownie, sprawdź $1.",
+       "filename-thumb-name": "Nazwa pliku wskazuje na to, że próbujesz przesłać miniaturkę obrazka. Prosimy nie przesyłać miniaturek w ramach tej samej wiki. Jeśli jest to konieczne, to zmień nazwę na bardziej opisową (w szczególności taką, w której nie ma prefiksu typowego dla miniaturek).",
        "filename-bad-prefix": "Nazwa pliku, który przesyłasz, zaczyna się od '''„$1”'''. Jest to nazwa zazwyczaj przypisywana automatycznie przez cyfrowe aparaty fotograficzne, która nie informuje o zawartości pliku.\nZmień nazwę pliku na bardziej opisową.",
        "filename-prefix-blacklist": " #<!-- nie modyfikuj tej linii --> <pre>\n# Składnia jest następująca:\n#  * Wszystko od znaku \"#\" do końca linii uznawane jest za komentarz\n#  * Każda niepusta linia zawiera początek nazwy pliku domyślnie wykorzystywany przez aparaty cyfrowe\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # niektóre telefony komórkowe\nIMG # ogólny\nJD # Jenoptik\nMGP # Pentax\nPICT # wiele różnych\n  #</pre> <!-- nie modyfikuj tej linii -->",
        "upload-success-subj": "Przesłanie pliku powiodło się",
        "foreign-structured-upload-form-label-own-work": "To moja własna praca",
        "foreign-structured-upload-form-label-infoform-categories": "Kategorie",
        "foreign-structured-upload-form-label-infoform-date": "Data",
-       "foreign-structured-upload-form-label-own-work-message-local": "Potwierdzam, że wysyłam ten plik zgodnie z warunkami i zasadami licencjowania obowiązującymi na {{SITENAME}}.",
+       "foreign-structured-upload-form-label-own-work-message-local": "Potwierdzam, że wysyłam ten plik zgodnie z warunkami i zasadami licencjonowania obowiązującymi na {{SITENAME}}.",
        "foreign-structured-upload-form-label-not-own-work-message-local": "Jeśli nie możesz wysłać tego pliku zgodnie z zasadami obowiązującymi na {{SITENAME}}, zamknij ten komunikat i spróbuj innej metody.",
+       "foreign-structured-upload-form-label-not-own-work-local-local": "Możesz skorzystać też z [[Special:Upload|domyślnej strony przesyłania plików]].",
+       "foreign-structured-upload-form-label-own-work-message-default": "Rozumiem, że przesyłam ten plik do współdzielonego repozytorium. Potwierdzam, że robię to zgodnie z warunkami i zasadami licencjonowania tam obowiązującymi.",
        "foreign-structured-upload-form-label-not-own-work-message-default": "Jeśli nie jesteś w stanie przesłać tego pliku zgodnie z zasadami współdzielonego repozytorium, zamknij to okno i spróbuj innej metody.",
-       "foreign-structured-upload-form-label-own-work-message-shared": "Oświadczam, że mam prawa autorskie do tego pliku, nieodwołalnie publikuję go na Wikimedia Commons na licencji [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons BY-SA 4.0] i zgadzam się na [https://wikimediafoundation.org/wiki/Terms_of_Use warunki użytkowania].",
+       "foreign-structured-upload-form-label-not-own-work-local-default": "Możesz spróbować użyć [[Special:Upload|strony przesyłania plików {{GRAMMAR:D.lp|{{SITENAME}}}}]], jeżeli zasady tej strony dopuszczają publikację tego pliku.",
+       "foreign-structured-upload-form-label-own-work-message-shared": "Oświadczam, że mam prawa autorskie do tego pliku, nieodwołalnie publikuję go na Wikimedia Commons na licencji [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0] i zgadzam się na [https://wikimediafoundation.org/wiki/Terms_of_Use/pl warunki użytkowania].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Jeżeli nie masz praw autorskich do tego pliku albo chcesz go opublikować na innej licencji, rozważ użycie [https://commons.wikimedia.org/wiki/Special:UploadWizard kreatora przesyłania plików].",
-       "foreign-structured-upload-form-label-not-own-work-local-shared": "Możesz spróbować użyć [[Special:Upload|kreatora przesyłania plików {{GRAMMAR:D.lp|{{SITENAME}}}}]], jeżeli wolontariusze {{GRAMMAR:D.lp|{{SITENAME}}}} dopuszczają publikację plików na własnych zasadach.",
+       "foreign-structured-upload-form-label-not-own-work-local-shared": "Możesz spróbować użyć [[Special:Upload|strony przesyłania plików {{GRAMMAR:D.lp|{{SITENAME}}}}]], jeżeli zasady tej strony dopuszczają publikację tego pliku.",
+       "foreign-structured-upload-form-2-label-intro": "Dziękujemy za przesłanie pliku na {{GRAMMAR:B.lp|{{SITENAME}}}}. Zanim kontynuujesz, upewnij się, że spełnia poniższe warunki:",
+       "foreign-structured-upload-form-2-label-ownwork": "Musi być w całości <strong>Twoją pracą</strong>, a nie pobrany z Internetu",
+       "foreign-structured-upload-form-2-label-noderiv": "<strong>Nie może</strong> zawierać fragmentów <strong>cudzych prac</strong> ani być nimi zainspirowany",
+       "foreign-structured-upload-form-2-label-useful": "Musi mieć <strong>wartość edukacyjną</strong> i ułatwiać przekazywanie wiedzy",
+       "foreign-structured-upload-form-2-label-ccbysa": "Musi być możliwe <strong>udostępnienie go na zawsze</strong> w Internecie na licencji [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0]",
+       "foreign-structured-upload-form-2-label-alternative": "Jeśli nie wszystkie z tych warunków są spełnione, być może możesz mimo wszystko przesłać go za pomocą [https://commons.wikimedia.org/wiki/Special:UploadWizard kreatora przesyłania plików Commons], o ile jest udostępniony na wolnej licencji.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Przesyłając plik, oświadczasz, że masz prawa autorskie do tego pliku, nieodwołalnie publikujesz go na Wikimedia Commons na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 i zgadzasz się na [https://wikimediafoundation.org/wiki/Terms_of_Use/pl warunki użytkowania].",
+       "foreign-structured-upload-form-3-label-question-website": "Czy {{GENDER:|pobrałeś|pobrałaś|pobrałeś/aś}} tę grafikę ze strony internetowej lub wyszukiwarki grafiki?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Czy {{GENDER:|stworzyłeś|stworzyłaś|stworzyłeś/aś}} tę grafikę ({{GENDER:|zrobiłeś|zrobiłaś|zrobiłeś/aś}} zdjęcie, {{GENDER:|naszkicowałeś|naszkicowałaś|naszkicowałeś/aś}} rysunek, itp.)  {{GENDER:|samemu|samej|samemu/samej}}?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Czy zawiera fragmenty cudzych prac (np. logo) lub jest nimi zainspirowana?",
+       "foreign-structured-upload-form-3-label-yes": "Tak",
+       "foreign-structured-upload-form-3-label-no": "Nie",
+       "foreign-structured-upload-form-3-label-alternative": "Niestety, w tej sytuacji nie jest możliwe przesłanie tego pliku za pomocą tego narzędzia. Być może możesz mimo to przesłać go za pomocą [https://commons.wikimedia.org/wiki/Special:UploadWizard kreatora przesyłania plików Commons], o ile jest udostępniony na wolnej licencji.",
+       "foreign-structured-upload-form-4-label-good": "Przy pomocy tego narzędzia możesz przesłać edukacyjne grafiki i fotografie, które {{GENDER:|zrobiłeś|zrobiłaś|zrobiłeś/aś}} i które nie zawierają fragmentów cudzych prac.",
+       "foreign-structured-upload-form-4-label-bad": "Nie możesz przesyłać grafik znalezionych w wyszukiwarkach lub pobranych z innych stron internetowych.",
        "backend-fail-stream": "Nie można odczytać pliku $1.",
        "backend-fail-backup": "Nie można utworzyć kopii zapasowej pliku  $1 .",
        "backend-fail-notexists": "Plik  $1  nie istnieje.",
        "changecontentmodel-cannot-convert": "Zawartość [[:$1]] nie może być przekształcona do typu $2.",
        "changecontentmodel-nodirectediting": "Model zawartości $1 nie obsługuje bezpośredniego edytowania",
        "log-name-contentmodel": "Rejestr zmian modelu zawartości",
+       "log-description-contentmodel": "Wydarzenia związane z modelami zawartości stron",
+       "logentry-contentmodel-change": "$1 {{GENDER:$2|zmienił|zmieniła|zmienił(a)}} model zawartości strony $3 z „$4” na „$5”",
        "logentry-contentmodel-change-revertlink": "Przywróć",
        "logentry-contentmodel-change-revert": "Przywróć",
        "protectlogpage": "Zabezpieczone",
        "tooltip-pt-userpage": "Moja osobista strona",
        "tooltip-pt-anonuserpage": "Strona użytkownika dla adresu IP, spod którego edytujesz",
        "tooltip-pt-mytalk": "Moja strona dyskusji",
-       "tooltip-pt-anontalk": "Dyskusja użytkownika dla adresu IP, spod którego edytujesz",
+       "tooltip-pt-anontalk": "Dyskusja użytkownika dla tego adresu IP",
        "tooltip-pt-preferences": "Moje preferencje",
        "tooltip-pt-watchlist": "Lista stron obserwowanych przez Ciebie",
        "tooltip-pt-mycontris": "Lista moich edycji",
        "tooltip-pt-anoncontribs": "Lista edycji wykonanych z tego adresu IP",
        "tooltip-pt-login": "Zachęcamy do zalogowania się, choć nie jest to obowiązkowe.",
        "tooltip-pt-logout": "Wyloguj",
-       "tooltip-pt-createaccount": "Zachęcamy do stworzenia konta i zalogowania, ale nie jest to konieczne.",
+       "tooltip-pt-createaccount": "Zachęcamy do stworzenia konta i zalogowania, ale nie jest to obowiązkowe.",
        "tooltip-ca-talk": "Dyskusja o zawartości tej strony",
        "tooltip-ca-edit": "Edytuj tę stronę",
        "tooltip-ca-addsection": "Dodaj nowy wątek.",
        "pageinfo-robot-index": "Dozwolone",
        "pageinfo-robot-noindex": "Niedozwolone",
        "pageinfo-watchers": "Liczba obserwujących",
+       "pageinfo-visiting-watchers": "Liczba obserwujących stronę, którzy ostatnio ją odwiedzili",
        "pageinfo-few-watchers": "Mniej niż $1 {{PLURAL:$1|obserwujący|obserwujących}}",
        "pageinfo-redirects-name": "Liczba przekierowań do tej strony",
        "pageinfo-subpages-name": "Liczba podstron tej strony",
        "exif-compression-4": "CCITT Grupa 4 kodowanie faksowe",
        "exif-copyrighted-true": "Chronione prawem autorskim",
        "exif-copyrighted-false": "Status praw autorskich nieznany",
+       "exif-photometricinterpretation-1": "Czarny i biały (czarny to 0)",
        "exif-unknowndate": "nieznana data",
        "exif-orientation-1": "normalna",
        "exif-orientation-2": "odbicie lustrzane w poziomie",
        "json-error-syntax": "Błąd składni",
        "json-error-utf8": "Nieprawidłowe znaki UTF-8, prawdopodobnie niepoprawnie zakodowane",
        "json-error-recursion": "Jedno lub więcej rekurencyjnych odniesień musi być zakodowane.",
+       "json-error-inf-or-nan": "W wartości do zakodowania występuje co najmniej jedna wartość NAN lub INF",
        "json-error-unsupported-type": "Podano wartość typu, która nie mogła być kodowana",
        "headline-anchor-title": "Link do tej sekcji",
        "special-characters-group-latin": "Łacińskie",
index b07c9c7..fcc5e4c 100644 (file)
        "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-question-ownwork": "آيا دا انځور (انځور مو اخيستی، انځور مو کښلی، همداسې نور.) تاسو پخپله جوړ کړئ؟",
+       "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": "اوږده مخونه",
        "protectedpages-performer": "ژغورونکی کارن",
        "protectedpages-params": "د ژغورنې پاراميټرونه",
        "protectedpages-reason": "سبب",
+       "protectedpages-submit": "ښکارېدونکي مخونه",
        "protectedpages-unknown-timestamp": "ناجوت",
        "protectedpages-unknown-performer": "ناڅرگنده کارن",
        "protectedtitles": "ژغورلي سرليکونه",
        "protectedtitles-summary": "په دې مخ کې هغه سرليکونه د لړليک په توگه راغلي چې دم مهال د جوړېدلو څخه ژغورل شوي. د ژغورلو مخونو د يو لړليک لپاره [[{{#special:ProtectedPages}}|{{int:protectedpages}}]] وگورئ.",
+       "protectedtitles-submit": "ښکارېدونکي سرليکونه",
        "listusers": "کارن لړليک",
        "listusers-editsonly": "يوازې هغه کارنان چې سمونونه يې کړي ښکاره کول",
        "listusers-creationsort": "د جوړېدو د نېټې له مخې اوډل",
        "activeusers-hidebots": "روباټونه پټول",
        "activeusers-hidesysops": "پازوالان پټول",
        "activeusers-noresult": "کارن و نه موندل شو.",
+       "activeusers-submit": "فعاله کارنان ښکاره کول",
        "listgrouprights": "د کارن ډلو رښتې",
        "listgrouprights-group": "ډله",
        "listgrouprights-rights": "رښتې",
        "wlshowlast": "وروستي $1 ساعتونه $2 ورځې ښکاره کول",
        "watchlistall2": "ټول",
        "watchlist-hide": "پټول",
+       "watchlist-submit": "ښکاره کول",
        "wlshowtime": "وروستی ښکاره کول:",
        "wlshowhideminor": "وړوکي سمونونه",
        "wlshowhidebots": "روباټونه",
        "whatlinkshere-hidelinks": "تړنې $1",
        "whatlinkshere-hideimages": "د دوتنې تړنې $1",
        "whatlinkshere-filters": "چاڼگرونه",
+       "whatlinkshere-submit": "ورځه",
        "block": "په کارن بنديز لگول",
        "unblock": "کارن له بنديزه وېستل",
        "blockip": "په {{GENDER:$1|کارن}} بنديز لگول",
index e0ef903..8311c7c 100644 (file)
        "tog-watchlisthidebots": "Esconder edições de robôs ao listar mudanças às páginas vigiadas",
        "tog-watchlisthideminor": "Esconder edições menores ao listar mudanças às páginas vigiadas",
        "tog-watchlisthideliu": "Esconder edições de utilizadores autenticados ao listar mudanças às páginas vigiadas",
+       "tog-watchlistreloadautomatically": "Recarregar a lista de páginas vigiadas automaticamente sempre que um filtro é alterado (requer JavaScript)",
        "tog-watchlisthideanons": "Esconder edições de utilizadores anónimos ao listar mudanças às páginas vigiadas",
        "tog-watchlisthidepatrolled": "Esconder edições patrulhadas ao listar mudanças às páginas vigiadas",
        "tog-watchlisthidecategorization": "Ocultar categorização de páginas",
        "wrongpasswordempty": "A palavra-passe não foi introduzida. \nIntroduza-a, por favor.",
        "passwordtooshort": "A palavra-passe deve ter no mínimo $1 {{PLURAL:$1|carácter|caracteres}}.",
        "passwordtoolong": "A palavra-passe deve exceder $1 {{PLURAL:$1|carácter|caracteres}}.",
+       "passwordtoopopular": "Palavras-passe normalmente escolhidas não podem ser usadas. Por favor, escolha uma palavra-passe mais exclusiva.",
        "password-name-match": "A sua palavra-passe tem de ser diferente do seu nome de utilizador.",
        "password-login-forbidden": "Foi proibido o uso deste nome de utilizador e palavra-passe.",
        "mailmypassword": "Reiniciar a palavra-passe",
        "prefs-help-prefershttps": "Esta preferência terá efeito no seu próximo início de sessão.",
        "prefswarning-warning": "Fez alterações às suas preferências que não foram gravadas ainda.\nSe abandonar esta página sem clicar em \"$1\", as suas preferências não serão atualizadas.",
        "prefs-tabs-navigation-hint": "Dica: Pode usar as setas direita e esquerda do teclado para navegar entre os separadores.",
-       "email-address-validity-valid": "O endereço de correio eletrónico parece válido",
-       "email-address-validity-invalid": "É necessário um endereço de correio eletrónico válido!",
        "userrights": "Gestão de privilégios do utilizador",
        "userrights-lookup-user": "Gerir grupos de utilizadores",
        "userrights-user-editname": "Introduza um nome de utilizador:",
        "recentchanges-legend-heading": "'''Legenda:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|lista de páginas novas]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
+       "recentchanges-submit": "Mostrar",
        "rcnotefrom": "Abaixo {{PLURAL:$5|está a mudança|estão as mudanças}} desde <strong>$2</strong> (mostradas até <strong>$1</strong>).",
        "rclistfrom": "Mostrar as novas mudanças a partir das $2 de $3",
        "rcshowhideminor": "$1 edições menores",
        "foreign-structured-upload-form-label-infoform-date": "Data",
        "foreign-structured-upload-form-label-own-work-message-local": "Confirmo que estou a carregar este ficheiro segundo as condições de serviço e política de licenças de {{SITENAME}}.",
        "foreign-structured-upload-form-label-not-own-work-local-local": "Poderá querer experimentar [[Special:Upload|a página padrão de carregamento]].",
+       "foreign-structured-upload-form-3-label-yes": "Sim",
+       "foreign-structured-upload-form-3-label-no": "Não",
        "backend-fail-stream": "Não foi possível transmitir o ficheiro \"$1\".",
        "backend-fail-backup": "Não foi possível fazer cópia de segurança do ficheiro \"$1\".",
        "backend-fail-notexists": "O ficheiro $1 não existe.",
        "mostrevisions": "Páginas com mais revisões",
        "prefixindex": "Todas as páginas iniciadas por",
        "prefixindex-namespace": "Todas as páginas com prefixo (domínio $1)",
+       "prefixindex-submit": "Mostrar",
        "prefixindex-strip": "Remover prefixo",
        "shortpages": "Páginas curtas",
        "longpages": "Páginas longas",
        "protectedpages-performer": "Protetor",
        "protectedpages-params": "Parâmetros de proteção",
        "protectedpages-reason": "Motivo",
+       "protectedpages-submit": "Exibir páginas",
        "protectedpages-unknown-timestamp": "Desconhecido",
        "protectedpages-unknown-performer": "Utilizador desconhecido",
        "protectedtitles": "Títulos protegidos",
        "protectedtitles-summary": "Esta página lista títulos cuja criação está impossibilitada. Para ver uma lista de páginas protegidas, consulte [[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
        "protectedtitlesempty": "Neste momento, nenhum dos títulos está protegido com estes parâmetros.",
+       "protectedtitles-submit": "Exibir de títulos",
        "listusers": "Utilizadores",
        "listusers-editsonly": "Mostrar apenas utilizadores com edições",
        "listusers-creationsort": "Ordenar por data de criação",
        "usereditcount": "$1 {{PLURAL:$1|edição|edições}}",
        "usercreated": "{{GENDER:$3|Criado|Criada}} em $1 às $2",
        "newpages": "Páginas recentes",
+       "newpages-submit": "Mostrar",
        "newpages-username": "Nome de utilizador(a):",
        "ancientpages": "Páginas mais antigas",
        "move": "Mover",
        "specialloguserlabel": "Executante:",
        "speciallogtitlelabel": "Alvo (título ou página ou {{ns:user}}:nome de utilizador):",
        "log": "Registos",
+       "logeventslist-submit": "Mostrar",
        "all-logs-page": "Todos os registos públicos",
        "alllogstext": "Apresentação combinada de todos os registos disponíveis na wiki {{SITENAME}}.\nPode reduzir a lista escolhendo um tipo de registo, um nome de utilizador ou um título de página. Respeite maiúsculas e minúsculas.",
        "logempty": "Nenhum item correspondente no registo.",
        "cachedspecial-viewing-cached-ts": "Está a ver uma versão da página guardada na cache, que pode estar desatualizada.",
        "cachedspecial-refresh-now": "Ver mais recente.",
        "categories": "Categorias",
+       "categories-submit": "Mostrar",
        "categoriespagetext": "{{PLURAL:$1|A seguinte categoria contém páginas ou ficheiros multimédia|As seguintes categorias contêm páginas ou ficheiros multimédia}}.\nAs [[Special:UnusedCategories|categorias não utilizadas]] não são apresentadas nesta lista.\nVeja também as [[Special:WantedCategories|categorias desejadas]].",
        "categoriesfrom": "Mostrar categorias que comecem por:",
        "special-categories-sort-count": "ordenar por contagem",
        "activeusers-hidebots": "Ocultar robôs",
        "activeusers-hidesysops": "Ocultar administradores",
        "activeusers-noresult": "Nenhum utilizador encontrado.",
+       "activeusers-submit": "Exibir utilizadores ativos",
        "listgrouprights": "Privilégios dos grupos de utilizadores",
        "listgrouprights-summary": "A seguinte lista contém os grupos de utilizadores definidos nesta wiki, com os respectivos privilégios de acesso.\nEncontram-se disponíveis [[{{MediaWiki:Listgrouprights-helppage}}|informações adicionais]] sobre privilégios individuais.",
        "listgrouprights-key": "Legenda:\n* <span class=\"listgrouprights-granted\">Privilégio concedido</span>\n* <span class=\"listgrouprights-revoked\">Privilégio revogado</span>",
        "wlshowlast": "Ver últimas $1 horas $2 dias",
        "watchlistall2": "todas",
        "watchlist-hide": "Ocultar",
-       "wlshowtime": "Mostrar mudanças desde há:",
+       "watchlist-submit": "Mostrar",
+       "wlshowtime": "Período de tempo a mostrar:",
        "wlshowhideminor": "edições menores",
        "wlshowhidebots": "robôs",
        "wlshowhideliu": "usuários registrados",
        "delete-confirm": "Eliminar \"$1\"",
        "delete-legend": "Eliminar",
        "historywarning": "<strong>Aviso:</strong> A página que está prestes a eliminar tem um histórico com aproximadamente $1 {{PLURAL:$1|revisão|revisões}}:",
+       "historyaction-submit": "Mostrar",
        "confirmdeletetext": "Está prestes a eliminar uma página juntamente com todo o seu histórico.\nConfirme que é realmente esta a sua intenção, que compreende as consequências e que o faz de acordo com as [[{{MediaWiki:Policy-url}}|políticas e recomendações]] do projeto, por favor.",
        "actioncomplete": "Operação executada",
        "actionfailed": "Operação falhou",
        "whatlinkshere-hidelinks": "$1 ligações",
        "whatlinkshere-hideimages": "$1 ligações para ficheiros",
        "whatlinkshere-filters": "Filtros",
+       "whatlinkshere-submit": "Ir",
        "autoblockid": "Bloqueio automático nº$1",
        "block": "Bloquear utilizador",
        "unblock": "Desbloquear utilizador",
        "tooltip-pt-preferences": "Configuração dos comportamentos que prefere da wiki",
        "tooltip-pt-watchlist": "Lista de mudanças nas páginas que está a vigiar",
        "tooltip-pt-mycontris": "Lista das suas contribuições",
+       "tooltip-pt-anoncontribs": "Uma lista de edições feitas a partir deste endereço de IP",
        "tooltip-pt-login": "É encorajado que inicie sessão, apesar de não ser obrigatório.",
        "tooltip-pt-logout": "Sair da conta",
        "tooltip-pt-createaccount": "É encorajado a criar uma conta e iniciar sessão; no entanto, não é obrigatório",
index c6577fd..daa5b20 100644 (file)
        "upload-form-label-infoform-description": "Label for the file description input\n{{Identical|Description}}",
        "upload-form-label-usage-title": "Title for the insert form showing how to use the uploaded item.\n{{Identical|Usage}}",
        "upload-form-label-usage-filename": "Label for the file name input\n{{Identical|Filename}}",
-       "foreign-structured-upload-form-label-own-work": "Label for own work toggle",
+       "foreign-structured-upload-form-label-own-work": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 1.png|thumb]] Label for own work confirmation checkbox",
        "foreign-structured-upload-form-label-infoform-categories": "Label for category selector input\n{{Identical|Category}}",
        "foreign-structured-upload-form-label-infoform-date": "Label for date input\n{{Identical|Date}}",
        "foreign-structured-upload-form-label-own-work-message-local": "Message shown by local when a user affirms that they are allowed to upload a file to the local wiki.",
        "foreign-structured-upload-form-label-own-work-message-default": "Message shown by default when a user affirms that they are allowed to upload a file to a remote wiki.",
        "foreign-structured-upload-form-label-not-own-work-message-default": "Message shown by default when a user cannot upload a file to a remote wiki.",
        "foreign-structured-upload-form-label-not-own-work-local-default": "Suggests uploading a file locally instead of to a remote wiki.",
-       "foreign-structured-upload-form-label-own-work-message-shared": "Legal message to show when the work is made by the uploader.",
-       "foreign-structured-upload-form-label-not-own-work-message-shared": "Message to show when the work isn't owned by the uploader.",
-       "foreign-structured-upload-form-label-not-own-work-local-shared": "Message suggesting the user might want to upload a file locally instead of to Wikimedia Commons. $1 is the name of the local wiki.",
+       "foreign-structured-upload-form-label-own-work-message-shared": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 1.png|thumb]] Legal message, confirming that the user is allowed to upload the file. Almost identical to {{msg-mw|foreign-structured-upload-form-2-label-termsofuse}}.",
+       "foreign-structured-upload-form-label-not-own-work-message-shared": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 1.png|thumb]] Explains alternatives when the copyright isn't owned by the uploader.",
+       "foreign-structured-upload-form-label-not-own-work-local-shared": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 1.png|thumb]] Message suggesting the user might want to upload a file locally instead of to Wikimedia Commons.",
+       "foreign-structured-upload-form-2-label-intro": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Introductory text in cross-wiki upload dialog.",
+       "foreign-structured-upload-form-2-label-ownwork": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Affirmative statement, used as checkbox label. The user must tick it to continue.",
+       "foreign-structured-upload-form-2-label-noderiv": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Affirmative statement, used as checkbox label. The user must tick it to continue.",
+       "foreign-structured-upload-form-2-label-useful": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Affirmative statement, used as checkbox label. The user must tick it to continue.",
+       "foreign-structured-upload-form-2-label-ccbysa": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Affirmative statement, used as checkbox label. The user must tick it to continue.",
+       "foreign-structured-upload-form-2-label-alternative": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Explains alternatives when the copyright isn't owned by the uploader.\n\nSimilar to {{msg-mw|foreign-structured-upload-form-3-label-alternative}}.",
+       "foreign-structured-upload-form-2-label-termsofuse": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 2.png|thumb]] Legal message, confirming that the user is allowed to upload the file. Almost identical to {{msg-mw|foreign-structured-upload-form-label-own-work-message-shared}}.",
+       "foreign-structured-upload-form-3-label-question-website": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] Question to the user, with Yes/No answer ({{msg-mw|foreign-structured-upload-form-3-label-yes}} / {{msg-mw|foreign-structured-upload-form-3-label-no}}). The answer determines whether the user will be able to continue.",
+       "foreign-structured-upload-form-3-label-question-ownwork": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] Question to the user, with Yes/No answer ({{msg-mw|foreign-structured-upload-form-3-label-yes}} / {{msg-mw|foreign-structured-upload-form-3-label-no}}). The answer determines whether the user will be able to continue.",
+       "foreign-structured-upload-form-3-label-question-noderiv": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] Question to the user, with Yes/No answer ({{msg-mw|foreign-structured-upload-form-3-label-yes}} / {{msg-mw|foreign-structured-upload-form-3-label-no}}). The answer determines whether the user will be able to continue.",
+       "foreign-structured-upload-form-3-label-yes": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] {{Identical|Yes}}",
+       "foreign-structured-upload-form-3-label-no": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] {{Identical|No}}",
+       "foreign-structured-upload-form-3-label-alternative": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 3.png|thumb]] Explains alternatives when the copyright isn't owned by the uploader.\n\nSimilar to {{msg-mw|foreign-structured-upload-form-2-label-alternative}}.",
+       "foreign-structured-upload-form-4-label-good": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 4.png|thumb]] Gives examples of good content that is welcome. There is limited space for this text in the interface, please keep it short.",
+       "foreign-structured-upload-form-4-label-bad": "[[File:Cross-wiki media upload dialog, December 2015 AB test option 4.png|thumb]] Gives examples of bad content that is unacceptable. There is limited space for this text in the interface, please keep it short.",
        "backend-fail-stream": "Parameters:\n* $1 - a filename",
        "backend-fail-backup": "Parameters:\n* $1 - a filename",
        "backend-fail-notexists": "Parameters:\n* $1 - a filename",
index 11b8cfc..4ad023f 100644 (file)
        "nstab-template": "Plantilla",
        "nstab-help": "Yanapa",
        "nstab-category": "Katiguriya",
+       "mainpage-nstab": "Qhapaq p'anqa",
        "nosuchaction": "Kay hina rurayqa manam kanchu",
        "nosuchactiontext": "URL tiyaypi sut'ichasqa rurayqa manam kanchu.\nMana allintachá qillqanki, icha p'itisqa t'inkitachá qatinki.\n{{SITENAME}} sutiyuq wikipi llamp'u kaqpipas pantasqachá kanman.",
        "nosuchspecialpage": "Kay hina sapaq p'anqaqa manam kanchu",
        "createaccountreason": "Kayrayku:",
        "createacct-reason": "Kayrayku",
        "createacct-reason-ph": "Imaraykutaq huk rakiqunata kamarichkanki",
-       "createacct-captcha": "Amachana llanchiy",
-       "createacct-imgcaptcha-ph": "Hanaqpi rikusqayki qillqata yaykuchiy",
        "createacct-submit": "Rakiqunaykita kamariy",
        "createacct-another-submit": "Huk rakiqunata kamariy",
        "createacct-benefit-heading": "{{SITENAME}}taqa qam hina runakunam ruran.",
        "passwordreset-emailtext-ip": "Pipas (qamchiki, $1 IP huchhayuq tiyaymanta) {{SITENAME}}-paq ($4)\nrakiqunaykipaq yaykuna rimata kutichinatam mañakurqan. Kay qatiq ruraqpa {{PLURAL:$3|rakiqunanmi|rakiqunankunam}}\nkay e-chaski imamaytayuq kachkan:\n\n$2\n\nKay mit'alla yaykuna {{PLURAL:$3|rimaqa|rimakunaqa}} kunanmanta {{PLURAL:$5|huk p'unchawpi|$5 p'unchawpi}} mawk'ayanqam.\nYaykuspayki musuq yaykuna rimaykitam akllankiman. Pi wakiykipas kayta mañakurqaptinqa,\nicha qam ñawpaq yaykuna rimaykita yuyaspayki manaña wakinchayta munaspaykiqa,\nkay willayta mana qhawaspa mana imatapas ruraspa ñawpaq yaykuna rimaykiwanmi llamk'ayta atinki.",
        "passwordreset-emailtext-user": "{{SITENAME}}-pi kaq $1 sutiyuq ruraqqa {{SITENAME}}-paq ($4)\nrakiqunaykipaq yaykuna rimata kutichinatam mañakurqan. Kay qatiq ruraqpa {{PLURAL:$3|rakiqunanmi|rakiqunankunam}}\nkay e-chaski imamaytayuq kachkan:\n\n$2\n\nKay mit'alla yaykuna {{PLURAL:$3|rimaqa|rimakunaqa}} kunanmanta {{PLURAL:$5|huk p'unchawpi|$5 p'unchawpi}} mawk'ayanqam.\nYaykuspayki musuq yaykuna rimaykitam akllankiman. Pi wakiykipas kayta mañakurqaptinqa,\nicha qam ñawpaq yaykuna rimaykita yuyaspayki manaña wakinchayta munaspaykiqa,\nkay willayta mana qhawaspa mana imatapas ruraspa ñawpaq yaykuna rimaykiwanmi llamk'ayta atinki.",
        "passwordreset-emailelement": "Ruraqpa sutin: \n$1\n\nMit'alla yaykuna rima: \n$2",
-       "passwordreset-emailsent": "Yaykuna rimata kutichina e-chaskiqa kachasqañam.",
+       "passwordreset-emailsentemail": "Yaykuna rimata kutichina e-chaskiqa kachasqañam.",
        "passwordreset-emailsent-capture": "Yaykuna rimata kutichina e-chaskiqa kachasqañam, kay qatiqpi rikunki.",
        "passwordreset-emailerror-capture": "{{GENDER:$2|}}Yaykuna rimata kutichina e-chaskiqa rurasqa karqan, imatachus kay qatiqpi rikunki, ichataq kachasqa kaptin pantasqam tukurqan: $1",
        "changeemail": "E-chaski imamaytata wakinchay",
-       "changeemail-text": "Kay hunt'ana p'anqata hunt'ay e-chaski imamaytaykita hukchanaykipaq. Yaykuna rimaykita yaykuchinaykim tiyan kay hukchanata takyachinaykipaq.",
+       "changeemail-header": "Rakiqunap e-chaski imamaytanta wakinchay",
        "changeemail-no-info": "Yaykunaykim tiyan kay p'anqata chiqalla aypanaykipaq.",
        "changeemail-oldemail": "Kunan kachkaq e-chaski imamayta:",
        "changeemail-newemail": "Musuq e-chaski imamayta:",
        "prefs-displaywatchlist": "Akllanakunata rikuchiy",
        "prefs-tokenwatchlist": "Llawi",
        "prefs-diffs": "Wakin kaykuna",
-       "email-address-validity-valid": "E-chaski imamaytaqa allinchá",
-       "email-address-validity-invalid": "Allin e-chaski imamaytata yaykuchiy",
        "userrights": "Ruraqkunata saqillanap allinkachinan",
        "userrights-lookup-user": "Ruraqkunap huñunkunata allinkachiy",
        "userrights-user-editname": "Ruraqpa sutinta qillqamuy:",
        "wlheader-showupdated": "Qayna watukamusqaykimantapacha hukchasqa p'anqakunataqa '''yanasapa''' nisqapim rikunki.",
        "wlnote": "Kay qatiqpiqa {{PLURAL:$1|qhipaq hukchasqam|'''$1''' qhipaq hukchasqakunam}} qhipaq {{PLURAL:$2|urapim|'''$2''' urakunapim}}, musuqchasqa $3, $4.",
        "wlshowlast": "$1 ura, $2 p'unchaw -mantapacha hukchasqakunata rikuchiy",
+       "watchlistall2": "lliw",
        "watchlist-options": "Watiqana sutisuyupaq allinkachinakuna",
        "watching": "Watiqasqakunaman yapaspa...",
        "unwatching": "Watiqasqakunamanta qulluspa...",
        "contributions": "{{GENDER:$1|Ruraqpa}} llamk'apusqankuna",
        "contributions-title": "$1 sutiyuq ruraqpa llamk'apusqankuna",
        "mycontris": "Llamk'apusqaykuna",
+       "anoncontribs": "Llamk'apusqakuna",
        "contribsub2": "{{GENDER:$3|$1}}paq ($2)",
        "contributions-userdoesnotexist": "\"$1\" sutiyuq rakiqunaqa manam hallch'asqachu.",
        "nocontribs": "Manam kay hina hukchasqakuna kanchu.",
        "movenosubpage": "Kay p'anqaqa manam urin p'anqayuqchu.",
        "movereason": "Kayrayku:",
        "revertmove": "kutichiy",
-       "delete_and_move": "Qulluspa astay",
        "delete_and_move_text": "==Qullunam tiyan==\n\nTukuna p'anqaqa (\"[[:$1]]\") kachkañam. Astanapaq qulluyta munankichu?",
        "delete_and_move_confirm": "Arí, kay p'anqata qulluy",
        "delete_and_move_reason": "\"[[$1]]\" nisqamanta astanapaq qullusqa",
        "spam_reverting": "Qhipaq kaq mana $1-man t'inkimuqniyuq llamk'apusqaman kutichispa",
        "spam_blanking": "Tukuy llamk'apusqakunaqa $1-manmi t'inkimuq, ch'usaqchaspa",
        "spam_deleting": "Tukuy musuqchasqakunaqa $1-manmi t'inkimun, qulluspa",
-       "simpleantispam-label": "Spam hark'ana llanchiy.\nKayta <strong>AMA</strong> hunt'aychu!",
+       "simpleantispam-label": "Spam hark'ana llanchiy.\nKayta <strong>ama</strong> hunt'aychu!",
        "pageinfo-title": "\"$1\" sutiyuq p'anqamanta willay",
        "pageinfo-not-current": "Achachaw, manam atinichu mawk'a llamk'apusqakunamanta kay willaykunata qusuyta.",
        "pageinfo-header-basic": "Tiksi willaykuna",
index 9697582..9f41c88 100644 (file)
        "laggedslavemode": "Внимание: страница может не содержать последних обновлений.",
        "readonly": "Запись в базу данных заблокирована",
        "enterlockreason": "Укажите причину и намеченный срок блокировки.",
-       "readonlytext": "Добавление новых статей и другие изменения базы данных сейчас заблокированы: вероятно, в связи с плановым обслуживанием.\nЗаблокировавший оператор оставил следующее разъяснение: $1.",
+       "readonlytext": "Добавление новых статей и другие изменения базы данных сейчас заблокированы: вероятно, в связи с плановым обслуживанием.\n\nСистемный администратор, заблокировавший базу, оставил следующее объяснение: $1",
        "missing-article": "В базе данных не найдено запрашиваемого текста страницы «$1» $2, который следовало найти.\n\nПодобная ситуация обычно возникает при попытке перехода по устаревшей ссылке на историю изменения страницы, которая была удалена.\n\nЕсли дело не в этом, то скорее всего, вы обнаружили ошибку в программном обеспечении.\nПожалуйста, сообщите об этом одному из [[Special:ListUsers/sysop|администраторов]], указав данный URL.",
        "missingarticle-rev": "(версия № $1)",
        "missingarticle-diff": "(разность: $1, $2)",
        "mypreferencesprotected": "У вас нет прав для редактирования ваших настроек.",
        "ns-specialprotected": "Страницы пространства имён «{{ns:special}}» не могут правиться.",
        "titleprotected": "Создание страницы с таким заголовком было запрещено участником [[Участник:$1|$1]].\nУказана следующая причина: ''$2''.",
-       "filereadonlyerror": "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ñ\84айл Â«$1», Ñ\82ак ÐºÐ°Ðº Ñ\85Ñ\80анилиÑ\89е Â«$2» Ð½Ð°Ñ\85одиÑ\82Ñ\81Ñ\8f Ð² Ñ\80ежиме Â«Ñ\82олÑ\8cко Ð´Ð»Ñ\8f Ñ\87Ñ\82ениÑ\8f».\n\nУÑ\81Ñ\82ановивÑ\88ий Ñ\8dÑ\82оÑ\82 Ñ\80ежим Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80 Ð¾Ñ\81Ñ\82авил Ñ\81ледÑ\83Ñ\8eÑ\89ее Ñ\80азÑ\8aÑ\8fÑ\81нение: Â«''$3''».",
+       "filereadonlyerror": "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ñ\84айл Â«$1», Ñ\82ак ÐºÐ°Ðº Ñ\85Ñ\80анилиÑ\89е Â«$2» Ð½Ð°Ñ\85одиÑ\82Ñ\81Ñ\8f Ð² Ñ\80ежиме Â«Ñ\82олÑ\8cко Ð´Ð»Ñ\8f Ñ\87Ñ\82ениÑ\8f».\n\nСиÑ\81Ñ\82емнÑ\8bй Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80, Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ\80овавÑ\88ий Ð±Ð°Ð·Ñ\83, Ð¾Ñ\81Ñ\82авил Ñ\81ледÑ\83Ñ\8eÑ\89ее Ð¾Ð±Ñ\8aÑ\8fÑ\81нение: Â«$3».",
        "invalidtitle-knownnamespace": "Недопустимый заголовок с пространством имен «$2» и текстом «$3»",
        "invalidtitle-unknownnamespace": "Недопустимый заголовок с неизвестным номером пространства $1 и текстом «$2»",
        "exception-nologin": "Вы не представились системе",
        "passwordreset-emailtext-user": "Участник $1 из проекта {{SITENAME}} запросил сброс пароля для вашей учётной записи в проекте {{SITENAME}} ($4).\nС этим адресом электронной почты {{PLURAL:$3|1=связана следующая учётная запись|связаны следующие учётные записи}}:\n\n$2\n\n{{PLURAL:$3|1=Этот временный пароль будет|Эти временные пароли будут}} действовать {{PLURAL:$5|$5 день|$5 дней|$5 дня|1=один день}}.\nВы должны представиться системе и выбрать новый пароль.\nЕсли вы не делали этого запроса или вспомнили свой исходный пароль и не желаете его менять, \nто можете проигнорировать это сообщение и продолжить использовать свой старый пароль.",
        "passwordreset-emailelement": "Имя участника: \n$1\n\nВременный пароль: \n$2",
        "passwordreset-emailsentemail": "Если это адрес электронной почты, на которую зарегистрирована ваша учётная запись, вам будет отправлено письмо для сброса пароля.",
+       "passwordreset-emailsentusername": "Если есть соответствующий зарегистрированный адрес электронной почты, будет отправлено письмо для восстановления пароля.",
        "passwordreset-emailsent-capture": "Отправлено электронное письмо с информацией о сбросе пароля, текст которого можно увидеть ниже.",
        "passwordreset-emailerror-capture": "Было создано электронное письмо с информацией о сбросе пароля, текст которого можно увидеть ниже, однако его не удалось отправить {{GENDER:$2|участнику|участнице}} по следующей причине: $1",
        "changeemail": "Изменить или удалить адрес электронной почты",
        "copyrightwarning2": "Пожалуйста, учтите, что любой ваш вклад в проект «{{SITENAME}}» может быть отредактирован или удалён другими участниками.\nЕсли вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.<br />\nВы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. $1).\n'''НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!'''",
        "editpage-cannot-use-custom-model": "Модель содержимого этой страницы не может быть изменена.",
        "longpageerror": "'''ОШИБКА: записываемый вами текст имеет размер $1 {{PLURAL:$1|килобайт|килобайта|килобайт}}, что больше, чем установленный предел в $2 {{PLURAL:$2|килобайт|килобайта|килобайт}}. Страница не может быть сохранена.'''",
-       "readonlywarning": "'''Предупреждение. База данных заблокирована в связи с процедурами обслуживания, поэтому вы не можете записать ваши изменения прямо сейчас.'''\nВозможно, вам следует скопировать этот текст в текстовый файл, чтобы сохранить его на будущее.\n\nАдминистратор, заблокировавший базу данных, оставил следующее объяснение: $1",
+       "readonlywarning": "<strong>Предупреждение: База данных заблокирована в связи с процедурами обслуживания, поэтому вы не можете записать ваши изменения прямо сейчас.</strong>\nВозможно, вам следует скопировать этот текст в текстовый файл, чтобы сохранить его на будущее.\n\nСистемный администратор, заблокировавший базу данных, оставил следующее объяснение: $1",
        "protectedpagewarning": "'''Предупреждение. Эта страница защищена от изменений, её могут редактировать только участники с полномочиями администраторов.'''\nНиже для справки приведена последняя запись журнала:",
        "semiprotectedpagewarning": "'''Замечание.''' Эта страница была защищена; редактировать её могут только зарегистрированные участники.\nНиже для справки приведена последняя запись журнала:",
        "cascadeprotectedwarning": "<strong>Предупреждение:</strong> Данную страницу могут редактировать только участники с административными правами, поскольку она включена {{PLURAL:$1|1=в следующую страницу, для которой|в следующие страницы, для которых}} включена каскадная защита:",
        "permissionserrors": "Ошибка прав доступа",
        "permissionserrorstext": "У вас нет прав на выполнение этой операции по {{PLURAL:$1|1=следующей причине|следующим причинам}}:",
        "permissionserrorstext-withaction": "У вас нет прав на $2 по {{PLURAL:$1|1=следующей причине|следующим причинам}}:",
-       "contentmodelediterror": "Ð\92Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\80едакÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 Ð²ÐµÑ\80Ñ\81иÑ\8e, Ð¿Ð¾Ñ\81колÑ\8cкÑ\83 Ð¼Ð¾Ð´ÐµÐ»Ñ\8c ÐµÑ\91 Ñ\81одеÑ\80жаниÑ\8f â\80\94 <code>$1</code>, Ð° Ñ\82екÑ\83Ñ\89аÑ\8f Ð¼Ð¾Ð´ÐµÐ»Ñ\8c содержания страницы — <code>$2</code>.",
+       "contentmodelediterror": "Ð\92Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\80едакÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 Ð²ÐµÑ\80Ñ\81иÑ\8e, Ð¿Ð¾Ñ\81колÑ\8cкÑ\83 Ð¼Ð¾Ð´ÐµÐ»Ñ\8c ÐµÑ\91 Ñ\81одеÑ\80жаниÑ\8f â\80\94 <code>$1</code>, Ð¾Ñ\82лиÑ\87аÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð¾Ñ\82 Ñ\82екÑ\83Ñ\89ей Ð¼Ð¾Ð´ÐµÐ»Ð¸ содержания страницы — <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Внимание. Вы пытаетесь воссоздать страницу, которая ранее удалялась.'''\n\nПроверьте, действительно ли вам нужно воссоздавать эту страницу.\nНиже приведены журналы удалений и переименований этой страницы.",
        "moveddeleted-notice": "Эта страница была удалена.\nДля справки ниже показаны соответствующие записи из журналов удалений и переименований.",
        "moveddeleted-notice-recent": "К сожалению, эта страница была недавно удалена (в течение последних 24 часов).\nНиже для справки приведены журналы удаления и перемещения для этой страницы.",
        "foreign-structured-upload-form-label-own-work-message-shared": "Я подтверждаю, что являюсь владельцем авторских прав на этот файл, и соглашаюсь на безотзывной основе разместить этот файл на Викискладе под лицензией [https://creativecommons.org/licenses/by-sa/4.0/deed.ru Creative Commons Attribution-ShareAlike 4.0], а также соглашаюсь с [https://wikimediafoundation.org/wiki/Условия_использования Условиями использования].",
        "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": "В том случае, если этот файл может быть загружен в соответствии с правилами сайта {{SITENAME}}, вы также можете попробовать использовать его [[Special:Upload|страницу загрузки]].",
+       "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.ru Creative Commons Attribution-ShareAlike 4.0]",
+       "foreign-structured-upload-form-3-label-question-website": "Вы скачали это изображение с какого-то сайта или, может быть, нашли его через поиск изображений?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Вы создали это изображение (сделали фото, эскиз, чертёж и т. д.) сами?",
+       "foreign-structured-upload-form-3-label-yes": "Да",
+       "foreign-structured-upload-form-3-label-no": "Нет",
+       "foreign-structured-upload-form-4-label-good": "Используя этот инструмент, вы можете загрузить образовательную графику, которую вы создали, и фотографии, которые вы сняли, если они не содержат работ, принадлежащих кому-то другому.",
        "backend-fail-stream": "Не удалось транслировать файл $1.",
        "backend-fail-backup": "Невозможно сделать резервную копию файла $1.",
        "backend-fail-notexists": "Файл $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 {{PLURAL:$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": "Подходящие записи в журнале отсутствуют.",
        "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>",
        "delete-confirm": "$1 — удаление",
        "delete-legend": "Удаление",
        "historywarning": "<strong>Внимание:</strong> Вы собираетесь удалить страницу, у которой есть история правок, содержащая $1 {{PLURAL:$1|версию|версии|версий}}:",
+       "historyaction-submit": "Показать",
        "confirmdeletetext": "Вы запросили полное удаление страницы (или изображения) и всей её истории изменений. Пожалуйста, подтвердите, что вы действительно желаете это сделать, понимаете последствия своих действий, и делаете это в соответствии [[{{MediaWiki:Policy-url}}|с правилами]].",
        "actioncomplete": "Действие выполнено",
        "actionfailed": "Действие не выполнено",
index 825774a..84abd2a 100644 (file)
@@ -38,6 +38,7 @@
        "tog-hideminor": "මෑත වෙනස් කිරීම්වල සුළු සංස්කරණ සඟවන්න",
        "tog-hidepatrolled": "විමසුමට ලක්කෙරුණු සංස්කරණ, මෑත වෙනස් කිරීම් තුල නොපෙන්වන්න",
        "tog-newpageshidepatrolled": "විමසුමට ලක්කෙරුණු පිටු, අළුත් පිටු ලැයිස්තුව තුල නොපෙන්වන්න",
+       "tog-hidecategorization": "පිටුවේ ප්‍රවර්ගීකරණය සගවන්න",
        "tog-extendwatchlist": "මෑත වෙනස්වීම් පමණක් නොව, අදාළ සියළු වෙනස්වීම් දක්වා පෙන්වන අයුරින් මුර-ලැයිස්තුව පුළුල් කරන්න",
        "tog-usenewrc": "මෑත වෙනස්වීම් සහ මුර ලැයිස්තුව හී පිටුව අනුව සමූහ වෙනස්වීම් (ජාවාස්ක්‍රිප්ට් ඇවැසිය)",
        "tog-numberheadings": "ශීර්ෂ-නාම ස්වයංක්‍රීයව අංකනය කරන්න",
@@ -67,6 +68,7 @@
        "tog-watchlisthideliu": "ප්‍රවිෂ්ට වී ඇති පරිශීලකයන් විසින් සිදුකර ඇති සංස්කරණ මුර-ලැයිස්තුවෙන් සඟවන්න",
        "tog-watchlisthideanons": "නිර්නාමික පරිශීලකයන් විසින් සිදුකොට ඇති සංස්කරණ මුර-ලැයිස්තුවෙන් සඟවන්න",
        "tog-watchlisthidepatrolled": "විමසුමට ලක්කෙරුණු සංස්කරණයන් මුර-ලැයිස්තුව තුල නොපෙන්වන්න",
+       "tog-watchlisthidecategorization": "පිටුවේ ප්‍රවර්ගීකරණය සගවන්න",
        "tog-ccmeonemails": "මා විසින් අනෙකුත් පරිශීලකයන් හට යවන විද්‍යුත්-තැපෑලයන්හි පිටපත් මාහට එවන්න",
        "tog-diffonly": "“වෙනස් ”පදයන්ට පහළින්, පිටුවල අන්තර්ගතය   නොපෙන්වන්න",
        "tog-showhiddencats": "සැඟවුනු ප්‍රවර්ග පෙන්වන්න",
        "morenotlisted": "තවත් දේ ලැයිස්තුගත කොට නොමැත...",
        "mypage": "පිටුව",
        "mytalk": "සාකච්ඡාව",
-       "anontalk": "මà·\99ම à¶\85යà·\92පà·\93 à¶½à·\92පà·\92නය à·\83ඳà·\84à·\8f à·\83à·\8fà¶\9aචà·\8aඡà·\8fà·\80",
+       "anontalk": "සාකච්ඡාව",
        "navigation": "යාත්‍රණය",
        "and": "&#32;සහ",
        "qbfind": "සොයන්න",
        "actionthrottled": "ක්‍රියාව අවකරණය කරන ලදි",
        "actionthrottledtext": "අයාචිත තැපෑල  වැලකීමේ ක්‍රියාමාර්ගයක් ලෙස, ඔබ විසින්, කෙටි කාල සීමාවක් තුල, පමණට වැඩි වාර ගණනක් මෙම ක්‍රියාව සිදු කිරීම, සීමා කර ඇති අතර, ඔබ මෙම සීමාව ඉක්මවා ඇත.\nවිනාඩි කිහිපයකින් පසුව නැවත උත්සාහ කරන්න.",
        "protectedpagetext": "සංස්කරණයන් වලක්වනු වස් මෙම පිටුව අවුරා ඇත.",
-       "viewsourcetext": "මෙම පිටුවෙහි මූලාශ්‍රය නැරඹීමට හා පිටපත් කිරීමට ඔබ හට හැකිය:",
-       "viewyourtext": "'''ඔබගේ සංස්කරණ''' නැරඹීම සහ මූලාශ්‍රය පිටපත් කිරීම ඔබට කල හැක:",
+       "viewsourcetext": "මෙම පිටුවෙහි මූලාශ්‍රය නැරඹීමට හා පිටපත් කිරීමට ඔබ හට හැකිය.",
+       "viewyourtext": "මෙම පිටුවේ <strong>ඔබගේ සංස්කරණ</strong> වල මූලාශ්‍රය නැරඹීම සහ පිටපත් කිරීම ඔබට කල හැක.",
        "protectedinterface": "මෙම පිටුව විසින්, මෘදුකාංගය සඳහා අතුරුමුව පෙළ සපයන අතර එබැවින් අපයෙදුම වැලැක්වීම සඳහා එය අවුරා ඇත.",
        "editinginterface": "<strong>අවවාදයයි:</strong> මෘදුකාංගයට අතුරුමුව පෙළ සැපයීමට භාවිතා වන පිටුවක් ඔබ විසින් සංස්කරණය කරනු ලබයි.\nමෙම පිටුවට සිදු කරන වෙනස්වීම් විසින් අනෙකුත් පරිශීලකයන්ගේ පරිශීලක අතුරුමුවෙහි පෙනුමට බලපෑම් එල්ල කෙරෙනු ඇත.",
        "translateinterface": "සියලු විකියන් පරිවර්තන සඳහා එකතු කිරීමට හෝ වෙනස් කිරීමට, [//translatewiki.net/ translatewiki.net], මීඩියාවිකි ප්රාදේශීයකරන ව්යාපෘතිය භාවිතා කරන්න.",
        "createacct-reason": "හේතුව",
        "createacct-reason-ph": "ඔබ තවත් ගිණුමක් තනන්නේ කුමක් නිසාද",
        "createacct-submit": "ඔබේ ගිණුම තනන්න",
-       "createacct-another-submit": "තà·\80තà·\8a à¶\9cà·\92ණà·\94මà¶\9aà·\8a à¶\86රමà·\8aභ à¶\9aරන්න",
+       "createacct-another-submit": "à¶\9cà·\92ණà·\94මà¶\9aà·\8a à¶­à¶±න්න",
        "createacct-benefit-heading": "{{SITENAME}} ඔබ වැනි අයෙක් විසින් නිමවා ඇත",
        "createacct-benefit-body1": "{{PLURAL:$1|සංස්කරණය|සංස්කරණ}}",
        "createacct-benefit-body2": "{{PLURAL:$1|පිටුව|පිටු}}",
        "passwordreset-emailtext-ip": "කවුරුන්හෝ (බොහෝවිට ඔබ, $1 අන්තර්ජාල ලිපිනය භාවිතයෙන්) {{SITENAME}} ($4) සඳහා ඔබගේ ගිණුම් විස්තර සිහිකැඳවීමක් ඉල්ලා ඇත.  පහත පරිශීලක {{PLURAL:$3|ගිණුම|ගිණුම්}}\nමෙම විද්‍යුත් තැපැල් ලිපිනය හා සමගින් ආශ්‍රය වෙයි.\n\n$2\n\n{{PLURAL:$3|මෙම තාවකාලික මුරපදය|මෙම තාවකාලික මුරපද}} {{PLURAL:$5|එක් දිනයක්|දින $5 ක්}} ගෙවුනු විට ඉකුත් වනු ඇත.\nඔබ දැන් ප්‍රවිෂ්ට වී නව මුරපදයක් තෝරාගත යුතුයි. වෙන යම් අයෙක් මෙම ඉල්ලීම කර ඇත්නම් හෝ, ඔබගේ මුල් මුරපදය ඔබගේ මතකයට පැමිණ ඇති නම් හා, එය වෙනස් කිරීමට ඔබ හට තවදුරටත් අවශ්‍ය නොවේ නම්, ඔබ විසින් මෙම පණිවුඩය නොසලකා හැර පැරණි මුරපදය තවදුරටත් පාවිච්චි කළ හැක.",
        "passwordreset-emailtext-user": "{{SITENAME}} හි පරිශීලක $1,{{SITENAME}}($4)සඳහා මුරපදය යලි පිහිටුවීමට ඉල්ලා ඇත.\n\n$2\n\n{{PLURAL:$3|මෙම මුරපදය|මෙම මුරපද}}{{PLURAL:$5|එක් දිනකින්|දවස්$5කින්}}කල් ඉකුත් වනු ඇත.\nඔබ දැන් ඇතුළු වී නව මුරපදයක් තේරිය යුතුය.මෙම ඉල්ලීම වෙන කෙනෙකු විසින් හෝ ඔබට ඔබගේ මුල් මුරපදය මතක නම් හෝ ඔබ තව දුරටත් එය වෙනස් කිරීමට අදහස් නොකරයි නම් හෝ ඔබ මෙම පනිවිඩය නොසලකාහැර ඔබගේ පැරණි මුරපදය භාවිතා කරන්න.",
        "passwordreset-emailelement": "පරිශීලක නාමය: \n$1\n\nතාවකාලික මුරපදය: \n$2",
-       "passwordreset-emailsent": "මුර-පදය නැවත සකස් කිරීම පිළිබඳව විද්‍යුත් තැපෑලක් යවන ලදී.",
+       "passwordreset-emailsentemail": "මුර-පදය නැවත සකස් කිරීම පිළිබඳව විද්‍යුත් තැපෑලක් යවන ලදී.",
        "passwordreset-emailsent-capture": "මුර-පදය වෙනස් කිරීම පිළිබඳව විද්‍යුත් තැපෑලක් යවන ලදී, එය පහත දැක්වේ.",
        "passwordreset-emailerror-capture": "සිහිකැඳවුම් ඊ-තැපෑල ජනිත කරනු ලැබූ අතර, එය පහත දැක්වේ, නමුත් එය {{GENDER:$2|}}පරිශීලකයාට යැවීම අසාර්ථක වුනි: $1",
-       "changeemail": "à·\80à·\92දà·\8aâ\80\8dයà·\94තà·\8a à¶­à·\90පà·\90ලà·\8a à¶½à·\92පà·\92නය à·\80à·\99නà·\83් කරන්න",
+       "changeemail": "à·\80à·\92දà·\8aâ\80\8dයà·\94තà·\8a à¶­à·\90පà·\91ල à·\80à·\99නà·\83à·\8a à¶\9aරනà·\8aන à·\84à·\9d à¶\89à·\80ත් කරන්න",
        "changeemail-header": "ගිණුම් විද්‍යුත් තැපැල් ලිපිනය වෙනස් කරන්න",
        "changeemail-no-info": "මෙම පිටුව සෘජු ලෙස සම්ප්‍රවේශය කෙරුමට පළමුව ඔබ ප්‍රවිෂ්ටව සිටිය යුතුය.",
        "changeemail-oldemail": "වත්මන් විද්‍යුත් තැපැල් ලිපිනය:",
        "sig_tip": "වේලා මුද්‍රාව හා සමග ඔබගේ විද්‍යුත් අත්සන",
        "hr_tip": "තිරස් පේළිය (අවම වශයෙන් භාවිතා කරන්න)",
        "summary": "සාරාංශය:",
-       "subject": "විෂයය/සිරස් තලය:",
+       "subject": "විෂයය:",
        "minoredit": "මෙය සුළු සංස්කරණයකි",
        "watchthis": "මෙම පිටුව මුර කරන්න",
        "savearticle": "පිටුව සුරකින්න",
        "missingcommenttext": "කරුණාකර පහතින් පරිකථනයක් ඇතුළු කරන්න.",
        "missingcommentheader": "'''සිහිගැන්වීමයි:''' මෙම පරිකථනය සඳහා ඔබ විසින් විෂයයක්/සිරස්තලයක් සපයා නොමැත.\nඔබ නැවතත් \"{{int:savearticle}}\" ක්ලික් කලහොත්, ඔබගේ සංස්කරණය එවැන්නක් විරහිතවම සුරැකෙනු ඇත.",
        "summary-preview": "සාරාංශ පෙර-දසුන:",
-       "subject-preview": "විෂයය/සිරස්තලය හි පෙර-දසුන:",
+       "subject-preview": "විෂයය හි පෙර දසුන:",
        "previewerrortext": "ඔබේ වෙනස්කම් පෙරදසුන් කිරීමට උත්සාහ දරන අතර දෝෂයක් ඇතිවිය.",
        "blockedtitle": "පරිශීලකයා වාරණය කර ඇත",
        "blockedtext": "ඔබගේ පරිශීලක නාමය හෝ IP ලිපිනය වාරණය කොට ඇත.'''\n\nමෙම වාරණය සිදුකොට ඇත්තේ  $1 විසිනි.\nමේ සඳහා දී ඇති හේතුව ''$2'' වේ.\n\n* වාරණයෙහි ඇරඹුම: $8\n*වාරණයයෙහි අවසානය: $6\n* අදහස් කරන ලද  වාරණ-ලාභී: $7\n\nවාරණය පිළිබඳ සංවාදයකට එළඹීමෙනු වස්, $1 හෝ  වෙනත් [[{{MediaWiki:Grouppage-sysop}}|පරිපාලකයෙකු]] හෝ සම්බන්ධ කරගැනීමට ඔබ හට හැකිය.\nඔබගේ  [[Special:Preferences|ගිණුම් අභිරුචි]] වල, වලංගු විද්‍යුත්-තැපැල් ලිපිනයක් නිරූපනය කොට  ඇති නම් හා ඔබ විසින් එය භාවිත කිරීම වාරණය කොට නොමැති නම් මිස,  'මෙම පරිශීලකයාට විද්‍යුත්-තැපෑලක් යවන්න' යන අංගය ඔබ විසින් භාවිතා කල නොහැකිය.\nඔබගේ වත්මන් අන්තර්ජාල ලිපිනය  $3 වන අතර, වාරණ අනන්‍යතාවය #$5 වේ.\nඔබ විසින් සිදු කරන ඕනෑම විමසුමකදී ඉහත සියළු විස්තර අඩංගු කරන්න.",
        "prefs-watchlist-token": "මුරලැයිස්තු ටෝකනය:",
        "prefs-misc": "විවිධ",
        "prefs-resetpass": "මුර-පදය වෙනස් කරන්න",
-       "prefs-changeemail": "විද්‍යුත් තැපෑල  වෙනස් කරන්න",
+       "prefs-changeemail": "විද්‍යුත් තැපෑල වෙනස් කරන්න හෝ ඉවත් කරන්න",
        "prefs-setemail": "විද්‍යුත් ලිපිනයන් සකසන්න",
        "prefs-email": "විද්‍යුත්-ලිපි තෝරාගැනීම්",
        "prefs-rendering": "පෙනුම",
        "columns": "තීරු:",
        "searchresultshead": "ගවේෂණය",
        "stub-threshold": "<a href=\"#\" class=\"stub\">කොට සබැඳි</a> ආකෘතිකරණය සඳහා සීමකය (බයිට්):",
+       "stub-threshold-sample-link": "නියැදිය",
        "stub-threshold-disabled": "අක්‍රිය කෙරිණි",
        "recentchangesdays": "මෑත වෙනස්වීම්හි පෙන්විය යුතු දිනයන්:",
        "recentchangesdays-max": "(උපරිමයෙන් {{PLURAL:$1|එක් දිනක්|දින $1 ක්}})",
        "prefs-help-prefershttps": "ඔබගේ අභිරුචිය මීළඟ ඇතුළු වීමේ සිට ක්‍රියාත්මක වනු ඇත.",
        "prefswarning-warning": "ඔබ තවමත් සුරැකීමට ලක් කොට නොමැත ඇති බව ඔබේ මනාපයන් වෙනස්කම් සිදුකර ඇත. ඔබ \"$1\" ක්ලික් තොරව මෙම පිටුව නිවාඩු නම්, ඔබේ මනාපයන් යාවත්කාලීන කළ නොහැකි වනු ඇත.",
        "prefs-tabs-navigation-hint": "ඉඟිය: ඔබ ටැබ් ලැයිස්තුවේ ඇති ටැබ් අතර සැරිසැරීම වම් හා දකුණු ඊතල සහිත යතුරු භාවිතා කළ හැක.",
-       "email-address-validity-valid": "විද්‍යුත්-තැපැල් ලිපිනය අනීතික බවක් පෙනෙයි.",
-       "email-address-validity-invalid": "වලංගු විද්‍යුත් ලිපිනයක් ඇතුලත් කරන්න",
        "userrights": "පරිශීලක හිමිකම් කළමනාකරණය",
        "userrights-lookup-user": "පරිශීලක කණ්ඩායම් කළමනාකරණය කරන්න",
        "userrights-user-editname": "පරිශීලක-නාමයක් ආදායනය කරන්න:",
        "group-bot": "රොබෝවරු",
        "group-sysop": "පරිපාලකවරු",
        "group-bureaucrat": "නිලබලධාරියෝ",
-       "group-suppress": "පà·\8aâ\80\8dරමà·\8fද à¶¯à·\9dà·\82යන්",
+       "group-suppress": "මරà·\8aදà¶\9aයන්",
        "group-all": "(සියල්ල)",
        "group-user-member": "{{GENDER:$1|පරිශීලක}}",
        "group-autoconfirmed-member": "{{GENDER:$1|ස්වයංක්‍රීයව-චිරස්ථිත පරිශීලක}}",
        "group-bot-member": "{{GENDER:$1|රොබෝවරයා}}",
        "group-sysop-member": "{{GENDER:$1|පරිපාලකවරයා}}",
        "group-bureaucrat-member": "{{GENDER:$1|නිලබලධාරියා}}",
-       "group-suppress-member": "{{GENDER:$1|ප්‍රමාදද්‍යෝෂය}}",
+       "group-suppress-member": "{{GENDER:$1|ප්‍රමාද දෝෂය}}",
        "grouppage-user": "{{ns:project}}:පරිශිලකයෝ",
        "grouppage-autoconfirmed": "{{ns:project}}:ස්වයං-චිරස්ථිත පරිශීලකයෝ",
        "grouppage-bot": "{{ns:project}}:රොබෝවරු",
        "grouppage-sysop": "{{ns:project}}:පරිපාලකවරු",
        "grouppage-bureaucrat": "{{ns:project}}:නිලබලධාරියෝ",
-       "grouppage-suppress": "{{ns:project}}:පà·\8aâ\80\8dරමà·\8fද à¶¯à·\9dà·\82ය",
+       "grouppage-suppress": "{{ns:project}}:යටපතà·\8a à¶\9aà·\92රà·\93ම",
        "right-read": "පිටු කියවන්න",
        "right-edit": "පිටු සංස්කරණය කරන්න",
        "right-createpage": "(සංවාද පිටු නොවන) පිටු තනන්න",
        "recentchanges-label-plusminus": "පිටුවේ බයිට ගණන මෙපමණකින් වෙනස් වී ඇත",
        "recentchanges-legend-heading": "'''විස්තරය:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|නව පිටු ලැයිස්තුව]] ද බලන්න)",
+       "recentchanges-submit": "පෙන්වන්න",
        "rcnotefrom": "{{PLURAL:$5|වෙනස්කම|වෙනස්කම්}} න් පසු සිදුවී ඇති <strong>$3, $4</strong> මෙහි පහත දැක්වේ (<strong>$1</strong> ක ප්‍රමාණයක උපරිමයක් පෙන්වා ඇත).",
        "rclistfrom": "$3 $2 සිට බලපැවැත්වෙන මෑත වෙනස්වීම් පෙන්වන්න",
        "rcshowhideminor": "සුළු සංස්කරණ $1",
        "rcshowhidemine": "මගේ සංස්කරණ $1",
        "rcshowhidemine-show": "පෙන්වන්න",
        "rcshowhidemine-hide": "සඟවන්න",
+       "rcshowhidecategorization": "පිටු ප්‍රවර්ගීකරණය $1",
+       "rcshowhidecategorization-show": "පෙන්වන්න",
+       "rcshowhidecategorization-hide": "සඟවන්න",
        "rclinks": "අවසන් දින $2 තුලදී සිදුවී ඇති අවසන් වෙනස්වීම් $1 පෙන්නුම් කරන්න<br />$3",
        "diff": "වෙනස",
        "hist": "ඉති",
        "newpageletter": "නව",
        "boteditletter": "රොබෝ",
        "number_of_watching_users_pageview": "[ {{PLURAL:$1| එක් පරිශීලකයෙක් මුර-කරයි|පරිශීලකවරුන් $1 ක් මුර-කරති}} ]",
-       "rc_categories": "ප්‍රවර්ගයන්ට සීමා කරන්න (\"|\" මගින් වෙන් කරන්න)",
-       "rc_categories_any": "à¶\95නà·\91ම",
+       "rc_categories": "ප්‍රවර්ගයන්ට සීමා කරන්න (\"|\" මගින් වෙන් කරන්න):",
+       "rc_categories_any": "තà·\9dරà·\8fà¶\9cතà·\8a à¶\95නà·\91ම à¶\91à¶\9aà¶\9aà·\8a",
        "rc-change-size": "$1",
        "rc-change-size-new": "වෙනස් කළ පසු {{PLURAL:$1|බයිට|බයිටයන්}} $1 ක්",
        "newsectionsummary": "/* $1 */ නව ඡේදය",
        "recentchangeslinked-summary": "විශේෂී ලෙස නිරූපිත පිටුවකට (හෝ විශේෂි ලෙස නිරූපිත ප්‍රවර්ගයක සාමාජීකයන්ට) සබැඳි පිටුවල මෑතදී සිදුවූ වෙනස්වීම් දැක්වෙන ලැයිස්තුවක් මෙහි දැක්වේ.\n[[Special:Watchlist|ඔබගේ  මුර-ලැයිස්තුවෙහි]] පිටු '''තදකුරු''' වලින් දක්වා ඇත.",
        "recentchangeslinked-page": "පිටු නාමය:",
        "recentchangeslinked-to": "ඒ වෙනුවට දී ඇති පිටුවට සබැඳෙන පිටුවල වෙනස්වීම්  පෙන්වන්න",
+       "recentchanges-page-added-to-category": "[[:$1]] ප්‍රවර්ගයට එක් කරන ලදී",
+       "autochange-username": "මාධ්‍යවිකි ස්වයංක්‍රීය වෙනස් කිරීම",
        "upload": "ගොනුවක් උඩුගතකරන්න",
        "uploadbtn": "ගොනුව උඩුගත කරන්න",
        "reuploaddesc": "උඩුගත කිරීම අත්හැරදමා උඩුගත කිරීම් ආකෘති පත්‍රය වෙත යන්න",
        "upload-too-many-redirects": "අන්තර්ජාල ලිපිනයෙහි පමණට වඩා යළි-යොමුවීම් අඩංගු වෙයි",
        "upload-http-error": "HTTP දෝෂයක් හට ගැනිණි: $1",
        "upload-copy-upload-invalid-domain": "පිටපත් උඩුගත කිරීම් මෙම වසම සිට ලබා ගත නොහැකි වේ.",
+       "upload-dialog-title": "ගොනුව උඩුගත කරන්න",
+       "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": "නැහැ",
        "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 කි}}",
        "usercreated": "$1 දින $2 වේලාවේදී {{GENDER:$3|තනන ලදි}}",
        "newpages": "නව පිටු",
+       "newpages-submit": "පෙන්වන්න",
        "newpages-username": "පරිශීලක-නාමය:",
        "ancientpages": "පැරණිම පිටු",
        "move": "ගෙනයන්න",
        "nopagetext": "ඔබ විසින් සඳහන් කර ඇති ඉලක්කගත පිටුව නොපවතියි.",
        "pager-newer-n": "{{PLURAL:$1|නවීන 1|නවීන $1}}",
        "pager-older-n": "{{PLURAL:$1|පැරණි 1|පැරණි $1}}",
-       "suppress": "පà·\8aâ\80\8dරමà·\8fද à¶¯à·\9dà·\82ය",
+       "suppress": "යටපතà·\8a à¶\9aà·\92රà·\93ම",
        "querypage-disabled": "ක්‍රියාකාරීත්ව හේතූන්මත මෙම විශේෂ පිටුව අක්‍රීය කර ඇත.",
        "apihelp": "API උදවු",
        "apihelp-no-such-module": "ආකෘතිය \"$1\" හමුවුනේ නැත.",
        "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": " bots සඟවන්න",
        "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": "පහත දැක්වෙන්නේ $3, $4 මෙන්, අවසන් {{PLURAL:$2|පැය|පැය '''$2''' }} තුලදී සිදු කෙරී ඇති {{PLURAL:$1|අවසන් වෙනස්වීම්යි |අවසන් වෙනස්වීම්  '''$1''' යි}}.",
        "wlshowlast": "පසුගිය පැය $1 දින $2 පෙන්වන්න",
        "watchlistall2": "සියල්ල",
+       "watchlist-hide": "සඟවන්න",
+       "watchlist-submit": "පෙන්වන්න",
+       "wlshowhideminor": "සුළු සංස්කරණ",
+       "wlshowhidebots": "රොබෝවරු",
+       "wlshowhideliu": "ලේඛනගත පරිශීලකයන්",
+       "wlshowhideanons": "නිර්නාමික පරිශීලකයන්",
+       "wlshowhidepatr": "පරික්‍ෂාකර බැලූ සංස්කරණයන්",
+       "wlshowhidemine": "මගේ සංස්කරණයන්",
        "watchlist-options": "තෝරාගතහැකි මුර ලැයිස්තු සැකසුම්",
        "watching": "මුර කරමින්...",
        "unwatching": "මුර නොකරමින්...",
        "delete-confirm": "\"$1\" මකා දමන්න",
        "delete-legend": "මකන්න",
        "historywarning": "\"'අවවාදයයි\"': ඔබ විසින් මකා දැමීමට සූදානම් වන පිටුවට $1 {{PLURAL:$1|සංශෝධනය|සංශෝධන}}: සමඟ ඉතිහාසයක් ඇත:",
+       "historyaction-submit": "පෙන්වන්න",
        "confirmdeletetext": "එහි සමස්ත ඉතිහාසය හා සමගින් පිටුවක් මකා දැමීමට ඔබ සැරසෙයි.\nඔබගේ අභිමතය මෙයමදැයි තහවුරුකර, මෙහි ප්‍රතිඵල ඔබ විසින් අවබෝධ කරගෙන ඇති බවට සෑහීමට පත්ව හා ඔබ මෙය සිදුකරන්නේ  [[{{MediaWiki:Policy-url}}|ප්‍රතිපත්තියට]] අනුකූලවදැයි විමසා මෙය සිදුකරන්න.",
        "actioncomplete": "ක්‍රියාව සමාප්තයි",
        "actionfailed": "කාර්යය අසාර්ථක විය",
        "rollback-success": " $1 විසින් සිදුකල සංස්කරණයන් ප්‍රතිවර්තනය කරන ලදි;\n$2 ගේ අවසන් අනුවාදය වෙතට යළි වෙනස් කරන ලදි .",
        "sessionfailure-title": "සැසි ඇණ හිටීම",
        "sessionfailure": "ඔබගේ ප්‍රවිෂ්ට වීමේ සැසියෙහි කිසියම් ගැටළුකාරී තත්ත්වයක් පැන නැගී ඇත;\nසැසි පරිග්‍රහණයට එරෙහි ආරක්ෂිත පියවරක් ලෙස මෙම ක්‍රියාව අත්හැරදමා ඇත.\n\"පසුපසට\" බොත්තම ක්ලික් කර ඔබ පැමිණි පිටුව යළිපූරණය නොට නැවත උත්සාහ කරන්න.",
+       "changecontentmodel-title-label": "පිටු ශීර්ෂය",
+       "logentry-contentmodel-change-revertlink": "ප්‍රතිවර්තනය",
+       "logentry-contentmodel-change-revert": "ප්‍රතිවර්තනය",
        "protectlogpage": "ආරක්‍ෂණයන් දැක්වෙන සටහන",
        "protectlogtext": "පිටු ඇවුරුම් හා ඇවුරුම් අවලංගු කිරීම් ලැයිස්තුවක් පහත දැක්වේ.\nදැනට ක්‍රියාත්මක වන පිටු ආරක්ෂණයන් ලැයිස්තුවක් සඳහා [[Special:ProtectedPages|ආරක්ෂිත පිටු ලැයිස්තුව]] බලන්න.",
        "protectedarticle": "\"[[$1]]\" ආරක්‍ෂණය කරන ලදි",
        "undeletepagetext": "පහත {{PLURAL:$1|පිටුව මකාදැමුවද එය |පිටු $1 මකාදැමුවද ඒවා}}සංරක්‍ෂිතාගාරයෙහි තවමත් පවතින බැවින් ප්‍රතිෂ්ඨාපනය කල හැක.\nසංරක්‍ෂිතාගාරය කලින් කලට  සුද්ධ පවිත්‍ර කරනු ලැබිය හැක.",
        "undelete-fieldset-title": "සංශෝධනයන් ප්‍රතිෂ්ඨාපනය කරන්න",
        "undeleteextrahelp": "පිටුවෙහි සමස්ත ඉතිහාසය ප්‍රතිෂ්ඨාපනය කරනු වස්, සියළු පිරික්සුම්කොටු නොතෝරා '''''{{int:undeletebtn}}''''' ක්ලික් කරන්න.\nයම් සුවිශේෂ ප්‍රතිෂ්ඨාපනයක් සිදුකිරීමට, ප්‍රතිෂ්ඨාපනය කිරීමට රිසි සංශෝධනයන්ට අනුරූප කොටු තෝරාගෙන, '''''{{int:undeletebtn}}''''' ක්ලික් කරන්න.",
-       "undeleterevisions": " {{PLURAL:$1|සංශෝධනයක්|සංශෝධන $1 ක්}} සංරක්‍ෂිතාගාරයට යවන ලදි",
+       "undeleterevisions": "{{PLURAL:$1|සංශෝධනයක්|සංශෝධන $1 ක්}} මකාදමන ලදී",
        "undeletehistory": "ඔබ පිටුව ප්‍රතිෂ්ඨාපනය කලහොත්, සියළු සංශෝධනයන් ඉතිහාසයට ප්‍රතිෂ්ඨාපනය වනු ඇත.\nමකාදැමීමෙන් අනතුරුව පළමු නමම සහිත නව පිටුවක් තැනුවේ නම්, ප්‍රතිෂ්ඨාපිත සංශෝධනයන් පූර්ව ඉතිහාසයෙහි බහාලේ .",
        "undeleterevdel": "උඩු පිටුව හෝ ගොනු සංශෝධනය හෝ භාගික වශයෙන් මකාදැමීම එහි ප්‍රතිඵලයක් වන්නේ නම් මකාදැමීම අවලංගු කිරීම සිදුනොකරනු ඇත.\n‍එවැනි අවස්ථාවලදී, නවීනතම මකාදැමුණු සංශෝධනය නොතෝරාගැනුම හෝ නොසැඟවීම හෝ ඔබ විසින් සිදුකල යුතුය.",
        "undeletehistorynoadmin": "මෙම පිටුව මකාදමා ඇත.\nමකා දැමුමට පෙර මෙම පිටුව සංස්කරණය කල පරිශීලකයන් පිළිබඳ විස්තරද සහිතව, මකාදැමුමට හේතුව පහත සාරාංශයෙහි දැක්වේ.\nමෙම මකාදැමුණු සංශෝධනයන්ගේ තථ්‍ය පෙළ පරිහරණය කල හැක්කේ පරිපාලකවරුන්ට පමණයි.",
        "undeletedrevisions": "{{PLURAL:$1|සංශෝධනයක්|සංශෝධන $1 ක්}} ප්‍රතිෂ්ඨාපනය කරන ලදි",
        "undeletedrevisions-files": "{{PLURAL:$1|එක් සංශෝධනයක්| සංශෝධන $1 ක්}} සහ {{PLURAL:$2|එක් ගොනුවක්|ගොනු $2 ක්}} ප්‍රතිෂ්ඨාපනය කෙරිණි",
        "undeletedfiles": "{{PLURAL:$1|එක් ගොනුවක්|ගොනු $1 ක්}} ප්‍රතිෂ්ඨාපනය කෙරිණි",
-       "cannotundelete": "මකාදැමීම ප්‍රතිලෝම කිරීම අසාර්ථක විය;\nමෙම පිටුවේ මකාදැමීම ප්‍රතිලෝම කිරීම යමෙකු මීට කලින්  කර ඇතුවා විය හැක.",
+       "cannotundelete": "මකාදැමීම ප්‍රතිලෝම කිරීම අසාර්ථක විය:\n$1",
        "undeletedpage": "'''$1 ප්‍රතිෂ්ඨාපනය කෙරී ඇත'''\n\nමෑතදී සිදුවූ මකාදැමීම් හා ප්‍රතිෂ්ඨාපනයන් හි වාර්තාවක් උදෙසා [[Special:Log/delete|මකාදැමීම් ලඝු-සටහන]] පරිශීලනය කරන්න.",
        "undelete-header": "මෑතදී මකාදැමුණු පිටු සඳහා  [[Special:Log/delete|මකාදැමුම්  ලඝු-සටහන]] බලන්න.",
        "undelete-search-title": "මකාදැමූ පිටු ගවේෂණය කරන්න",
        "contributions": "{{GENDER:$1|පරිශීලකගේ}} දායකත්ව",
        "contributions-title": " $1 සඳහා පරිශීලක දායකත්වයන්",
        "mycontris": "දායකත්ව",
+       "anoncontribs": "දායකත්වයන්",
        "contribsub2": "{{GENDER:$3|$1}} සඳහා ($2)",
+       "contributions-userdoesnotexist": "\"$1\" පරිශීලක ගිණුම ලියාපදිංචි කර නොමැත.",
        "nocontribs": "මෙම උපමානයන් හා ගැලපෙන වෙනස්වීම් හමුනොවිණි.",
        "uctop": "(වත්මන්)",
        "month": "මෙම මස (හා ඉන් පෙර) සිට:",
        "autoblockid": "ස්වයංවාරණය #$1",
        "block": "පරිශීලකයා වාරණය කරන්න",
        "unblock": "පරිශීලකයාගේ වාරණය අත්හිටුවන්න",
-       "blockip": "පරිශීලකයා වාරණය කරන්න",
+       "blockip": "{{GENDER:$1|පරිශීලකයා}} වාරණය කරන්න",
        "blockip-legend": "වාරණයකල පරිශීලක",
        "blockiptext": "විශේෂිත අන්තර්ජාල ලිපිනයකින් හෝ ප්‍රතිශීලක නාමයකින් ලිවීම් ප්‍රවේශය වාරණය කෙරුමට පහත ආකෘති පත්‍රය භාවිතා කරන්න.\nවන්ධල්‍යය වැලැක්වීමේ හුදු  අභිලාෂයෙන් හා, [[{{MediaWiki:Policy-url}}|ප්‍රතිපත්ති]] ප්‍රකාරව මෙය සිදුකල යුත්තේය.\nවිශේෂිත  හේතුවක් මෙහි පහත ඇතුලත් කරන්න (නිදසුනක් ලෙස, වන්ධල්‍ය්‍යට ලක්වුනු විශේෂිත පිටු හඳුන්වමින්).",
        "ipaddressorusername": "පරිශීලක නාමය හෝ IP ලිපිනය:",
        "ipb-unblock-addr": "$1වාරණය අත්හිටුවන්න",
        "ipb-unblock": "පරිශීලක නාමයක හෝ අන්තර්ජාල ලිපිනයක වාරණය අත්හිටුවන්න",
        "ipb-blocklist": "පවතින වාරණයන් නරඹන්න",
-       "ipb-blocklist-contribs": "$1 සඳහා දායකත්වයන්",
+       "ipb-blocklist-contribs": "{{GENDER:$1|$1}} සඳහා දායකත්වයන්",
        "unblockip": "පරිශීලකයාගේ වාරණය අත්හිටුවන්න",
        "unblockiptext": "පෙරදී වාරණයට ලක්වූ අන්තර්ජාල ලිපිනය හෝ පරිශීලක නාමය හෝ වෙත ලිවීමේ බලය ප්‍රතිෂ්ඨාපනය කෙරුමට පහත ආකෘතිය භාවිත කරන්න.",
        "ipusubmit": "මෙම වාරණය කිරීම අත්හිටුවන්න",
        "movenosubpage": "මෙම පිටුව සතුව උපපිටු නොමැත.",
        "movereason": "හේතුව:",
        "revertmove": "ප්‍රතිවර්තනය",
-       "delete_and_move": "මකාදමා ගෙන යන්න",
        "delete_and_move_text": "==මකාදැමීම අවශ්‍යව ඇත==\nඅන්ත පිටුව \"[[:$1]]\" දැනටමත් පවතියි.\nඑය මකාදමා ගෙනයාම සඳහා පෙත එළි කිරීමට ඔබ හට ඇවැසිද?",
        "delete_and_move_confirm": "ඔව්, පිටුව මකා දමන්න",
        "delete_and_move_reason": "\"[[$1]]\" ගෙනයෑමට ඉඩ ලබාගැනීම සඳහා මකාදමන ලදී",
        "allmessages-prefix": "උපසර්ගය පරිදී පෙරීම:",
        "allmessages-language": "භාෂාව:",
        "allmessages-filter-submit": "යන්න",
+       "allmessages-filter-translate": "පරිවර්තනය කරන්න",
        "thumbnail-more": "විශාලනය",
        "filemissing": "ගොනුව දක්නට නොමැත",
        "thumbnail_error": "සිඟිති-රූපයක් තැනීමෙහිදී ඇතිවූ දෝෂය: $1",
        "exif-compression-4": "CCITT සමූහය 4 ෆැක්ස් කේතීකරණය",
        "exif-compression-6": "JPEG",
        "exif-copyrighted-true": "කර්තෘ හිමිකම් තබාගත්",
-       "exif-copyrighted-false": "පà·\9cදà·\94 à·\84à·\92මà·\92à¶\9aමà·\8a",
+       "exif-copyrighted-false": "à·\84à·\92මà·\92à¶\9aමà·\8a à¶­à¶­à·\8aතà·\8aà·\80ය à¶´à·\92à·\84à·\92ටà·\94à·\80à·\8f à¶±à·\90ත",
        "exif-photometricinterpretation-2": "RGB",
        "exif-photometricinterpretation-6": "YCbCr",
        "exif-unknowndate": "නොදන්නා දිනයකි",
        "version-hook-name": "හසුරු නම",
        "version-hook-subscribedby": "දායකවී ඇත්තේ",
        "version-version": "($1)",
-       "version-license": "වරපත",
+       "version-license": "මà·\8fධà·\8aâ\80\8dයà·\80à·\92à¶\9aà·\92 à·\80රපත",
        "version-poweredby-credits": "මෙම විකිය '''[https://www.mediawiki.org/ MediaWiki]''' මගින් බලගන්වා ඇත, copyright © 2001-$1 $2.",
        "version-poweredby-others": "අනෙකුත්",
        "version-license-info": "MediaWiki යනු නිදහස් මෘදුකාංගයකි; නිදහස් මෘදුකාංග පදනමේ (Free Software Foundation) හි GNU General Public License නම් බලපත්‍රයේ වගන්තිවලට අනුව ඔබට එය නැවත බෙදාහැරීම සහ/හෝ සංස්කරණය කළ හැක; ඒ, එම බලපත්‍රයේ 2වන හෝ (ඔබට කැමති නම්) ඉන්පසු එන සංස්කරණයකට අනුවය.\n\nMediaWiki බෙදාහැර ඇත්තේ එය ප්‍රයෝජනවත්වේය යන බලාපොරොත්තුව ඇතිවය, නමුත් *කිසිදු වගකීමක් රහිතව*ය; අඩු තරමේ *විකිණිය හැකිබව* හෝ *කිසියම් කාර්යයකට ප්‍රයෝජනයට ගත හැකිබව* යන්න පිළිබඳ වගකීමක් හෝ රහිතවය. වැඩි විස්තර සඳහා GNU General Public License බලන්න.\n\nඔබට මෙම මෘදුකාංගය සමග [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU General Public License හි පිටපතක්] ලැබී තිබිය යුතුය; නැතිනම්, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA වෙත ලියන්න හෝ [//www.gnu.org/licenses/old-licenses/gpl-2.0.html එය මාර්ගගතව කියවන්න].",
        "fileduplicatesearch-noresults": "\"$1\" නමින් ගොනුවක් හමු නොවුණි",
        "specialpages": "විශේෂ පිටු",
        "specialpages-note-top": "ප්‍රබන්ධය",
-       "specialpages-note": "* à·\83à·\8fමà·\8fනà·\8aâ\80\8dය à·\80à·\92à·\81à·\9aà·\82 à¶´à·\92ටà·\94.\n* <span class=\"mw-specialpagerestricted\">à·\83à·\93මà·\92ත à·\80à·\92à·\81à·\9aà·\82 à¶´à·\92ටà·\94.</span>\n* <span class=\"mw-specialpagecached\">à\9aà·\91à·\82à·\92ත à·\80à·\92â\80\8dà·\81à·\9aà·\82 à¶´à·\92ටà·\94 (යලà·\8a à¶´à·\90න à¶\9cà·\92ය à·\80à·\92ය à·\84à·\90à¶\9a).</span>",
+       "specialpages-note": "* à·\83à·\8fමà·\8fනà·\8aâ\80\8dය à·\80à·\92à·\81à·\9aà·\82 à¶´à·\92ටà·\94.\n* <span class=\"mw-specialpagerestricted\">à·\83à·\93මà·\92ත à·\80à·\92à·\81à·\9aà·\82 à¶´à·\92ටà·\94.</span>\n* <span class=\"mw-specialpagecached\">à·\83à·\93මà·\92ත à¶\9aà·\85 à·\80à·\92â\80\8dà·\81à·\9aà·\82 à¶´à·\92ටà·\94.</span>",
        "specialpages-group-maintenance": "නඩත්තු වාර්තා",
        "specialpages-group-other": "අනෙකුත් විශේෂ පිටු",
        "specialpages-group-login": "පිවිසෙන්න / ගිණුමක් තනන්න",
        "sqlite-has-fts": "$1 සම්පූර්ණ-පෙළ සෙවුම් සහය සමග",
        "sqlite-no-fts": "$1 සම්පූර්ණ-පෙළ සෙවුම් සහය රහිතව",
        "logentry-delete-delete": "$1 විසින් $3 පිටුව {{GENDER:$2|මකා දමන ලදී}}",
-       "logentry-delete-restore": "$1 නැවත පිහිටුවන ලදී පිටු $3",
+       "logentry-delete-restore": "$1 {{GENDER:$2|නැවත පිහිටුවන ලදී}} පිටු $3",
        "logentry-delete-event-legacy": "$1 විසින් $3 හී ලඝු සිදුවීම් වල දෘශ්‍යතාවය වෙනස් කරන ලදී",
        "logentry-delete-revision-legacy": "$1 විසින් $3 පිටුවෙහි සංශෝධනවල දෘශ්‍යතාවය වෙනස් කරන ලදී",
        "logentry-suppress-delete": "$1 $3 පිටුව මර්ධනය කරන ලදී",
        "logentry-newusers-newusers": "$1 පරිශීලක ගිණුමක් තනන ලදී",
        "logentry-newusers-create": "$1 පරිශීලක ගිණුම {{GENDER:$2|තනන ලදී}}",
        "logentry-newusers-create2": "$1 විසින් $3 පරිශීලක ගිණුම තනන ලදී",
-       "logentry-newusers-autocreate": "$1 à¶\9cà·\92ණà·\94ම à·\83à·\8aà·\80à¶\82à¶\9aà·\8aâ\80\8dරà·\93යà·\80 à¶±à·\92රà·\8aමà·\92තය",
+       "logentry-newusers-autocreate": "$1 à¶´à¶»à·\92à·\81à·\93ලà¶\9a à¶\9cà·\92ණà·\94ම à·\83à·\8aà·\80à¶\82à¶\9aà·\8aâ\80\8dරà·\93යà·\80 {{GENDER:$2|නà·\92රà·\8aමà·\92තය}}",
        "logentry-upload-upload": "$1 විසින් $3 {{GENDER:$2|උඩුගත කරන ලදී}}",
        "rightsnone": "(කිසිවක් නොමැත)",
        "revdelete-summary": "සංස්කරණ සාරාංශය",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (සක්‍රියයි)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''අක්‍රියයි''')",
        "mediastatistics": "මාධ්‍ය සංඛ්‍යාලේඛන",
-       "mediastatistics-nbytes": "{{PLURAL:$1|බයිට $1|බයිට් $1}} ($2; $3%)",
+       "mediastatistics-nbytes": "{{PLURAL:$1|බයිට $1|බයිට් $1}} ($2; $3%)",
        "mediastatistics-table-mimetype": "MIME වර්ගය",
        "mediastatistics-header-bitmap": "බිට්මැප් රූප",
        "mediastatistics-header-drawing": "ඇඳීම් (දෛශික පින්තූර)",
index f5fc47a..691e300 100644 (file)
        "mypreferencesprotected": "Nimate dovoljenja za urejanje svojih nastavitev.",
        "ns-specialprotected": "Posebnih strani ni mogoče urejati.",
        "titleprotected": "Uporabnik [[User:$1|$1]] je preprečil ustvarjanje strani s takim naslovom.\nPodani razlog je bil »''$2''«.",
-       "filereadonlyerror": "Ne morem spremeniti datoteke »$1«, ker je skladišče datotek »$2« v načinu, ki dovoljuje samo branje.\n\nAdministrator, ki ga je zaklenil, je podal naslednje pojasnilo: »$3«.",
+       "filereadonlyerror": "Ne morem spremeniti datoteke »$1«, ker je skladišče datotek »$2« v načinu, ki dovoljuje samo branje.\n\nSistemski skrbnik, ki ga je zaklenil, je podal naslednje pojasnilo: »$3«.",
        "invalidtitle-knownnamespace": "Neveljaven naslov z imenskim prostorom »$2« in besedilom »$3«",
        "invalidtitle-unknownnamespace": "Neveljaven naslov z neznano številko imenskega prostora $1 in besedilom »$2«",
        "exception-nologin": "Niste prijavljeni",
        "permissionserrors": "Napaka dovoljenja",
        "permissionserrorstext": "Za izvedbo dejanja nimate dovoljenja zaradi {{PLURAL:$1|naslednjega razloga|naslednjih razlogov}}:",
        "permissionserrorstext-withaction": "Za $2 zaradi {{PLURAL:$1|naslednjega razloga|naslednjih razlogov}} nimate dovoljenja:",
-       "contentmodelediterror": "Redakcije ne morete urejati, ker je njen vsebinski model <code>$1</code>, trenutni vsebinski model strani pa je <code>$2</code>.",
+       "contentmodelediterror": "Redakcije ne morete urejati, ker je njen vsebinski model <code>$1</code>, kar se razlikuje od trenutnega vsebinskega modela strani <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Opozorilo: Pišete stran, ki je bila nekoč že izbrisana.'''\n\nPremislite preden nadaljujete s pisanjem, morda bo stran zaradi istih razlogov ponovno odstranjena.\nSpodaj je prikazan dnevnik brisanja in prestavljanja:",
        "moveddeleted-notice": "Stran je bila izbrisana.\nSpodaj sta za sklicevanje na razpolago dnevnik brisanja in dnevnik prestavljanja strani.",
        "moveddeleted-notice-recent": "Oprostite, stran je bila nedavno izbrisana (v zadnjih 24 urah).\nDnevnik brisanja in prestavljanj strani je naveden spodaj.",
        "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-3-label-yes": "Da",
+       "foreign-structured-upload-form-3-label-no": "Ne",
        "backend-fail-stream": "Ne morem pretakati datoteke $1.",
        "backend-fail-backup": "Ne morem varnostno kopirati datoteke $1.",
        "backend-fail-notexists": "Datoteka $1 ne obstaja.",
index 1e4efde..5130deb 100644 (file)
@@ -48,6 +48,7 @@
        "tog-prefershttps": "Adeegso mar kasta qad aamin ah markaad soo galeeyso",
        "underline-always": "Marwalba",
        "underline-never": "Marnaba",
+       "underline-default": "Joojinta Muuqaalka ama siteka",
        "editfont-style": "Wax ku bedel meesha aad dooran kartid fartaada nuuceeda:",
        "editfont-monospace": "Qoraalada nuuca kala waaweyn",
        "editfont-sansserif": "Sans-serif nuucyada qoraalka",
        "createacct-email-ph": "Gali Ciwaankaada e-mail-ka",
        "createaccountmail": "E-mail ahaan",
        "createaccountreason": "Sababta:",
-       "createacct-captcha": "Hubin amni",
-       "createacct-imgcaptcha-ph": "Gali qoraalka aad kor ku aragto",
        "createacct-submit": "Sameeyso akoonkaada",
        "createacct-benefit-heading": "Bogga {{SITENAME}} waxaa sameeyey dad kula mid ah.",
        "createacct-benefit-body1": "{{PLURAL:$1|bedel|bedelaadyo}}",
        "passwordreset-emailelement": "Magaca gudagalka: \n$1\n\nEreysirka kumeelgaarka ah: \n$2",
        "passwordreset-emailerror-capture": "E-mail xasuus ah ayaa la sameeyay, oo ka arki kartid hoosta,laakiin wuxuu ku guul dareestay in isticmaalaha loo diro: $1",
        "changeemail": "Bedel ciwaanka E-mailka",
+       "changeemail-header": "Bedel ciwaanka e-mailka akoonka",
        "changeemail-oldemail": "Ciwaanka e-mailka hadda jiro:",
        "changeemail-newemail": "Ciwaan e-mail oo cusub:",
        "changeemail-none": "(waxna)",
        "prefs-watchlist": "liiska-waardiyaha",
        "prefs-watchlist-days": "Tirada maalamaha ay ku jirayaan liiska-waardiyaha:",
        "prefs-resetpass": "Bedel ereysirta",
+       "prefs-changeemail": "Bedelid ama ka saarista ciwaanka E-mailka",
        "prefs-email": "E-mail aad dooran kartaa",
        "prefs-rendering": "Muuqaalka",
        "saveprefs": "Kaydi",
        "restoreprefs": "Dib u soo celin qaabeynta (dhammaan qaybaha)",
        "prefs-editing": "Wax ka bedelka",
        "searchresultshead": "Raadi",
+       "stub-threshold": "Dooro xiriirinta linkiga gumudka ($1):",
+       "stub-threshold-sample-link": "tusaale",
+       "stub-threshold-disabled": "Howlgab",
        "recentchangesdays": "Tirada maalmaha lagu tusaayo isbedelada dhow:",
        "savedprefs": "Dooqyadaada waa la keydiyey.",
        "timezonelegend": "Soonaha waqtiga:",
        "prefs-info": "Macluumaadka asaasiga ah",
        "prefs-i18n": "Caalamiyeen",
        "prefs-signature": "Saxiixa",
+       "prefs-advancedrc": "Xulasho horumarin ah",
+       "prefs-diffs": "Farqiga",
        "prefs-help-prefershttps": "Waxaa lahagaajin doonaan dooqaan marka xiga ee aad soo gasho",
        "saveusergroups": "Kaydi kooxaha isticmaalayaasha",
        "userrights-groupsmember": "Ka mid ah:",
        "unwatchthispage": "Jooji waardiyeyntiisa",
        "watchlist-details": "{{PLURAL:$1|$1 bog|$1 boggag ah}}  aa ku jirto liiskaaga waardiyaha, ma lagu darin boggaga wadahadalka.",
        "wlshowlast": "Itus wixii ka danbeeyay $1 saacadood $2 maalmood",
+       "watchlistall2": "dhamaan",
        "watchlist-options": "Dooqyada liiska waardiyaha",
        "watching": "Daawasho...",
        "enotif_subject_created": "{{SITENAME}} Bogga $1 Qof ayaa sameeyey {{gender:$2|$2}}",
        "pageinfo-toolboxlink": "Macluumad ku saabsan",
        "previousdiff": "← bedelkii ka duqsanaa",
        "nextdiff": "Bedelkii ugu cusbaa →",
+       "imagemaxsize": "Xadid cabirka sawirka:<br /><em>(ee bogagga cadaynta galalka)</em>",
+       "thumbsize": "Cabirka muuqaal la yareeyay:",
        "file-info-size": "$1 × $2 pixels, weyninka faylka : $3, nuuca MIME: $4",
        "file-nohires": "Faah faahin dheeraad ah malahan.",
        "imagelisttext": "Hoos waxaa yaala liiska '''$1''' {{PLURAL:$1|file|faylalka}} oo u kala soocan $2.",
index d007e16..929c885 100644 (file)
        "usereditcount": "$1 {{PLURAL:$1|измена|измене|измена}}",
        "usercreated": "{{GENDER:$3|је направио|је направила|је направио}} дана $1 у $2",
        "newpages": "Нове странице",
+       "newpages-submit": "Прикажи",
        "newpages-username": "Корисничко име:",
        "ancientpages": "Најстарије странице",
        "move": "премести",
        "specialloguserlabel": "Извршилац:",
        "speciallogtitlelabel": "Циљ (наслов или {{ns:user}}:корисничко име):",
        "log": "Дневници",
+       "logeventslist-submit": "Прикажи",
        "all-logs-page": "Сви јавни дневници",
        "alllogstext": "Скупни приказ свих доступних историја овог викија.\nМожете сузити приказ одабирући врсту историје, корисничког имена или тражене странице.",
        "logempty": "Нема пронађених уноса у дневнику.",
        "cachedspecial-viewing-cached-ts": "Гледате кеширану верзију ове странице, која може да се разликује од тренутне.",
        "cachedspecial-refresh-now": "Погледај најновију.",
        "categories": "Категоријe",
+       "categories-submit": "Прикажи",
        "categoriespagetext": "{{PLURAL:$1|1=Следећа категорија садржи|Следеће категорије садрже}} странице или датотеке.\n[[Special:UnusedCategories|Некоришћене категорије]] нису приказане овде.\nПогледајте и [[Special:WantedCategories|тражене категорије]].",
        "categoriesfrom": "Прикажи категорије почев од:",
        "special-categories-sort-count": "поређај по броју",
        "watchlistall2": "све",
        "watchlist-hide": "Сакриј",
        "watchlist-submit": "Прикажи",
-       "wlshowtime": "Прикажи последњих:",
+       "wlshowtime": "Период за приказ:",
        "wlshowhideminor": "мање измене",
        "wlshowhidebots": "ботове",
        "wlshowhideliu": "регистроване кориснике",
        "delete-confirm": "Брисање странице „$1“",
        "delete-legend": "Обриши",
        "historywarning": "<strong>Упозорење:</strong> страница коју желите да обришете има историју са $1 {{PLURAL:$1|изменом|измене|измена}}:",
+       "historyaction-submit": "Прикажи",
        "confirmdeletetext": "Управо ћете обрисати страницу, укључујући и њену историју.\nПотврдите своју намеру, да разумете последице и да ово радите у складу с [[{{MediaWiki:Policy-url}}|правилима]].",
        "actioncomplete": "Радња је завршена",
        "actionfailed": "Радња није успела",
index 3d34bf6..a272a9a 100644 (file)
        "wlnote": "Ispod {{PLURAL:$1|je poslednja izmena|su poslednje <strong>$1</strong> izmene|je poslednjih <strong>$1</strong> izmena}} u {{PLURAL:$2|prethodnom satu|prethodna <strong>$2</strong> sata|prethodnih <strong>$2</strong> sati}}, zaključno sa $3, $4.",
        "wlshowlast": "Prikaži poslednjih $1 sati, $2 dana",
        "watchlistall2": "sve",
+       "wlshowtime": "Period za prikaz:",
        "watchlist-options": "Postavke spiska nadgledanja",
        "watching": "Nadgledanje…",
        "unwatching": "Prekidanje nadgledanja…",
index b96ce2d..77c1e31 100644 (file)
        "foreign-structured-upload-form-label-own-work-message-shared": "Jag intygar att jag äger upphovsrätten för denna fil och samtycker till att oåterkalleligen släppa filen på Wikimedia Commons under licensen \n[https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0] och jag accepterar [https://wikimediafoundation.org/wiki/Terms_of_Use villkoren för användning].",
        "foreign-structured-upload-form-label-not-own-work-message-shared": "Om du inte äger upphovsrätten för denna fil eller om du önskar att släppa den under en annan licens bör du överväga att använda [https://commons.wikimedia.org/wiki/Special:UploadWizard uppladdningsguiden på Commons].",
        "foreign-structured-upload-form-label-not-own-work-local-shared": "Du kanske skulle vilja prova att använda [[Special:Upload|uppladdningssidan på {{SITENAME}}]] om webbplatsens policys tillåter att denna fil laddas upp.",
+       "foreign-structured-upload-form-2-label-intro": "Tack för att du donera en bild för att användas på {{SITENAME}}. Du bör endast fortsätta om det uppfyller flera villkor:",
+       "foreign-structured-upload-form-2-label-ownwork": "Det måste vara helt och hållet <strong>din egen skapelse</strong>, inte bara taget från internet",
+       "foreign-structured-upload-form-2-label-noderiv": "Det får inte innehålla <strong>något verk av någon annan</strong>, eller inspirerats av dem",
+       "foreign-structured-upload-form-2-label-useful": "Det bör vara <strong>pedagogisk och användbar</strong> för att undervisa andra",
+       "foreign-structured-upload-form-2-label-ccbysa": "Det måste vara <strong>OK att publicera för evigt</strong> på internet under [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Erkännande-DelaLika 4.0]-licensen",
+       "foreign-structured-upload-form-2-label-alternative": "Om inte alla av ovanstående är stämmer in, kan du fortfarande ha möjlighet att ladda upp denna fil med hjälp av [https://commons.wikimedia.org/wiki/Special:UploadWizard Commons Upload Wizard], så länge den är tillgänglig under en fri licens.",
+       "foreign-structured-upload-form-2-label-termsofuse": "Genom att ladda upp filen, att du äger upphovsrätten till denna fil, samt att du samtycker till att oåterkalleligt släppa denna fil till Wikimedia Commons under Creative Commons Erkännande-DelaLika 4.0-licensen, samt att du samtycker till WIkimeidas  [https://wikimediafoundation.org/wiki/Terms_of_Use villkor för användning].",
+       "foreign-structured-upload-form-3-label-question-website": "Laddade du ner den här bilden från en webbplats eller hittade du den genom en bildsökning?",
+       "foreign-structured-upload-form-3-label-question-ownwork": "Har du skapa denna bild (tagit bilden, skissat, ritat, etc.) själv?",
+       "foreign-structured-upload-form-3-label-question-noderiv": "Innehåller det, eller är det inspirerade av arbete som ägs av någon annan, som t.ex. en logotyp?",
+       "foreign-structured-upload-form-3-label-yes": "Ja",
+       "foreign-structured-upload-form-3-label-no": "Nej",
        "backend-fail-stream": "Kunde inte strömma filen $1.",
        "backend-fail-backup": "Kunde inte säkerhetskopiera filen ''$1''.",
        "backend-fail-notexists": "Filen $1 finns inte.",
        "usereditcount": "$1 {{PLURAL:$1|redigering|redigeringar}}",
        "usercreated": "{{GENDER:$3|Skapad}} den $1 $2",
        "newpages": "Nya sidor",
+       "newpages-submit": "Visa",
        "newpages-username": "Användare:",
        "ancientpages": "Äldsta sidorna",
        "move": "Flytta",
        "specialloguserlabel": "Utförare:",
        "speciallogtitlelabel": "Mål (titel eller {{ns:user}}:användarnamn för användare):",
        "log": "Loggar",
+       "logeventslist-submit": "Visa",
        "all-logs-page": "Alla publika loggar",
        "alllogstext": "Kombinerad visning av alla tillgängliga loggar för {{SITENAME}}.\nDu kan avgränsa sökningen och få färre träffar genom att ange typ av logg, användarnamn (skiftlägeskänsligt), eller berörd sida (också skiftlägeskänsligt).",
        "logempty": "Inga matchande träffar i loggen.",
        "cachedspecial-viewing-cached-ts": "Du visar en cachad version av denna sida, som kanske inte är helt aktuell.",
        "cachedspecial-refresh-now": "Visa senaste.",
        "categories": "Kategorier",
+       "categories-submit": "Visa",
        "categoriespagetext": "Följande {{PLURAL:$1|kategori|kategorier}} innehåller sidor eller media.\n[[Special:UnusedCategories|Oanvända kategorier]] visas inte här.\nSe även [[Special:WantedCategories|önskade kategorier]].",
        "categoriesfrom": "Visa kategorier från och med:",
        "special-categories-sort-count": "sortera efter storlek",
        "delete-confirm": "Radera \"$1\"",
        "delete-legend": "Radera",
        "historywarning": "<strong>Varning:</strong> Sidan du håller på att radera har en historik med ungefär $1 {{PLURAL:$1|version|versioner}}:",
+       "historyaction-submit": "Visa",
        "confirmdeletetext": "Du håller på att ta bort en sida med hela dess historik.\nBekräfta att du förstår vad du håller på med och vilka konsekvenser detta leder till, och att du följer [[{{MediaWiki:Policy-url}}|riktlinjerna]].",
        "actioncomplete": "Genomfört",
        "actionfailed": "Handlingen misslyckades",
        "exif-compression-6": "JPEG (gammal)",
        "exif-copyrighted-true": "Upphovsrättsskyddat",
        "exif-copyrighted-false": "Upphovsrättsstatus inte angivet",
+       "exif-photometricinterpretation-1": "Svart och vit (svart är 0)",
        "exif-unknowndate": "Okänt datum",
        "exif-orientation-1": "Normal",
        "exif-orientation-2": "Spegelvänd horisontellt",
index 2f233a3..b4b2714 100644 (file)
        "laggedslavemode": "Увага: сторінка може не містити останніх редагувань.",
        "readonly": "Запис до бази даних заблокований",
        "enterlockreason": "Зазначте причину і приблизний термін блокування",
-       "readonlytext": "Додавання нових статей та інші зміни бази даних у даний момент заблоковані, ймовірно, через планове сервісне обслуговування бази даних, після закінчення якого буде відновлено нормальний стан.\n\nАдміністратор, що заблокував базу, дав таке пояснення: $1",
+       "readonlytext": "Додавання нових статей та інші зміни бази даних у даний момент заблоковані: ймовірно, через планове сервісне обслуговування бази даних, після закінчення якого буде відновлено нормальний стан.\n\nАдміністратор, що заблокував базу, дав таке пояснення: $1",
        "missing-article": "У базі даних не знайдено запитаного тексту сторінки «$1» $2.\n\nПодібна ситуація зазвичай виникає при спробі переходу за застарілим посиланням або за історією змін сторінки, яка була вилучена.\n\nЯкщо справа не в цьому, то ймовірно, вам трапилась помилка у програмному забезпеченні.\nБудь ласка, повідомте про це [[Special:ListUsers/sysop|адміністратора]], зазначивши URL.",
        "missingarticle-rev": "(версія № $1)",
        "missingarticle-diff": "(Різниця: $1, $2)",
        "mypreferencesprotected": "У вас немає дозволу на редагування своїх налаштувань.",
        "ns-specialprotected": "Спеціальні сторінки не можна редагувати.",
        "titleprotected": "Створення сторінки з такою назвою було заборонене користувачем [[User:$1|$1]].\nЗазначена наступна причина: ''$2''.",
-       "filereadonlyerror": "Неможливо змінити файл «$1» тому, що файловий архів «$2» перебуває в режимі «лише для читання».\nАдміністратор, що заблокував його, залишив таке пояснення: «''$3''».",
+       "filereadonlyerror": "Неможливо змінити файл «$1» тому, що файловий архів «$2» перебуває в режимі «лише для читання».\n\nАдміністратор, що заблокував його, залишив таке пояснення: «''$3''».",
        "invalidtitle-knownnamespace": "Неприйнятна назва у просторі імен «$2» і текстом «$3»",
        "invalidtitle-unknownnamespace": "Неправильний заголовок з невідомим номером простору імен ($1) і текстом: «$2»",
        "exception-nologin": "Не виконано вхід",
        "passwordreset-emailtext-ip": "Хтось (імовірно ви, з IP-адреси $1) попросив нагадати деталі вашого облікового запису для {{SITENAME}} ($4). З вашою електронною скринькою пов'язан{{PLURAL:$3|1=ий такий запис|і такі записи}}:\n\n$2\n\n{{PLURAL:$3|1=Цей тимчасовий пароль стане недійсним|Ці тимчасові паролі стануть недійсними}} через $5 {{PLURAL:$5|день|дні|днів}}.\nВи маєте ввійти в систему і вибрати новий пароль. Якщо ж цей запит зробив хтось інший або ви згадали свій старий пароль і не бажаєте його змінювати, можете ігнорувати це повідомлення та продовжувати використовувати старий пароль.",
        "passwordreset-emailtext-user": "Користувач $1 з {{SITENAME}} попросив нагадати деталі вашого облікового запису для {{SITENAME}} ($4). З вашою електронною скринькою пов'язан{{PLURAL:$3|1=ий такий запис|і такі записи}}:\n\n$2\n\n{{PLURAL:$3|1=Цей тимчасовий пароль|Ці тимчасові паролі}} стануть нечинні через {{PLURAL:$5|день|$5 дні|$5 днів}}.\nВи маєте ввійти в систему і вибрати новий пароль. Якщо ж цей запит зробив хтось інший, або ви згадали свій старий пароль і не бажаєте його змінювати, можете просто ігнорувати це повідомлення та продовжувати використовувати старий пароль.",
        "passwordreset-emailelement": "Ім'я користувача: \n$1\n\nТимчасовий пароль: \n$2",
-       "passwordreset-emailsentemail": "Якщо це зареєстрована адреса електронної пошти для вашого облікового запису, то буде надісланий лист для відновлення пароля.",
+       "passwordreset-emailsentemail": "Якщо це адреса електронної пошти, на яку зареєстрований ваш обліковий запис, то буде надісланий лист для відновлення пароля.",
+       "passwordreset-emailsentusername": "Якщо це відповідна адреса електронної пошти, буде відправлено лист для відновлення пароля.",
        "passwordreset-emailsent-capture": "Електронний лист скидання пароля було надіслано, як показано нижче.",
        "passwordreset-emailerror-capture": "Електронний лист для відновлення пароля мав бути надісланий, як показано нижче, але його надсилання {{GENDER:$2|користувачеві|користувачці}} $1 не вдалося.",
        "changeemail": "Змінити або вилучити адресу електронної пошти",
        "copyrightwarning2": "Будь ласка, зверніть увагу, що всі зміни, внесені вами до {{SITENAME}}, можуть редагуватися, доповнюватися або вилучатися іншими користувачами.\nЯкщо ви не бажаєте, щоб написане вами безжально редагувалось — не пишіть тут.<br />\nВи також підтверджуєте, що наведене тут написано вами особисто або запозичено з джерела, яке є суспільним надбанням, або подібного вільного джерела (див. $1).<br />\n'''Не публікуйте тут без дозволу матеріали, захищені авторським правом!'''",
        "editpage-cannot-use-custom-model": "Модель вмісту цієї сторінки не може бути змінена.",
        "longpageerror": "'''Помилка: Поданий вами текст становить $1 {{PLURAL:$1|кілобайт|кілобайти|кілобайтів}}, що більше за встановлену межу у {{PLURAL:$2|кілобайт|кілобайти|кілобайтів}}.'''\nЙого неможливо зберегти.",
-       "readonlywarning": "'''Попередження: База даних заблокована на обслуговування, тому, на даний момент, ви не можете записати ваші зміни.\nМожливо, вам варто скопіювати текст у файл на вашому комп'ютері й зберегти його на пізніше.'''\n\nАдміністратор, що заблокував базу даних, залишив наступне пояснення: $1",
+       "readonlywarning": "<strong>Попередження: База даних заблокована на обслуговування, тому, на даний момент, ви не можете записати ваші зміни.\n</strong>\nМожливо, вам варто скопіювати текст у файл на вашому комп'ютері й зберегти його на пізніше.\n\nАдміністратор, що заблокував базу даних, залишив наступне пояснення: $1",
        "protectedpagewarning": "'''Попередження: Ця сторінка була захищена від змін так, що тільки користувачі з правами адміністратора можуть її редагувати.'''\nОстанній запис журналу наведений нижче для довідки:",
        "semiprotectedpagewarning": "'''Зауваження:''' Ця сторінка захищена так, що її можуть редагувати тільки зареєстровані користувачі.\nОстанній запис журналу наведений нижче для довідки:",
        "cascadeprotectedwarning": "<strong>Попередження:</strong> Цю сторінку можуть редагувати лише користувачі з правами адміністратора, оскільки вона включена на {{PLURAL:$1|1=сторінці|сторінках}}, де встановлено каскадний захист:",
        "stub-threshold-disabled": "Вимкнений",
        "recentchangesdays": "За скільки днів показувати нові редагування:",
        "recentchangesdays-max": "(максимум $1 {{PLURAL:$1|день|дні|днів}})",
-       "recentchangescount": "Кількість редагувань для показу за умовчанням:",
+       "recentchangescount": "Кількість редагувань для показу за замовчуванням:",
        "prefs-help-recentchangescount": "Це стосується нових редагувань, історій сторінок і журналів.",
        "prefs-help-watchlist-token2": "Це секретний ключ до веб-каналу вашого списку спостереження.\nБудь-хто, хто його знає, матиме можливість читати ваш список спостереження, тому не поширюйте його.\n[[Special:ResetTokens|Натисніть тут, якщо вам потрібно скинути його]].",
        "savedprefs": "Ваші налаштування збережено.",
        "allowemail": "Дозволити електронну пошту від інших користувачів",
        "prefs-searchoptions": "Пошук",
        "prefs-namespaces": "Простори назв",
-       "default": "за умовчанням",
+       "default": "за замовчуванням",
        "prefs-files": "Файли",
        "prefs-custom-css": "Власний CSS",
        "prefs-custom-js": "Власний JS",
        "specialloguserlabel": "Виконавець:",
        "speciallogtitlelabel": "Ціль (назва сторінки або {{ns:user}}:ім'я користувача):",
        "log": "Журнали",
+       "logeventslist-submit": "Показати",
        "all-logs-page": "Усі публічні журнали",
        "alllogstext": "Комбінований показ журналів {{grammar:genitive|{{SITENAME}}}}.\nВи можете відфільтрувати результати за типом журналу, іменем користувача (враховується регістр) або зазначеною сторінкою (також враховується регістр).",
        "logempty": "У журналі немає подібних записів.",
index 7ad6b90..baaf97d 100644 (file)
        "lineno": "لکیر $1:",
        "compareselectedversions": "منتخب متـن کا موازنہ",
        "editundo": "استرجع",
+       "diff-empty": "(کوئی فرق نہیں)",
        "diff-multi-sameuser": "({{PLURAL: $1 | ایک متوسط نظرثانی | $1 کئی متوسط نظرثانیاں}}ایک ہی صارف کی جانب سے نہیں دکھائی گئی)",
        "searchresults": "تلاش کا نتیجہ",
        "searchresults-title": "نتائجِ تلاش برائے \"$1\"",
        "notextmatches": "کوئی بھی مماثل متن موجود نہیں",
        "prevn": "پچھلے {{PLURAL:$1|$1}}",
        "nextn": "اگلے {{PLURAL:$1|$1}}",
+       "prev-page": "پچھلا صفحہ",
+       "next-page": "اگلا صفحہ",
        "prevn-title": "پچھلے $1 {{PLURAL:$1|نتیجہ|نتائج}}",
        "nextn-title": "آگے $1 {{PLURAL:$1|نتیجہ|نتائج}}",
        "shown-title": "فی صفحہ $1 {{PLURAL:$1|نتیجہ|نتائج}} دِکھاؤ",
        "prefs-personal": "نمایۂ صارف",
        "prefs-rc": "حالیہ تبدیلیاں",
        "prefs-watchlist": "زیرِنظر فہرست",
+       "prefs-editwatchlist-clear": "اپنی زیر نظر فہرست صاف کریں",
        "prefs-watchlist-days": "زیرِنظر فہرست میں نظر آنے والے ایام:",
        "prefs-watchlist-days-max": "زیادا سے زیادہ $1 {{PLURAL:$1|یوم|ایام}}",
        "prefs-watchlist-edits": "عریض زیرِنظرفہرست میں نظر آنے والی تبدیلیوں کی زیادہ سے زیادہ تعداد:",
        "prefs-watchlist-edits-max": "(زیادہ سے زیادہ تعداد: 1000)",
+       "prefs-watchlist-token": "کلید زیرنظر فہرست:",
        "prefs-misc": "دیگر",
        "prefs-resetpass": "کلمۂ شناخت تبدیل کیجئے",
+       "prefs-changeemail": "برقی ڈاک پتہ (e-mail address) تبدیل کریں",
+       "prefs-setemail": "برقی پتہ دیں",
        "prefs-email": "اختیاراتِ برقی ڈاک",
        "prefs-rendering": "ظاہریت",
        "saveprefs": "محفوظ",
        "savedprefs": "آپ کی ترجیحات محفوظ ہوگئیں۔",
        "timezonelegend": "منطقۂ وقت:",
        "localtime": "مقامی وقت:",
+       "servertime": "سرور وقت:",
        "timezoneregion-africa": "افریقہ",
        "timezoneregion-america": "امریکہ",
        "timezoneregion-antarctica": "انٹارکٹیکا",
        "prefs-i18n": "بین الاقوامیت",
        "prefs-signature": "دستخط",
        "prefs-dateformat": "شکلبندِ تاریخ",
+       "prefs-timeoffset": "وقت کی ترتیب",
        "prefs-advancedediting": "اعلی اختیارات",
+       "prefs-editor": "خانہ ترمیم",
+       "prefs-preview": "نمائش",
        "prefs-advancedrc": "اعلی اختیارات",
        "prefs-advancedrendering": "اعلی اختیارات",
        "prefs-advancedsearchoptions": "اعلی اختیارات",
index 66158f8..2d7dccc 100644 (file)
        "loginlanguagelabel": "Kel’: $1",
        "pt-login": "Kirjutagatoiš sistemha",
        "pt-createaccount": "Sada registracii",
+       "pt-userlogout": "Lähtta",
        "php-mail-error-unknown": "Tundmatoi petuz PHP:n mail()-funkcijas",
        "user-mail-no-addy": "Tö ladit oigeta kirjeine e-počtan adresata.",
        "changepassword": "Peitsanan toižetuz",
        "language-converter-depth-warning": "Kelen konverteran süvüden ülätazopind om ületadud ($1)",
        "undo-failure": "Ei voi tühjištada redakcijad, sikš miše läbiredakcijad konfliktuidas.",
        "undo-norev": "Ei voi endištada lehtpol't, sikš miše mugošt lehtpol't ei ole vai se om jo čutud.",
+       "undo-summary": "Tühjitadud toižetuz $1, kudamban tegi $2 (arutelu)",
        "cantcreateaccounttitle": "Ei voi säta registracijad",
        "viewpagelogs": "Ozutada aigkirjad necen lehtpolen täht",
        "nohistory": "Necen lehtpolen täht ei ole toižetusiden aigkirjad.",
        "searchrelated": "sidotud",
        "searchall": "kaik",
        "showingresults": "Alemba ozutadas {{PLURAL:$1|'''1''' rezul'tat|'''$1''' rezul'tatad}} nomeraspäi #'''$2''' augotaden.",
+       "search-showingresults": "Rezul'tatad $1–$2 $3-späi",
        "search-nonefound": "Ecmižhe ei löudnus rezul'tatoid.",
        "powersearch-legend": "Levitoittud ecind",
        "powersearch-ns": "Ecind nimiavaruziš:",
index b67dad8..b79e7ee 100644 (file)
        "sectioneditnotsupported-text": "此页面弗支持编辑段落。",
        "permissionserrors": "权限错误",
        "permissionserrorstext": "为仔下头个{{PLURAL:$1|原因|原因}}咾侬无权进行箇只操作:",
-       "permissionserrorstext-withaction": "ä¸\8b头个{{PLURAL:$1|å\8e\9få\9b |å\8e\9få\9b }}ä¹\8bæ\95\85ï¼\8c你侬å\91\92å¤\84进行$2操作:",
+       "permissionserrorstext-withaction": "为ä»\94ä¸\8b头个{{PLURAL:$1|å\8e\9få\9b |å\8e\9få\9b }}å\92¾ä¾¬æ\97 æ\9d\83进行$2操作:",
        "recreate-moveddeleted-warn": "'''警告: 你侬要转建一个之前删脱过个页面。'''\n\n你侬应该要考虑考虑继续编箇页是否合适。\n方便考虑,箇页个删记录提供到下头:",
        "moveddeleted-notice": "箇页删脱哉。\n箇页个删搭移个日志徕下头提供以便参考。",
        "log-fulllog": "查看完整日志",
        "newuserlogpagetext": "箇是用户创建个记录。",
        "rightslog": "用户权限日志",
        "action-read": "讀箇頁",
-       "action-edit": "编箇页",
+       "action-edit": "编辑箇只页面",
        "action-createpage": "做新頁",
        "action-createtalk": "做討論頁",
        "action-minoredit": "標小編寫",
        "nchanges": "$1趟更改",
        "enhancedrc-history": "歷史",
        "recentchanges": "近段辰光个改动",
-       "recentchanges-legend": "箇阶段个变化选项",
+       "recentchanges-legend": "近段辰光个改动选项",
        "recentchanges-summary": "登该个页面浪跟踪最近对维基百科个改动。",
        "recentchanges-feed-description": "跟踪此订阅垃拉 wiki 高头个最近更改。",
        "recentchanges-label-newpage": "建新页来编",
        "rc-change-size-new": "更改后有$1字节",
        "newsectionsummary": "/* $1 */ 新段落",
        "rc-enhanced-expand": "显示细节",
-       "rc-enhanced-hide": "细节囥脱",
+       "rc-enhanced-hide": "细节囥脱",
        "recentchangeslinked": "搭界个改动",
        "recentchangeslinked-feed": "搭界个改动",
        "recentchangeslinked-toolbox": "相关变化",
        "whatlinkshere-prev": "前$1个",
        "whatlinkshere-next": "后$1个",
        "whatlinkshere-links": "←链进",
-       "whatlinkshere-hideredirs": "$1转戳",
+       "whatlinkshere-hideredirs": "$1重定向",
        "whatlinkshere-hidetrans": "$1嵌入",
        "whatlinkshere-hidelinks": "$1链接",
        "whatlinkshere-filters": "过滤器",
        "tooltip-ca-delete": "删脱箇页",
        "tooltip-ca-move": "移箇页",
        "tooltip-ca-watch": "畀箇页加进你侬个关注表里",
-       "tooltip-ca-unwatch": "畀箇页从关注表里删脱",
+       "tooltip-ca-unwatch": "拿箇只页面从侬个关注表里删脱",
        "tooltip-search": "搜寻{{SITENAME}}",
        "tooltip-search-go": "转到页本确切名称,如果存在",
        "tooltip-search-fulltext": "搜寻包含箇星文本个页面",
        "tooltip-n-portal": "有关箇计划,啥好做,应该哪能做",
        "tooltip-n-currentevents": "查寻当前事件个背景信息",
        "tooltip-n-recentchanges": "列出wiki里箇阶段个变化",
-       "tooltip-n-randompage": "打开随机页面",
+       "tooltip-n-randompage": "随机打开只页面",
        "tooltip-n-help": "寻求帮助",
        "tooltip-t-whatlinkshere": "列出全部搭箇页链个页",
        "tooltip-t-recentchangeslinked": "箇页链出去个全部页箇阶段变化",
        "autosumm-new": "新页面:“$1”",
        "watchlistedit-normal-title": "编辑监视列表",
        "watchlisttools-view": "望相关修改",
-       "watchlisttools-edit": "æ\9c\9bæ\90­ç¼\96关注表",
+       "watchlisttools-edit": "æ\9f¥ç\9c\8b并ç¼\96è¾\91关注表",
        "watchlisttools-raw": "编写原始关注表",
        "signature": "[[{{ns:user}}:$1|$2]]([[{{ns:user_talk}}:$1|讨论]])",
        "version": "版本",
index 5857c5c..c7aa620 100644 (file)
        "laggedslavemode": "'''警告:'''页面中可能没有包含最近的更新。",
        "readonly": "数据库被锁定",
        "enterlockreason": "请输入锁定的原因,这包括预计解除锁定的时间",
-       "readonlytext": "数据库当前被锁定,不能添加新条目或进行其他修改,锁定可能是因为例行的数据库维护,完成后即可恢复正常。\n\n锁定数据库的管理员提供的解释:$1",
+       "readonlytext": "æ\95°æ\8d®åº\93å½\93å\89\8d被é\94\81å®\9aï¼\8cä¸\8dè\83½æ·»å\8a æ\96°æ\9d¡ç\9b®æ\88\96è¿\9bè¡\8cå\85¶ä»\96ä¿®æ\94¹ï¼\8cé\94\81å®\9aå\8f¯è\83½æ\98¯å\9b ä¸ºä¾\8bè¡\8cç\9a\84æ\95°æ\8d®åº\93ç»´æ\8a¤ï¼\8cå®\8cæ\88\90å\90\8eå\8d³å\8f¯æ\81¢å¤\8d正常ã\80\82\n\né\94\81å®\9aæ\95°æ\8d®åº\93ç\9a\84ç³»ç»\9f管ç\90\86å\91\98æ\8f\90ä¾\9bç\9a\84解é\87\8aï¼\9a$1",
        "missing-article": "数据库找不到预期的页面文字:“$1”$2。\n\n这通常是由于点击了链向旧有差异或历史的链接,而原有版本已被删除导致的。\n\n如果情况不是这样,您可能找到了软件的一个内部错误。请记录下URL地址,并向[[Special:ListUsers/sysop|管理员]]报告。",
        "missingarticle-rev": "(版本#:$1)",
        "missingarticle-diff": "(差异:$1,$2)",
        "mypreferencesprotected": "您没有权限来编辑您的个人设置。",
        "ns-specialprotected": "特殊页面不可编辑。",
        "titleprotected": "此标题已被[[User:$1|$1]]保护以防止创建。理由是“$2”。",
-       "filereadonlyerror": "因为媒体库$2处于只读模式而无法修改文件$1。\n\n执行锁定的管理员给出如下解释:$3。",
+       "filereadonlyerror": "å\9b ä¸ºåª\92ä½\93åº\93$2å¤\84äº\8eå\8fªè¯»æ¨¡å¼\8fè\80\8cæ\97 æ³\95ä¿®æ\94¹æ\96\87件$1ã\80\82\n\næ\89§è¡\8cé\94\81å®\9aç\9a\84ç³»ç»\9f管ç\90\86å\91\98ç»\99å\87ºå¦\82ä¸\8b解é\87\8aï¼\9a$3ã\80\82",
        "invalidtitle-knownnamespace": "使用名字空间“$2”和文本“$3”的无效标题",
        "invalidtitle-unknownnamespace": "使用未知名字空间编号$1和文本“$2”的无效标题",
        "exception-nologin": "未登录",
        "copyrightwarning2": "请注意,您对{{SITENAME}}的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。<br />\n您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅$1的细节)。'''不要在未获授权的情况下发表!'''",
        "editpage-cannot-use-custom-model": "此页面的内容模型不能被更改。",
        "longpageerror": "'''错误:您所提交的文本长度有{{PLURAL:$1|1|$1}}KB,这大于{{PLURAL:$2|1|$2}}KB的最大值。'''\n因此,该文本无法保存。",
-       "readonlywarning": "<strong>警告:数据库被锁定以进行维护,所以您目前将无法保存您的编辑。</strong>您可能希望将您的文本复制粘贴到一个文本文档并保存它,以便稍后更改。\n\n锁定数据库的管理员有如下解释:$1",
+       "readonlywarning": "<strong>è­¦å\91\8aï¼\9aæ\95°æ\8d®åº\93被é\94\81å®\9a以è¿\9bè¡\8cç»´æ\8a¤ï¼\8cæ\89\80以æ\82¨ç\9b®å\89\8då°\86æ\97 æ³\95ä¿\9då­\98æ\82¨ç\9a\84ç¼\96è¾\91ã\80\82</strong>æ\82¨å\8f¯è\83½å¸\8cæ\9c\9bå°\86æ\82¨ç\9a\84æ\96\87æ\9c¬å¤\8då\88¶ç²\98è´´å\88°ä¸\80个æ\96\87æ\9c¬æ\96\87档并ä¿\9då­\98å®\83ï¼\8c以便ç¨\8då\90\8eæ\9b´æ\94¹ã\80\82\n\né\94\81å®\9aæ\95°æ\8d®åº\93ç\9a\84ç³»ç»\9f管ç\90\86å\91\98æ\9c\89å¦\82ä¸\8b解é\87\8aï¼\9a$1",
        "protectedpagewarning": "'''警告:本页面已被保护,只有拥有管理员权限的用户可以编辑。'''下面提供最后的日志条目以供参考:",
        "semiprotectedpagewarning": "'''注意:'''本页面已被保护,只有注册用户可以编辑。下面提供最后的日志条目以供参考:",
        "cascadeprotectedwarning": "<strong>警告:</strong>本页面已经被保护,只有拥有管理员权限的用户可以编辑,因为它被嵌入于以下启用连锁保护的{{PLURAL:$1|页面}}中:",
        "permissionserrors": "权限错误",
        "permissionserrorstext": "因为以下{{PLURAL:$1|原因}},你没有权限进行该操作:",
        "permissionserrorstext-withaction": "因为以下{{PLURAL:$1|原因}},你没有权限$2:",
-       "contentmodelediterror": "您不能编辑此修订版本,因为它的内容模型是<code>$1</code>,并且页面目前的内容模型是<code>$2</code>。",
+       "contentmodelediterror": "您不能编辑此修订版本,因为它的内容模型是<code>$1</code>,这与当前页面<code>$2</code>的内容模型不同。",
        "recreate-moveddeleted-warn": "'''警告:你正在重新创建曾经被删除的页面。'''\n\n你应该考虑继续编辑本页是否合适。这里提供本页的删除和移动日志以供参考:",
        "moveddeleted-notice": "本页面已被删除。下面提供本页的删除和移动日志以供参考。",
        "moveddeleted-notice-recent": "抱歉,此页面刚刚被删除(在最近24小时内)。\n页面的删除和移动日志在下方提供以供参考。",
        "group-bot": "机器人",
        "group-sysop": "管理员",
        "group-bureaucrat": "行政员",
-       "group-suppress": "ç¦\81æ­¢æ\89§è¡\8cè\80\85",
+       "group-suppress": "ç\9b\91ç\9d£å\91\98",
        "group-all": "(所有)",
        "group-user-member": "{{GENDER:$1|用户}}",
        "group-autoconfirmed-member": "自动确认用户",
        "group-bot-member": "机器人",
        "group-sysop-member": "{{GENDER:$1|管理员}}",
        "group-bureaucrat-member": "行政员",
-       "group-suppress-member": "{{GENDER:$1|ç¦\81æ­¢æ\89§è¡\8cè\80\85}}",
+       "group-suppress-member": "{{GENDER:$1|ç\9b\91ç\9d£å\91\98}}",
        "grouppage-user": "{{ns:project}}:用户",
        "grouppage-autoconfirmed": "{{ns:project}}:自动确认用户",
        "grouppage-bot": "{{ns:project}}:机器人",
        "grouppage-sysop": "{{ns:project}}:管理员",
        "grouppage-bureaucrat": "{{ns:project}}:行政员",
-       "grouppage-suppress": "{{ns:project}}:ç¦\81æ­¢",
+       "grouppage-suppress": "{{ns:project}}:ç\9b\91ç\9d£",
        "right-read": "阅读页面",
        "right-edit": "编辑页面",
        "right-createpage": "创建非讨论页面",
        "foreign-structured-upload-form-label-own-work-message-shared": "我证明我拥有此文件的版权,并不可撤销地同意采用[https://creativecommons.org/licenses/by-sa/4.0/ 知识共享 署名-相同方式共享 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|{{SITENAME}}上的上传页面]]。",
+       "foreign-structured-upload-form-2-label-intro": "感谢您贡献图片以用于{{SITENAME}}。您只应在其满足以下条件时贡献:",
+       "foreign-structured-upload-form-2-label-ownwork": "它必须完全<strong>由您创建</strong>,而不只是从Internet上找到",
+       "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/ 知识共享 署名-相同方式共享4.0]许可协议在网络上再发布",
+       "foreign-structured-upload-form-2-label-alternative": "如果以上条件并不完全满足的话,您仍应当使用[https://commons.wikimedia.org/wiki/Special:UploadWizard 共享资源上传向导]上传此文件,只要它依据自由许可协议可用于该网站的话。",
+       "foreign-structured-upload-form-2-label-termsofuse": "通过上传文件,您证明您拥有此文件的著作权,并不可撤销地同意采用知识共享 署名-相同方式共享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不存在。",
        "nopagetext": "您所指定的目标页面并不存在。",
        "pager-newer-n": "前$1个",
        "pager-older-n": "后$1个",
-       "suppress": "禁止",
+       "suppress": "屏蔽",
        "querypage-disabled": "本特殊页面因性能问题而停用。",
        "apihelp": "API 帮助",
        "apihelp-no-such-module": "找不到模块“$1”。",
index d345fab..030a19f 100644 (file)
@@ -30,8 +30,8 @@ $namespaceNames = array(
 );
 
 $namespaceAliases = array(
-       'Imaj'           => NS_USER,
-       'Diskisyon_Imaj' => NS_USER_TALK,
+       'Imaj'           => NS_FILE,
+       'Diskisyon_Imaj' => NS_FILE_TALK,
 );
 
 // Remove French aliases
index 8cea5a2..6b7cfb6 100644 (file)
@@ -135,16 +135,24 @@ TEXT;
         * @return bool
         */
        private function skippedNamespace( $obj ) {
+               $title = null;
                if ( $obj instanceof Title ) {
-                       $ns = $obj->getNamespace();
+                       $title = $obj;
                } elseif ( $obj instanceof Revision ) {
-                       $ns = $obj->getTitle()->getNamespace();
+                       $title = $obj->getTitle();
                } elseif ( $obj instanceof WikiRevision ) {
-                       $ns = $obj->title->getNamespace();
+                       $title = $obj->title;
                } else {
                        throw new MWException( "Cannot get namespace of object in " . __METHOD__ );
                }
 
+               if ( is_null( $title ) ) {
+                       // Probably a log entry
+                       return false;
+               }
+
+               $ns = $title->getNamespace();
+
                return is_array( $this->nsFilter ) && !in_array( $ns, $this->nsFilter );
        }
 
index 3d5a563..c66dcb2 100644 (file)
@@ -906,6 +906,13 @@ return array(
                        'json',
                ),
        ),
+       'mediawiki.api.user' => array(
+               'scripts' => 'resources/src/mediawiki/api/user.js',
+               'dependencies' => array(
+                       'mediawiki.api',
+               ),
+               'targets' => array( 'desktop', 'mobile' ),
+       ),
        'mediawiki.api.watch' => array(
                'scripts' => 'resources/src/mediawiki/api/watch.js',
                'dependencies' => array(
@@ -1179,6 +1186,7 @@ return array(
                ),
                'dependencies' => array(
                        'oojs-ui',
+                       'mediawiki.user',
                        'mediawiki.Upload',
                        'mediawiki.jqueryMsg',
                ),
@@ -1245,7 +1253,7 @@ return array(
        ),
        'mediawiki.ForeignStructuredUpload.BookletLayout' => array(
                'scripts' => 'resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js',
-               'styles' => 'resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.css',
+               'styles' => 'resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.less',
                'dependencies' => array(
                        'mediawiki.ForeignStructuredUpload',
                        'mediawiki.Upload.BookletLayout',
@@ -1267,6 +1275,24 @@ return array(
                        'foreign-structured-upload-form-label-own-work-message-local',
                        'foreign-structured-upload-form-label-not-own-work-message-local',
                        'foreign-structured-upload-form-label-not-own-work-local-local',
+                       'foreign-structured-upload-form-2-label-intro',
+                       'foreign-structured-upload-form-2-label-ownwork',
+                       'foreign-structured-upload-form-2-label-noderiv',
+                       'foreign-structured-upload-form-2-label-useful',
+                       'foreign-structured-upload-form-2-label-ccbysa',
+                       'foreign-structured-upload-form-2-label-alternative',
+                       'foreign-structured-upload-form-2-label-termsofuse',
+                       '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',
+                       'foreign-structured-upload-form-4-label-good',
+                       'foreign-structured-upload-form-4-label-bad',
+               ),
+               'templates' => array(
+                       'guide.html' => 'resources/src/mediawiki/bookletlayout/option4/guide.html',
                ),
        ),
        'mediawiki.toc' => array(
@@ -1295,6 +1321,7 @@ return array(
                'dependencies' => array(
                        'mediawiki.cookie',
                        'mediawiki.api',
+                       'mediawiki.api.user',
                        'user.options',
                        'user.tokens',
                ),
@@ -1681,6 +1708,10 @@ return array(
                'position' => 'top',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css',
        ),
+       'mediawiki.special.changeslist.visitedstatus' => array(
+               'position' => 'top',
+               'scripts' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.visitedstatus.js',
+       ),
        'mediawiki.special.edittags' => array(
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.edittags.js',
                'dependencies' => array(
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 e66d8f6..29a5a79 100644 (file)
@@ -9,7 +9,7 @@
        var profile = $.client.profile(),
                canonical = mw.config.get( 'wgInternalRedirectTargetUrl' ),
                fragment = null,
-               shouldChangeFragment, index;
+               node, shouldChangeFragment, index;
 
        index = canonical.indexOf( '#' );
        if ( index !== -1 ) {
                        canonical += location.hash;
                }
 
-               // This will also cause the browser to scroll to given fragment
+               // Note that this will update the hash in a modern browser, retaining back behaviour
                history.replaceState( /*data=*/ history.state, /*title=*/ document.title, /*url=*/ canonical );
-
-               // …except for IE 10 and 11. Prod it with a location.hash change.
-               if ( shouldChangeFragment && profile.name === 'msie' && profile.versionNumber >= 10 ) {
-                       location.hash = fragment;
+               if ( shouldChangeFragment ) {
+                       // Specification for history.replaceState() doesn't require browser to scroll,
+                       // so scroll to be sure (see also T110501). Support for IE9 and IE10.
+                       node = document.getElementById( fragment.slice( 1 ) );
+                       if ( node ) {
+                               node.scrollIntoView();
+                       }
                }
 
        } else if ( shouldChangeFragment ) {
index a92f1c1..03a9f76 100644 (file)
@@ -26,8 +26,6 @@
        padding-left: 42px;
        background: transparent url(images/nextredirect-ltr.png) bottom left no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/nextredirect-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/nextredirect-ltr.svg);
 }
 
@@ -36,8 +34,6 @@
        padding-left: 47px;
        background: transparent url(images/redirect-ltr.png) bottom left no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/redirect-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/redirect-ltr.svg);
 }
 
@@ -49,8 +45,6 @@
        padding-right: 42px;
        background: transparent url(images/nextredirect-rtl.png) bottom right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/nextredirect-rtl.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/nextredirect-rtl.svg);
 }
 
@@ -59,7 +53,5 @@
        padding-right: 47px;
        background: transparent url(images/redirect-rtl.png) bottom right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/redirect-rtl.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/redirect-rtl.svg);
 }
index 77391d7..5d637da 100644 (file)
@@ -122,8 +122,6 @@ div.magnify a {
        /* Use same SVG support hack as mediawiki.legacy's shared.css */
        background: url(images/magnify-clip-ltr.png) center center no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
        /* Don't annoy people who copy-paste everything too much */
        -moz-user-select: none;
index 7d1f6d7..38271a0 100644 (file)
                loadedScripts[ url ] = true;
                var s = document.createElement( 'script' );
                s.setAttribute( 'src', url );
-               s.setAttribute( 'type', 'text/javascript' );
                document.getElementsByTagName( 'head' )[ 0 ].appendChild( s );
                return s;
        }
index 43bd21a..06c18e6 100644 (file)
@@ -1,4 +1,4 @@
-// Common LESS mixin library for MediaWiki
+// Common Less mixin library for MediaWiki
 //
 // By default the folder containing this file is included in $wgResourceLoaderLESSImportPaths,
 // which makes this file importable by all less files via '@import "mediawiki.mixins";'.
@@ -12,9 +12,8 @@
        background-image: e('/* @embed */') url(@url);
 }
 
+// Deprecated in MW 1.27
 .background-size(@width, @height) {
-       // Vendor prefix for certain older opera browsers e.g. nintendo ds
-       -o-background-size: @width @height;
        // Vendor prefix is added to support Android 2
        -webkit-background-size: @width @height;
        background-size: @width @height;
@@ -39,7 +38,6 @@
 // is not worth the harm done to modern ones.
 .background-image-svg(@svg, @fallback) {
        background-image: url(@fallback);
-       background-image: -webkit-linear-gradient(transparent, transparent), e('/* @embed */') url(@svg);
        background-image: linear-gradient(transparent, transparent), e('/* @embed */') url(@svg);
        // Do not serve SVG to Opera 12, bad rendering with border-radius or background-size (T87504)
        background-image: -o-linear-gradient(transparent, transparent), url(@fallback);
index b6dc2b4..69655a6 100644 (file)
@@ -64,7 +64,7 @@
                if ( apiUrl ) {
                        api = new mw.ForeignApi( apiUrl );
                } else {
-                       api = mw.Api();
+                       api = new mw.Api();
                }
 
                return api.get( {
index b069e50..c88d00d 100644 (file)
@@ -178,8 +178,6 @@ div.magnify a {
        /* Use same SVG support hack as mediawiki.legacy's shared.css */
        background-image: url(images/magnify-clip-ltr.png);
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
        /* Don't annoy people who copy-paste everything too much */
        -moz-user-select: none;
@@ -211,8 +209,6 @@ img.thumbborder {
        /* Use same SVG support hack as mediawiki.legacy's shared.css */
        background-image: url(images/magnify-clip-ltr.png);
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/magnify-clip-ltr.svg);
 }
 
@@ -233,8 +229,6 @@ img.thumbborder {
        /* Use same SVG support hack as mediawiki.legacy's shared.css */
        background-image: url(images/magnify-clip-rtl.png);
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/magnify-clip-rtl.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/magnify-clip-rtl.svg);
 }
 
index d23540d..8890cbb 100644 (file)
@@ -23,8 +23,6 @@
 .link-mailto {
        background: url(images/mail.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/mail.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/mail.svg);
        padding-right: 15px;
 }
@@ -33,8 +31,6 @@
 .link-ftp {
        background: url(images/ftp-ltr.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/ftp-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/ftp-ltr.svg);
        padding-right: 15px;
 }
@@ -44,8 +40,6 @@
 .link-irc {
        background: url(images/chat-ltr.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/chat-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/chat-ltr.svg);
        padding-right: 15px;
 }
@@ -59,8 +53,6 @@
 .link-audio {
        background: url(images/audio-ltr.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/audio-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/audio-ltr.svg);
        padding-right: 15px;
 }
@@ -72,8 +64,6 @@
 .link-video {
        background: url(images/video.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/video.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/video.svg);
        padding-right: 15px;
 }
@@ -84,8 +74,6 @@
 .link-document {
        background: url(images/document-ltr.png) center right no-repeat;
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/document-ltr.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/document-ltr.svg);
        padding-right: 15px;
 }
diff --git a/resources/src/mediawiki.special/mediawiki.special.changeslist.visitedstatus.js b/resources/src/mediawiki.special/mediawiki.special.changeslist.visitedstatus.js
new file mode 100644 (file)
index 0000000..954e074
--- /dev/null
@@ -0,0 +1,12 @@
+/*!
+ * JavaScript for Special:Watchlist
+ */
+( function ( mw, $ ) {
+       $( function () {
+               $( '.mw-changeslist-line-watched .mw-title a' ).on( 'click', function () {
+                       $( this )
+                               .closest( '.mw-changeslist-line-watched' )
+                               .removeClass( 'mw-changeslist-line-watched' );
+               } );
+       } );
+}( mediaWiki, jQuery ) );
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();
                        }
diff --git a/resources/src/mediawiki/api/user.js b/resources/src/mediawiki/api/user.js
new file mode 100644 (file)
index 0000000..e7b4b6d
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ * @class mw.Api.plugin.user
+ * @since 1.27
+ */
+( function ( mw, $ ) {
+
+       $.extend( mw.Api.prototype, {
+
+               /**
+                * Get the current user's groups and rights.
+                *
+                * @return {jQuery.Promise}
+                * @return {Function} return.done
+                * @return {Object} return.done.userInfo
+                * @return {string[]} return.done.userInfo.groups User groups that the current user belongs to
+                * @return {string[]} return.done.userInfo.rights Current user's rights
+                */
+               getUserInfo: function () {
+                       return this.get( {
+                               action: 'query',
+                               meta: 'userinfo',
+                               uiprop: [ 'groups', 'rights' ]
+                       } ).then( function ( data ) {
+                               if ( data.query && data.query.userinfo ) {
+                                       return data.query.userinfo;
+                               }
+                               return $.Deferred().reject().promise();
+                       } );
+               }
+       } );
+
+       /**
+        * @class mw.Api
+        * @mixins mw.Api.plugin.user
+        */
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki/bookletlayout/option2/ccbysa.png b/resources/src/mediawiki/bookletlayout/option2/ccbysa.png
new file mode 100644 (file)
index 0000000..b39ecb6
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option2/ccbysa.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option2/ccbysa.svg b/resources/src/mediawiki/bookletlayout/option2/ccbysa.svg
new file mode 100644 (file)
index 0000000..13eb85f
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 150 150" style="enable-background:new 0 0 150 150;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+       .st1{fill-rule:evenodd;clip-rule:evenodd;}\r
+</style>\r
+<g>\r
+       <circle class="st0" cx="74.9" cy="75.1" r="58.1"/>\r
+       <g>\r
+               <path class="st1" d="M74.1,63.4c-4-7.3-10.8-10.2-18.7-10.2c-11.5,0-20.6,8.1-20.6,21.9c0,14,8.6,21.9,21,21.9\r
+                       c8,0,14.8-4.4,18.5-11l-8.8-4.5c-2,4.7-4.9,6.1-8.7,6.1c-6.5,0-9.5-5.4-9.5-12.5c0-7.1,2.5-12.5,9.5-12.5c1.9,0,5.6,1,7.8,5.7\r
+                       L74.1,63.4z"/>\r
+               <path class="st1" d="M114.8,63.4c-4-7.3-10.8-10.2-18.7-10.2c-11.5,0-20.6,8.1-20.6,21.9c0,14,8.6,21.9,21,21.9\r
+                       c8,0,14.8-4.4,18.5-11l-8.8-4.5c-2,4.7-4.9,6.1-8.7,6.1c-6.5,0-9.5-5.4-9.5-12.5c0-7.1,2.5-12.5,9.5-12.5c1.9,0,5.6,1,7.8,5.7\r
+                       L114.8,63.4z"/>\r
+       </g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option2/noderiv.png b/resources/src/mediawiki/bookletlayout/option2/noderiv.png
new file mode 100644 (file)
index 0000000..afac81f
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option2/noderiv.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option2/noderiv.svg b/resources/src/mediawiki/bookletlayout/option2/noderiv.svg
new file mode 100644 (file)
index 0000000..c3ee55b
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 150 150" style="enable-background:new 0 0 150 150;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+       .st1{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+       .st2{stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+</style>\r
+<g>\r
+       \r
+               <rect x="7.8" y="34.6" transform="matrix(0.2182 0.9759 -0.9759 0.2182 113.5065 3.8061)" class="st0" width="93.2" height="76.2"/>\r
+       <circle class="st1" cx="54.4" cy="72.7" r="26.1"/>\r
+</g>\r
+<g>\r
+       \r
+               <rect x="51.6" y="41.7" transform="matrix(-0.1524 0.9883 -0.9883 -0.1524 192.0548 -5.1264)" class="st0" width="93.2" height="76.2"/>\r
+       <circle class="st2" cx="98.2" cy="79.8" r="26.1"/>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option2/ownwork.png b/resources/src/mediawiki/bookletlayout/option2/ownwork.png
new file mode 100644 (file)
index 0000000..69df378
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option2/ownwork.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option2/ownwork.svg b/resources/src/mediawiki/bookletlayout/option2/ownwork.svg
new file mode 100644 (file)
index 0000000..639775f
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 150 150" style="enable-background:new 0 0 150 150;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+       .st1{stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+</style>\r
+<polygon class="st0" points="6.3,43.3 38.4,43.3 46,34.4 78.4,34.4 85.5,42.6 142.6,42.6 142.6,115 6.3,115 "/>\r
+<g>\r
+       <circle class="st0" cx="63.3" cy="78.8" r="25.8"/>\r
+       <circle class="st1" cx="63.3" cy="78.8" r="16.2"/>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option2/useful.png b/resources/src/mediawiki/bookletlayout/option2/useful.png
new file mode 100644 (file)
index 0000000..d5b9429
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option2/useful.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option2/useful.svg b/resources/src/mediawiki/bookletlayout/option2/useful.svg
new file mode 100644 (file)
index 0000000..baa982b
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 150 150" style="enable-background:new 0 0 150 150;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\r
+</style>\r
+<circle class="st0" cx="72.7" cy="62.5" r="47.1"/>\r
+<path d="M76,128.8c34.8,0,63.2-28.3,63.2-63.2c0-18.3-7.9-34.9-20.4-46.4l11.8-11.8L129.1,6l-11.8,11.8c0,0,0,0,0,0l-1.4,1.4\r
+       c13,11.2,21.3,27.8,21.3,46.4c0,33.7-27.4,61.2-61.2,61.2c-18.5,0-35.1-8.3-46.4-21.3l-0.4,0.4l0,0l-13,13l1.4,1.4l11.9-11.9\r
+       c10.9,11.9,26.4,19.6,43.6,20.4v15.7H49.7v2h48.9v-2H75.1v-15.7C75.4,128.8,75.7,128.8,76,128.8z"/>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/camera.png b/resources/src/mediawiki/bookletlayout/option4/camera.png
new file mode 100644 (file)
index 0000000..a48f9fb
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/camera.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/camera.svg b/resources/src/mediawiki/bookletlayout/option4/camera.svg
new file mode 100644 (file)
index 0000000..dc43b5d
--- /dev/null
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" height="162" width="264" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#00AF89;}\r
+       .st1{fill:#FFFFFF;}\r
+       .st2{fill:#FFFFFF;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st3{fill:#E5E5E5;}\r
+       .st4{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st5{fill:#9B9A9A;}\r
+       .st6{fill:none;stroke:#E5E5E5;stroke-linejoin:round;stroke-miterlimit:10;}\r
+</style>\r
+<rect x="62.3" y="28.1" class="st0" width="137.6" height="105"/>\r
+<g>\r
+       <path class="st1" d="M73.1,57v64.4h45.3V78.5h25.3v42.9h45.3V57H73.1z M94.3,107.6H80.9V94.3h13.3V107.6z M94.3,91.9H80.9V78.5\r
+               h13.3V91.9z M109.9,107.6H96.6V94.3h13.3V107.6z M109.9,91.9H96.6V78.5h13.3V91.9z M164.3,107.6h-13.3V94.3h13.3V107.6z\r
+                M164.3,91.9h-13.3V78.5h13.3V91.9z M179.9,107.6h-13.3V94.3h13.3V107.6z M179.9,91.9h-13.3V78.5h13.3V91.9z"/>\r
+       <rect x="73.1" y="48.5" class="st1" width="116" height="5.7"/>\r
+       <rect x="73.1" y="39.9" class="st1" width="116" height="5.7"/>\r
+</g>\r
+<rect x="62.3" y="124" class="st1" width="137.6" height="1.7"/>\r
+<g>\r
+       <g>\r
+               <rect x="6.7" y="7.4" class="st2" width="35.3" height="12.7"/>\r
+               <rect x="42" y="11.1" class="st3" width="2.3" height="5.7"/>\r
+       </g>\r
+       <rect x="8.2" y="9.1" class="st3" width="5.2" height="9.2"/>\r
+       <rect x="14.5" y="9.1" class="st3" width="5.2" height="9.2"/>\r
+       <rect x="21" y="9.1" class="st3" width="5.2" height="9.2"/>\r
+</g>\r
+<circle class="st3" cx="252.7" cy="12.1" r="6.2"/>\r
+<rect x="239.3" y="9.1" class="st3" width="5.3" height="7.7"/>\r
+<rect x="233" y="9.1" class="st3" width="5.3" height="7.7"/>\r
+<rect x="214" y="143.3" class="st3" width="5.3" height="7.7"/>\r
+<rect x="207.6" y="143.3" class="st3" width="5.3" height="7.7"/>\r
+<rect x="50.4" y="143.3" class="st3" width="5.3" height="7.7"/>\r
+<rect x="39" y="143.3" class="st3" width="5.3" height="7.7"/>\r
+<line class="st4" x1="73.1" y1="148" x2="189.1" y2="148"/>\r
+<line class="st4" x1="132" y1="143.1" x2="132" y2="152.9"/>\r
+<line class="st4" x1="189.1" y1="144.3" x2="189.1" y2="151.7"/>\r
+<line class="st4" x1="73.1" y1="144.3" x2="73.1" y2="151.7"/>\r
+<line class="st4" x1="86" y1="145.5" x2="86" y2="150.5"/>\r
+<line class="st4" x1="100.7" y1="145.5" x2="100.7" y2="150.5"/>\r
+<line class="st4" x1="115.3" y1="145.5" x2="115.3" y2="150.5"/>\r
+<line class="st4" x1="145.8" y1="145.5" x2="145.8" y2="150.5"/>\r
+<line class="st4" x1="160.5" y1="145.5" x2="160.5" y2="150.5"/>\r
+<line class="st4" x1="175.2" y1="145.5" x2="175.2" y2="150.5"/>\r
+<g>\r
+       <rect x="113.8" y="154.1" class="st5" width="3.2" height="4.7"/>\r
+       <polygon class="st5" points="113.8,154.1 115.3,152.3 116.9,154.1        "/>\r
+</g>\r
+<g>\r
+       <g>\r
+               <polyline class="st6" points="34.3,147.1 31.5,147.1 34.3,144.3 31.5,147.1 34.3,147.1 31.5,149.9                 "/>\r
+       </g>\r
+       <polygon class="st3" points="33.9,149.5 32.1,151.7 30.3,149.5   "/>\r
+</g>\r
+<line class="st6" x1="48.9" y1="143.2" x2="45.9" y2="151.1"/>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/graphics.png b/resources/src/mediawiki/bookletlayout/option4/graphics.png
new file mode 100644 (file)
index 0000000..5613f88
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/graphics.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/graphics.svg b/resources/src/mediawiki/bookletlayout/option4/graphics.svg
new file mode 100644 (file)
index 0000000..ff3d682
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st1{fill:none;stroke:#9B9A9A;stroke-miterlimit:10;}\r
+       .st2{fill:#E5E5E5;}\r
+       .st3{fill:#9B9A9A;}\r
+       .st4{fill:#00AF89;}\r
+       .st5{fill:#FFFFFF;}\r
+       .st6{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}\r
+</style>\r
+<line class="st0" x1="2" y1="10.5" x2="262" y2="10.5"/>\r
+<line class="st0" x1="2" y1="24.8" x2="262" y2="24.8"/>\r
+<g>\r
+       <rect x="6.9" y="32.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="32.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="42.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="42.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="51.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="51.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="60.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="60.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="70.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="70.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="79.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="79.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="88.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="88.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="98.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="98.1" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="107.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="107.4" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="6.9" y="116.8" class="st1" width="9.3" height="9.3"/>\r
+       <rect x="16.2" y="116.8" class="st1" width="9.3" height="9.3"/>\r
+</g>\r
+<rect x="3.2" y="12.7" class="st2" width="9.3" height="9.3"/>\r
+<rect x="3.2" y="3.4" class="st2" width="4.7" height="4.7"/>\r
+<rect x="10.2" y="3.4" class="st2" width="4.7" height="4.7"/>\r
+<rect x="16.9" y="3.4" class="st2" width="4.7" height="4.7"/>\r
+<rect x="249.2" y="3.4" class="st2" width="4.7" height="4.7"/>\r
+<rect x="255.9" y="3.4" class="st2" width="4.7" height="4.7"/>\r
+<rect x="14.6" y="12.7" class="st2" width="9.3" height="9.3"/>\r
+<rect x="239.9" y="12.7" class="st2" width="9.3" height="9.3"/>\r
+<rect x="228.9" y="12.7" class="st2" width="9.3" height="9.3"/>\r
+<rect x="251.2" y="12.7" class="st2" width="9.3" height="9.3"/>\r
+<g>\r
+       <path class="st2" d="M73.5,13.7V21H26.6v-7.3H73.5 M74.5,12.7H25.6V22h48.9V12.7L74.5,12.7z"/>\r
+</g>\r
+<g>\r
+       <path class="st2" d="M117.8,13.7V21H76.9v-7.3H117.8 M118.8,12.7H75.9V22h42.9V12.7L118.8,12.7z"/>\r
+</g>\r
+<g>\r
+       <path class="st2" d="M162.5,13.7V21h-40.9v-7.3H162.5 M163.5,12.7h-42.9V22h42.9V12.7L163.5,12.7z"/>\r
+</g>\r
+<rect x="209.7" y="30.3" class="st2" width="50.9" height="32.3"/>\r
+<rect x="209.7" y="30.3" class="st3" width="50.9" height="5.7"/>\r
+<g>\r
+       <rect x="212.2" y="38.5" class="st3" width="6.2" height="6.2"/>\r
+       <rect x="239.9" y="38.5" class="st3" width="6.2" height="2.5"/>\r
+       <rect x="239.9" y="42.2" class="st3" width="6.2" height="2.5"/>\r
+       <g>\r
+               <path class="st3" d="M237.2,39.5v4.2H221v-4.2H237.2 M238.2,38.5H220v6.2h18.2V38.5L238.2,38.5z"/>\r
+       </g>\r
+</g>\r
+<g>\r
+       <rect x="212.2" y="46.5" class="st3" width="6.2" height="6.2"/>\r
+       <rect x="239.9" y="46.5" class="st3" width="6.2" height="2.5"/>\r
+       <rect x="239.9" y="50.2" class="st3" width="6.2" height="2.5"/>\r
+       <g>\r
+               <path class="st3" d="M237.2,47.5v4.2H221v-4.2H237.2 M238.2,46.5H220v6.2h18.2V46.5L238.2,46.5z"/>\r
+       </g>\r
+</g>\r
+<rect x="209.7" y="66.6" class="st2" width="50.9" height="32.3"/>\r
+<rect x="209.7" y="66.6" class="st3" width="50.9" height="5.7"/>\r
+<g>\r
+       <path class="st3" d="M257.2,75.8V80h-44.1v-4.2H257.2 M258.2,74.8h-46.1V81h46.1V74.8L258.2,74.8z"/>\r
+</g>\r
+<g>\r
+       <path class="st3" d="M257.2,81v4.2h-44.1V81H257.2 M258.2,80h-46.1v6.2h46.1V80L258.2,80z"/>\r
+</g>\r
+<g>\r
+       <path class="st3" d="M257.2,86.2v4.2h-44.1v-4.2H257.2 M258.2,85.2h-46.1v6.2h46.1V85.2L258.2,85.2z"/>\r
+</g>\r
+<g>\r
+       <path class="st3" d="M257.2,91.3v4.2h-44.1v-4.2H257.2 M258.2,90.3h-46.1v6.2h46.1V90.3L258.2,90.3z"/>\r
+</g>\r
+<ellipse class="st1" cx="218.3" cy="85.7" rx="0" ry="10.2"/>\r
+<rect x="69.5" y="47.5" class="st4" width="108" height="82.4"/>\r
+<circle class="st5" cx="123.5" cy="88.7" r="6.6"/>\r
+<circle class="st5" cx="116.9" cy="106.2" r="6.6"/>\r
+<circle class="st5" cx="154.5" cy="80.3" r="6.6"/>\r
+<circle class="st5" cx="93.1" cy="81.5" r="6.6"/>\r
+<circle class="st5" cx="141.7" cy="114.1" r="6.6"/>\r
+<circle class="st6" cx="123.5" cy="88.7" r="18.2"/>\r
+<circle class="st6" cx="123.5" cy="88.7" r="31.7"/>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/guide.html b/resources/src/mediawiki/bookletlayout/option4/guide.html
new file mode 100644 (file)
index 0000000..c747851
--- /dev/null
@@ -0,0 +1,12 @@
+<div class="mw-foreignStructuredUpload-bookletLayout-guide">
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-good">
+               <span></span>
+       </div>
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-bad">
+               <span></span>
+       </div>
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-image mw-foreignStructuredUpload-bookletLayout-guide-image-camera"></div>
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-image mw-foreignStructuredUpload-bookletLayout-guide-image-graphics"></div>
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-image mw-foreignStructuredUpload-bookletLayout-guide-image-website"></div>
+       <div class="mw-foreignStructuredUpload-bookletLayout-guide-image mw-foreignStructuredUpload-bookletLayout-guide-image-search"></div>
+</div>
diff --git a/resources/src/mediawiki/bookletlayout/option4/search-ltr.png b/resources/src/mediawiki/bookletlayout/option4/search-ltr.png
new file mode 100644 (file)
index 0000000..26d6beb
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/search-ltr.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/search-ltr.svg b/resources/src/mediawiki/bookletlayout/option4/search-ltr.svg
new file mode 100644 (file)
index 0000000..7bcf826
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{display:none;}\r
+       .st1{display:inline;}\r
+       .st2{fill:#FFFFFF;}\r
+       .st3{fill:#E5E5E5;}\r
+       .st4{opacity:0.5;fill:#E5E5E5;enable-background:new    ;}\r
+       .st5{fill:#E5E5E5;stroke:#E5E5E5;}\r
+       .st6{fill:#9B9B9B;}\r
+       .st7{fill:#4470B6;}\r
+       .st8{fill:#D0D1D1;}\r
+       .st9{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st10{fill:none;stroke:#D02227;stroke-miterlimit:10;}\r
+       .st11{fill:#D02227;}\r
+</style>\r
+<g id="Layer_1" class="st0">\r
+       <g class="st1">\r
+               <path class="st2" d="M24.8,151.4l-11.5,10l-12.9-9.6V0.5h263v151.7l-9,6.7V42.5h-39v112.6l-4.4-3.7l-7.6,5.3V42.5h-155v110.8\r
+                       l-9.8,8L24.8,151.4z"/>\r
+               <path class="st3" d="M263,1v151l-8,6V42h-40v112l-3.3-2.8l-0.6-0.5l-0.6,0.4l-6.5,4.6V42H48v111.1l-9.3,7.7l-13.3-9.6l-0.6-0.5\r
+                       l-0.6,0.5l-10.9,9.5L1,151.5V1L263,1L263,1z M264,0H0v152l13.4,10l11.5-10l13.9,10l10.2-8.4V43h154v114.7l8.1-5.7l4.9,4.2V43h38\r
+                       v116.9l10-7.4V0L264,0z M203,43H49v110.6l2.1-1.6l12.6,10l13.8-10l14.2,10l13-10l13,10l13.8-10l12.1,10l13.4-10l14.2,10l13-10\r
+                       l13,10l5.8-4.3L203,43L203,43z"/>\r
+               <path class="st4" d="M254,43h-38v113.2l7.6,5.8l13.8-10l13.9,10l2.7-2.1V43z"/>\r
+               <path class="st5" d="M2,14.5h260"/>\r
+               <path class="st3" d="M232.5,5h26v6h-26V5z M208.5,5h22v6h-22V5z M142,6v4H50V6H142z M143,5H49v6h94V5z M184.5,5h22v6h-22V5z\r
+                        M161.5,5h13v6h-13V5z M176.5,5h6v6h-6V5z M153.5,5h6v6h-6V5z M9,5h32v6H9V5z M52,7h2v2h-2V7z M11,36c0-7.7,6.3-14,14-14\r
+                       s14,6.3,14,14s-6.3,14-14,14S11,43.7,11,36z M38,107V72H13v35H38z M38,59v-5H13v5H38z"/>\r
+       </g>\r
+       <g class="st1">\r
+               <path class="st6" d="M123.8,68H85.6v7.8h38.1L123.8,68L123.8,68z M180.5,103v-8.8h-50.8v8.8H180.5z M90.8,80.6H69.9v8.6h20.8V80.6\r
+                       z M189.3,88.4v-7.8h-37.7v7.8H189.3z M100.7,94.1H75v7.8h25.7V94.1z M175.2,68H129v7.8h46.2V68z"/>\r
+               <path class="st7" d="M94.7,80.6v9.2h51.6v-9.2L94.7,80.6z"/>\r
+       </g>\r
+       <g class="st1">\r
+               <path class="st2" d="M94,94h75v44H94V94z"/>\r
+               <path class="st7" d="M169,94h-31v44h31V94z M150.8,118.1l5.9,9.7l3.2-3l4.8,6.1l-21.1,0l6.2-12.8H150.8z"/>\r
+               <g transform="scale(-1 1)">\r
+                       <path class="st8" d="M-102,100h-18c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h18c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,100.2-101.4,100-102,100z"/>\r
+                       <path class="st8" d="M-102,104h-18c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h18c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,104.2-101.4,104-102,104z"/>\r
+                       <path class="st8" d="M-102,108h-18c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h18c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,108.2-101.4,108-102,108z"/>\r
+                       <path class="st8" d="M-102,112h-26c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h26c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,112.2-101.4,112-102,112z"/>\r
+                       <path class="st8" d="M-102,116h-26c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h26c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,116.2-101.4,116-102,116z"/>\r
+                       <path class="st8" d="M-102,120h-26c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h26c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,120.2-101.4,120-102,120z"/>\r
+                       <path class="st8" d="M-102,124h-26c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h26c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,124.2-101.4,124-102,124z"/>\r
+                       <path class="st8" d="M-102,128h-26c-0.6,0-1,0.2-1,0.5l0,0c0,0.3,0.4,0.5,1,0.5h26c0.6,0,1-0.2,1-0.5l0,0\r
+                               C-101,128.2-101.4,128-102,128z"/>\r
+               </g>\r
+       </g>\r
+</g>\r
+<g id="Layer_2">\r
+       <g>\r
+               <rect x="4.8" y="5.5" class="st2" width="93" height="5"/>\r
+               <path class="st3" d="M97.2,6v4h-92V6H97.2 M98.2,5h-94v6h94V5L98.2,5z"/>\r
+       </g>\r
+       <polygon class="st3" points="177.7,8 176.4,8 109.6,8 108.2,8 106,14 111.8,14 174.2,14 180,14    "/>\r
+       <polygon class="st3" points="256.5,8 255.2,8 188.3,8 187,8 184.7,14 190.6,14 252.9,14 258.8,14  "/>\r
+       <line class="st9" x1="2" y1="14.5" x2="262" y2="14.5"/>\r
+       <line class="st9" x1="2" y1="32.8" x2="262" y2="32.8"/>\r
+       <g>\r
+               <circle class="st10" cx="8.9" cy="22.6" r="3.6"/>\r
+               <line class="st10" x1="11.6" y1="25" x2="15" y2="28.5"/>\r
+       </g>\r
+       <rect x="20.9" y="19" class="st3" width="57.6" height="9.5"/>\r
+       <rect x="4.3" y="37" class="st3" width="69.2" height="32.7"/>\r
+       <rect x="4.3" y="72.5" class="st3" width="90.1" height="56.8"/>\r
+       <rect x="97" y="72.5" class="st11" width="106.5" height="56.8"/>\r
+       <rect x="206.3" y="72.5" class="st3" width="52.4" height="56.8"/>\r
+       <rect x="4.3" y="132.2" class="st3" width="36.5" height="25.3"/>\r
+       <rect x="43.7" y="132.2" class="st3" width="62.3" height="25.3"/>\r
+       <rect x="109.3" y="132.2" class="st3" width="18.1" height="25.3"/>\r
+       <rect x="169.1" y="132.2" class="st3" width="18.1" height="25.3"/>\r
+       <rect x="189.8" y="132.2" class="st3" width="18.1" height="25.3"/>\r
+       <rect x="210.6" y="132.2" class="st3" width="48.1" height="25.3"/>\r
+       <rect x="130" y="132.2" class="st3" width="36" height="25.3"/>\r
+       <rect x="115.2" y="37" class="st3" width="36.5" height="32.7"/>\r
+       <rect x="76.1" y="37" class="st3" width="36.5" height="32.7"/>\r
+       <rect x="154.6" y="37" class="st3" width="56" height="32.7"/>\r
+       <rect x="213.3" y="37" class="st3" width="45.4" height="32.7"/>\r
+       <path class="st2" d="M102.4,115.4l9.5-9.5l12.8,12.8l26.1-26.1l31.8,31.8h-80.3L102.4,115.4z"/>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/search-rtl.png b/resources/src/mediawiki/bookletlayout/option4/search-rtl.png
new file mode 100644 (file)
index 0000000..3305928
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/search-rtl.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/search-rtl.svg b/resources/src/mediawiki/bookletlayout/option4/search-rtl.svg
new file mode 100644 (file)
index 0000000..408f9e6
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;}\r
+       .st1{fill:#E5E5E5;}\r
+       .st2{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st3{fill:none;stroke:#D02227;stroke-miterlimit:10;}\r
+       .st4{fill:#D02227;}\r
+</style>\r
+<g>\r
+       <rect x="166.2" y="5.5" class="st0" width="93" height="5"/>\r
+       <path class="st1" d="M258.8,6v4h-92V6H258.8 M259.8,5h-94v6h94V5L259.8,5z"/>\r
+</g>\r
+<polygon class="st1" points="86.3,8 87.6,8 154.4,8 155.8,8 158,14 152.2,14 89.8,14 84,14 "/>\r
+<polygon class="st1" points="7.5,8 8.8,8 75.7,8 77,8 79.3,14 73.4,14 11.1,14 5.2,14 "/>\r
+<line class="st2" x1="262" y1="14.5" x2="2" y2="14.5"/>\r
+<line class="st2" x1="262" y1="32.8" x2="2" y2="32.8"/>\r
+<g>\r
+       <circle class="st3" cx="255.1" cy="22.6" r="3.6"/>\r
+       <line class="st3" x1="252.4" y1="25" x2="249" y2="28.5"/>\r
+</g>\r
+<rect x="185.5" y="19" class="st1" width="57.6" height="9.5"/>\r
+<rect x="190.5" y="37" class="st1" width="69.2" height="32.7"/>\r
+<rect x="169.7" y="72.5" class="st1" width="90.1" height="56.8"/>\r
+<rect x="60.4" y="72.5" class="st4" width="106.5" height="56.8"/>\r
+<rect x="5.2" y="72.5" class="st1" width="52.4" height="56.8"/>\r
+<rect x="223.3" y="132.2" class="st1" width="36.5" height="25.3"/>\r
+<rect x="158" y="132.2" class="st1" width="62.3" height="25.3"/>\r
+<rect x="136.6" y="132.2" class="st1" width="18.1" height="25.3"/>\r
+<rect x="76.8" y="132.2" class="st1" width="18.1" height="25.3"/>\r
+<rect x="56.1" y="132.2" class="st1" width="18.1" height="25.3"/>\r
+<rect x="5.2" y="132.2" class="st1" width="48.1" height="25.3"/>\r
+<rect x="97.9" y="132.2" class="st1" width="36" height="25.3"/>\r
+<rect x="112.3" y="37" class="st1" width="36.5" height="32.7"/>\r
+<rect x="151.4" y="37" class="st1" width="36.5" height="32.7"/>\r
+<rect x="53.4" y="37" class="st1" width="56" height="32.7"/>\r
+<rect x="5.2" y="37" class="st1" width="45.4" height="32.7"/>\r
+<path class="st0" d="M161.7,124.3H81.4l31.8-31.8l26.1,26.1l12.8-12.8l9.5,9.5L161.7,124.3z"/>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/website-ltr.png b/resources/src/mediawiki/bookletlayout/option4/website-ltr.png
new file mode 100644 (file)
index 0000000..7e00751
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/website-ltr.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/website-ltr.svg b/resources/src/mediawiki/bookletlayout/option4/website-ltr.svg
new file mode 100644 (file)
index 0000000..c6bf6fe
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;}\r
+       .st1{fill:#E5E5E5;}\r
+       .st2{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st3{fill:#D02227;}\r
+       .st4{fill:#9B9A9A;}\r
+</style>\r
+<g>\r
+       <rect x="4.8" y="5.5" class="st0" width="93" height="5"/>\r
+       <path class="st1" d="M97.2,6v4h-92V6H97.2 M98.2,5h-94v6h94V5L98.2,5z"/>\r
+</g>\r
+<polygon class="st1" points="177.7,8 176.4,8 109.6,8 108.2,8 106,14 111.8,14 174.2,14 180,14 "/>\r
+<polygon class="st1" points="256.5,8 255.2,8 188.3,8 187,8 184.7,14 190.6,14 252.9,14 258.8,14 "/>\r
+<line class="st2" x1="2" y1="14.5" x2="262" y2="14.5"/>\r
+<rect x="44" y="48.4" class="st3" width="106.5" height="56.8"/>\r
+<path class="st0" d="M49.3,91.2l9.5-9.5l12.8,12.8l26.1-26.1l31.8,31.8H49.3L49.3,91.2z"/>\r
+<circle class="st1" cx="55" cy="32.3" r="11.9"/>\r
+<g>\r
+       <rect x="70.7" y="27.4" class="st4" width="76.2" height="7"/>\r
+       <rect x="70.7" y="35.5" class="st4" width="22.3" height="1.7"/>\r
+       <rect x="95" y="35.5" class="st4" width="28.2" height="1.7"/>\r
+</g>\r
+<rect x="44" y="107.8" class="st1" width="23.3" height="23.3"/>\r
+<rect x="70.7" y="107.8" class="st1" width="79.8" height="1.8"/>\r
+<rect x="70.7" y="114" class="st1" width="79.8" height="1.8"/>\r
+<rect x="70.7" y="120.2" class="st1" width="79.8" height="1.8"/>\r
+<rect x="70.7" y="126.4" class="st1" width="79.8" height="1.8"/>\r
+<rect x="44" y="134.4" class="st1" width="106.5" height="1.8"/>\r
+<rect x="44" y="140.6" class="st1" width="106.5" height="1.8"/>\r
+<rect x="44" y="146.8" class="st1" width="106.5" height="1.8"/>\r
+<rect x="44" y="153" class="st1" width="106.5" height="1.8"/>\r
+<g>\r
+       <rect x="155.7" y="37.2" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="43.4" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="49.6" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="55.8" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="27.4" class="st1" width="57.3" height="7"/>\r
+</g>\r
+<g>\r
+       <rect x="155.7" y="78.2" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="84.4" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="90.6" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="96.8" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="68.4" class="st1" width="57.3" height="7"/>\r
+</g>\r
+<g>\r
+       <rect x="155.7" y="116.7" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="122.9" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="129.1" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="135.3" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="155.7" y="106.9" class="st1" width="57.3" height="7"/>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/bookletlayout/option4/website-rtl.png b/resources/src/mediawiki/bookletlayout/option4/website-rtl.png
new file mode 100644 (file)
index 0000000..83ba6d3
Binary files /dev/null and b/resources/src/mediawiki/bookletlayout/option4/website-rtl.png differ
diff --git a/resources/src/mediawiki/bookletlayout/option4/website-rtl.svg b/resources/src/mediawiki/bookletlayout/option4/website-rtl.svg
new file mode 100644 (file)
index 0000000..080045a
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        viewBox="0 0 264 162" style="enable-background:new 0 0 264 162;" xml:space="preserve">\r
+<style type="text/css">\r
+       .st0{fill:#FFFFFF;}\r
+       .st1{fill:#E5E5E5;}\r
+       .st2{fill:none;stroke:#E5E5E5;stroke-miterlimit:10;}\r
+       .st3{fill:#D02227;}\r
+       .st4{fill:#9B9A9A;}\r
+</style>\r
+<g>\r
+       <rect x="166.2" y="5.5" class="st0" width="93" height="5"/>\r
+       <path class="st1" d="M258.8,6v4h-92V6H258.8 M259.8,5h-94v6h94V5L259.8,5z"/>\r
+</g>\r
+<polygon class="st1" points="86.3,8 87.6,8 154.4,8 155.8,8 158,14 152.2,14 89.8,14 84,14 "/>\r
+<polygon class="st1" points="7.5,8 8.8,8 75.7,8 77,8 79.3,14 73.4,14 11.1,14 5.2,14 "/>\r
+<line class="st2" x1="262" y1="14.5" x2="2" y2="14.5"/>\r
+<rect x="113.5" y="48.4" class="st3" width="106.5" height="56.8"/>\r
+<path class="st0" d="M214.7,100.2h-80.3l31.8-31.8l26.1,26.1l12.8-12.8l9.5,9.5L214.7,100.2z"/>\r
+<circle class="st1" cx="209" cy="32.3" r="11.9"/>\r
+<g>\r
+       <rect x="117" y="27.4" class="st4" width="76.2" height="7"/>\r
+       <rect x="171" y="35.5" class="st4" width="22.3" height="1.7"/>\r
+       <rect x="140.8" y="35.5" class="st4" width="28.2" height="1.7"/>\r
+</g>\r
+<rect x="196.7" y="107.8" class="st1" width="23.3" height="23.3"/>\r
+<rect x="113.5" y="107.8" class="st1" width="79.8" height="1.8"/>\r
+<rect x="113.5" y="114" class="st1" width="79.8" height="1.8"/>\r
+<rect x="113.5" y="120.2" class="st1" width="79.8" height="1.8"/>\r
+<rect x="113.5" y="126.4" class="st1" width="79.8" height="1.8"/>\r
+<rect x="113.5" y="134.4" class="st1" width="106.5" height="1.8"/>\r
+<rect x="113.5" y="140.6" class="st1" width="106.5" height="1.8"/>\r
+<rect x="113.5" y="146.8" class="st1" width="106.5" height="1.8"/>\r
+<rect x="113.5" y="153" class="st1" width="106.5" height="1.8"/>\r
+<g>\r
+       <rect x="51" y="37.2" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="43.4" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="49.6" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="55.8" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="27.4" class="st1" width="57.3" height="7"/>\r
+</g>\r
+<g>\r
+       <rect x="51" y="78.2" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="84.4" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="90.6" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="96.8" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="68.4" class="st1" width="57.3" height="7"/>\r
+</g>\r
+<g>\r
+       <rect x="51" y="116.7" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="122.9" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="129.1" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="135.3" class="st1" width="57.3" height="1.8"/>\r
+       <rect x="51" y="106.9" class="st1" width="57.3" height="7"/>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+<g>\r
+</g>\r
+</svg>\r
diff --git a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.css b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.css
deleted file mode 100644 (file)
index 4143520..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-.mw-foreignStructuredUpload-bookletLayout-license {
-       font-size: 90%;
-       line-height: 1.4em;
-       color: #555;
-}
index 8595386..7ba73bf 100644 (file)
         * @inheritdoc
         */
        mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm = function () {
+               var
+                       query = /[?&]uploadbucket=(\d)/.exec( location.search ),
+                       isTestEnabled = !!mw.config.get( 'wgForeignUploadTestEnabled' ),
+                       defaultBucket = mw.config.get( 'wgForeignUploadTestDefault' ) || 1,
+                       userId = mw.config.get( 'wgUserId' );
+
+               if ( query && query[ 1 ] ) {
+                       // Testing and debugging
+                       this.shouldRecordBucket = false;
+                       this.bucket = Number( query[ 1 ] );
+               } else if ( !userId || !isTestEnabled ) {
+                       // a) Anonymous user. This can actually happen, because our software sucks.
+                       // b) Test is not enabled on this wiki.
+                       // In either case, display the old interface and don't record bucket on uploads.
+                       this.shouldRecordBucket = false;
+                       this.bucket = defaultBucket;
+               } else {
+                       // Regular logged in user on a wiki where the test is running
+                       this.shouldRecordBucket = true;
+                       this.bucket = ( userId % 4 ) + 1; // 1, 2, 3, 4
+               }
+
+               return this[ 'renderUploadForm' + this.bucket ]();
+       };
+
+       /**
+        * Test option 1, the original one. See T120867.
+        */
+       mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm1 = function () {
                var fieldset, $ownWorkMessage, $notOwnWorkMessage,
+                       onUploadFormChange,
                        ownWorkMessage, notOwnWorkMessage, notOwnWorkLocal,
                        validTargets = mw.config.get( 'wgForeignUploadTargets' ),
                        target = this.target || validTargets[ 0 ] || 'local',
                        layout = this;
 
+               // Temporary override to make my life easier during A/B test
+               target = 'shared';
+
                // foreign-structured-upload-form-label-own-work-message-local
                // foreign-structured-upload-form-label-own-work-message-shared
                ownWorkMessage = mw.message( 'foreign-structured-upload-form-label-own-work-message-' + target );
                        $( '<p>' ).html( notOwnWorkMessage.parse() ),
                        $( '<p>' ).html( notOwnWorkLocal.parse() )
                );
-               $ownWorkMessage.add( $notOwnWorkMessage ).find( 'a' ).attr( 'target', '_blank' );
+               $ownWorkMessage.add( $notOwnWorkMessage ).find( 'a' )
+                       .attr( 'target', '_blank' )
+                       .on( 'click', function ( e ) {
+                               // Some stupid code is trying to prevent default on all clicks, which causes the links to
+                               // not be openable, don't let it
+                               e.stopPropagation();
+                       } );
 
                this.selectFileWidget = new OO.ui.SelectFileWidget();
                this.messageLabel = new OO.ui.LabelWidget( {
                ] );
                this.uploadForm = new OO.ui.FormLayout( { items: [ fieldset ] } );
 
+               onUploadFormChange = function () {
+                       var file = this.selectFileWidget.getValue(),
+                               ownWork = this.ownWorkCheckbox.isSelected(),
+                               valid = !!file && ownWork;
+                       this.emit( 'uploadValid', valid );
+               };
+
                // Validation
-               this.selectFileWidget.on( 'change', this.onUploadFormChange.bind( this ) );
-               this.ownWorkCheckbox.on( 'change', this.onUploadFormChange.bind( this ) );
+               this.selectFileWidget.on( 'change', onUploadFormChange.bind( this ) );
+               this.ownWorkCheckbox.on( 'change', onUploadFormChange.bind( this ) );
 
                return this.uploadForm;
        };
 
        /**
-        * @inheritdoc
+        * Test option 2, idea A from T121021. See T120867.
+        */
+       mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm2 = function () {
+               var fieldset, checkboxes, fields, onUploadFormChange;
+
+               this.selectFileWidget = new OO.ui.SelectFileWidget();
+               this.licenseCheckboxes = checkboxes = [
+                       new OO.ui.CheckboxInputWidget(),
+                       new OO.ui.CheckboxInputWidget(),
+                       new OO.ui.CheckboxInputWidget(),
+                       new OO.ui.CheckboxInputWidget()
+               ];
+
+               fields = [
+                       new OO.ui.FieldLayout( this.selectFileWidget, {
+                               align: 'top',
+                               label: mw.msg( 'upload-form-label-select-file' )
+                       } ),
+                       new OO.ui.FieldLayout( new OO.ui.LabelWidget( {
+                               label: mw.message( 'foreign-structured-upload-form-2-label-intro' ).parseDom()
+                       } ), {
+                               align: 'top'
+                       } ),
+                       new OO.ui.FieldLayout( checkboxes[ 0 ], {
+                               align: 'inline',
+                               classes: [
+                                       'mw-foreignStructuredUpload-bookletLayout-withicon',
+                                       'mw-foreignStructuredUpload-bookletLayout-ownwork'
+                               ],
+                               label: mw.message( 'foreign-structured-upload-form-2-label-ownwork' ).parseDom()
+                       } ),
+                       new OO.ui.FieldLayout( checkboxes[ 1 ], {
+                               align: 'inline',
+                               classes: [
+                                       'mw-foreignStructuredUpload-bookletLayout-withicon',
+                                       'mw-foreignStructuredUpload-bookletLayout-noderiv'
+                               ],
+                               label: mw.message( 'foreign-structured-upload-form-2-label-noderiv' ).parseDom()
+                       } ),
+                       new OO.ui.FieldLayout( checkboxes[ 2 ], {
+                               align: 'inline',
+                               classes: [
+                                       'mw-foreignStructuredUpload-bookletLayout-withicon',
+                                       'mw-foreignStructuredUpload-bookletLayout-useful'
+                               ],
+                               label: mw.message( 'foreign-structured-upload-form-2-label-useful' ).parseDom()
+                       } ),
+                       new OO.ui.FieldLayout( checkboxes[ 3 ], {
+                               align: 'inline',
+                               classes: [
+                                       'mw-foreignStructuredUpload-bookletLayout-withicon',
+                                       'mw-foreignStructuredUpload-bookletLayout-ccbysa'
+                               ],
+                               label: mw.message( 'foreign-structured-upload-form-2-label-ccbysa' ).parseDom()
+                       } ),
+                       new OO.ui.FieldLayout( new OO.ui.LabelWidget( {
+                               label: $()
+                                       .add( $( '<p>' ).msg( 'foreign-structured-upload-form-2-label-alternative' ) )
+                                       .add( $( '<p>' ).msg( 'foreign-structured-upload-form-2-label-termsofuse' )
+                                               .addClass( 'mw-foreignStructuredUpload-bookletLayout-license' ) )
+                       } ), {
+                               align: 'top'
+                       } )
+               ];
+
+               fieldset = new OO.ui.FieldsetLayout( { items: fields } );
+               this.uploadForm = new OO.ui.FormLayout( { items: [ fieldset ] } );
+
+               this.uploadForm.$element.find( 'a' )
+                       .attr( 'target', '_blank' )
+                       .on( 'click', function ( e ) {
+                               // Some stupid code is trying to prevent default on all clicks, which causes the links to
+                               // not be openable, don't let it
+                               e.stopPropagation();
+                       } );
+
+               onUploadFormChange = function () {
+                       var file = this.selectFileWidget.getValue(),
+                               checks = checkboxes.every( function ( checkbox ) {
+                                       return checkbox.isSelected();
+                               } ),
+                               valid = !!file && checks;
+                       this.emit( 'uploadValid', valid );
+               };
+
+               // Validation
+               this.selectFileWidget.on( 'change', onUploadFormChange.bind( this ) );
+               checkboxes[ 0 ].on( 'change', onUploadFormChange.bind( this ) );
+               checkboxes[ 1 ].on( 'change', onUploadFormChange.bind( this ) );
+               checkboxes[ 2 ].on( 'change', onUploadFormChange.bind( this ) );
+               checkboxes[ 3 ].on( 'change', onUploadFormChange.bind( this ) );
+
+               return this.uploadForm;
+       };
+
+       /**
+        * Test option 3, idea D from T121021. See T120867.
+        */
+       mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm3 = function () {
+               var ownWorkCheckbox, fieldset, yesMsg, noMsg, selects, selectFields,
+                       alternativeField, fields, onUploadFormChange;
+
+               this.selectFileWidget = new OO.ui.SelectFileWidget();
+               this.ownWorkCheckbox = ownWorkCheckbox = new OO.ui.CheckboxInputWidget();
+
+               yesMsg = mw.message( 'foreign-structured-upload-form-3-label-yes' ).text();
+               noMsg = mw.message( 'foreign-structured-upload-form-3-label-no' ).text();
+               selects = [
+                       new OO.ui.RadioSelectWidget( {
+                               items: [
+                                       new OO.ui.RadioOptionWidget( { data: false, label: yesMsg } ),
+                                       new OO.ui.RadioOptionWidget( { data: true, label: noMsg } )
+                               ]
+                       } ),
+                       new OO.ui.RadioSelectWidget( {
+                               items: [
+                                       new OO.ui.RadioOptionWidget( { data: true, label: yesMsg } ),
+                                       new OO.ui.RadioOptionWidget( { data: false, label: noMsg } )
+                               ]
+                       } ),
+                       new OO.ui.RadioSelectWidget( {
+                               items: [
+                                       new OO.ui.RadioOptionWidget( { data: false, label: yesMsg } ),
+                                       new OO.ui.RadioOptionWidget( { data: true, label: noMsg } )
+                               ]
+                       } )
+               ];
+
+               this.licenseSelectFields = selectFields = [
+                       new OO.ui.FieldLayout( selects[ 0 ], {
+                               align: 'top',
+                               classes: [ 'mw-foreignStructuredUpload-bookletLayout-question' ],
+                               label: mw.message( 'foreign-structured-upload-form-3-label-question-website' ).parseDom()
+                       } ),
+                       new OO.ui.FieldLayout( selects[ 1 ], {
+                               align: 'top',
+                               classes: [ 'mw-foreignStructuredUpload-bookletLayout-question' ],
+                               label: mw.message( 'foreign-structured-upload-form-3-label-question-ownwork' ).parseDom()
+                       } ).toggle( false ),
+                       new OO.ui.FieldLayout( selects[ 2 ], {
+                               align: 'top',
+                               classes: [ 'mw-foreignStructuredUpload-bookletLayout-question' ],
+                               label: mw.message( 'foreign-structured-upload-form-3-label-question-noderiv' ).parseDom()
+                       } ).toggle( false )
+               ];
+
+               alternativeField = new OO.ui.FieldLayout( new OO.ui.LabelWidget( {
+                       label: mw.message( 'foreign-structured-upload-form-3-label-alternative' ).parseDom()
+               } ), {
+                       align: 'top'
+               } ).toggle( false );
+
+               // Choosing the right answer to each question shows the next question.
+               // Switching to wrong answer hides all subsequent questions.
+               selects.forEach( function ( select, i ) {
+                       select.on( 'choose', function ( selectedOption ) {
+                               var isRightAnswer = !!selectedOption.getData();
+                               alternativeField.toggle( !isRightAnswer );
+                               if ( i + 1 === selectFields.length ) {
+                                       // Last question
+                                       return;
+                               }
+                               if ( isRightAnswer ) {
+                                       selectFields[ i + 1 ].toggle( true );
+                               } else {
+                                       selectFields.slice( i + 1 ).forEach( function ( field ) {
+                                               field.fieldWidget.selectItem( null );
+                                               field.toggle( false );
+                                       } );
+                               }
+                       } );
+               } );
+
+               fields = [
+                       new OO.ui.FieldLayout( this.selectFileWidget, {
+                               align: 'top',
+                               label: mw.msg( 'upload-form-label-select-file' )
+                       } ),
+                       selectFields[ 0 ],
+                       selectFields[ 1 ],
+                       selectFields[ 2 ],
+                       alternativeField,
+                       new OO.ui.FieldLayout( ownWorkCheckbox, {
+                               classes: [ 'mw-foreignStructuredUpload-bookletLayout-checkbox' ],
+                               align: 'inline',
+                               label: mw.message( 'foreign-structured-upload-form-label-own-work-message-shared' ).parseDom()
+                       } )
+               ];
+
+               // Must be done late, after it's been associated with the FieldLayout
+               ownWorkCheckbox.setDisabled( true );
+
+               fieldset = new OO.ui.FieldsetLayout( { items: fields } );
+               this.uploadForm = new OO.ui.FormLayout( { items: [ fieldset ] } );
+
+               this.uploadForm.$element.find( 'a' )
+                       .attr( 'target', '_blank' )
+                       .on( 'click', function ( e ) {
+                               // Some stupid code is trying to prevent default on all clicks, which causes the links to
+                               // not be openable, don't let it
+                               e.stopPropagation();
+                       } );
+
+               onUploadFormChange = function () {
+                       var file = this.selectFileWidget.getValue(),
+                               checkbox = ownWorkCheckbox.isSelected(),
+                               rightAnswers = selects.every( function ( select ) {
+                                       return select.getSelectedItem() && !!select.getSelectedItem().getData();
+                               } ),
+                               valid = !!file && checkbox && rightAnswers;
+                       ownWorkCheckbox.setDisabled( !rightAnswers );
+                       if ( !rightAnswers ) {
+                               ownWorkCheckbox.setSelected( false );
+                       }
+                       this.emit( 'uploadValid', valid );
+               };
+
+               // Validation
+               this.selectFileWidget.on( 'change', onUploadFormChange.bind( this ) );
+               this.ownWorkCheckbox.on( 'change', onUploadFormChange.bind( this ) );
+               selects[ 0 ].on( 'choose', onUploadFormChange.bind( this ) );
+               selects[ 1 ].on( 'choose', onUploadFormChange.bind( this ) );
+               selects[ 2 ].on( 'choose', onUploadFormChange.bind( this ) );
+
+               return this.uploadForm;
+       };
+
+       /**
+        * Test option 4, idea E from T121021. See T120867.
         */
-       mw.ForeignStructuredUpload.BookletLayout.prototype.onUploadFormChange = function () {
-               var file = this.selectFileWidget.getValue(),
-                       ownWork = this.ownWorkCheckbox.isSelected(),
-                       valid = !!file && ownWork;
-               this.emit( 'uploadValid', valid );
+       mw.ForeignStructuredUpload.BookletLayout.prototype.renderUploadForm4 = function () {
+               var fieldset, $guide;
+               this.renderUploadForm1();
+               fieldset = this.uploadForm.getItems()[ 0 ];
+
+               $guide = mw.template.get( 'mediawiki.ForeignStructuredUpload.BookletLayout', 'guide.html' ).render();
+               $guide.find( '.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-good span' )
+                       .msg( 'foreign-structured-upload-form-4-label-good' );
+               $guide.find( '.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-bad span' )
+                       .msg( 'foreign-structured-upload-form-4-label-bad' );
+
+               // Note the index, we insert after the SelectFileWidget field
+               fieldset.addItems( [
+                       new OO.ui.FieldLayout( new OO.ui.Widget( {
+                               $content: $guide
+                       } ), {
+                               align: 'top'
+                       } )
+               ], 1 );
+
+               // Hook for custom styles
+               fieldset.getItems()[ 2 ].$element.addClass( 'mw-foreignStructuredUpload-bookletLayout-guide-checkbox' );
+
+               // Streamline: remove mention of local Special:Upload
+               fieldset.getItems()[ 3 ].$element.find( 'p' ).last().remove();
+
+               return this.uploadForm;
        };
 
+       /**
+        * @inheritdoc
+        */
+       mw.ForeignStructuredUpload.BookletLayout.prototype.onUploadFormChange = function () {};
+
        /**
         * @inheritdoc
         */
        mw.ForeignStructuredUpload.BookletLayout.prototype.clear = function () {
                mw.ForeignStructuredUpload.BookletLayout.parent.prototype.clear.call( this );
 
-               this.ownWorkCheckbox.setSelected( false );
+               if ( this.ownWorkCheckbox ) {
+                       this.ownWorkCheckbox.setSelected( false );
+               }
+               if ( this.licenseCheckboxes ) {
+                       this.licenseCheckboxes.forEach( function ( checkbox ) {
+                               checkbox.setSelected( false );
+                       } );
+               }
+               if ( this.licenseSelectFields ) {
+                       this.licenseSelectFields.forEach( function ( field, i ) {
+                               field.fieldWidget.selectItem( null );
+                               if ( i !== 0 ) {
+                                       field.toggle( false );
+                               }
+                       } );
+               }
+
                this.categoriesWidget.setItemsFromData( [] );
                this.dateWidget.setValue( '' ).setValidityFlag( true );
        };
diff --git a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.less b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.less
new file mode 100644 (file)
index 0000000..fa15a2e
--- /dev/null
@@ -0,0 +1,136 @@
+@import "mediawiki.mixins";
+
+/* All */
+
+.mw-foreignStructuredUpload-bookletLayout-license {
+       font-size: 90%;
+       line-height: 1.4em;
+       color: #555;
+}
+
+/* Option 2 */
+
+.mw-foreignStructuredUpload-bookletLayout-withicon.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline {
+       background-repeat: no-repeat;
+       background-size: 3.5em;
+       min-height: 4em;
+       margin-bottom: 0.25em;
+       display: table;
+       vertical-align: middle;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       width: 100%;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-withicon.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body {
+       /* Together with 'display: table' above, and FieldLayout styles, this aligns the text */
+       /* vertically to the middle. Don't try this at home, kids. */
+       display: table-row;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-ownwork {
+       .background-image-svg('bookletlayout/option2/ownwork.svg', 'bookletlayout/option2/ownwork.png');
+       background-position: right center;
+       padding-right: 4.5em;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-noderiv {
+       .background-image-svg('bookletlayout/option2/noderiv.svg', 'bookletlayout/option2/noderiv.png');
+       background-position: right center;
+       padding-right: 4.5em;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-useful {
+       .background-image-svg('bookletlayout/option2/useful.svg', 'bookletlayout/option2/useful.png');
+       background-position: right center;
+       padding-right: 4.5em;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-ccbysa {
+       .background-image-svg('bookletlayout/option2/ccbysa.svg', 'bookletlayout/option2/ccbysa.png');
+       background-position: right center;
+       padding-right: 4.5em;
+}
+
+/* Option 3 */
+
+.mw-foreignStructuredUpload-bookletLayout-question .oo-ui-radioOptionWidget {
+       display: inline-block;
+       margin-right: 2em;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-checkbox.oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
+       /* No unreadable greys, please. This is the lightest WCAG AA compliant grey. */
+       color: #707070;
+}
+
+/* Option 4 */
+
+.mw-foreignStructuredUpload-bookletLayout-guide {
+       position: relative;
+       height: 315px;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-good,
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-bad {
+       display: table;
+       width: 150px;
+       height: 140px;
+       position: absolute;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-good span,
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-bad span {
+       display: table-cell;
+       vertical-align: middle;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-good {
+       top: 0;
+       left: 0;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-text-wrapper-bad {
+       bottom: 0;
+       right: 0;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-image {
+       position: absolute;
+       width: 200px;
+       height: 122px;
+       background-color: #fff;
+       background-size: 200px;
+       background-repeat: no-repeat;
+       border: 1px solid #e5e5e5;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-image-camera {
+       .background-image-svg('bookletlayout/option4/camera.svg','bookletlayout/option4/camera.png');
+       top: 0;
+       right: 80px;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-image-graphics {
+       .background-image-svg('bookletlayout/option4/graphics.svg','bookletlayout/option4/graphics.png');
+       top: 50px;
+       right: 0;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-image-website {
+       .background-image-svg('bookletlayout/option4/website-ltr.svg','bookletlayout/option4/website-ltr.png');
+       left: 0;
+       bottom: 50px;
+}
+
+.mw-foreignStructuredUpload-bookletLayout-guide-image-search {
+       .background-image-svg('bookletlayout/option4/search-ltr.svg','bookletlayout/option4/search-ltr.png');
+       left: 80px;
+       bottom: 0;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline.mw-foreignStructuredUpload-bookletLayout-guide-checkbox {
+       /* We're really tight on vertical space. */
+       margin-bottom: 0;
+}
index 0117cea..768efc3 100644 (file)
        ForeignStructuredUpload.prototype.getCategories = function () {
                var i, cat, categoryLinks = [];
 
+               if ( this.categories.length === 0 ) {
+                       return '{{subst:unc}}';
+               }
+
                for ( i = 0; i < this.categories.length; i++ ) {
                        cat = this.categories[ i ];
                        categoryLinks.push( '[[Category:' + cat + ']]' );
index 7401445..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
         * @return {jQuery.Promise} Promise resolved when everything is initialized
         */
        mw.Upload.BookletLayout.prototype.initialize = function () {
+               var
+                       apiPromise,
+                       booklet = this,
+                       deferred = $.Deferred();
+
                this.clear();
                this.upload = this.createUpload();
                this.setPage( 'upload' );
-               return $.Deferred().resolve().promise();
+
+               apiPromise = this.upload.apiPromise || $.Deferred.resolve( this.upload.api );
+               apiPromise.done( function ( api ) {
+                       // If the user can't upload anything, don't give them the option to.
+                       api.getUserInfo().done( function ( userInfo ) {
+                               if ( userInfo.rights.indexOf( 'upload' ) === -1 ) {
+                                       // TODO Use a better error message when not all logged-in users can upload
+                                       booklet.getPage( 'upload' ).$element.msg( 'api-error-mustbeloggedin' );
+                               }
+                       } ).always( function () {
+                               deferred.resolve();
+                       } );
+               } );
+
+               return deferred.promise();
        };
 
        /**
                this.filenameWidget.setValue( file.name );
                this.setPage( 'info' );
 
+               if ( this.shouldRecordBucket ) {
+                       this.upload.bucket = this.bucket;
+               }
+
                this.upload.setFile( file );
                // Explicitly set the filename so that the old filename isn't used in case of retry
                this.upload.setFilenameFromFile();
index 4f8789d..d80b4eb 100644 (file)
                        upload.setState( Upload.State.UPLOADING );
 
                        return finishStash( {
+                               bucket: upload.bucket, // Automatically ignored if undefined
                                watchlist: ( upload.getWatchlist() ) ? 1 : undefined,
                                comment: upload.getComment(),
                                filename: upload.getFilename(),
index a07a403..4a2a367 100644 (file)
@@ -6,8 +6,6 @@ a.feedlink {
         * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
        background-image: url(images/feed-icon.png);
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/feed-icon.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/feed-icon.svg);
        background-position: center left;
        background-repeat: no-repeat;
index 765e92f..c3341bb 100644 (file)
@@ -31,8 +31,6 @@ tr.mw-htmlform-vertical-label td.mw-label {
         * http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
        background-image: url(images/question.png);
        /* @embed */
-       background-image: -webkit-linear-gradient(transparent, transparent), url(images/question.svg);
-       /* @embed */
        background-image: linear-gradient(transparent, transparent), url(images/question.svg);
        background-repeat: no-repeat;
        background-size: 13px 13px;
index c960d65..ada4924 100644 (file)
@@ -3,6 +3,7 @@
  */
 ( function ( mw, $ ) {
        mw.searchSuggest = {
+               // queries the wiki and calls response with the result
                request: function ( api, query, response, maxRows ) {
                        return api.get( {
                                action: 'opensearch',
@@ -13,7 +14,9 @@
                        } ).done( function ( data ) {
                                response( data[ 1 ] );
                        } );
-               }
+               },
+               // The name of the request api for event logging purposes
+               type: 'prefix'
        };
 
        $( function () {
                        mw.track( 'mediawiki.searchSuggest', {
                                action: 'impression-results',
                                numberOfResults: context.config.suggestions.length,
-                               // FIXME: when other types of search become available change this value accordingly
-                               // See the API call below (opensearch = prefix)
-                               resultSetType: 'prefix'
+                               resultSetType: mw.searchSuggest.type
                        } );
                }
 
index b4baa66..d2f2abd 100644 (file)
@@ -4,41 +4,20 @@
  */
 ( function ( mw, $ ) {
        var i,
-               deferreds = {},
+               userInfoPromise,
                byteToHex = [];
 
        /**
         * Get the current user's groups or rights
         *
         * @private
-        * @param {string} info One of 'groups' or 'rights'
         * @return {jQuery.Promise}
         */
-       function getUserInfo( info ) {
-               var api;
-               if ( !deferreds[ info ] ) {
-
-                       deferreds.rights = $.Deferred();
-                       deferreds.groups = $.Deferred();
-
-                       api = new mw.Api();
-                       api.get( {
-                               action: 'query',
-                               meta: 'userinfo',
-                               uiprop: 'rights|groups'
-                       } ).always( function ( data ) {
-                               var rights, groups;
-                               if ( data.query && data.query.userinfo ) {
-                                       rights = data.query.userinfo.rights;
-                                       groups = data.query.userinfo.groups;
-                               }
-                               deferreds.rights.resolve( rights || [] );
-                               deferreds.groups.resolve( groups || [] );
-                       } );
-
+       function getUserInfo() {
+               if ( !userInfoPromise ) {
+                       userInfoPromise = new mw.Api().getUserInfo();
                }
-
-               return deferreds[ info ].promise();
+               return userInfoPromise;
        }
 
        // Map from numbers 0-255 to a hex string (with padding)
                 * @return {jQuery.Promise}
                 */
                getGroups: function ( callback ) {
-                       return getUserInfo( 'groups' ).done( callback );
+                       return getUserInfo().then(
+                               function ( userInfo ) { return userInfo.groups; },
+                               function () { return []; }
+                       ).done( callback );
                },
 
                /**
                 * @return {jQuery.Promise}
                 */
                getRights: function ( callback ) {
-                       return getUserInfo( 'rights' ).done( callback );
+                       return getUserInfo().then(
+                               function ( userInfo ) { return userInfo.rights; },
+                               function () { return []; }
+                       ).done( callback );
                }
        } );
 
index f2509e2..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)
@@ -28,7 +28,7 @@
                 */
                mw.hook( 'wikipage.content' ).fire( $( '#mw-content-text' ) );
 
-               var $diff = $( 'table.diff' );
+               var $diff = $( 'table.diff[data-mw="interface"]' );
                if ( $diff.length ) {
                        /**
                         * Fired when the diff is added to a page containing a diff
index a3197da..578c846 100644 (file)
        };
 
        $( function () {
-               var $links = $( '.mw-watchlink a, a.mw-watchlink, ' +
-                       '#ca-watch a, #ca-unwatch a, #mw-unwatch-link1, ' +
-                       '#mw-unwatch-link2, #mw-watch-link2, #mw-watch-link1' );
-
-               // Allowing people to add inline animated links is a little scary
+               var $links = $( '.mw-watchlink a, a.mw-watchlink' );
+               // Restrict to core interfaces, ignore user-generated content
                $links = $links.filter( ':not( #bodyContent *, #content * )' );
 
                $links.click( function ( e ) {
index b2232e6..35eb153 100644 (file)
 #   bundle exec cucumber
 #
 mw-vagrant-host: &default
+  user_factory: true
   mediawiki_url: http://127.0.0.1:8080/wiki/
-  mediawiki_user: Selenium_user
-  mediawiki_password: vagrant
 
 mw-vagrant-guest:
+  user_factory: true
   mediawiki_url: http://127.0.0.1/wiki/
-  mediawiki_user: Selenium_user
-  mediawiki_password: vagrant
 
 beta:
   mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/
@@ -34,4 +32,8 @@ test2:
   mediawiki_user: Selenium_user
   # mediawiki_password: SET THIS IN THE ENVIRONMENT!
 
+integration:
+  user_factory: true
+  # mediawiki_url: THIS WILL BE SET BY JENKINS
+
 default: *default
index 5eff4ce..c1072b2 100644 (file)
@@ -1,4 +1,3 @@
-require 'mediawiki_selenium'
-
-require 'mediawiki_selenium/support'
+require 'mediawiki_selenium/cucumber'
+require 'mediawiki_selenium/pages'
 require 'mediawiki_selenium/step_definitions'
index c456fcb..a0e0b3a 100644 (file)
@@ -20541,6 +20541,15 @@ HTML5 data attributes
 
 !! end
 
+!! test
+Strip reserved data attributes
+!! wikitext
+<div data-mw="foo" data-parsoid="bar" data-mw-someext="baz" data-ok="fred" data-ooui="xyzzy">d</div>
+!! html
+<div data-ok="fred">d</div>
+
+!! end
+
 !! test
 percent-encoding and + signs in internal links (Bug 26410)
 !! wikitext
@@ -26339,12 +26348,3 @@ Empty LI (T49673)
 <li>b</li>
 </ul>
 !! end
-
-!! test
-reserved data attributes stripped
-!! wikitext
-<div data-mw="foo" data-parsoid="bar" data-mw-someext="baz" data-ok="fred" data-ooui="xyzzy">d</div>
-!! html
-<div data-ok="fred">d</div>
-
-!! end
index 51154ae..fff05c7 100644 (file)
@@ -36,6 +36,10 @@ class ApiOptionsTest extends MediaWikiLangTestCase {
                $this->mUserMock->expects( $this->any() )
                        ->method( 'getOptionKinds' )->will( $this->returnCallback( array( $this, 'getOptionKinds' ) ) );
 
+               // No actual DB data
+               $this->mUserMock->expects( $this->any() )
+                       ->method( 'getInstanceForUpdate' )->will( $this->returnValue( $this->mUserMock ) );
+
                // Create a new context
                $this->mContext = new DerivativeContext( new RequestContext() );
                $this->mContext->getContext()->setTitle( Title::newFromText( 'Test' ) );
@@ -283,21 +287,21 @@ class ApiOptionsTest extends MediaWikiLangTestCase {
                $this->mUserMock->expects( $this->at( 2 ) )
                        ->method( 'getOptions' );
 
-               $this->mUserMock->expects( $this->at( 4 ) )
+               $this->mUserMock->expects( $this->at( 5 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'willBeNull' ), $this->identicalTo( null ) );
 
-               $this->mUserMock->expects( $this->at( 5 ) )
+               $this->mUserMock->expects( $this->at( 6 ) )
                        ->method( 'getOptions' );
 
-               $this->mUserMock->expects( $this->at( 6 ) )
+               $this->mUserMock->expects( $this->at( 7 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'willBeEmpty' ), $this->equalTo( '' ) );
 
-               $this->mUserMock->expects( $this->at( 7 ) )
+               $this->mUserMock->expects( $this->at( 8 ) )
                        ->method( 'getOptions' );
 
-               $this->mUserMock->expects( $this->at( 8 ) )
+               $this->mUserMock->expects( $this->at( 9 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'willBeHappy' ), $this->equalTo( 'Happy' ) );
 
@@ -317,17 +321,17 @@ class ApiOptionsTest extends MediaWikiLangTestCase {
                $this->mUserMock->expects( $this->once() )
                        ->method( 'resetOptions' );
 
-               $this->mUserMock->expects( $this->at( 4 ) )
+               $this->mUserMock->expects( $this->at( 5 ) )
                        ->method( 'getOptions' );
 
-               $this->mUserMock->expects( $this->at( 5 ) )
+               $this->mUserMock->expects( $this->at( 6 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'willBeHappy' ), $this->equalTo( 'Happy' ) );
 
-               $this->mUserMock->expects( $this->at( 6 ) )
+               $this->mUserMock->expects( $this->at( 7 ) )
                        ->method( 'getOptions' );
 
-               $this->mUserMock->expects( $this->at( 7 ) )
+               $this->mUserMock->expects( $this->at( 8 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'name' ), $this->equalTo( 'value' ) );
 
@@ -350,19 +354,19 @@ class ApiOptionsTest extends MediaWikiLangTestCase {
                $this->mUserMock->expects( $this->never() )
                        ->method( 'resetOptions' );
 
-               $this->mUserMock->expects( $this->at( 3 ) )
+               $this->mUserMock->expects( $this->at( 4 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'testmultiselect-opt1' ), $this->identicalTo( true ) );
 
-               $this->mUserMock->expects( $this->at( 4 ) )
+               $this->mUserMock->expects( $this->at( 5 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'testmultiselect-opt2' ), $this->identicalTo( null ) );
 
-               $this->mUserMock->expects( $this->at( 5 ) )
+               $this->mUserMock->expects( $this->at( 6 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'testmultiselect-opt3' ), $this->identicalTo( false ) );
 
-               $this->mUserMock->expects( $this->at( 6 ) )
+               $this->mUserMock->expects( $this->at( 7 ) )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'testmultiselect-opt4' ), $this->identicalTo( false ) );
 
@@ -429,7 +433,7 @@ class ApiOptionsTest extends MediaWikiLangTestCase {
                $this->mUserMock->expects( $this->never() )
                        ->method( 'resetOptions' );
 
-               $this->mUserMock->expects( $this->at( 3 ) )
+               $this->mUserMock->expects( $this->once() )
                        ->method( 'setOption' )
                        ->with( $this->equalTo( 'userjs-option' ), $this->equalTo( '1' ) );
 
index 04b8f48..369e38b 100644 (file)
@@ -307,12 +307,34 @@ class IPTest extends PHPUnit_Framework_TestCase {
        }
 
        /**
-        * Improve IP::sanitizeIP() code coverage
-        * @todo Most probably incomplete
+        * @covers IP::sanitizeIP
+        * @dataProvider provideSanitizeIP
         */
-       public function testSanitizeIP() {
-               $this->assertNull( IP::sanitizeIP( '' ) );
-               $this->assertNull( IP::sanitizeIP( ' ' ) );
+       public function testSanitizeIP( $expected, $input ) {
+               $result = IP::sanitizeIP( $input );
+               $this->assertEquals( $expected, $result );
+       }
+
+       /**
+        * Provider for IP::testSanitizeIP()
+        */
+       public static function provideSanitizeIP() {
+               return array(
+                       array( '0.0.0.0', '0.0.0.0' ),
+                       array( '0.0.0.0', '00.00.00.00' ),
+                       array( '0.0.0.0', '000.000.000.000' ),
+                       array( '141.0.11.253', '141.000.011.253' ),
+                       array( '1.2.4.5', '1.2.4.5' ),
+                       array( '1.2.4.5', '01.02.04.05' ),
+                       array( '1.2.4.5', '001.002.004.005' ),
+                       array( '10.0.0.1', '010.0.000.1' ),
+                       array( '80.72.250.4', '080.072.250.04' ),
+                       array( 'Foo.1000.00', 'Foo.1000.00' ),
+                       array( 'Bar.01', 'Bar.01' ),
+                       array( 'Bar.010', 'Bar.010' ),
+                       array( null, '' ),
+                       array( null, ' ' )
+               );
        }
 
        /**
@@ -336,6 +358,7 @@ class IPTest extends PHPUnit_Framework_TestCase {
                        array( '80000000', '128.0.0.0' ),
                        array( 'DEADCAFE', '222.173.202.254' ),
                        array( 'FFFFFFFF', '255.255.255.255' ),
+                       array( '8D000BFD', '141.000.11.253' ),
                        array( false, 'IN.VA.LI.D' ),
                        array( 'v6-00000000000000000000000000000001', '::1' ),
                        array( 'v6-20010DB885A3000000008A2E03707334', '2001:0db8:85a3:0000:0000:8a2e:0370:7334' ),
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;
+       }
+}