Merge "Add CASCADINGSOURCES parser function"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 6 Jan 2014 19:04:53 +0000 (19:04 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 6 Jan 2014 19:04:53 +0000 (19:04 +0000)
248 files changed:
CREDITS
RELEASE-NOTES-1.23
api.php
docs/hooks.txt
includes/AutoLoader.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Export.php
includes/Import.php
includes/Linker.php
includes/PrefixSearch.php
includes/SpecialPageFactory.php
includes/Title.php
includes/User.php
includes/UserMailer.php
includes/Wiki.php
includes/WikiFilePage.php
includes/WikiPage.php
includes/actions/HistoryAction.php
includes/actions/RollbackAction.php
includes/api/ApiFileRevert.php
includes/api/ApiMain.php
includes/api/ApiPageSet.php
includes/api/ApiQueryBase.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiUpload.php
includes/cache/CacheDependency.php
includes/cache/LocalisationCache.php
includes/cache/MessageCache.php
includes/changes/EnhancedChangesList.php
includes/db/Database.php
includes/db/DatabaseError.php
includes/db/DatabaseMysqlBase.php
includes/db/DatabasePostgres.php
includes/db/DatabaseSqlite.php
includes/db/LBFactory.php
includes/db/LBFactoryMulti.php
includes/deferred/SquidUpdate.php
includes/job/JobQueueDB.php
includes/job/jobs/DoubleRedirectJob.php
includes/libs/MWMessagePack.php [new file with mode: 0644]
includes/libs/RunningStat.php [new file with mode: 0644]
includes/logging/DeleteLogFormatter.php
includes/logging/LogFormatter.php
includes/logging/LogPager.php
includes/parser/Parser.php
includes/parser/ParserCache.php
includes/parser/ParserOptions.php
includes/parser/ParserOutput.php
includes/profiler/RunningStat.php [deleted file]
includes/rcfeed/IRCColourfulRCFeedFormatter.php
includes/rcfeed/JSONRCFeedFormatter.php
includes/rcfeed/RCFeedEngine.php
includes/rcfeed/RCFeedFormatter.php
includes/rcfeed/RedisPubSubFeedEngine.php
includes/rcfeed/UDPRCFeedEngine.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderFileModule.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/resourceloader/ResourceLoaderUserCSSPrefsModule.php
includes/resourceloader/ResourceLoaderUserOptionsModule.php
includes/search/SearchEngine.php
includes/specialpage/SpecialPage.php
includes/specials/SpecialBlock.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialExport.php
includes/specials/SpecialProtectedpages.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialUpload.php
includes/specials/SpecialVersion.php
includes/upload/UploadBase.php
includes/utils/UIDGenerator.php
languages/Language.php
languages/LanguageConverter.php
languages/classes/LanguageBe_tarask.php
languages/classes/LanguageHr.php [deleted file]
languages/classes/LanguageRu.php
languages/classes/LanguageSr.php
languages/classes/LanguageSr_ec.php [deleted file]
languages/classes/LanguageSr_el.php [deleted file]
languages/classes/LanguageUk.php
languages/data/plurals-mediawiki.xml
languages/data/plurals.xml [changed mode: 0644->0755]
languages/messages/MessagesAr.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesAz.php
languages/messages/MessagesAzb.php
languages/messages/MessagesBa.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBm.php
languages/messages/MessagesBn.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCe.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCo.php
languages/messages/MessagesCrh_cyrl.php
languages/messages/MessagesCs.php
languages/messages/MessagesCv.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesEgl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEu.php
languages/messages/MessagesFa.php
languages/messages/MessagesFf.php
languages/messages/MessagesFi.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesHe.php
languages/messages/MessagesHr.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHt.php
languages/messages/MessagesHu.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesInh.php
languages/messages/MessagesIs.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKhw.php
languages/messages/MessagesKm.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesLa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLiv.php
languages/messages/MessagesLn.php
languages/messages/MessagesLrc.php
languages/messages/MessagesLus.php
languages/messages/MessagesMg.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMyv.php
languages/messages/MessagesNah.php
languages/messages/MessagesNap.php
languages/messages/MessagesNb.php
languages/messages/MessagesOc.php
languages/messages/MessagesOr.php
languages/messages/MessagesPcd.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPt.php
languages/messages/MessagesQqq.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesRue.php
languages/messages/MessagesSa.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSg.php
languages/messages/MessagesSi.php
languages/messages/MessagesSl.php
languages/messages/MessagesSq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSv.php
languages/messages/MessagesSw.php
languages/messages/MessagesTa.php
languages/messages/MessagesTe.php
languages/messages/MessagesTh.php
languages/messages/MessagesTl.php
languages/messages/MessagesTr.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesTy.php
languages/messages/MessagesTyv.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesVi.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.php
languages/messages/MessagesWa.php
languages/messages/MessagesWo.php
languages/messages/MessagesXal.php
languages/messages/MessagesYi.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/fixDoubleRedirects.php
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
resources/Resources.php
resources/mediawiki.libs/CLDRPluralRuleParser.js
resources/mediawiki.special/mediawiki.special.block.css [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.version.css [new file with mode: 0644]
resources/mediawiki/images/arrow-collapsed-ltr.svg
resources/mediawiki/images/arrow-collapsed-rtl.svg
resources/mediawiki/images/arrow-expanded.svg
skins/common/commonPrint.css
skins/common/images/feed-icon.svg
skins/common/images/question.svg
skins/common/shared.css
skins/vector/images/arrow-collapsed-ltr.svg
skins/vector/images/arrow-collapsed-rtl.svg
skins/vector/images/arrow-down-focus-icon.svg
skins/vector/images/arrow-down-icon.svg
skins/vector/images/arrow-expanded.svg
skins/vector/images/audio-icon.svg
skins/vector/images/document-icon.svg
skins/vector/images/external-link-ltr-icon.svg
skins/vector/images/external-link-rtl-icon.svg
skins/vector/images/file-icon.svg
skins/vector/images/lock-icon.svg
skins/vector/images/mail-icon.svg
skins/vector/images/news-icon.svg
skins/vector/images/talk-icon.svg
skins/vector/images/user-icon.svg
skins/vector/images/video-icon.svg
tests/phpunit/includes/RunningStatTest.php [deleted file]
tests/phpunit/includes/TestUser.php
tests/phpunit/includes/db/LBFactoryTest.php
tests/phpunit/includes/htmlform/HTMLCheckMatrixTest.php
tests/phpunit/includes/libs/MWMessagePackTest.php [new file with mode: 0644]
tests/phpunit/includes/libs/RunningStatTest.php [new file with mode: 0644]
tests/phpunit/includes/logging/LogFormatterTest.php
tests/phpunit/includes/search/SearchEngineTest.php
tests/phpunit/includes/utils/UIDGeneratorTest.php
tests/phpunit/languages/LanguageBe_taraskTest.php
tests/phpunit/languages/LanguageBsTest.php
tests/phpunit/languages/LanguageHrTest.php
tests/phpunit/languages/LanguageHyTest.php
tests/phpunit/languages/LanguageLvTest.php
tests/phpunit/languages/LanguageMkTest.php
tests/phpunit/languages/LanguageRuTest.php
tests/phpunit/languages/LanguageSgsTest.php
tests/phpunit/languages/LanguageShTest.php
tests/phpunit/languages/LanguageSrTest.php
tests/phpunit/languages/LanguageUkTest.php

diff --git a/CREDITS b/CREDITS
index 01505b0..21db850 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -1,8 +1,11 @@
+{{int:version-credits-summary}}
+<!--
 MediaWiki 1.23 is a collaborative project released under the
 GNU General Public License v2. We would like to recognize the
 following names for their contribution to the product.
-
+-->
 <!-- Please notice that the following can be found parsed under Special:Version/Credits -->
+
 == Developers ==
 * Aaron Schulz
 * Alex Z.
index 062d9c5..afa7efd 100644 (file)
@@ -26,6 +26,8 @@ production.
   now enabled by default.
 * $wgLBFactoryConf: Class names have had underscores removed. The configuration
   should be updated if LBFactory_Simple or LBFactory_Multi is configured.
+* $wgPasswordSenderName has been deprecated. To set a custom mailer name,
+  the system message 'emailsender' should be modified (default: "{{SITENAME}}").
 
 === New features in 1.23 ===
 * ResourceLoader can utilize the Web Storage API to cache modules client-side.
@@ -63,6 +65,10 @@ production.
   its #test method when strings are used in the browser map: version '1.10' is
   now correctly considered larger than '1.2'. Using numbers in the version map
   is not affected.
+* All API modules now support an assert parameter, which can either be
+  'user' or 'bot'. The API will throw an error if the user is not logged
+  in (user) or does not have the 'bot' userright (bot). Based off of the
+  AssertEdit extension by Steve Sanbeg.
 
 === Bug fixes in 1.23 ===
 * (bug 41759) The "updated since last visit" markers (on history pages, recent
@@ -82,8 +88,13 @@ production.
 * (bug 57201) SpecialRecentChangesFilters hook is now executed for feeds.
 * (bug 58640) Fixed a compatibility issue with PCRE 8.34 that caused pages
   to appear blank or with missing text.
+* (bug 56931) Updated the plural rules to CLDR 24. They are in new format
+  which is detailed in UTS 35 Rev 33. The PHP parser and evaluator as well as
+  the JavaScript evaluator were updated to support the new format. Plural rules
+  for some languages have changed, most notably Russian. Affected software
+  messages have been updated and marked for review at translatewiki.net.
 
-=== API changes in 1.23 ===
+=== Web API changes in 1.23 ===
 * (bug 54884) action=parse&prop=categories now indicates hidden and missing
   categories.
 * action=query&meta=filerepoinfo now returns additional information for each
@@ -97,6 +108,8 @@ production.
 * ApiQueryBase::titlePartToKey allows an extra parameter that indicates the
   namespace in order to properly capitalize the title part.
 * (bug 57874) action=feedcontributions no longer has one item more than limit.
+* All API modules now support an assert parameter. See the new features section
+  for more details.
 
 === Languages updated in 1.23 ===
 
@@ -104,7 +117,7 @@ MediaWiki supports over 350 languages. Many localisations are updated
 regularly. Below only new and removed languages are listed, as well as
 changes to languages because of Bugzilla reports.
 
-* Support was added for Northern Luri (lrc)
+* Support was added for Northern Luri (lrc).
 
 === Other changes in 1.23 ===
 * The rc_type field in the recentchanges table has been superseded by a new
@@ -119,7 +132,6 @@ changes to languages because of Bugzilla reports.
 * The global variable $wgArticle has been removed after a lengthy deprecation.
 * The global functions addButton and insertTags (for mw.toolbar.addButton and
   mw.toolbar.insertTags) now emits mw.log.warn when accessed.
-* User::getPageRenderingHash() was deprecated since 1.17 and has been removed.
 * The ExpandTemplates extension has been moved into MediaWiki core.
 * (bug 52812) Removed "Disable search suggestions" from Preference.
 * (bug 52809) Removed "Disable browser page caching" from Preference.
@@ -135,53 +147,82 @@ changes to languages because of Bugzilla reports.
 * A page_links_updated field has been added to the page table.
 * SpecialPage::getTitle has been deprecated in favor of
   SpecialPage::getPageTitle.
-* EditPage::spamPage() was deprecated since 1.17 and has been removed.
-* SpecialRecentChanges::feedSetup() was removed.
-* Removed classes:
-  - TitleDependency
-  - TitleListDependency
-* Renamed classes:
-  - CdbReader_DBA to CdbReaderDBA
-  - CdbReader_PHP to CdbReaderPHP
-  - CdbWriter_DBA to CdbWriterDBA
-  - CdbWriter_PHP to CdbWriterPHP
-  - DiffOp_Add to DiffOpAdd
-  - DiffOp_Change to DiffOpChange
-  - DiffOp_Copy to DiffOpCopy
-  - DiffOp_Delete to DiffOpDelete
-  - HWLDF_WordAccumulator to HWLDFWordAccumulator
-  - LBFactory_Fake to LBFactoryFake
-  - LBFactory_Multi to LBFactoryMulti
-  - LBFactory_Simple to LBFactorySimple
-  - LBFactory_Single to LBFactorySingle
-  - LCStore_Accel to LCStoreAccel
-  - LCStore_CDB to LCStoreCDB
-  - LCStore_DB to LCStoreDB
-  - LCStore_Null to LCStoreNull
-  - LoadBalancer_Single to LoadBalancerSingle
-  - LoadMonitor_MySQL to LoadMonitorMySQL
-  - LoadMonitor_Null to LoadMonitorNull
-  - LocalisationCache_BulkLoad to LocalisationCacheBulkLoad
-  - csvStatsOutput to CsvStatsOutput
-  - extensionLanguages to ExtensionLanguages
-  - languages to Languages
-  - statsOutput to StatsOutput
-  - textStatsOutput to TextStatsOutput
-  - wikiStatsOutput to WikiStatsOutput
-* Removed methods:
-  - Exif::getFormattedData() (deprecated in 1.18)
-  - Exif::makeFormattedData() (deprecated in 1.18)
-  - Linker::makeBrokenLink() (deprecated in 1.16)
-  - Linker::makeBrokenLinkObj() (deprecated in 1.16)
-  - Linker::makeColouredLinkObj() (deprecated in 1.16)
-  - Linker::makeSizeLinkObj() (deprecated in 1.17)
-  - ProfilerSimple::getCpuTime (deprecated in 1.20)
-  - Revision::revText() (deprecated in 1.17)
-  - SkinTemplate::jstext() (deprecated in 1.21)
-  - SpecialRevisionDelete::extractBitField() (deprecated in 1.22)
-  - WikiPage::quickEdit() (deprecated in 1.18)
-  - WikiPage::useParserCache() (deprecated in 1.18)
-  - WikiPage::viewUpdates() (deprecated in 1.18)
+
+==== Removed classes ====
+* TitleDependency
+* TitleListDependency
+
+==== Renamed classes ====
+* CdbReader_DBA to CdbReaderDBA
+* CdbReader_PHP to CdbReaderPHP
+* CdbWriter_DBA to CdbWriterDBA
+* CdbWriter_PHP to CdbWriterPHP
+* DiffOp_Add to DiffOpAdd
+* DiffOp_Change to DiffOpChange
+* DiffOp_Copy to DiffOpCopy
+* DiffOp_Delete to DiffOpDelete
+* HWLDF_WordAccumulator to HWLDFWordAccumulator
+* LBFactory_Fake to LBFactoryFake
+* LBFactory_Multi to LBFactoryMulti
+* LBFactory_Simple to LBFactorySimple
+* LBFactory_Single to LBFactorySingle
+* LCStore_Accel to LCStoreAccel
+* LCStore_CDB to LCStoreCDB
+* LCStore_DB to LCStoreDB
+* LCStore_Null to LCStoreNull
+* LoadBalancer_Single to LoadBalancerSingle
+* LoadMonitor_MySQL to LoadMonitorMySQL
+* LoadMonitor_Null to LoadMonitorNull
+* LocalisationCache_BulkLoad to LocalisationCacheBulkLoad
+* csvStatsOutput to CsvStatsOutput
+* extensionLanguages to ExtensionLanguages
+* languages to Languages
+* statsOutput to StatsOutput
+* textStatsOutput to TextStatsOutput
+* wikiStatsOutput to WikiStatsOutput
+
+==== Removed methods ====
+* EditPage::spamPage() (deprecated since 1.17)
+* Exif::getFormattedData() (deprecated in 1.18)
+* Exif::makeFormattedData() (deprecated in 1.18)
+* Language::convertLinkToAllVariants() (deprecated in 1.17)
+* LanguageConverter::convertLinkToAllVariants() (deprecated in 1.17)
+* Linker::makeBrokenLink() (deprecated in 1.16)
+* Linker::makeBrokenLinkObj() (deprecated in 1.16)
+* Linker::makeColouredLinkObj() (deprecated in 1.16)
+* Linker::makeSizeLinkObj() (deprecated in 1.17)
+* ProfilerSimple::getCpuTime (deprecated in 1.20)
+* Revision::revText() (deprecated in 1.17)
+* SkinTemplate::jstext() (deprecated in 1.21)
+* SpecialPage::__call() (deprecated in 1.17)
+* SpecialPage::executePath() (deprecated in 1.18)
+* SpecialPage::exists() (deprecated in 1.18)
+* SpecialPage::file() (deprecated in 1.18)
+* SpecialPage::func() (deprecated in 1.18)
+* SpecialPage::getGroup() (deprecated in 1.18)
+* SpecialPage::getPage() (deprecated in 1.18)
+* SpecialPage::getPageByAlias() (deprecated in 1.18)
+* SpecialPage::getLocalNameFor() (deprecated in 1.18)
+* SpecialPage::getRegularPages() (deprecated in 1.18)
+* SpecialPage::getRestrictedPages() (deprecated in 1.18)
+* SpecialPage::getTitleForAlias() (deprecated in 1.18)
+* SpecialPage::getUsablePages() (deprecated in 1.18)
+* SpecialPage::includable() (deprecated in 1.18)
+* SpecialPage::init()
+* SpecialPage::initAliasList() (deprecated in 1.18)
+* SpecialPage::initList() (deprecated in 1.18)
+* SpecialPage::name() (deprecated in 1.18)
+* SpecialPage::removePage() (deprecated in 1.18)
+* SpecialPage::resolveAlias() (deprecated in 1.18)
+* SpecialPage::resolveAliasWithSubpage() (deprecated in 1.18)
+* SpecialPage::restriction() (deprecated in 1.18)
+* SpecialPage::setGroup() (deprecated in 1.18)
+* SpecialRecentChanges::feedSetup()
+* SpecialRevisionDelete::extractBitField() (deprecated in 1.22)
+* User::getPageRenderingHash() (deprecated in 1.17)
+* WikiPage::quickEdit() (deprecated in 1.18)
+* WikiPage::useParserCache() (deprecated in 1.18)
+* WikiPage::viewUpdates() (deprecated in 1.18)
 
 == Compatibility ==
 
diff --git a/api.php b/api.php
index 51bb2ad..0d2312a 100644 (file)
--- a/api.php
+++ b/api.php
@@ -75,12 +75,17 @@ wfRunHooks( 'ApiBeforeMain', array( &$processor ) );
 // Process data & print results
 $processor->execute();
 
+if ( function_exists( 'fastcgi_finish_request' ) ) {
+       fastcgi_finish_request();
+}
+
 // Execute any deferred updates
 DeferredUpdates::doUpdates();
 
 // Log what the user did, for book-keeping purposes.
 $endtime = microtime( true );
 wfProfileOut( 'api.php' );
+
 wfLogProfilingData();
 
 // Log the request
index fc4d40e..fd434d4 100644 (file)
@@ -1793,7 +1793,8 @@ $queryInfo: the query parameters
 'PageRenderingHash': Alter the parser cache option hash key. A parser extension
 which depends on user options should install this hook and append its values to
 the key.
-$hash: reference to a hash key string which can be modified
+&$confstr: reference to a hash key string which can be modified
+$user: User (object) requesting the page
 
 'ParserAfterParse': Called from Parser::parse() just after the call to
 Parser::internalParse() returns.
index 1f81249..cd062e0 100644 (file)
@@ -185,7 +185,6 @@ $wgAutoloadLocalClasses = array(
        'Revision' => 'includes/Revision.php',
        'RevisionList' => 'includes/RevisionList.php',
        'RSSFeed' => 'includes/Feed.php',
-       'RunningStat' => 'includes/profiler/RunningStat.php',
        'Sanitizer' => 'includes/Sanitizer.php',
        'SiteConfiguration' => 'includes/SiteConfiguration.php',
        'SiteStats' => 'includes/SiteStats.php',
@@ -688,6 +687,8 @@ $wgAutoloadLocalClasses = array(
        'JSParser' => 'includes/libs/jsminplus.php',
        'JSToken' => 'includes/libs/jsminplus.php',
        'JSTokenizer' => 'includes/libs/jsminplus.php',
+       'MWMessagePack' => 'includes/libs/MWMessagePack.php',
+       'RunningStat' => 'includes/libs/RunningStat.php',
        'ScopedCallback' => 'includes/libs/ScopedCallback.php',
        'ScopedPHPTimeout' => 'includes/libs/ScopedPHPTimeout.php',
        'XmlTypeCheck' => 'includes/libs/XmlTypeCheck.php',
@@ -1156,9 +1157,6 @@ class AutoLoader {
         * autoload - take a class name and attempt to load it
         *
         * @param string $className name of class we're looking for.
-        * @return bool Returning false is important on failure as
-        * it allows Zend to try and look in other registered autoloaders
-        * as well.
         */
        static function autoload( $className ) {
                global $wgAutoloadClasses, $wgAutoloadLocalClasses,
@@ -1208,7 +1206,7 @@ class AutoLoader {
                        }
 
                        # Give up
-                       return false;
+                       return;
                }
 
                # Make an absolute path, this improves performance by avoiding some stat calls
@@ -1218,8 +1216,6 @@ class AutoLoader {
                }
 
                require $filename;
-
-               return true;
        }
 
        /**
index f799452..9b2b676 100644 (file)
@@ -1319,6 +1319,8 @@ unset( $serverName ); # Don't leak local variables to global scope
 
 /**
  * Password reminder name
+ *
+ * @deprecated since 1.23; use the system message 'emailsender' instead.
  */
 $wgPasswordSenderName = 'MediaWiki Mail';
 
index f86cae4..ba49378 100644 (file)
@@ -1913,12 +1913,10 @@ class EditPage {
        function getBaseRevision() {
                if ( !$this->mBaseRevision ) {
                        $db = wfGetDB( DB_MASTER );
-                       $baseRevision = Revision::loadFromTimestamp(
+                       $this->mBaseRevision = Revision::loadFromTimestamp(
                                $db, $this->mTitle, $this->edittime );
-                       return $this->mBaseRevision = $baseRevision;
-               } else {
-                       return $this->mBaseRevision;
                }
+               return $this->mBaseRevision;
        }
 
        /**
index b4a507d..639ba28 100644 (file)
@@ -866,7 +866,7 @@ class XmlDumpWriter {
         * @since 1.18
         */
        public static function canonicalTitle( Title $title ) {
-               if ( $title->getInterwiki() ) {
+               if ( $title->isExternal() ) {
                        return $title->getPrefixedText();
                }
 
index 8b7af02..721b94b 100644 (file)
@@ -1717,7 +1717,7 @@ class ImportStreamSource {
                        return Status::newFatal( 'import-noarticle' );
                }
                $link = Title::newFromText( "$interwiki:Special:Export/$page" );
-               if ( is_null( $link ) || $link->getInterwiki() == '' ) {
+               if ( is_null( $link ) || !$link->isExternal() ) {
                        return Status::newFatal( 'importbadinterwiki' );
                } else {
                        $params = array();
index 27f8ab4..867b88b 100644 (file)
@@ -1446,7 +1446,7 @@ class Linker {
 
                        $target = Title::newFromText( $linkTarget );
                        if ( $target ) {
-                               if ( $target->getText() == '' && $target->getInterwiki() === ''
+                               if ( $target->getText() == '' && !$target->isExternal()
                                        && !self::$commentLocal && self::$commentContextTitle
                                ) {
                                        $newTarget = clone ( self::$commentContextTitle );
@@ -2137,7 +2137,8 @@ class Linker {
                }
 
                wfProfileOut( __METHOD__ );
-               return self::$accesskeycache[$name] = $accesskey;
+               self::$accesskeycache[$name] = $accesskey;
+               return self::$accesskeycache[$name];
        }
 
        /**
index 3c464c5..780cae5 100644 (file)
@@ -44,7 +44,7 @@ class PrefixSearch {
 
                // Find a Title which is not an interwiki and is in NS_MAIN
                $title = Title::newFromText( $search );
-               if ( $title && $title->getInterwiki() == '' ) {
+               if ( $title && !$title->isExternal() ) {
                        $ns = array( $title->getNamespace() );
                        if ( $ns[0] == NS_MAIN ) {
                                $ns = $namespaces; // no explicit prefix, use default namespaces
@@ -57,7 +57,7 @@ class PrefixSearch {
                $title = Title::newFromText( $search . 'Dummy' );
                if ( $title && $title->getText() == 'Dummy'
                        && $title->getNamespace() != NS_MAIN
-                       && $title->getInterwiki() == '' ) {
+                       && !$title->isExternal() ) {
                        return self::searchBackend(
                                array( $title->getNamespace() ), '', $limit );
                }
index 2cd9a3a..18b8f0b 100644 (file)
@@ -44,7 +44,6 @@
  * @since 1.17
  */
 class SpecialPageFactory {
-
        /**
         * List of special page names to the subclass of SpecialPage which handles them.
         */
@@ -259,8 +258,8 @@ class SpecialPageFactory {
         * where the first element is the special page name and the second is the
         * subpage.
         *
-        * @param $alias String
-        * @return Array( String, String|null ), or array( null, null ) if the page is invalid
+        * @param string $alias
+        * @return array Array( String, String|null ), or array( null, null ) if the page is invalid
         */
        public static function resolveAlias( $alias ) {
                global $wgContLang;
@@ -286,8 +285,8 @@ class SpecialPageFactory {
        /**
         * Add a page to a certain display group for Special:SpecialPages
         *
-        * @param $page Mixed: SpecialPage or string
-        * @param $group String
+        * @param SpecialPage|string $page
+        * @param string $group
         * @deprecated since 1.21 Override SpecialPage::getGroupName
         */
        public static function setGroup( $page, $group ) {
@@ -301,8 +300,8 @@ class SpecialPageFactory {
        /**
         * Get the group that the special page belongs in on Special:SpecialPage
         *
-        * @param $page SpecialPage
-        * @return String
+        * @param SpecialPage $page
+        * @return string
         * @deprecated since 1.21 Use SpecialPage::getFinalGroupName
         */
        public static function getGroup( &$page ) {
@@ -314,8 +313,8 @@ class SpecialPageFactory {
        /**
         * Check if a given name exist as a special page or as a special page alias
         *
-        * @param string $name name of a special page
-        * @return Boolean: true if a special page exists with this name
+        * @param string $name Name of a special page
+        * @return bool True if a special page exists with this name
         */
        public static function exists( $name ) {
                list( $title, /*...*/ ) = self::resolveAlias( $name );
@@ -351,9 +350,9 @@ class SpecialPageFactory {
         * Return categorised listable special pages which are available
         * for the current user, and everyone.
         *
-        * @param $user User object to check permissions, $wgUser will be used
-        *              if not provided
-        * @return Array( String => Specialpage )
+        * @param $user User object to check permissions, $wgUser will be used if
+        *   if not provided
+        * @return array ( string => Specialpage )
         */
        public static function getUsablePages( User $user = null ) {
                $pages = array();
@@ -378,7 +377,7 @@ class SpecialPageFactory {
        /**
         * Return categorised listable special pages for all users
         *
-        * @return Array( String => Specialpage )
+        * @return array ( string => Specialpage )
         */
        public static function getRegularPages() {
                $pages = array();
@@ -395,7 +394,7 @@ class SpecialPageFactory {
         * Return categorised listable special pages which are available
         * for the current user, but not for everyone
         *
-        * @return Array( String => Specialpage )
+        * @return array ( string => Specialpage )
         */
        public static function getRestrictedPages() {
                global $wgUser;
@@ -421,9 +420,9 @@ class SpecialPageFactory {
         * Returns a title object if the page is redirected, false if there was no such special
         * page, and true if it was successful.
         *
-        * @param $title          Title object
-        * @param $context        IContextSource
-        * @param $including      Bool output is being captured for use in {{special:whatever}}
+        * @param Title $title
+        * @param IContextSource $context
+        * @param bool $including Bool output is being captured for use in {{special:whatever}}
         *
         * @return bool
         */
@@ -501,10 +500,9 @@ class SpecialPageFactory {
         * variables so that the special page will get the context it'd expect on a
         * normal request, and then restores them to their previous values after.
         *
-        * @param $title Title
-        * @param $context IContextSource
-        *
-        * @return String: HTML fragment
+        * @param Title $title
+        * @param IContextSource $context
+        * @return string HTML fragment
         */
        static function capturePath( Title $title, IContextSource $context ) {
                global $wgOut, $wgTitle, $wgRequest, $wgUser, $wgLang;
@@ -539,10 +537,9 @@ class SpecialPageFactory {
        /**
         * Get the local name for a specified canonical name
         *
-        * @param $name String
-        * @param $subpage String|Bool
-        *
-        * @return String
+        * @param string $name
+        * @param string|bool $subpage
+        * @return string
         */
        static function getLocalNameFor( $name, $subpage = false ) {
                global $wgContLang;
@@ -576,9 +573,8 @@ class SpecialPageFactory {
        /**
         * Get a title for a given alias
         *
-        * @param $alias String
-        *
-        * @return Title or null if there is no such alias
+        * @param string $alias
+        * @return Title|null Title or null if there is no such alias
         */
        static function getTitleForAlias( $alias ) {
                $name = self::resolveAlias( $alias );
index 5ab9e94..d300513 100644 (file)
@@ -59,7 +59,7 @@ class Title {
        var $mDbkeyform = '';             // /< Main part with underscores
        var $mUserCaseDBKey;              // /< DB key with the initial letter in the case specified by the user
        var $mNamespace = NS_MAIN;        // /< Namespace index, i.e. one of the NS_xxxx constants
-       var $mInterwiki = '';             // /< Interwiki prefix (or null string)
+       var $mInterwiki = '';             // /< Interwiki prefix
        var $mFragment;                   // /< Title fragment (i.e. the bit after the #)
        var $mArticleID = -1;             // /< Article ID, fetched from the link cache on demand
        var $mLatestID = false;           // /< ID of most recent revision
@@ -73,7 +73,7 @@ class Title {
        var $mHasCascadingRestrictions;   ///< Are cascading restrictions in effect on this page?
        var $mCascadeSources;             ///< Where are the cascading restrictions coming from on this page?
        var $mRestrictionsLoaded = false; ///< Boolean for initialisation on demand
-       var $mPrefixedText;               ///< Text form including namespace/interwiki, initialised on demand
+       var $mPrefixedText = null;        ///< Text form including namespace/interwiki, initialised on demand
        var $mTitleProtection;            ///< Cached value for getTitleProtection (create protection)
        # Don't change the following default, NS_MAIN is hardcoded in several
        # places.  See bug 696.
@@ -685,7 +685,7 @@ class Title {
         * @return Bool TRUE if this is an in-project interwiki link or a wikilink, FALSE otherwise
         */
        public function isLocal() {
-               if ( $this->mInterwiki != '' ) {
+               if ( $this->isExternal() ) {
                        $iw = Interwiki::fetch( $this->mInterwiki );
                        if ( $iw ) {
                                return $iw->isLocal();
@@ -700,11 +700,11 @@ class Title {
         * @return Bool
         */
        public function isExternal() {
-               return ( $this->mInterwiki != '' );
+               return $this->mInterwiki !== '';
        }
 
        /**
-        * Get the interwiki prefix (or null string)
+        * Get the interwiki prefix
         *
         * @return String Interwiki prefix
         */
@@ -719,7 +719,7 @@ class Title {
         * @return Bool TRUE if this is transcludable
         */
        public function isTrans() {
-               if ( $this->mInterwiki == '' ) {
+               if ( !$this->isExternal() ) {
                        return false;
                }
 
@@ -732,7 +732,7 @@ class Title {
         * @return String the DB name
         */
        public function getTransWikiID() {
-               if ( $this->mInterwiki == '' ) {
+               if ( !$this->isExternal() ) {
                        return false;
                }
 
@@ -830,7 +830,7 @@ class Title {
        public function getNsText() {
                global $wgContLang;
 
-               if ( $this->mInterwiki != '' ) {
+               if ( $this->isExternal() ) {
                        // This probably shouldn't even happen. ohh man, oh yuck.
                        // But for interwiki transclusion it sometimes does.
                        // Shit. Shit shit shit.
@@ -1014,7 +1014,7 @@ class Title {
         * @return Bool TRUE or FALSE
         */
        public function isMovable() {
-               if ( !MWNamespace::isMovable( $this->getNamespace() ) || $this->getInterwiki() != '' ) {
+               if ( !MWNamespace::isMovable( $this->getNamespace() ) || $this->isExternal() ) {
                        // Interwiki title or immovable namespace. Hooks don't get to override here
                        return false;
                }
@@ -1236,7 +1236,7 @@ class Title {
         */
        private function prefix( $name ) {
                $p = '';
-               if ( $this->mInterwiki != '' ) {
+               if ( $this->isExternal() ) {
                        $p = $this->mInterwiki . ':';
                }
 
@@ -1265,8 +1265,7 @@ class Title {
         * @return String the prefixed title, with spaces
         */
        public function getPrefixedText() {
-               // @todo FIXME: Bad usage of empty() ?
-               if ( empty( $this->mPrefixedText ) ) {
+               if ( $this->mPrefixedText === null ) {
                        $s = $this->prefix( $this->mTextform );
                        $s = str_replace( '_', ' ', $s );
                        $this->mPrefixedText = $s;
@@ -1735,7 +1734,7 @@ class Title {
         *  interwiki link
         */
        public function getEditURL() {
-               if ( $this->mInterwiki != '' ) {
+               if ( $this->isExternal() ) {
                        return '';
                }
                $s = $this->getLocalURL( 'action=edit' );
@@ -2892,15 +2891,15 @@ class Title {
                # alone to cache the result.  There's no point in having it hanging
                # around uninitialized in every Title object; therefore we only add it
                # if needed and don't declare it statically.
-               if ( isset( $this->mHasSubpages ) ) {
-                       return $this->mHasSubpages;
+               if ( !isset( $this->mHasSubpages ) ) {
+                       $this->mHasSubpages = false;
+                       $subpages = $this->getSubpages( 1 );
+                       if ( $subpages instanceof TitleArray ) {
+                               $this->mHasSubpages = (bool)$subpages->count();
+                       }
                }
 
-               $subpages = $this->getSubpages( 1 );
-               if ( $subpages instanceof TitleArray ) {
-                       return $this->mHasSubpages = (bool)$subpages->count();
-               }
-               return $this->mHasSubpages = false;
+               return $this->mHasSubpages;
        }
 
        /**
@@ -2922,7 +2921,7 @@ class Title {
                if ( $limit > -1 ) {
                        $options['LIMIT'] = $limit;
                }
-               return $this->mSubpages = TitleArray::newFromResult(
+               $this->mSubpages = TitleArray::newFromResult(
                        $dbr->select( 'page',
                                array( 'page_id', 'page_namespace', 'page_title', 'page_is_redirect' ),
                                $conds,
@@ -2930,6 +2929,7 @@ class Title {
                                $options
                        )
                );
+               return $this->mSubpages;
        }
 
        /**
@@ -2990,7 +2990,8 @@ class Title {
         */
        public function getArticleID( $flags = 0 ) {
                if ( $this->getNamespace() < 0 ) {
-                       return $this->mArticleID = 0;
+                       $this->mArticleID = 0;
+                       return $this->mArticleID;
                }
                $linkCache = LinkCache::singleton();
                if ( $flags & self::GAID_FOR_UPDATE ) {
@@ -3019,7 +3020,8 @@ class Title {
                }
                # Calling getArticleID() loads the field from cache as needed
                if ( !$this->getArticleID( $flags ) ) {
-                       return $this->mRedirect = false;
+                       $this->mRedirect = false;
+                       return $this->mRedirect;
                }
 
                $linkCache = LinkCache::singleton();
@@ -3031,7 +3033,8 @@ class Title {
                        # LinkCache as appropriate, or use $flags = Title::GAID_FOR_UPDATE. If that flag is
                        # set, then LinkCache will definitely be up to date here, since getArticleID() forces
                        # LinkCache to refresh its data from the master.
-                       return $this->mRedirect = false;
+                       $this->mRedirect = false;
+                       return $this->mRedirect;
                }
 
                $this->mRedirect = (bool)$cached;
@@ -3052,13 +3055,15 @@ class Title {
                }
                # Calling getArticleID() loads the field from cache as needed
                if ( !$this->getArticleID( $flags ) ) {
-                       return $this->mLength = 0;
+                       $this->mLength = 0;
+                       return $this->mLength;
                }
                $linkCache = LinkCache::singleton();
                $cached = $linkCache->getGoodLinkFieldObj( $this, 'length' );
                if ( $cached === null ) {
                        # Trust LinkCache's state over our own, as for isRedirect()
-                       return $this->mLength = 0;
+                       $this->mLength = 0;
+                       return $this->mLength;
                }
 
                $this->mLength = intval( $cached );
@@ -3078,14 +3083,16 @@ class Title {
                }
                # Calling getArticleID() loads the field from cache as needed
                if ( !$this->getArticleID( $flags ) ) {
-                       return $this->mLatestID = 0;
+                       $this->mLatestID = 0;
+                       return $this->mLatestID;
                }
                $linkCache = LinkCache::singleton();
                $linkCache->addLinkObj( $this );
                $cached = $linkCache->getGoodLinkFieldObj( $this, 'revision' );
                if ( $cached === null ) {
                        # Trust LinkCache's state over our own, as for isRedirect()
-                       return $this->mLatestID = 0;
+                       $this->mLatestID = 0;
+                       return $this->mLatestID;
                }
 
                $this->mLatestID = intval( $cached );
@@ -3250,7 +3257,7 @@ class Title {
                } while ( true );
 
                # We already know that some pages won't be in the database!
-               if ( $this->mInterwiki != '' || NS_SPECIAL == $this->mNamespace ) {
+               if ( $this->isExternal() || NS_SPECIAL == $this->mNamespace ) {
                        $this->mArticleID = 0;
                }
                $fragment = strstr( $dbkey, '#' );
@@ -3306,13 +3313,13 @@ class Title {
                # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
                # other site might be case-sensitive.
                $this->mUserCaseDBKey = $dbkey;
-               if ( $this->mInterwiki == '' ) {
+               if ( !$this->isExternal() ) {
                        $dbkey = self::capitalize( $dbkey, $this->mNamespace );
                }
 
                # Can't make a link to a namespace alone... "empty" local links can only be
                # self-links with a fragment identifier.
-               if ( $dbkey == '' && $this->mInterwiki == '' && $this->mNamespace != NS_MAIN ) {
+               if ( $dbkey == '' && !$this->isExternal() && $this->mNamespace != NS_MAIN ) {
                        return false;
                }
 
@@ -3582,7 +3589,7 @@ class Title {
                if ( !$this->isMovable() ) {
                        $errors[] = array( 'immobile-source-namespace', $this->getNsText() );
                }
-               if ( $nt->getInterwiki() != '' ) {
+               if ( $nt->isExternal() ) {
                        $errors[] = array( 'immobile-target-namespace-iw' );
                }
                if ( !$nt->isMovable() ) {
@@ -3884,6 +3891,7 @@ class Title {
 
                if ( $moveOverRedirect ) {
                        $newid = $nt->getArticleID();
+                       $newcontent = $newpage->getContent();
 
                        # Delete the old redirect. We don't save it to history since
                        # by definition if we've got here it's rather uninteresting.
@@ -3891,7 +3899,7 @@ class Title {
                        # a conflict on the unique namespace+title index...
                        $dbw->delete( 'page', array( 'page_id' => $newid ), __METHOD__ );
 
-                       $newpage->doDeleteUpdates( $newid );
+                       $newpage->doDeleteUpdates( $newid, $newcontent );
                }
 
                # Save a null revision in the page's history notifying of the move
@@ -4494,7 +4502,7 @@ class Title {
                        return $isKnown;
                }
 
-               if ( $this->mInterwiki != '' ) {
+               if ( $this->isExternal() ) {
                        return true;  // any interwiki link might be viewable, for all we know
                }
 
@@ -4649,7 +4657,8 @@ class Title {
                        return $this->mNotificationTimestamp[$uid];
                }
                if ( !$uid || !$wgShowUpdatedMarker || !$user->isAllowed( 'viewmywatchlist' ) ) {
-                       return $this->mNotificationTimestamp[$uid] = false;
+                       $this->mNotificationTimestamp[$uid] = false;
+                       return $this->mNotificationTimestamp[$uid];
                }
                // Don't cache too much!
                if ( count( $this->mNotificationTimestamp ) >= self::CACHE_MAX ) {
index 43128fa..ca3f79b 100644 (file)
@@ -3777,8 +3777,9 @@ class User {
         */
        public function sendMail( $subject, $body, $from = null, $replyto = null ) {
                if ( is_null( $from ) ) {
-                       global $wgPasswordSender, $wgPasswordSenderName;
-                       $sender = new MailAddress( $wgPasswordSender, $wgPasswordSenderName );
+                       global $wgPasswordSender;
+                       $sender = new MailAddress( $wgPasswordSender,
+                               wfMessage( 'emailsender' )->inContentLanguage()->text() );
                } else {
                        $sender = new MailAddress( $from );
                }
index 39c3e18..e1d00d3 100644 (file)
@@ -120,6 +120,8 @@ class UserMailer {
        static function arrayToHeaderString( $headers, $endl = "\n" ) {
                $strings = array();
                foreach ( $headers as $name => $value ) {
+                       // Prevent header injection by stripping newlines from value
+                       $value = self::sanitizeHeaderValue( $value );
                        $strings[] = "$name: $value";
                }
                return implode( $endl, $strings );
@@ -393,13 +395,25 @@ class UserMailer {
                self::$mErrorString = preg_replace( '/^mail\(\)(\s*\[.*?\])?: /', '', $string );
        }
 
+       /**
+        * Strips bad characters from a header value to prevent PHP mail header injection attacks
+        * @param string $val String to be santizied
+        * @return string
+        */
+       public static function sanitizeHeaderValue( $val ) {
+               return strtr( $val, array( "\r" => '', "\n" => '' ) );
+       }
+
        /**
         * Converts a string into a valid RFC 822 "phrase", such as is used for the sender name
         * @param $phrase string
         * @return string
         */
        public static function rfc822Phrase( $phrase ) {
-               $phrase = strtr( $phrase, array( "\r" => '', "\n" => '', '"' => '' ) );
+               // Remove line breaks
+               $phrase = self::sanitizeHeaderValue( $phrase );
+               // Remove quotes
+               $phrase = str_replace( '"', '', $phrase );
                return '"' . $phrase . '"';
        }
 
@@ -694,7 +708,7 @@ class EmailNotification {
         * Generate the generic "this page has been changed" e-mail text.
         */
        private function composeCommonMailtext() {
-               global $wgPasswordSender, $wgPasswordSenderName, $wgNoReplyAddress;
+               global $wgPasswordSender, $wgNoReplyAddress;
                global $wgEnotifFromEditor, $wgEnotifRevealEditorAddress;
                global $wgEnotifImpersonal, $wgEnotifUseRealName;
 
@@ -779,7 +793,8 @@ class EmailNotification {
                # Reveal the page editor's address as REPLY-TO address only if
                # the user has not opted-out and the option is enabled at the
                # global configuration level.
-               $adminAddress = new MailAddress( $wgPasswordSender, $wgPasswordSenderName );
+               $adminAddress = new MailAddress( $wgPasswordSender,
+                       wfMessage( 'emailsender' )->inContentLanguage()->text() );
                if ( $wgEnotifRevealEditorAddress
                        && ( $this->editor->getEmail() != '' )
                        && $this->editor->getOption( 'enotifrevealaddr' )
index 5ebf5a0..5fab9dc 100644 (file)
@@ -117,11 +117,11 @@ class MediaWiki {
                }
 
                // Use the main page as default title if nothing else has been provided
-               if ( $ret === null && strval( $title ) === '' && $action !== 'delete' ) {
+               if ( $ret === null && strval( $title ) === '' && !$request->getCheck( 'curid' ) && $action !== 'delete' ) {
                        $ret = Title::newMainPage();
                }
 
-               if ( $ret === null || ( $ret->getDBkey() == '' && $ret->getInterwiki() == '' ) ) {
+               if ( $ret === null || ( $ret->getDBkey() == '' && !$ret->isExternal() ) ) {
                        $ret = SpecialPage::getTitleFor( 'Badtitle' );
                }
 
@@ -197,7 +197,7 @@ class MediaWiki {
                wfRunHooks( 'BeforeInitialize', array( &$title, &$unused, &$output, &$user, $request, $this ) );
 
                // Invalid titles. Bug 21776: The interwikis must redirect even if the page name is empty.
-               if ( is_null( $title ) || ( $title->getDBkey() == '' && $title->getInterwiki() == '' )
+               if ( is_null( $title ) || ( $title->getDBkey() == '' && !$title->isExternal() )
                        || $title->isSpecial( 'Badtitle' )
                ) {
                        $this->context->setTitle( SpecialPage::getTitleFor( 'Badtitle' ) );
@@ -231,7 +231,7 @@ class MediaWiki {
                $pageView = false; // was an article or special page viewed?
 
                // Interwiki redirects
-               if ( $title->getInterwiki() != '' ) {
+               if ( $title->isExternal() ) {
                        $rdfrom = $request->getVal( 'rdfrom' );
                        if ( $rdfrom ) {
                                $url = $title->getFullURL( array( 'rdfrom' => $rdfrom ) );
@@ -458,6 +458,9 @@ class MediaWiki {
                try {
                        $this->checkMaxLag();
                        $this->main();
+                       if ( function_exists( 'fastcgi_finish_request' ) ) {
+                               fastcgi_finish_request();
+                       }
                        $this->restInPeace();
                } catch ( Exception $e ) {
                        MWExceptionHandler::handle( $e );
index 2b192b0..817f0fa 100644 (file)
@@ -85,7 +85,8 @@ class WikiFilePage extends WikiPage {
                if ( $from == $to ) {
                        return null;
                }
-               return $this->mRedirectTarget = Title::makeTitle( NS_FILE, $to );
+               $this->mRedirectTarget = Title::makeTitle( NS_FILE, $to );
+               return $this->mRedirectTarget;
        }
 
        /**
@@ -142,7 +143,8 @@ class WikiFilePage extends WikiPage {
                }
                $hash = $this->mFile->getSha1();
                if ( !( $hash ) ) {
-                       return $this->mDupes = array();
+                       $this->mDupes = array();
+                       return $this->mDupes;
                }
                $dupes = RepoGroup::singleton()->findBySha1( $hash );
                // Remove duplicates with self and non matching file sizes
index d4acb6f..f0a58d3 100644 (file)
@@ -908,13 +908,15 @@ class WikiPage implements Page, IDBAccessObject {
 
                // rd_fragment and rd_interwiki were added later, populate them if empty
                if ( $row && !is_null( $row->rd_fragment ) && !is_null( $row->rd_interwiki ) ) {
-                       return $this->mRedirectTarget = Title::makeTitle(
+                       $this->mRedirectTarget = Title::makeTitle(
                                $row->rd_namespace, $row->rd_title,
                                $row->rd_fragment, $row->rd_interwiki );
+                       return $this->mRedirectTarget;
                }
 
                // This page doesn't have an entry in the redirect table
-               return $this->mRedirectTarget = $this->insertRedirect();
+               $this->mRedirectTarget = $this->insertRedirect();
+               return $this->mRedirectTarget;
        }
 
        /**
index 34db1d2..8e800f9 100644 (file)
@@ -260,6 +260,7 @@ class HistoryAction extends FormlessAction {
                }
                $request = $this->getRequest();
 
+               /** @var RSSFeed|AtomFeed $feed */
                $feed = new $wgFeedClasses[$type](
                        $this->getTitle()->getPrefixedText() . ' - ' .
                        $this->msg( 'history-feed-title' )->inContentLanguage()->text(),
index d48a0ea..617f1c9 100644 (file)
@@ -62,6 +62,7 @@ class RollbackAction extends FormlessAction {
                        $this->getOutput()->addWikiMsgArray( $errMsg, $errArray );
 
                        if ( isset( $details['current'] ) ) {
+                               /** @var Revision $current */
                                $current = $details['current'];
 
                                if ( $current->getComment() != '' ) {
@@ -85,6 +86,7 @@ class RollbackAction extends FormlessAction {
                        throw new ErrorPageError( 'rollbackfailed', $error[0], array_slice( $error, 1 ) );
                }
 
+               /** @var Revision $current */
                $current = $details['current'];
                $target = $details['target'];
                $newId = $details['newid'];
index dc5e24e..a3fa5f9 100644 (file)
  * @ingroup API
  */
 class ApiFileRevert extends ApiBase {
-
-       /**
-        * @var File
-        */
+       /** @var LocalFile */
        protected $file;
+
+       /** @var string */
        protected $archiveName;
 
+       /** @var array */
        protected $params;
 
        public function execute() {
index 829ba6f..f69d3ff 100644 (file)
@@ -815,6 +815,28 @@ class ApiMain extends ApiBase {
                }
        }
 
+       /**
+        * Check asserts of the user's rights
+        * @param $params array
+        */
+       protected function checkAsserts( $params ) {
+               if ( isset( $params['assert'] ) ) {
+                       $user = $this->getUser();
+                       switch ( $params['assert'] ) {
+                               case 'user':
+                                       if ( $user->isAnon() ) {
+                                               $this->dieUsage( 'Assertion that the user is logged in failed', 'assertuserfailed' );
+                                       }
+                                       break;
+                               case 'bot':
+                                       if ( !$user->isAllowed( 'bot' ) ) {
+                                               $this->dieUsage( 'Assertion that the user has the bot right failed', 'assertbotfailed' );
+                                       }
+                                       break;
+                       }
+               }
+       }
+
        /**
         * Check POST for external response and setup result printer
         * @param $module ApiBase An Api module
@@ -857,6 +879,8 @@ class ApiMain extends ApiBase {
                        $this->setupExternalResponse( $module, $params );
                }
 
+               $this->checkAsserts( $params );
+
                // Execute
                $module->profileIn();
                $module->execute();
@@ -1046,6 +1070,9 @@ class ApiMain extends ApiBase {
                                ApiBase::PARAM_TYPE => 'integer',
                                ApiBase::PARAM_DFLT => 0
                        ),
+                       'assert' => array(
+                               ApiBase::PARAM_TYPE => array( 'user', 'bot' )
+                       ),
                        'requestid' => null,
                        'servedby' => false,
                        'origin' => null,
@@ -1071,6 +1098,7 @@ class ApiMain extends ApiBase {
                        ),
                        'smaxage' => 'Set the s-maxage header to this many seconds. Errors are never cached',
                        'maxage' => 'Set the max-age header to this many seconds. Errors are never cached',
+                       'assert' => 'Verify the user is logged in if set to "user", or has the bot userright if "bot"',
                        'requestid' => 'Request ID to distinguish requests. This will just be output back to you',
                        'servedby' => 'Include the hostname that served the request in the ' .
                                'results. Unconditionally shown on error',
@@ -1143,6 +1171,8 @@ class ApiMain extends ApiBase {
                        array( 'code' => 'unknown_action', 'info' => 'The API requires a valid action parameter' ),
                        array( 'code' => 'maxlag', 'info' => 'Waiting for host: x seconds lagged' ),
                        array( 'code' => 'maxlag', 'info' => 'Waiting for a database server: x seconds lagged' ),
+                       array( 'code' => 'assertuserfailed', 'info' => 'Assertion that the user is logged in failed' ),
+                       array( 'code' => 'assertbotfailed', 'info' => 'Assertion that the user has the bot right failed' ),
                ) );
        }
 
index e95e680..0d733a2 100644 (file)
@@ -308,7 +308,7 @@ class ApiPageSet extends ApiBase {
 
        /**
         * All Title objects provided.
-        * @return array of Title objects
+        * @return Title[]
         */
        public function getTitles() {
                return $this->mTitles;
@@ -324,7 +324,7 @@ class ApiPageSet extends ApiBase {
 
        /**
         * Title objects that were found in the database.
-        * @return array page_id (int) => Title (obj)
+        * @return Title[] Array page_id (int) => Title (obj)
         */
        public function getGoodTitles() {
                return $this->mGoodTitles;
@@ -341,7 +341,7 @@ class ApiPageSet extends ApiBase {
        /**
         * Title objects that were NOT found in the database.
         * The array's index will be negative for each item
-        * @return array of Title objects
+        * @return Title[]
         */
        public function getMissingTitles() {
                return $this->mMissingTitles;
@@ -350,7 +350,7 @@ class ApiPageSet extends ApiBase {
        /**
         * Titles that were deemed invalid by Title::newFromText()
         * The array's index will be unique and negative for each item
-        * @return array of strings (not Title objects)
+        * @return string[] Array of strings (not Title objects)
         */
        public function getInvalidTitles() {
                return $this->mInvalidTitles;
index d9aacaa..32a03f1 100644 (file)
@@ -493,7 +493,7 @@ abstract class ApiQueryBase extends ApiBase {
                if ( !$t ) {
                        $this->dieUsageMsg( array( 'invalidtitle', $titlePart ) );
                }
-               if ( $defaultNamespace != $t->getNamespace() || $t->getInterwiki() !== '' ) {
+               if ( $defaultNamespace != $t->getNamespace() || $t->isExternal() ) {
                        // This can happen in two cases. First, if you call titlePartToKey with a title part
                        // that looks like a namespace, but with $defaultNamespace = NS_MAIN. It would be very
                        // difficult to handle such a case. Such cases cannot exist and are therefore treated
index 697ae99..0a74d98 100644 (file)
@@ -550,6 +550,31 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                ) {
                                        $ret['version'] = 'r' . $m[1];
                                }
+                               if ( isset( $ext['path'] ) ) {
+                                       $extensionPath = dirname( $ext['path'] );
+                                       $gitInfo = new GitInfo( $extensionPath );
+                                       $vcsVersion = $gitInfo->getHeadSHA1();
+                                       if ( $vcsVersion !== false ) {
+                                               $ret['vcs-system'] = 'git';
+                                               $ret['vcs-version'] =  $vcsVersion;
+                                               $ret['vcs-url'] = $gitInfo->getHeadViewUrl();
+                                               $ret['vcs-date'] = wfTimestamp( TS_ISO_8601, $gitInfo->getHeadCommitDate() );
+                                       } else {
+                                               $svnInfo = SpecialVersion::getSvnInfo( $extensionPath );
+                                               if ( $svnInfo !== false ) {
+                                                       $ret['vcs-system'] = 'svn';
+                                                       $ret['vcs-version'] = $svnInfo['checkout-rev'];
+                                                       $ret['vcs-url'] = isset( $svnInfo['viewvc-url'] ) ? $svnInfo['viewvc-url'] : '';
+                                               }
+                                       }
+                                       if ( SpecialVersion::getExtLicenseFileName( $extensionPath ) ) {
+                                               $ret['license-name'] = isset( $ext['license-name'] ) ? $ext['license-name'] : '';
+                                               $ret['license'] = SpecialPage::getTitleFor( 'Version', "License/{$ext['name']}" )->getLinkURL();
+                                       }
+                                       if ( SpecialVersion::getExtAuthorsFileName( $extensionPath ) ) {
+                                               $ret['credits'] = SpecialPage::getTitleFor( 'Version', "Credits/{$ext['name']}" )->getLinkURL();
+                                       }
+                               }
                                $data[] = $ret;
                        }
                }
index 1a642b9..7d0d78e 100644 (file)
  * @ingroup API
  */
 class ApiUpload extends ApiBase {
-
-       /**
-        * @var UploadBase
-        */
+       /** @var UploadBase */
        protected $mUpload = null;
 
        protected $mParams;
index b7d0a7c..28889b5 100644 (file)
  */
 class DependencyWrapper {
        private $value;
+       /** @var CacheDependency[] */
        private $deps;
 
        /**
         * Create an instance.
         * @param $value Mixed: the user-supplied value
-        * @param $deps Mixed: a dependency or dependency array. All dependencies
-        *        must be objects implementing CacheDependency.
+        * @param CacheDependency|CacheDependency[] $deps A dependency or dependency
+        *   array. All dependencies must be objects implementing CacheDependency.
         */
        function __construct( $value = false, $deps = array() ) {
                $this->value = $value;
index 47a5904..cba2ba7 100644 (file)
@@ -1232,9 +1232,16 @@ class LCStoreDB implements LCStore {
  * See Cdb.php and http://cr.yp.to/cdb.html
  */
 class LCStoreCDB implements LCStore {
+       /** @var CdbReader[] */
        private $readers;
+
+       /** @var CdbWriter */
        private $writer;
+
+       /** @var string Current language code */
        private $currentLang;
+
+       /** @var bool|string Cache directory. False if not set */
        private $directory;
 
        function __construct( $conf = array() ) {
index 8b52728..3dee806 100644 (file)
@@ -124,7 +124,7 @@ class MessageCache {
        }
 
        /**
-        * @param ObjectCache $memCached A cache instance. If none, fall back to CACHE_NONE.
+        * @param BagOStuff $memCached A cache instance. If none, fall back to CACHE_NONE.
         * @param bool $useDB
         * @param int $expiry Lifetime for cache. @see $mExpiry.
         */
index 99cf0de..42b112c 100644 (file)
  */
 
 class EnhancedChangesList extends ChangesList {
-
+       /** @var array Array of array of RCCacheEntry */
        protected $rc_cache;
 
        /**
         * Add the JavaScript file for enhanced changeslist
-        * @return String
+        * @return string
         */
        public function beginRecentChangesList() {
                $this->rc_cache = array();
@@ -50,8 +50,8 @@ class EnhancedChangesList extends ChangesList {
        /**
         * Format a line for enhanced recentchange (aka with javascript and block of lines).
         *
-        * @param $baseRC RecentChange
-        * @param $watched bool
+        * @param RecentChange $baseRC
+        * @param bool $watched
         *
         * @return string
         */
@@ -90,6 +90,7 @@ class EnhancedChangesList extends ChangesList {
 
                // Page moves, very old style, not supported anymore
                if ( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) {
+                       $clink = '';
                // New unpatrolled pages
                } elseif ( $cacheEntry->unpatrolled && $type == RC_NEW ) {
                        $clink = Linker::linkKnown( $cacheEntry->getTitle() );
@@ -209,6 +210,7 @@ class EnhancedChangesList extends ChangesList {
 
        /**
         * Enhanced RC group
+        * @param RCCacheEntry[] $block
         * @return string
         */
        protected function recentChangesBlockGroup( $block ) {
@@ -242,6 +244,7 @@ class EnhancedChangesList extends ChangesList {
                # Some catalyst variables...
                $namehidden = true;
                $allLogs = true;
+               $oldid = '';
                foreach ( $block as $rcObj ) {
                        $oldid = $rcObj->mAttribs['rc_last_oldid'];
                        if ( $rcObj->mAttribs['rc_type'] == RC_NEW ) {
@@ -341,6 +344,7 @@ class EnhancedChangesList extends ChangesList {
 
                $sinceLast = 0;
                $unvisitedOldid = null;
+               /** @var $rcObj RCCacheEntry */
                foreach ( $block as $rcObj ) {
                        // Same logic as below inside main foreach
                        if ( $rcObj->watched && $rcObj->mAttribs['rc_timestamp'] >= $rcObj->watched ) {
@@ -356,6 +360,8 @@ class EnhancedChangesList extends ChangesList {
                # Total change link
                $r .= ' ';
                $logtext = '';
+               /** @var $block0 RecentChange */
+               $block0 = $block[0];
                if ( !$allLogs ) {
                        if ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) {
                                $logtext .= $nchanges[$n];
@@ -363,7 +369,7 @@ class EnhancedChangesList extends ChangesList {
                                $logtext .= $nchanges[$n];
                        } else {
                                $logtext .= Linker::link(
-                                       $block[0]->getTitle(),
+                                       $block0->getTitle(),
                                        $nchanges[$n],
                                        array(),
                                        $queryParams + array(
@@ -374,7 +380,7 @@ class EnhancedChangesList extends ChangesList {
                                );
                                if ( $sinceLast > 0 && $sinceLast < $n ) {
                                        $logtext .= $this->message['pipe-separator'] . Linker::link(
-                                               $block[0]->getTitle(),
+                                               $block0->getTitle(),
                                                $sinceLastVisitMsg[$sinceLast],
                                                array(),
                                                $queryParams + array(
@@ -390,7 +396,7 @@ class EnhancedChangesList extends ChangesList {
                # History
                if ( $allLogs ) {
                        // don't show history link for logs
-               } elseif ( $namehidden || !$block[0]->getTitle()->exists() ) {
+               } elseif ( $namehidden || !$block0->getTitle()->exists() ) {
                        $logtext .= $this->message['pipe-separator'] . $this->message['enhancedrc-history'];
                } else {
                        $params = $queryParams;
@@ -398,7 +404,7 @@ class EnhancedChangesList extends ChangesList {
 
                        $logtext .= $this->message['pipe-separator'] .
                                Linker::linkKnown(
-                                       $block[0]->getTitle(),
+                                       $block0->getTitle(),
                                        $this->message['enhancedrc-history'],
                                        array(),
                                        $params
@@ -433,7 +439,7 @@ class EnhancedChangesList extends ChangesList {
                }
 
                $r .= $users;
-               $r .= $this->numberofWatchingusers( $block[0]->numberofWatchingusers );
+               $r .= $this->numberofWatchingusers( $block0->numberofWatchingusers );
                $r .= '</td></tr>';
 
                # Sub-entries
@@ -524,10 +530,10 @@ class EnhancedChangesList extends ChangesList {
 
        /**
         * Generate HTML for an arrow or placeholder graphic
-        * @param string $dir one of '', 'd', 'l', 'r'
-        * @param string $alt text
-        * @param string $title text
-        * @return String: HTML "<img>" tag
+        * @param string $dir One of '', 'd', 'l', 'r'
+        * @param string $alt
+        * @param string $title
+        * @return string HTML "<img>" tag
         */
        protected function arrow( $dir, $alt = '', $title = '' ) {
                global $wgStylePath;
@@ -541,7 +547,7 @@ class EnhancedChangesList extends ChangesList {
        /**
         * Generate HTML for a right- or left-facing arrow,
         * depending on language direction.
-        * @return String: HTML "<img>" tag
+        * @return string HTML "<img>" tag
         */
        protected function sideArrow() {
                $dir = $this->getLanguage()->isRTL() ? 'l' : 'r';
@@ -552,7 +558,7 @@ class EnhancedChangesList extends ChangesList {
        /**
         * Generate HTML for a down-facing arrow
         * depending on language direction.
-        * @return String: HTML "<img>" tag
+        * @return string HTML "<img>" tag
         */
        protected function downArrow() {
                return $this->arrow( 'd', '-', $this->msg( 'rc-enhanced-hide' )->text() );
@@ -560,7 +566,7 @@ class EnhancedChangesList extends ChangesList {
 
        /**
         * Generate HTML for a spacer image
-        * @return String: HTML "<img>" tag
+        * @return string HTML "<img>" tag
         */
        protected function spacerArrow() {
                return $this->arrow( '', codepointToUtf8( 0xa0 ) ); // non-breaking space
@@ -569,8 +575,8 @@ class EnhancedChangesList extends ChangesList {
        /**
         * Enhanced RC ungrouped line.
         *
-        * @param $rcObj RecentChange
-        * @return String: a HTML formatted line (generated using $r)
+        * @param RecentChange|RCCacheEntry $rcObj
+        * @return string A HTML formatted line (generated using $r)
         */
        protected function recentChangesBlockLine( $rcObj ) {
                global $wgRCShowChangedSize;
index 3388297..2e19f6a 100644 (file)
@@ -2681,7 +2681,6 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
         *                to set that field to. The data will be quoted by
         *                DatabaseBase::addQuotes().
         * @param string $fname Calling function name (use __METHOD__) for logs/profiling
-        * @param array $options of options
         *
         * @return bool
         * @since 1.22
@@ -2875,10 +2874,12 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
        ) {
                $destTable = $this->tableName( $destTable );
 
-               if ( is_array( $insertOptions ) ) {
-                       $insertOptions = implode( ' ', $insertOptions );
+               if ( !is_array( $insertOptions ) ) {
+                       $insertOptions = array( $insertOptions );
                }
 
+               $insertOptions = $this->makeInsertOptions( $insertOptions );
+
                if ( !is_array( $selectOptions ) ) {
                        $selectOptions = array( $selectOptions );
                }
index 8be8530..a314605 100644 (file)
@@ -270,21 +270,21 @@ EOT;
         * @return string
         */
        private function fileCachedPage() {
-               global $wgTitle, $wgOut, $wgRequest;
+               $context = RequestContext::getMain();
 
-               if ( $wgOut->isDisabled() ) {
+               if ( $context->getOutput()->isDisabled() ) {
                        // Done already?
                        return '';
                }
 
-               if ( $wgTitle ) {
-                       // use $wgTitle if we managed to set it
-                       $t = $wgTitle->getPrefixedDBkey();
+               if ( $context->getTitle() ) {
+                       // Use the main context's title if we managed to set it
+                       $t = $context->getTitle()->getPrefixedDBkey();
                } else {
                        // Fallback to the raw title URL param. We can't use the Title
                        // class is it may hit the interwiki table and give a DB error.
                        // We may get a cache miss due to not sanitizing the title though.
-                       $t = str_replace( ' ', '_', $wgRequest->getVal( 'title' ) );
+                       $t = str_replace( ' ', '_', $context->getRequest()->getVal( 'title' ) );
                        if ( $t == '' ) { // fallback to main page
                                $t = Title::newFromText(
                                        $this->msg( 'mainpage', 'Main Page' ) )->getPrefixedDBkey();
index 14369bf..12fee94 100644 (file)
@@ -935,7 +935,6 @@ abstract class DatabaseMysqlBase extends DatabaseBase {
         * @param array $uniqueIndexes
         * @param array $set
         * @param string $fname
-        * @param array $options
         * @return bool
         */
        public function upsert(
index 7410e49..21a7bcf 100644 (file)
@@ -135,8 +135,7 @@ SQL;
  * @ingroup Database
  */
 class PostgresTransactionState {
-
-       static $WATCHED = array(
+       private static $WATCHED = array(
                array(
                        "desc" => "%s: Connection state changed from %s -> %s\n",
                        "states" => array(
@@ -156,6 +155,12 @@ class PostgresTransactionState {
                )
        );
 
+       /** @var array */
+       private $mNewState;
+
+       /** @var array */
+       private $mCurrentState;
+
        public function __construct( $conn ) {
                $this->mConn = $conn;
                $this->update();
@@ -284,10 +289,26 @@ class SavepointPostgres {
  * @ingroup Database
  */
 class DatabasePostgres extends DatabaseBase {
-       var $mInsertId = null;
-       var $mLastResult = null;
-       var $numeric_version = null;
-       var $mAffectedRows = null;
+       /** @var resource */
+       protected $mLastResult = null;
+
+       /** @var int The number of rows affected as an integer */
+       protected $mAffectedRows = null;
+
+       /** @var int */
+       private $mInsertId = null;
+
+       /** @var float|string */
+       private $numericVersion = null;
+
+       /** @var string Connect string to open a PostgreSQL connection */
+       private $connectString;
+
+       /** @var PostgresTransactionState */
+       private $mTransactionState;
+
+       /** @var string */
+       private $mCoreSchema;
 
        function getType() {
                return 'postgres';
@@ -602,7 +623,7 @@ class DatabasePostgres extends DatabaseBase {
         * Return the result of the last call to nextSequenceValue();
         * This must be called after nextSequenceValue().
         *
-        * @return integer|null
+        * @return int|null
         */
        function insertId() {
                return $this->mInsertId;
@@ -788,7 +809,7 @@ __INDEXATTR__;
                }
 
                $table = $this->tableName( $table );
-               if ( !isset( $this->numeric_version ) ) {
+               if ( !isset( $this->numericVersion ) ) {
                        $this->getServerVersion();
                }
 
@@ -817,7 +838,7 @@ __INDEXATTR__;
                $sql = "INSERT INTO $table (" . implode( ',', $keys ) . ') VALUES ';
 
                if ( $multi ) {
-                       if ( $this->numeric_version >= 8.2 && !$savepoint ) {
+                       if ( $this->numericVersion >= 8.2 && !$savepoint ) {
                                $first = true;
                                foreach ( $args as $row ) {
                                        if ( $first ) {
@@ -981,7 +1002,9 @@ __INDEXATTR__;
 
        /**
         * Return the next in a sequence, save the value for retrieval via insertId()
-        * @return null
+        * 
+        * @param string $seqName
+        * @return int|null
         */
        function nextSequenceValue( $seqName ) {
                $safeseq = str_replace( "'", "''", $seqName );
@@ -994,6 +1017,8 @@ __INDEXATTR__;
 
        /**
         * Return the current value of a sequence. Assumes it has been nextval'ed in this session.
+        *
+        * @param string $seqName
         * @return
         */
        function currentSequenceValue( $seqName ) {
@@ -1123,7 +1148,7 @@ __INDEXATTR__;
         * Needs transaction
         *
         * @since 1.19
-        * @return string return default schema for the current session
+        * @return string Default schema for the current session
         */
        function getCurrentSchema() {
                $res = $this->query( "SELECT current_schema()", __METHOD__ );
@@ -1236,21 +1261,21 @@ __INDEXATTR__;
         * @return string Version information from the database
         */
        function getServerVersion() {
-               if ( !isset( $this->numeric_version ) ) {
+               if ( !isset( $this->numericVersion ) ) {
                        $versionInfo = pg_version( $this->mConn );
                        if ( version_compare( $versionInfo['client'], '7.4.0', 'lt' ) ) {
                                // Old client, abort install
-                               $this->numeric_version = '7.3 or earlier';
+                               $this->numericVersion = '7.3 or earlier';
                        } elseif ( isset( $versionInfo['server'] ) ) {
                                // Normal client
-                               $this->numeric_version = $versionInfo['server'];
+                               $this->numericVersion = $versionInfo['server'];
                        } else {
                                // Bug 16937: broken pgsql extension from PHP<5.3
-                               $this->numeric_version = pg_parameter_status( $this->mConn, 'server_version' );
+                               $this->numericVersion = pg_parameter_status( $this->mConn, 'server_version' );
                        }
                }
 
-               return $this->numeric_version;
+               return $this->numericVersion;
        }
 
        /**
@@ -1428,12 +1453,12 @@ SQL;
        protected function replaceVars( $ins ) {
                $ins = parent::replaceVars( $ins );
 
-               if ( $this->numeric_version >= 8.3 ) {
+               if ( $this->numericVersion >= 8.3 ) {
                        // Thanks for not providing backwards-compatibility, 8.3
                        $ins = preg_replace( "/to_tsvector\s*\(\s*'default'\s*,/", 'to_tsvector(', $ins );
                }
 
-               if ( $this->numeric_version <= 8.1 ) { // Our minimum version
+               if ( $this->numericVersion <= 8.1 ) { // Our minimum version
                        $ins = str_replace( 'USING gin', 'USING gist', $ins );
                }
 
index 89f0818..ea35391 100644 (file)
  * @ingroup Database
  */
 class DatabaseSqlite extends DatabaseBase {
+       /** @var bool Whether full text is enabled */
        private static $fulltextEnabled = null;
 
-       var $mAffectedRows;
-       var $mLastResult;
-       var $mDatabaseFile;
-       var $mName;
+       /** @var string File name for SQLite database file */
+       public $mDatabaseFile;
+
+       /** @var int The number of rows affected as an integer */
+       protected $mAffectedRows;
+
+       /** @var resource */
+       protected $mLastResult;
 
        /**
-        * @var PDO
+        * @var string
+        * @todo Seems to serve no purpose. Remove?
         */
+       private $mName;
+
+       /** @var PDO */
        protected $mConn;
 
        function __construct( $p = null ) {
index c4e7976..847e173 100644 (file)
  * @ingroup Database
  */
 abstract class LBFactory {
-       /**
-        * @var LBFactory
-        */
-       static $instance;
+       /** @var LBFactory */
+       protected static $instance;
 
        /**
         * Disables all access to the load balancer, will cause all database access
@@ -46,10 +44,12 @@ abstract class LBFactory {
         * @return LBFactory
         */
        static function &singleton() {
+               global $wgLBFactoryConf;
+
                if ( is_null( self::$instance ) ) {
-                       $LBFactoryConf = self::getLBFactoryClass();
+                       $class = self::getLBFactoryClass( $wgLBFactoryConf );
 
-                       self::$instance = new $LBFactoryConf[0]( $LBFactoryConf[1] );
+                       self::$instance = new $class( $wgLBFactoryConf );
                }
 
                return self::$instance;
@@ -58,11 +58,11 @@ abstract class LBFactory {
        /**
         * Returns the LBFactory class to use and the load balancer configuration.
         *
-        * @return array ( factory class, $wgLBFactoryConf )
+        * @param array $config (e.g. $wgLBFactoryConf)
+        *
+        * @return string class name
         */
-       static function getLBFactoryClass() {
-               global $wgLBFactoryConf;
-
+       public static function getLBFactoryClass( array $config ) {
                // For configuration backward compatibility after removing
                // underscores from class names in MediaWiki 1.23.
                $bcClasses = array(
@@ -72,9 +72,9 @@ abstract class LBFactory {
                        'LBFactory_Fake' => 'LBFactoryFake',
                );
 
-               $class = $wgLBFactoryConf['class'];
+               $class = $config['class'];
 
-               if ( in_array( $class, array_keys( $bcClasses ) ) ) {
+               if ( isset( $bcClasses[$class] ) ) {
                        $class = $bcClasses[$class];
                        wfDeprecated(
                                '$wgLBFactoryConf must be updated. See RELEASE-NOTES for details',
@@ -82,7 +82,7 @@ abstract class LBFactory {
                        );
                }
 
-               return array( $class, $wgLBFactoryConf );
+               return $class;
        }
 
        /**
@@ -198,15 +198,14 @@ abstract class LBFactory {
  * A simple single-master LBFactory that gets its configuration from the b/c globals
  */
 class LBFactorySimple extends LBFactory {
+       /** @var LoadBalancer */
+       protected $mainLB;
 
-       /**
-        * @var LoadBalancer
-        */
-       var $mainLB;
-       var $extLBs = array();
+       /** @var LoadBalancer[] */
+       protected $extLBs = array();
 
-       # Chronology protector
-       var $chronProt;
+       /** @var ChronologyProtector */
+       protected $chronProt;
 
        function __construct( $conf ) {
                $this->chronProt = new ChronologyProtector;
index 2f4cb57..2ab0554 100644 (file)
@@ -26,7 +26,7 @@
  * Ignores the old configuration globals
  *
  * Configuration:
- *     sectionsByDB                A map of database names to section names
+ *     sectionsByDB                A map of database names to section names.
  *
  *     sectionLoads                A 2-d map. For each section, gives a map of server names to
  *                                 load ratios. For example:
  *
  *     hostsByName                 A map of hostname to IP address.
  *
- *     externalLoads               A map of external storage cluster name to server load map
+ *     externalLoads               A map of external storage cluster name to server load map.
  *
  *     externalTemplateOverrides   A set of server info keys overriding serverTemplate for external
- *                                 storage
+ *                                 storage.
  *
  *     templateOverridesByServer   A 2-d map overriding serverTemplate and
  *                                 externalTemplateOverrides on a server-by-server basis. Applies
  *                                 to both core and external storage.
  *
- *     templateOverridesByCluster  A 2-d map overriding the server info by external storage cluster
+ *     templateOverridesByCluster  A 2-d map overriding the server info by external storage cluster.
  *
  *     masterTemplateOverrides     An override array for all master servers.
  *
  */
 class LBFactoryMulti extends LBFactory {
        // Required settings
-       var $sectionsByDB, $sectionLoads, $serverTemplate;
+
+       /** @var array A map of database names to section names */
+       protected $sectionsByDB;
+
+       /**
+        * @var array A 2-d map. For each section, gives a map of server names to
+        * load ratios
+        */
+       protected $sectionLoads;
+
+       /**
+        * @var array A server info associative array as documented for
+        * $wgDBservers. The host, hostName and load entries will be
+        * overridden
+        */
+       protected $serverTemplate;
+
        // Optional settings
-       var $groupLoadsBySection = array(), $groupLoadsByDB = array(), $hostsByName = array();
-       var $externalLoads = array(), $externalTemplateOverrides, $templateOverridesByServer;
-       var $templateOverridesByCluster, $masterTemplateOverrides, $readOnlyBySection = array();
+
+       /** @var array A 3-d map giving server load ratios for each section and group */
+       protected $groupLoadsBySection = array();
+
+       /** @var array A 3-d map giving server load ratios by DB name */
+       protected $groupLoadsByDB = array();
+
+       /** @var array A map of hostname to IP address */
+       protected $hostsByName = array();
+
+       /** @var array A map of external storage cluster name to server load map */
+       protected $externalLoads = array();
+
+       /**
+        * @var array A set of server info keys overriding serverTemplate for
+        * external storage
+        */
+       protected $externalTemplateOverrides;
+
+       /**
+        * @var array A 2-d map overriding serverTemplate and
+        * externalTemplateOverrides on a server-by-server basis. Applies to both
+        * core and external storage
+        */
+       protected $templateOverridesByServer;
+
+       /** @var array A 2-d map overriding the server info by external storage cluster */
+       protected $templateOverridesByCluster;
+
+       /** @var array An override array for all master servers */
+       protected $masterTemplateOverrides;
+
+       /**
+        * @var array|bool A map of section name to read-only message. Missing or
+        * false for read/write
+        */
+       protected $readOnlyBySection = array();
+
        // Other stuff
-       var $conf, $mainLBs = array(), $extLBs = array();
-       var $lastWiki, $lastSection;
+
+       /** @var array Load balancer factory configuration */
+       protected $conf;
+
+       /** @var LoadBalancer[] */
+       protected $mainLBs = array();
+
+       /** @var LoadBalancer[] */
+       protected $extLBs = array();
+
+       /** @var string */
+       protected $lastWiki;
+
+       /** @var string */
+       protected $lastSection;
 
        /**
         * @param $conf array
index bac9f10..85592e8 100644 (file)
@@ -216,6 +216,11 @@ class SquidUpdate {
 
                // Remove duplicate URLs from collection
                $urlArr = array_unique( $urlArr );
+               // Get sequential trx IDs for packet loss counting
+               $ids = UIDGenerator::newSequentialPerNodeIDs(
+                       'squidhtcppurge', 32, count( $urlArr ), UIDGenerator::QUICK_VOLATILE
+               );
+
                foreach ( $urlArr as $url ) {
                        if ( !is_string( $url ) ) {
                                wfProfileOut( __METHOD__ );
@@ -243,7 +248,8 @@ class SquidUpdate {
                        // Construct a minimal HTCP request diagram
                        // as per RFC 2756
                        // Opcode 'CLR', no response desired, no auth
-                       $htcpTransID = rand();
+                       $htcpTransID = current( $ids );
+                       next( $ids );
 
                        $htcpSpecifier = pack( 'na4na*na8n',
                                4, 'HEAD', strlen( $url ), $url,
index 79ff4e8..e7a269a 100644 (file)
@@ -358,7 +358,7 @@ class JobQueueDB extends JobQueue {
                                // Instead, this uses job_random to pick a row (possibly checking both directions).
                                $ineq = $gte ? '>=' : '<=';
                                $dir = $gte ? 'ASC' : 'DESC';
-                               $row = $dbw->selectRow( 'job', '*', // find a random job
+                               $row = $dbw->selectRow( 'job', self::selectFields(), // find a random job
                                        array(
                                                'job_cmd' => $this->type,
                                                'job_token' => '', // unclaimed
@@ -375,7 +375,7 @@ class JobQueueDB extends JobQueue {
                                // Bug 42614: "ORDER BY job_random" with a job_random inequality causes high CPU
                                // in MySQL if there are many rows for some reason. This uses a small OFFSET
                                // instead of job_random for reducing excess claim retries.
-                               $row = $dbw->selectRow( 'job', '*', // find a random job
+                               $row = $dbw->selectRow( 'job', self::selectFields(), // find a random job
                                        array(
                                                'job_cmd' => $this->type,
                                                'job_token' => '', // unclaimed
@@ -459,7 +459,7 @@ class JobQueueDB extends JobQueue {
                        }
                        // Fetch any row that we just reserved...
                        if ( $dbw->affectedRows() ) {
-                               $row = $dbw->selectRow( 'job', '*',
+                               $row = $dbw->selectRow( 'job', self::selectFields(),
                                        array( 'job_cmd' => $this->type, 'job_token' => $uuid ), __METHOD__
                                );
                                if ( !$row ) { // raced out by duplicate job removal
@@ -589,7 +589,7 @@ class JobQueueDB extends JobQueue {
                $dbr = $this->getSlaveDB();
                try {
                        return new MappedIterator(
-                               $dbr->select( 'job', '*',
+                               $dbr->select( 'job', self::selectFields(),
                                        array( 'job_cmd' => $this->getType(), 'job_token' => '' ) ),
                                function ( $row ) use ( $dbr ) {
                                        $job = Job::factory(
@@ -824,4 +824,25 @@ class JobQueueDB extends JobQueue {
        protected function throwDBException( DBError $e ) {
                throw new JobQueueError( get_class( $e ) . ": " . $e->getMessage() );
        }
+
+       /**
+        * Return the list of job fields that should be selected.
+        * @since 1.23
+        * @return array
+        */
+       public static function selectFields() {
+               return array(
+                       'job_id',
+                       'job_cmd',
+                       'job_namespace',
+                       'job_title',
+                       'job_timestamp',
+                       'job_params',
+                       'job_random',
+                       'job_attempts',
+                       'job_token',
+                       'job_token_timestamp',
+                       'job_sha1',
+               );
+       }
 }
index 99d7527..94b56ef 100644 (file)
@@ -197,7 +197,7 @@ class DoubleRedirectJob extends Job {
                        }
                        $seenTitles[$titleText] = true;
 
-                       if ( $title->getInterwiki() ) {
+                       if ( $title->isExternal() ) {
                                // If the target is interwiki, we have to break early (bug 40352).
                                // Otherwise it will look up a row in the local page table
                                // with the namespace/page of the interwiki target which can cause
diff --git a/includes/libs/MWMessagePack.php b/includes/libs/MWMessagePack.php
new file mode 100644 (file)
index 0000000..c61e8f8
--- /dev/null
@@ -0,0 +1,188 @@
+<?php
+/**
+ * MessagePack serializer
+ *
+ * MessagePack is a space-efficient binary data interchange format. This
+ * class provides a pack() method that encodes native PHP values as MessagePack
+ * binary strings. The implementation is derived from msgpack-php.
+ *
+ * Copyright (c) 2013 Ori Livneh <ori@wikimedia.org>
+ * Copyright (c) 2011 OnlineCity <https://github.com/onlinecity/msgpack-php>.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * @see <http://msgpack.org/>
+ * @see <http://wiki.msgpack.org/display/MSGPACK/Format+specification>
+ *
+ * @since 1.23
+ * @file
+ */
+class MWMessagePack {
+
+       /** @var boolean|null Whether current system is bigendian. **/
+       public static $bigendian = null;
+
+       /**
+        * Encode a value using MessagePack
+        *
+        * This method supports null, boolean, integer, float, string and array
+        * (both indexed and associative) types. Object serialization is not
+        * supported.
+        *
+        * @param mixed $value
+        * @return string
+        * @throws InvalidArgumentException if $value is an unsupported type or too long a string
+        */
+       public static function pack( $value ) {
+               if ( self::$bigendian === null ) {
+                       self::$bigendian = pack( 'S', 1 ) === pack( 'n', 1 );
+               }
+
+               switch ( gettype( $value ) ) {
+               case 'NULL':
+                       return "\xC0";
+
+               case 'boolean':
+                       return $value ? "\xC3" : "\xC2";
+
+               case 'double':
+               case 'float':
+                       return self::$bigendian
+                               ? "\xCB" . pack( 'd', $value )
+                               : "\xCB" . strrev( pack( 'd', $value ) );
+
+               case 'string':
+                       $length = strlen( $value );
+                       if ( $length < 32 ) {
+                               return pack( 'Ca*', 0xA0 | $length, $value );
+                       } elseif ( $length <= 0xFFFF ) {
+                               return pack( 'Cna*', 0xDA, $length, $value );
+                       } elseif ( $length <= 0xFFFFFFFF ) {
+                               return pack( 'CNa*', 0xDB, $length, $value );
+                       }
+                       throw new InvalidArgumentException( __METHOD__ . ": string too long (length: $length; max: 4294967295)" );
+
+               case 'integer':
+                       if ( $value >= 0 ) {
+                               if ( $value <= 0x7F ) {
+                                       // positive fixnum
+                                       return chr( $value );
+                               }
+                               if ( $value <= 0xFF ) {
+                                       // uint8
+                                       return pack( 'CC', 0xCC, $value );
+                               }
+                               if ( $value <= 0xFFFF ) {
+                                       // uint16
+                                       return pack( 'Cn', 0xCD, $value );
+                               }
+                               if ( $value <= 0xFFFFFFFF ) {
+                                       // uint32
+                                       return pack( 'CN', 0xCE, $value );
+                               }
+                               if ( $value <= 0xFFFFFFFFFFFFFFFF ) {
+                                       // uint64
+                                       $hi = ( $value & 0xFFFFFFFF00000000 ) >> 32;
+                                       $lo = $value & 0xFFFFFFFF;
+                                       return self::$bigendian
+                                               ? pack( 'CNN', 0xCF, $lo, $hi )
+                                               : pack( 'CNN', 0xCF, $hi, $lo );
+                               }
+                       } else {
+                               if ( $value >= -32 ) {
+                                       // negative fixnum
+                                       return pack( 'c', $value );
+                               }
+                               if ( $value >= -0x80 ) {
+                                       // int8
+                                       return pack( 'Cc', 0xD0, $value );
+                               }
+                               if ( $value >= -0x8000 ) {
+                                       // int16
+                                       $p = pack( 's', $value );
+                                       return self::$bigendian
+                                               ? pack( 'Ca2', 0xD1, $p )
+                                               : pack( 'Ca2', 0xD1, strrev( $p ) );
+                               }
+                               if ( $value >= -0x80000000 ) {
+                                       // int32
+                                       $p = pack( 'l', $value );
+                                       return self::$bigendian
+                                               ? pack( 'Ca4', 0xD2, $p )
+                                               : pack( 'Ca4', 0xD2, strrev( $p ) );
+                               }
+                               if ( $value >= -0x8000000000000000 ) {
+                                       // int64
+                                       // pack() does not support 64-bit ints either so pack into two 32-bits
+                                       $p1 = pack( 'l', $value & 0xFFFFFFFF );
+                                       $p2 = pack( 'l', ( $value >> 32 ) & 0xFFFFFFFF );
+                                       return self::$bigendian
+                                               ? pack( 'Ca4a4', 0xD3, $p1, $p2 )
+                                               : pack( 'Ca4a4', 0xD3, strrev( $p2 ), strrev( $p1 ) );
+                               }
+                       }
+                       throw new InvalidArgumentException( __METHOD__ . ": invalid integer '$value'" );
+
+               case 'array':
+                       $buffer = '';
+                       $length = count( $value );
+                       if ( $length > 0xFFFFFFFF ) {
+                               throw new InvalidArgumentException( __METHOD__ . ": array too long (length: $length, max: 4294967295)" );
+                       }
+
+                       $index = 0;
+                       foreach ( $value as $k => $v ) {
+                               if ( $index !== $k || $index === $length ) {
+                                       break;
+                               } else {
+                                       $index++;
+                               }
+                       }
+                       $associative = $index !== $length;
+
+                       if ( $associative ) {
+                               if ( $length < 16 ) {
+                                       $buffer .= pack( 'C', 0x80 | $length );
+                               } elseif ( $length <= 0xFFFF ) {
+                                       $buffer .= pack( 'Cn', 0xDE, $length );
+                               } else {
+                                       $buffer .= pack( 'CN', 0xDF, $length );
+                               }
+                               foreach ( $value as $k => $v ) {
+                                       $buffer .= self::pack( $k );
+                                       $buffer .= self::pack( $v );
+                               }
+                       } else {
+                               if ( $length < 16 ) {
+                                       $buffer .= pack( 'C', 0x90 | $length );
+                               } elseif ( $length <= 0xFFFF ) {
+                                       $buffer .= pack( 'Cn', 0xDC, $length );
+                               } else {
+                                       $buffer .= pack( 'CN', 0xDD, $length );
+                               }
+                               foreach ( $value as $v ) {
+                                       $buffer .= self::pack( $v );
+                               }
+                       }
+                       return $buffer;
+
+               default:
+                       throw new InvalidArgumentException( __METHOD__ . ': unsupported type ' . gettype( $value ) );
+               }
+       }
+}
diff --git a/includes/libs/RunningStat.php b/includes/libs/RunningStat.php
new file mode 100644 (file)
index 0000000..dda5254
--- /dev/null
@@ -0,0 +1,176 @@
+<?php
+/**
+ * Compute running mean, variance, and extrema of a stream of numbers.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Profiler
+ */
+
+// Needed due to PHP non-bug <https://bugs.php.net/bug.php?id=49828>.
+define( 'NEGATIVE_INF', -INF );
+
+/**
+ * Represents a running summary of a stream of numbers.
+ *
+ * RunningStat instances are accumulator-like objects that provide a set of
+ * continuously-updated summary statistics for a stream of numbers, without
+ * requiring that each value be stored. The measures it provides are the
+ * arithmetic mean, variance, standard deviation, and extrema (min and max);
+ * together they describe the central tendency and statistical dispersion of a
+ * set of values.
+ *
+ * One RunningStat instance can be merged into another; the resultant
+ * RunningStat has the state it would have had if it had accumulated each
+ * individual point. This allows data to be summarized in parallel and in
+ * stages without loss of fidelity.
+ *
+ * Based on a C++ implementation by John D. Cook:
+ *  <http://www.johndcook.com/standard_deviation.html>
+ *  <http://www.johndcook.com/skewness_kurtosis.html>
+ *
+ * The in-line documentation for this class incorporates content from the
+ * English Wikipedia articles "Variance", "Algorithms for calculating
+ * variance", and "Standard deviation".
+ *
+ * @since 1.23
+ */
+class RunningStat implements Countable {
+
+       /** @var int Number of samples. **/
+       public $n = 0;
+
+       /** @var float The first moment (or mean, or expected value). **/
+       public $m1 = 0.0;
+
+       /** @var float The second central moment (or variance). **/
+       public $m2 = 0.0;
+
+       /** @var float The least value in the the set. **/
+       public $min = INF;
+
+       /** @var float The most value in the set. **/
+       public $max = NEGATIVE_INF;
+
+       /**
+        * Count the number of accumulated values.
+        * @return int Number of values
+        */
+       public function count() {
+               return $this->n;
+       }
+
+       /**
+        * Add a number to the data set.
+        * @param int|float $x Value to add
+        */
+       public function push( $x ) {
+               $x = (float) $x;
+
+               $this->min = min( $this->min, $x );
+               $this->max = max( $this->max, $x );
+
+               $n1 = $this->n;
+               $this->n += 1;
+               $delta = $x - $this->m1;
+               $delta_n = $delta / $this->n;
+               $this->m1 += $delta_n;
+               $this->m2 += $delta * $delta_n * $n1;
+       }
+
+       /**
+        * Get the mean, or expected value.
+        *
+        * The arithmetic mean is the sum of all measurements divided by the number
+        * of observations in the data set.
+        *
+        * @return float Mean
+        */
+       public function getMean() {
+               return $this->m1;
+       }
+
+       /**
+        * Get the estimated variance.
+        *
+        * Variance measures how far a set of numbers is spread out. A small
+        * variance indicates that the data points tend to be very close to the
+        * mean (and hence to each other), while a high variance indicates that the
+        * data points are very spread out from the mean and from each other.
+        *
+        * @return float Estimated variance
+        */
+       public function getVariance() {
+               if ( $this->n === 0 ) {
+                       // The variance of the empty set is undefined.
+                       return NAN;
+               } elseif ( $this->n === 1 ) {
+                       return 0.0;
+               } else {
+                       return $this->m2 / ( $this->n - 1.0 );
+               }
+       }
+
+       /**
+        * Get the estimated stanard deviation.
+        *
+        * The standard deviation of a statistical population is the square root of
+        * its variance. It shows shows how much variation from the mean exists. In
+        * addition to expressing the variability of a population, the standard
+        * deviation is commonly used to measure confidence in statistical conclusions.
+        *
+        * @return float Estimated standard deviation
+        */
+       public function getStdDev() {
+               return sqrt( $this->getVariance() );
+       }
+
+       /**
+        * Merge another RunningStat instance into this instance.
+        *
+        * This instance then has the state it would have had if all the data had
+        * been accumulated by it alone.
+        *
+        * @param RunningStat RunningStat instance to merge into this one
+        */
+       public function merge( RunningStat $other ) {
+               // If the other RunningStat is empty, there's nothing to do.
+               if ( $other->n === 0 ) {
+                       return;
+               }
+
+               // If this RunningStat is empty, copy values from other RunningStat.
+               if ( $this->n === 0 ) {
+                       $this->n = $other->n;
+                       $this->m1 = $other->m1;
+                       $this->m2 = $other->m2;
+                       $this->min = $other->min;
+                       $this->max = $other->max;
+                       return;
+               }
+
+               $n = $this->n + $other->n;
+               $delta = $other->m1 - $this->m1;
+               $delta2 = $delta * $delta;
+
+               $this->m1 = ( ( $this->n * $this->m1 ) + ( $other->n * $other->m1 ) ) / $n;
+               $this->m2 = $this->m2 + $other->m2 + ( $delta2 * $this->n * $other->n / $n );
+               $this->min = min( $this->min, $other->min );
+               $this->max = max( $this->max, $other->max );
+               $this->n = $n;
+       }
+}
index d761a87..b658ac1 100644 (file)
@@ -79,13 +79,16 @@ class DeleteLogFormatter extends LogFormatter {
                                $count = count( explode( ',', $params[$paramStart] ) );
                                $newParams[4] = $this->context->getLanguage()->formatNum( $count );
 
-                               return $this->parsedParametersDeleteLog = $newParams;
+                               $this->parsedParametersDeleteLog = $newParams;
+                               return $this->parsedParametersDeleteLog;
                        } else {
-                               return $this->parsedParametersDeleteLog = array_slice( $params, 0, 3 );
+                               $this->parsedParametersDeleteLog = array_slice( $params, 0, 3 );
+                               return $this->parsedParametersDeleteLog;
                        }
                }
 
-               return $this->parsedParametersDeleteLog = $params;
+               $this->parsedParametersDeleteLog = $params;
+               return $this->parsedParametersDeleteLog;
        }
 
        protected function parseBitField( $string ) {
index 084a4b2..9e7f056 100644 (file)
@@ -455,7 +455,8 @@ class LogFormatter {
                // Bad things happens if the numbers are not in correct order
                ksort( $params );
 
-               return $this->parsedParameters = $params;
+               $this->parsedParameters = $params;
+               return $this->parsedParameters;
        }
 
        /**
@@ -737,7 +738,8 @@ class LegacyLogFormatter extends LogFormatter {
                }
 
                if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) ) {
-                       return $this->revert = '';
+                       $this->revert = '';
+                       return $this->revert;
                }
 
                $title = $this->entry->getTarget();
index 7efb23d..900ece9 100644 (file)
@@ -154,15 +154,15 @@ class LogPager extends ReverseChronologicalPager {
         * Set the log reader to return only entries by the given user.
         *
         * @param string $name (In)valid user name
-        * @return bool
+        * @return void
         */
        private function limitPerformer( $name ) {
                if ( $name == '' ) {
-                       return false;
+                       return;
                }
                $usertitle = Title::makeTitleSafe( NS_USER, $name );
                if ( is_null( $usertitle ) ) {
-                       return false;
+                       return;
                }
                /* Fetch userid at first, if known, provides awesome query plan afterwards */
                $userid = User::idFromName( $name );
@@ -179,6 +179,7 @@ class LogPager extends ReverseChronologicalPager {
                        $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_USER ) .
                                ' != ' . LogPage::SUPPRESSED_USER;
                }
+
                $this->performer = $usertitle->getText();
        }
 
@@ -188,7 +189,7 @@ class LogPager extends ReverseChronologicalPager {
         *
         * @param string|Title $page Title name
         * @param string $pattern
-        * @return bool
+        * @return void
         */
        private function limitTitle( $page, $pattern ) {
                global $wgMiserMode;
@@ -198,7 +199,7 @@ class LogPager extends ReverseChronologicalPager {
                } else {
                        $title = Title::newFromText( $page );
                        if ( strlen( $page ) == 0 || !$title instanceof Title ) {
-                               return false;
+                               return;
                        }
                }
 
index b7586e4..71cb863 100644 (file)
@@ -3082,8 +3082,6 @@ class Parser {
         * cache may be implemented at a later date which takes further advantage of these strict
         * dependency requirements.
         *
-        * @private
-        *
         * @return PPNode
         */
        function preprocessToDom( $text, $flags = 0 ) {
index dae0c68..9eaa3e2 100644 (file)
@@ -213,11 +213,11 @@ class ParserCache {
 
        /**
         * @param ParserOutput $parserOutput
-        * @param Article $article
+        * @param WikiPage $page
         * @param ParserOptions $popts
         * @param string $cacheTime Time when the cache was generated
         */
-       public function save( $parserOutput, $article, $popts, $cacheTime = null ) {
+       public function save( $parserOutput, $page, $popts, $cacheTime = null ) {
                $expire = $parserOutput->getCacheExpiry();
                if ( $expire > 0 ) {
                        $cacheTime = $cacheTime ?: wfTimestampNow();
@@ -231,11 +231,11 @@ class ParserCache {
 
                        $optionsKey->setContainsOldMagic( $parserOutput->containsOldMagic() );
 
-                       $parserOutputKey = $this->getParserOutputKey( $article,
-                               $popts->optionsHash( $optionsKey->mUsedOptions, $article->getTitle() ) );
+                       $parserOutputKey = $this->getParserOutputKey( $page,
+                               $popts->optionsHash( $optionsKey->mUsedOptions, $page->getTitle() ) );
 
                        // Save the timestamp so that we don't have to load the revision row on view
-                       $parserOutput->setTimestamp( $article->getTimestamp() );
+                       $parserOutput->setTimestamp( $page->getTimestamp() );
 
                        $parserOutput->mText .= "\n<!-- Saved in parser cache with key $parserOutputKey and timestamp $cacheTime\n -->\n";
                        wfDebug( "Saved in parser cache with key $parserOutputKey and timestamp $cacheTime\n" );
@@ -244,7 +244,7 @@ class ParserCache {
                        $this->mMemc->set( $parserOutputKey, $parserOutput, $expire );
 
                        // ...and its pointer
-                       $this->mMemc->set( $this->getOptionsKey( $article ), $optionsKey, $expire );
+                       $this->mMemc->set( $this->getOptionsKey( $page ), $optionsKey, $expire );
                } else {
                        wfDebug( "Parser output was marked as uncacheable and has not been saved.\n" );
                }
index 8393216..c4e9a1c 100644 (file)
@@ -571,7 +571,7 @@ class ParserOptions {
 
                // Give a chance for extensions to modify the hash, if they have
                // extra options or other effects on the parser cache.
-               wfRunHooks( 'PageRenderingHash', array( &$confstr ) );
+               wfRunHooks( 'PageRenderingHash', array( &$confstr, $this->getUser() ) );
 
                // Make it a valid memcached key fragment
                $confstr = str_replace( ' ', '_', $confstr );
index 76d14cf..8cd978b 100644 (file)
@@ -279,10 +279,10 @@ class ParserOutput extends CacheTime {
         * @throws MWException if given invalid input
         */
        function addInterwikiLink( $title ) {
-               $prefix = $title->getInterwiki();
-               if ( $prefix == '' ) {
+               if ( !$title->isExternal() ) {
                        throw new MWException( 'Non-interwiki link passed, internal parser error.' );
                }
+               $prefix = $title->getInterwiki();
                if ( !isset( $this->mInterwikiLinks[$prefix] ) ) {
                        $this->mInterwikiLinks[$prefix] = array();
                }
diff --git a/includes/profiler/RunningStat.php b/includes/profiler/RunningStat.php
deleted file mode 100644 (file)
index dda5254..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-/**
- * Compute running mean, variance, and extrema of a stream of numbers.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Profiler
- */
-
-// Needed due to PHP non-bug <https://bugs.php.net/bug.php?id=49828>.
-define( 'NEGATIVE_INF', -INF );
-
-/**
- * Represents a running summary of a stream of numbers.
- *
- * RunningStat instances are accumulator-like objects that provide a set of
- * continuously-updated summary statistics for a stream of numbers, without
- * requiring that each value be stored. The measures it provides are the
- * arithmetic mean, variance, standard deviation, and extrema (min and max);
- * together they describe the central tendency and statistical dispersion of a
- * set of values.
- *
- * One RunningStat instance can be merged into another; the resultant
- * RunningStat has the state it would have had if it had accumulated each
- * individual point. This allows data to be summarized in parallel and in
- * stages without loss of fidelity.
- *
- * Based on a C++ implementation by John D. Cook:
- *  <http://www.johndcook.com/standard_deviation.html>
- *  <http://www.johndcook.com/skewness_kurtosis.html>
- *
- * The in-line documentation for this class incorporates content from the
- * English Wikipedia articles "Variance", "Algorithms for calculating
- * variance", and "Standard deviation".
- *
- * @since 1.23
- */
-class RunningStat implements Countable {
-
-       /** @var int Number of samples. **/
-       public $n = 0;
-
-       /** @var float The first moment (or mean, or expected value). **/
-       public $m1 = 0.0;
-
-       /** @var float The second central moment (or variance). **/
-       public $m2 = 0.0;
-
-       /** @var float The least value in the the set. **/
-       public $min = INF;
-
-       /** @var float The most value in the set. **/
-       public $max = NEGATIVE_INF;
-
-       /**
-        * Count the number of accumulated values.
-        * @return int Number of values
-        */
-       public function count() {
-               return $this->n;
-       }
-
-       /**
-        * Add a number to the data set.
-        * @param int|float $x Value to add
-        */
-       public function push( $x ) {
-               $x = (float) $x;
-
-               $this->min = min( $this->min, $x );
-               $this->max = max( $this->max, $x );
-
-               $n1 = $this->n;
-               $this->n += 1;
-               $delta = $x - $this->m1;
-               $delta_n = $delta / $this->n;
-               $this->m1 += $delta_n;
-               $this->m2 += $delta * $delta_n * $n1;
-       }
-
-       /**
-        * Get the mean, or expected value.
-        *
-        * The arithmetic mean is the sum of all measurements divided by the number
-        * of observations in the data set.
-        *
-        * @return float Mean
-        */
-       public function getMean() {
-               return $this->m1;
-       }
-
-       /**
-        * Get the estimated variance.
-        *
-        * Variance measures how far a set of numbers is spread out. A small
-        * variance indicates that the data points tend to be very close to the
-        * mean (and hence to each other), while a high variance indicates that the
-        * data points are very spread out from the mean and from each other.
-        *
-        * @return float Estimated variance
-        */
-       public function getVariance() {
-               if ( $this->n === 0 ) {
-                       // The variance of the empty set is undefined.
-                       return NAN;
-               } elseif ( $this->n === 1 ) {
-                       return 0.0;
-               } else {
-                       return $this->m2 / ( $this->n - 1.0 );
-               }
-       }
-
-       /**
-        * Get the estimated stanard deviation.
-        *
-        * The standard deviation of a statistical population is the square root of
-        * its variance. It shows shows how much variation from the mean exists. In
-        * addition to expressing the variability of a population, the standard
-        * deviation is commonly used to measure confidence in statistical conclusions.
-        *
-        * @return float Estimated standard deviation
-        */
-       public function getStdDev() {
-               return sqrt( $this->getVariance() );
-       }
-
-       /**
-        * Merge another RunningStat instance into this instance.
-        *
-        * This instance then has the state it would have had if all the data had
-        * been accumulated by it alone.
-        *
-        * @param RunningStat RunningStat instance to merge into this one
-        */
-       public function merge( RunningStat $other ) {
-               // If the other RunningStat is empty, there's nothing to do.
-               if ( $other->n === 0 ) {
-                       return;
-               }
-
-               // If this RunningStat is empty, copy values from other RunningStat.
-               if ( $this->n === 0 ) {
-                       $this->n = $other->n;
-                       $this->m1 = $other->m1;
-                       $this->m2 = $other->m2;
-                       $this->min = $other->min;
-                       $this->max = $other->max;
-                       return;
-               }
-
-               $n = $this->n + $other->n;
-               $delta = $other->m1 - $this->m1;
-               $delta2 = $delta * $delta;
-
-               $this->m1 = ( ( $this->n * $this->m1 ) + ( $other->n * $other->m1 ) ) / $n;
-               $this->m2 = $this->m2 + $other->m2 + ( $delta2 * $this->n * $other->n / $n );
-               $this->min = min( $this->min, $other->min );
-               $this->max = max( $this->max, $other->max );
-               $this->n = $n;
-       }
-}
index 507369f..ddbb548 100644 (file)
@@ -1,7 +1,32 @@
 <?php
+
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Generates a colourful notification intended for humans on IRC.
+ *
+ * @since 1.22
+ */
+
 class IRCColourfulRCFeedFormatter implements RCFeedFormatter {
        /**
-        * Generates a colourful notification intended for humans on IRC.
         * @see RCFeedFormatter::getLine
         */
        public function getLine( array $feed, RecentChange $rc, $actionComment ) {
index 144ec95..063cb90 100644 (file)
@@ -1,5 +1,30 @@
 <?php
 
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Formats a notification into the JSON format (http://www.json.org)
+ *
+ * @since 1.22
+ */
+
 class JSONRCFeedFormatter implements RCFeedFormatter {
        /**
         * Generates a notification that can be easily interpreted by a machine.
index f733bcb..022e317 100644 (file)
@@ -1,4 +1,29 @@
 <?php
+
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Interface for RC feed engines, which send formatted notifications
+ *
+ * @since 1.22
+ */
 interface RCFeedEngine {
        /**
         * Sends some text to the specified live feed.
index 6c9f804..2f15659 100644 (file)
@@ -1,7 +1,32 @@
 <?php
+
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Interface for RC feed formatters
+ *
+ * @since 1.22
+ */
 interface RCFeedFormatter {
        /**
-        * Formats the line for the live feed.
+        * Formats the line to be sent by an engine
         *
         * @param array $feed The feed, as configured in an associative array.
         * @param RecentChange $rc The RecentChange object showing what sort
index 4bcc133..b9023b6 100644 (file)
@@ -1,23 +1,48 @@
 <?php
+
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Emit a recent change notification via Redis Pub/Sub
+ *
+ * If the feed URI contains a path component, it will be used to generate a
+ * channel name by stripping the leading slash and replacing any remaining
+ * slashes with '.'. If no path component is present, the channel is set to
+ * 'rc'. If the URI contains a query string, its parameters will be parsed
+ * as RedisConnectionPool options.
+ *
+ * @example
+ * $wgRCFeeds['redis'] = array(
+ *      'formatter' => 'JSONRCFeedFormatter',
+ *      'uri'       => "redis://127.0.0.1:6379/rc.$wgDBname",
+ * );
+ *
+ * @since 1.22
+ */
 class RedisPubSubFeedEngine implements RCFeedEngine {
+
        /**
-        * Emit a recent change notification via Redis Pub/Sub
-        *
-        * If the feed URI contains a path component, it will be used to generate a
-        * channel name by stripping the leading slash and replacing any remaining
-        * slashes with '.'. If no path component is present, the channel is set to
-        * 'rc'. If the URI contains a query string, its parameters will be parsed
-        * as RedisConnectionPool options.
-        *
-        * @example $wgRCFeeds['redis'] = array(
-        *      'formatter' => 'JSONRCFeedFormatter',
-        *      'uri'       => "redis://127.0.0.1:6379/rc.$wgDBname",
-        * );
-        *
-        * @since 1.22
+        * @see RCFeedEngine::send
         */
        public function send( array $feed, $line ) {
-               $parsed = parse_url( $feed['uri'] );
+               $parsed = wfParseUrl( $feed['uri'] );
                $server = $parsed['host'];
                $options = array( 'serializer' => 'none' );
                $channel = 'rc';
@@ -36,6 +61,11 @@ class RedisPubSubFeedEngine implements RCFeedEngine {
                }
                $pool = RedisConnectionPool::singleton( $options );
                $conn = $pool->getConnection( $server );
-               $conn->publish( $channel, $line );
+               if ( $conn !== false ) {
+                       $conn->publish( $channel, $line );
+                       return true;
+               } else {
+                       return false;
+               }
        }
 }
index beeb73b..8554670 100644 (file)
@@ -1,7 +1,31 @@
 <?php
+
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * Sends the notification to the specified host in a UDP packet.
+ * @since 1.22
+ */
+
 class UDPRCFeedEngine implements RCFeedEngine {
        /**
-        * Sends the notification to the specified host in a UDP packet.
         * @see RCFeedEngine::send
         */
        public function send( array $feed, $line ) {
index 3b072f9..08b1ac1 100644 (file)
@@ -1130,11 +1130,11 @@ class ResourceLoader {
        public static function inDebugMode() {
                global $wgRequest, $wgResourceLoaderDebug;
                static $retval = null;
-               if ( !is_null( $retval ) ) {
-                       return $retval;
+               if ( is_null( $retval ) ) {
+                       $retval = $wgRequest->getFuzzyBool( 'debug',
+                               $wgRequest->getCookie( 'resourceLoaderDebug', '', $wgResourceLoaderDebug ) );
                }
-               return $retval = $wgRequest->getFuzzyBool( 'debug',
-                       $wgRequest->getCookie( 'resourceLoaderDebug', '', $wgResourceLoaderDebug ) );
+               return $retval;
        }
 
        /**
index 43330da..eaff86f 100644 (file)
@@ -454,8 +454,9 @@ class ResourceLoaderFileModule extends ResourceLoaderModule {
                // If a module is nothing but a list of dependencies, we need to avoid
                // giving max() an empty array
                if ( count( $files ) === 0 ) {
+                       $this->modifiedTime[$context->getHash()] = 1;
                        wfProfileOut( __METHOD__ );
-                       return $this->modifiedTime[$context->getHash()] = 1;
+                       return $this->modifiedTime[$context->getHash()];
                }
 
                wfProfileIn( __METHOD__ . '-filemtime' );
index 93c5d1b..d0c3068 100644 (file)
@@ -273,7 +273,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        $module = $loader->getModule( $name );
                        $time = max( $time, $module->getModifiedTime( $context ) );
                }
-               return $this->modifiedTime[$hash] = $time;
+               $this->modifiedTime[$hash] = $time;
+               return $this->modifiedTime[$hash];
        }
 
        /* Methods */
index aafe432..a9d1076 100644 (file)
@@ -41,12 +41,12 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
         */
        public function getModifiedTime( ResourceLoaderContext $context ) {
                $hash = $context->getHash();
-               if ( isset( $this->modifiedTime[$hash] ) ) {
-                       return $this->modifiedTime[$hash];
+               if ( !isset( $this->modifiedTime[$hash] ) ) {
+                       global $wgUser;
+                       $this->modifiedTime[$hash] = wfTimestamp( TS_UNIX, $wgUser->getTouched() );
                }
 
-               global $wgUser;
-               return $this->modifiedTime[$hash] = wfTimestamp( TS_UNIX, $wgUser->getTouched() );
+               return $this->modifiedTime[$hash];
        }
 
        /**
index 1df8c56..3686bea 100644 (file)
@@ -43,12 +43,12 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule {
         */
        public function getModifiedTime( ResourceLoaderContext $context ) {
                $hash = $context->getHash();
-               if ( isset( $this->modifiedTime[$hash] ) ) {
-                       return $this->modifiedTime[$hash];
+               if ( !isset( $this->modifiedTime[$hash] ) ) {
+                       global $wgUser;
+                       $this->modifiedTime[$hash] = wfTimestamp( TS_UNIX, $wgUser->getTouched() );
                }
 
-               global $wgUser;
-               return $this->modifiedTime[$hash] = wfTimestamp( TS_UNIX, $wgUser->getTouched() );
+               return $this->modifiedTime[$hash];
        }
 
        /**
index 71c05d8..1556961 100644 (file)
@@ -485,11 +485,10 @@ class SearchEngine {
         */
        public static function getSearchTypes() {
                global $wgSearchType, $wgSearchTypeAlternatives;
-               static $alternatives = null;
-               if ( $alternatives === null ) {
-                       $alternatives = $wgSearchTypeAlternatives ?: array();
-                       array_unshift( $alternatives, $wgSearchType );
-               }
+
+               $alternatives = $wgSearchTypeAlternatives ?: array();
+               array_unshift( $alternatives, $wgSearchType );
+
                return $alternatives;
        }
 
index f50542d..e5ce48f 100644 (file)
@@ -63,203 +63,14 @@ class SpecialPage {
         */
        protected $mContext;
 
-       /**
-        * Initialise the special page list
-        * This must be called before accessing SpecialPage::$mList
-        * @deprecated since 1.18
-        */
-       static function initList() {
-               wfDeprecated( __METHOD__, '1.18' );
-               // Noop
-       }
-
-       /**
-        * @deprecated since 1.18
-        */
-       static function initAliasList() {
-               wfDeprecated( __METHOD__, '1.18' );
-               // Noop
-       }
-
-       /**
-        * Given a special page alias, return the special page name.
-        * Returns false if there is no such alias.
-        *
-        * @param $alias String
-        * @return String or false
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function resolveAlias( $alias ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               list( $name, /*...*/ ) = SpecialPageFactory::resolveAlias( $alias );
-               return $name;
-       }
-
-       /**
-        * Given a special page name with a possible subpage, return an array
-        * where the first element is the special page name and the second is the
-        * subpage.
-        *
-        * @param $alias String
-        * @return Array
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function resolveAliasWithSubpage( $alias ) {
-               return SpecialPageFactory::resolveAlias( $alias );
-       }
-
-       /**
-        * Add a page to a certain display group for Special:SpecialPages
-        *
-        * @param $page Mixed: SpecialPage or string
-        * @param $group String
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function setGroup( $page, $group ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               SpecialPageFactory::setGroup( $page, $group );
-       }
-
-       /**
-        * Get the group that the special page belongs in on Special:SpecialPage
-        *
-        * @param $page SpecialPage
-        * @return string
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getGroup( &$page ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return $page->getFinalGroupName();
-       }
-
-       /**
-        * Remove a special page from the list
-        * Formerly used to disable expensive or dangerous special pages. The
-        * preferred method is now to add a SpecialPage_initList hook.
-        * @deprecated since 1.18
-        *
-        * @param string $name the page to remove
-        */
-       static function removePage( $name ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               unset( SpecialPageFactory::getList()->$name );
-       }
-
-       /**
-        * Check if a given name exist as a special page or as a special page alias
-        *
-        * @param string $name name of a special page
-        * @return Boolean: true if a special page exists with this name
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function exists( $name ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::exists( $name );
-       }
-
-       /**
-        * Find the object with a given name and return it (or NULL)
-        *
-        * @param $name String
-        * @return SpecialPage object or null if the page doesn't exist
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getPage( $name ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getPage( $name );
-       }
-
-       /**
-        * Get a special page with a given localised name, or NULL if there
-        * is no such special page.
-        *
-        * @param $alias String
-        * @return SpecialPage object or null if the page doesn't exist
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getPageByAlias( $alias ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getPage( $alias );
-       }
-
-       /**
-        * Return categorised listable special pages which are available
-        * for the current user, and everyone.
-        *
-        * @param $user User object to check permissions, $wgUser will be used
-        *              if not provided
-        * @return array Associative array mapping page's name to its SpecialPage object
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getUsablePages( User $user = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getUsablePages( $user );
-       }
-
-       /**
-        * Return categorised listable special pages for all users
-        *
-        * @return array Associative array mapping page's name to its SpecialPage object
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getRegularPages() {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getRegularPages();
-       }
-
-       /**
-        * Return categorised listable special pages which are available
-        * for the current user, but not for everyone
-        *
-        * @return array Associative array mapping page's name to its SpecialPage object
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getRestrictedPages() {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getRestrictedPages();
-       }
-
-       /**
-        * Execute a special page path.
-        * The path may contain parameters, e.g. Special:Name/Params
-        * Extracts the special page name and call the execute method, passing the parameters
-        *
-        * Returns a title object if the page is redirected, false if there was no such special
-        * page, and true if it was successful.
-        *
-        * @param $title          Title object
-        * @param $context        IContextSource
-        * @param $including      Bool output is being captured for use in {{special:whatever}}
-        * @return Bool
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       public static function executePath( &$title, IContextSource &$context, $including = false ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::executePath( $title, $context, $including );
-       }
-
-       /**
-        * Get the local name for a specified canonical name
-        *
-        * @param $name String
-        * @param $subpage Mixed: boolean false, or string
-        *
-        * @return String
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getLocalNameFor( $name, $subpage = false ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getLocalNameFor( $name, $subpage );
-       }
-
        /**
         * Get a localised Title object for a specified special page name
         *
-        * @param $name String
-        * @param string|Bool $subpage subpage string, or false to not use a subpage
-        * @param string $fragment the link fragment (after the "#")
+        * @param string $name
+        * @param string|bool $subpage Subpage string, or false to not use a subpage
+        * @param string $fragment The link fragment (after the "#")
+        * @return Title
         * @throws MWException
-        * @return Title object
         */
        public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
                $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
@@ -269,9 +80,9 @@ class SpecialPage {
        /**
         * Get a localised Title object for a page name with a possibly unvalidated subpage
         *
-        * @param $name String
-        * @param string|Bool $subpage subpage string, or false to not use a subpage
-        * @return Title object or null if the page doesn't exist
+        * @param string $name
+        * @param string|bool $subpage Subpage string, or false to not use a subpage
+        * @return Title|null Title object or null if the page doesn't exist
         */
        public static function getSafeTitleFor( $name, $subpage = false ) {
                $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
@@ -282,18 +93,6 @@ class SpecialPage {
                }
        }
 
-       /**
-        * Get a title for a given alias
-        *
-        * @param $alias String
-        * @return Title or null if there is no such alias
-        * @deprecated since 1.18 call SpecialPageFactory method directly
-        */
-       static function getTitleForAlias( $alias ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return SpecialPageFactory::getTitleForAlias( $alias );
-       }
-
        /**
         * Default constructor for special pages
         * Derivative classes should call this from their constructor
@@ -307,32 +106,16 @@ class SpecialPage {
         * @param string $name Name of the special page, as seen in links and URLs
         * @param string $restriction User right required, e.g. "block" or "delete"
         * @param bool $listed Whether the page is listed in Special:Specialpages
-        * @param Callback|Bool $function Function called by execute(). By default
-        * it is constructed from $name
+        * @param callable|bool $function Function called by execute(). By default
+        *   it is constructed from $name
         * @param string $file File which is included by execute(). It is also
-        * constructed from $name by default
+        *   constructed from $name by default
         * @param bool $includable Whether the page can be included in normal pages
         */
        public function __construct(
                $name = '', $restriction = '', $listed = true,
                $function = false, $file = 'default', $includable = false
        ) {
-               $this->init( $name, $restriction, $listed, $function, $file, $includable );
-       }
-
-       /**
-        * Do the real work for the constructor, mainly so __call() can intercept
-        * calls to SpecialPage()
-        * @param string $name Name of the special page, as seen in links and URLs
-        * @param string $restriction User right required, e.g. "block" or "delete"
-        * @param bool $listed Whether the page is listed in Special:Specialpages
-        * @param Callback|Bool $function Function called by execute(). By default
-        * it is constructed from $name
-        * @param string $file File which is included by execute(). It is also
-        * constructed from $name by default
-        * @param bool $includable Whether the page can be included in normal pages
-        */
-       private function init( $name, $restriction, $listed, $function, $file, $includable ) {
                $this->mName = $name;
                $this->mRestriction = $restriction;
                $this->mListed = $listed;
@@ -349,37 +132,9 @@ class SpecialPage {
                }
        }
 
-       /**
-        * Use PHP's magic __call handler to get calls to the old PHP4 constructor
-        * because PHP E_STRICT yells at you for having __construct() and SpecialPage()
-        *
-        * @param string $fName Name of called method
-        * @param array $a Arguments to the method
-        * @throws MWException
-        * @deprecated since 1.17, call parent::__construct()
-        */
-       public function __call( $fName, $a ) {
-               // Deprecated messages now, remove in 1.19 or 1.20?
-               wfDeprecated( __METHOD__, '1.17' );
-
-               // Sometimes $fName is SpecialPage, sometimes it's specialpage. <3 PHP
-               if ( strtolower( $fName ) == 'specialpage' ) {
-                       $name = isset( $a[0] ) ? $a[0] : '';
-                       $restriction = isset( $a[1] ) ? $a[1] : '';
-                       $listed = isset( $a[2] ) ? $a[2] : true;
-                       $function = isset( $a[3] ) ? $a[3] : false;
-                       $file = isset( $a[4] ) ? $a[4] : 'default';
-                       $includable = isset( $a[5] ) ? $a[5] : false;
-                       $this->init( $name, $restriction, $listed, $function, $file, $includable );
-               } else {
-                       $className = get_class( $this );
-                       throw new MWException( "Call to undefined method $className::$fName" );
-               }
-       }
-
        /**
         * Get the name of this Special Page.
-        * @return String
+        * @return string
         */
        function getName() {
                return $this->mName;
@@ -387,7 +142,7 @@ class SpecialPage {
 
        /**
         * Get the permission that a user must have to execute this page
-        * @return String
+        * @return string
         */
        function getRestriction() {
                return $this->mRestriction;
@@ -397,7 +152,7 @@ class SpecialPage {
         * Get the file which will be included by SpecialPage::execute() if your extension is
         * still stuck in the past and hasn't overridden the execute() method.  No modern code
         * should want or need to know this.
-        * @return String
+        * @return string
         * @deprecated since 1.18
         */
        function getFile() {
@@ -409,25 +164,25 @@ class SpecialPage {
        /**
         * Whether this special page is listed in Special:SpecialPages
         * @since r3583 (v1.3)
-        * @return Bool
+        * @return bool
         */
        function isListed() {
                return $this->mListed;
        }
        /**
         * Set whether this page is listed in Special:Specialpages, at run-time
-        * @since r3583 (v1.3)
-        * @param $listed Bool
-        * @return Bool
+        * @since 1.3
+        * @param bool $listed
+        * @return bool
         */
        function setListed( $listed ) {
                return wfSetVar( $this->mListed, $listed );
        }
        /**
         * Get or set whether this special page is listed in Special:SpecialPages
-        * @since r11308 (v1.6)
-        * @param $x Bool
-        * @return Bool
+        * @since 1.6
+        * @param bool $x
+        * @return bool
         */
        function listed( $x = null ) {
                return wfSetVar( $this->mListed, $x );
@@ -435,76 +190,16 @@ class SpecialPage {
 
        /**
         * Whether it's allowed to transclude the special page via {{Special:Foo/params}}
-        * @return Bool
+        * @return bool
         */
        public function isIncludable() {
                return $this->mIncludable;
        }
 
-       /**
-        * These mutators are very evil, as the relevant variables should not mutate.  So
-        * don't use them.
-        * @param $x Mixed
-        * @return Mixed
-        * @deprecated since 1.18
-        */
-       function name( $x = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return wfSetVar( $this->mName, $x );
-       }
-
-       /**
-        * These mutators are very evil, as the relevant variables should not mutate.  So
-        * don't use them.
-        * @param $x Mixed
-        * @return Mixed
-        * @deprecated since 1.18
-        */
-       function restriction( $x = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return wfSetVar( $this->mRestriction, $x );
-       }
-
-       /**
-        * These mutators are very evil, as the relevant variables should not mutate.  So
-        * don't use them.
-        * @param $x Mixed
-        * @return Mixed
-        * @deprecated since 1.18
-        */
-       function func( $x = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return wfSetVar( $this->mFunction, $x );
-       }
-
-       /**
-        * These mutators are very evil, as the relevant variables should not mutate.  So
-        * don't use them.
-        * @param $x Mixed
-        * @return Mixed
-        * @deprecated since 1.18
-        */
-       function file( $x = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return wfSetVar( $this->mFile, $x );
-       }
-
-       /**
-        * These mutators are very evil, as the relevant variables should not mutate.  So
-        * don't use them.
-        * @param $x Mixed
-        * @return Mixed
-        * @deprecated since 1.18
-        */
-       function includable( $x = null ) {
-               wfDeprecated( __METHOD__, '1.18' );
-               return wfSetVar( $this->mIncludable, $x );
-       }
-
        /**
         * Whether the special page is being evaluated via transclusion
-        * @param $x Bool
-        * @return Bool
+        * @param bool $x
+        * @return bool
         */
        function including( $x = null ) {
                return wfSetVar( $this->mIncluding, $x );
@@ -512,6 +207,7 @@ class SpecialPage {
 
        /**
         * Get the localised name of the special page
+        * @return string
         */
        function getLocalName() {
                if ( !isset( $this->mLocalName ) ) {
@@ -526,7 +222,7 @@ class SpecialPage {
         * (and still overridden) by QueryPage and subclasses, moved here so that
         * Special:SpecialPages can safely call it for all special pages.
         *
-        * @return Boolean
+        * @return bool
         */
        public function isExpensive() {
                return false;
@@ -538,7 +234,7 @@ class SpecialPage {
         * Used by QueryPage and subclasses, moved here so that
         * Special:SpecialPages can safely call it for all special pages.
         *
-        * @return Boolean
+        * @return bool
         * @since 1.21
         */
        public function isCached() {
@@ -549,7 +245,7 @@ class SpecialPage {
         * Can be overridden by subclasses with more complicated permissions
         * schemes.
         *
-        * @return Boolean: should the page be displayed with the restricted-access
+        * @return bool Should the page be displayed with the restricted-access
         *   pages?
         */
        public function isRestricted() {
@@ -562,8 +258,8 @@ class SpecialPage {
         * special page (as defined by $mRestriction).  Can be overridden by sub-
         * classes with more complicated permissions schemes.
         *
-        * @param $user User: the user to check
-        * @return Boolean: does the user have permission to view the page?
+        * @param User $user The user to check
+        * @return bool Does the user have permission to view the page?
         */
        public function userCanExecute( User $user ) {
                return $user->isAllowed( $this->mRestriction );
@@ -571,6 +267,7 @@ class SpecialPage {
 
        /**
         * Output an error message telling the user what access level they have to have
+        * @throws PermissionsError
         */
        function displayRestrictionError() {
                throw new PermissionsError( $this->mRestriction );
@@ -580,6 +277,8 @@ class SpecialPage {
         * Checks if userCanExecute, and if not throws a PermissionsError
         *
         * @since 1.19
+        * @return void
+        * @throws PermissionsError
         */
        public function checkPermissions() {
                if ( !$this->userCanExecute( $this->getUser() ) ) {
@@ -591,6 +290,7 @@ class SpecialPage {
         * If the wiki is currently in readonly mode, throws a ReadOnlyError
         *
         * @since 1.19
+        * @return void
         * @throws ReadOnlyError
         */
        public function checkReadOnly() {
@@ -657,7 +357,7 @@ class SpecialPage {
         *
         * @since 1.20
         *
-        * @param $subPage string|null
+        * @param string|null $subPage
         */
        final public function run( $subPage ) {
                /**
@@ -665,8 +365,8 @@ class SpecialPage {
                 *
                 * @since 1.20
                 *
-                * @param $special SpecialPage
-                * @param $subPage string|null
+                * @param SpecialPage $this
+                * @param string|null $subPage
                 */
                wfRunHooks( 'SpecialPageBeforeExecute', array( $this, $subPage ) );
 
@@ -679,8 +379,8 @@ class SpecialPage {
                 *
                 * @since 1.20
                 *
-                * @param $special SpecialPage
-                * @param $subPage string|null
+                * @param SpecialPage $this
+                * @param string|null $subPage
                 */
                wfRunHooks( 'SpecialPageAfterExecute', array( $this, $subPage ) );
        }
@@ -690,7 +390,7 @@ class SpecialPage {
         *
         * @since 1.20
         *
-        * @param $subPage string|null
+        * @param string|null $subPage
         */
        protected function beforeExecute( $subPage ) {
                // No-op
@@ -701,7 +401,7 @@ class SpecialPage {
         *
         * @since 1.20
         *
-        * @param $subPage string|null
+        * @param string|null $subPage
         */
        protected function afterExecute( $subPage ) {
                // No-op
@@ -713,7 +413,7 @@ class SpecialPage {
         *
         * This must be overridden by subclasses; it will be made abstract in a future version
         *
-        * @param $subPage string|null
+        * @param string|null $subPage
         */
        public function execute( $subPage ) {
                $this->setHeaders();
@@ -734,7 +434,7 @@ class SpecialPage {
         * May be overridden, i.e. by extensions to stick with the naming conventions
         * for message keys: 'extensionname-xxx'
         *
-        * @param string $summaryMessageKey message key of the summary
+        * @param string $summaryMessageKey Message key of the summary
         */
        function outputHeader( $summaryMessageKey = '' ) {
                global $wgContLang;
@@ -767,8 +467,8 @@ class SpecialPage {
        /**
         * Get a self-referential title object
         *
-        * @param $subpage String|Bool
-        * @return Title object
+        * @param string|bool $subpage
+        * @return Title
         * @deprecated in 1.23, use SpecialPage::getPageTitle
         */
        function getTitle( $subpage = false ) {
@@ -779,8 +479,8 @@ class SpecialPage {
        /**
         * Get a self-referential title object
         *
-        * @param $subpage String|Bool
-        * @return Title object
+        * @param string|bool $subpage
+        * @return Title
         * @since 1.23
         */
        function getPageTitle( $subpage = false ) {
@@ -790,7 +490,7 @@ class SpecialPage {
        /**
         * Sets the context this SpecialPage is executed in
         *
-        * @param $context IContextSource
+        * @param IContextSource $context
         * @since 1.18
         */
        public function setContext( $context ) {
@@ -909,7 +609,7 @@ class SpecialPage {
        /**
         * Adds RSS/atom links
         *
-        * @param $params array
+        * @param array $params
         */
        protected function addFeedLinks( $params ) {
                global $wgFeedClasses;
index fa5ec29..1aa8006 100644 (file)
@@ -296,14 +296,14 @@ class SpecialBlock extends FormSpecialPage {
                if ( $this->requestedHideUser ) {
                        $fields['Confirm']['type'] = 'check';
                        unset( $fields['Confirm']['default'] );
-                       $this->preErrors[] = 'ipb-confirmhideuser';
+                       $this->preErrors[] = array( 'ipb-confirmhideuser', 'ipb-confirmaction' );
                }
 
                # Or if the user is trying to block themselves
                if ( (string)$this->target === $this->getUser()->getName() ) {
                        $fields['Confirm']['type'] = 'check';
                        unset( $fields['Confirm']['default'] );
-                       $this->preErrors[] = 'ipb-blockingself';
+                       $this->preErrors[] = array( 'ipb-blockingself', 'ipb-confirmaction' );
                }
        }
 
@@ -630,7 +630,7 @@ class SpecialBlock extends FormSpecialPage {
                        if ( $target === $performer->getName() &&
                                ( $data['PreviousTarget'] !== $target || !$data['Confirm'] )
                        ) {
-                               return array( 'ipb-blockingself' );
+                               return array( 'ipb-blockingself', 'ipb-confirmaction' );
                        }
                } elseif ( $type == Block::TYPE_RANGE ) {
                        $userId = 0;
@@ -678,7 +678,7 @@ class SpecialBlock extends FormSpecialPage {
                                # Disallow hiding users with many edits for performance.
                                return array( 'ipb_hide_invalid' );
                        } elseif ( !$data['Confirm'] ) {
-                               return array( 'ipb-confirmhideuser' );
+                               return array( 'ipb-confirmhideuser', 'ipb-confirmaction' );
                        }
                }
 
index 908e59c..6695c82 100644 (file)
@@ -330,9 +330,10 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        // This is a bit ugly, but will serve to differentiate
                        // wiki-borne mails from direct mails and protects against
                        // SPF and bounce problems with some mailers (see below).
-                       global $wgPasswordSender, $wgPasswordSenderName;
+                       global $wgPasswordSender;
 
-                       $mailFrom = new MailAddress( $wgPasswordSender, $wgPasswordSenderName );
+                       $mailFrom = new MailAddress( $wgPasswordSender,
+                               wfMessage( 'emailsender' )->inContentLanguage()->text() );
                        $replyTo = $from;
                } else {
                        // Put the sending user's e-mail address in the From: header.
index bbed9e6..6fb5e8c 100644 (file)
@@ -315,7 +315,7 @@ class SpecialExport extends SpecialPage {
                        foreach ( explode( "\n", $page ) as $pageName ) {
                                $pageName = trim( $pageName );
                                $title = Title::newFromText( $pageName );
-                               if ( $title && $title->getInterwiki() == '' && $title->getText() !== '' ) {
+                               if ( $title && !$title->isExternal() && $title->getText() !== '' ) {
                                        // Only record each page once!
                                        $pageSet[$title->getPrefixedText()] = true;
                                }
index db3be12..09284d0 100644 (file)
@@ -52,6 +52,7 @@ class SpecialProtectedpages extends SpecialPage {
                $ns = $request->getIntOrNull( 'namespace' );
                $indefOnly = $request->getBool( 'indefonly' ) ? 1 : 0;
                $cascadeOnly = $request->getBool( 'cascadeonly' ) ? 1 : 0;
+               $noRedirect = $request->getBool( 'noredirect' ) ? 1 : 0;
 
                $pager = new ProtectedPagesPager(
                        $this,
@@ -62,7 +63,8 @@ class SpecialProtectedpages extends SpecialPage {
                        $sizetype,
                        $size,
                        $indefOnly,
-                       $cascadeOnly
+                       $cascadeOnly,
+                       $noRedirect
                );
 
                $this->getOutput()->addHTML( $this->showOptions(
@@ -72,7 +74,8 @@ class SpecialProtectedpages extends SpecialPage {
                        $sizetype,
                        $size,
                        $indefOnly,
-                       $cascadeOnly
+                       $cascadeOnly,
+                       $noRedirect
                ) );
 
                if ( $pager->getNumRows() ) {
@@ -186,17 +189,18 @@ class SpecialProtectedpages extends SpecialPage {
        }
 
        /**
-        * @param $namespace Integer
-        * @param string $type restriction type
-        * @param string $level restriction level
+        * @param int $namespace
+        * @param string $type Restriction type
+        * @param string $level Restriction level
         * @param string $sizetype "min" or "max"
-        * @param $size Integer
-        * @param $indefOnly Boolean: only indefinie protection
-        * @param $cascadeOnly Boolean: only cascading protection
+        * @param int $size
+        * @param bool $indefOnly Only indefinite protection
+        * @param bool $cascadeOnly Only cascading protection
+        * @param bool $noRedirect Don't show redirects
         * @return String: input form
         */
        protected function showOptions( $namespace, $type = 'edit', $level, $sizetype,
-               $size, $indefOnly, $cascadeOnly
+               $size, $indefOnly, $cascadeOnly, $noRedirect
        ) {
                global $wgScript;
 
@@ -212,6 +216,7 @@ class SpecialProtectedpages extends SpecialPage {
                        "<br /><span style='white-space: nowrap'>" .
                        $this->getExpiryCheck( $indefOnly ) . "&#160;\n" .
                        $this->getCascadeCheck( $cascadeOnly ) . "&#160;\n" .
+                       $this->getRedirectCheck( $noRedirect ) . "&#160;\n" .
                        "</span><br /><span style='white-space: nowrap'>" .
                        $this->getSizeLimit( $sizetype, $size ) . "&#160;\n" .
                        "</span>" .
@@ -269,6 +274,19 @@ class SpecialProtectedpages extends SpecialPage {
                ) . "\n";
        }
 
+       /**
+        * @param bool $noRedirect
+        * @return string Formatted HTML
+        */
+       protected function getRedirectCheck( $noRedirect ) {
+               return Xml::checkLabel(
+                       $this->msg( 'protectedpages-noredirect' )->text(),
+                       'noredirect',
+                       'noredirect',
+                       $noRedirect
+               ) . "\n";
+       }
+
        /**
         * @param string $sizetype "min" or "max"
         * @param mixed $size
@@ -372,10 +390,10 @@ class SpecialProtectedpages extends SpecialPage {
  */
 class ProtectedPagesPager extends AlphabeticPager {
        public $mForm, $mConds;
-       private $type, $level, $namespace, $sizetype, $size, $indefonly;
+       private $type, $level, $namespace, $sizetype, $size, $indefonly, $cascadeonly, $noredirect;
 
        function __construct( $form, $conds = array(), $type, $level, $namespace,
-               $sizetype = '', $size = 0, $indefonly = false, $cascadeonly = false
+               $sizetype = '', $size = 0, $indefonly = false, $cascadeonly = false, $noredirect = false
        ) {
                $this->mForm = $form;
                $this->mConds = $conds;
@@ -386,6 +404,7 @@ class ProtectedPagesPager extends AlphabeticPager {
                $this->size = intval( $size );
                $this->indefonly = (bool)$indefonly;
                $this->cascadeonly = (bool)$cascadeonly;
+               $this->noredirect = (bool)$noredirect;
                parent::__construct( $form->getContext() );
        }
 
@@ -406,8 +425,8 @@ class ProtectedPagesPager extends AlphabeticPager {
 
        function getQueryInfo() {
                $conds = $this->mConds;
-               $conds[] = '(pr_expiry>' . $this->mDb->addQuotes( $this->mDb->timestamp() ) .
-                       'OR pr_expiry IS NULL)';
+               $conds[] = 'pr_expiry > ' . $this->mDb->addQuotes( $this->mDb->timestamp() ) .
+                       'OR pr_expiry IS NULL';
                $conds[] = 'page_id=pr_page';
                $conds[] = 'pr_type=' . $this->mDb->addQuotes( $this->type );
 
@@ -424,6 +443,9 @@ class ProtectedPagesPager extends AlphabeticPager {
                if ( $this->cascadeonly ) {
                        $conds[] = 'pr_cascade = 1';
                }
+               if ( $this->noredirect ) {
+                       $conds[] = 'page_is_redirect = 0';
+               }
 
                if ( $this->level ) {
                        $conds[] = 'pr_level=' . $this->mDb->addQuotes( $this->level );
index 5dee226..9a9cd13 100644 (file)
@@ -65,7 +65,7 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                }
                $outputPage = $this->getOutput();
                $title = Title::newFromURL( $target );
-               if ( !$title || $title->getInterwiki() != '' ) {
+               if ( !$title || $title->isExternal() ) {
                        $outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )->parse() . '</div>' );
                        return false;
                }
index 5175ec9..27ba78e 100644 (file)
@@ -348,9 +348,14 @@ class SpecialUpload extends SpecialPage {
                        } elseif ( $warning == 'duplicate' ) {
                                $msg = $this->getDupeWarning( $args );
                        } elseif ( $warning == 'duplicate-archive' ) {
-                               $msg = "\t<li>" . $this->msg( 'file-deleted-duplicate',
-                                               Title::makeTitle( NS_FILE, $args )->getPrefixedText() )->parse()
-                                       . "</li>\n";
+                               if ( $args === '' ) {
+                                       $msg = "\t<li>" . $this->msg( 'file-deleted-duplicate-notitle' )->parse()
+                                               . "</li>\n";
+                               } else {
+                                       $msg = "\t<li>" . $this->msg( 'file-deleted-duplicate',
+                                                       Title::makeTitle( NS_FILE, $args )->getPrefixedText() )->parse()
+                                               . "</li>\n";
+                               }
                        } else {
                                if ( $args === true ) {
                                        $args = array();
index 5ba785f..8d7bd54 100644 (file)
@@ -48,41 +48,88 @@ class SpecialVersion extends SpecialPage {
         * main()
         */
        public function execute( $par ) {
-               global $wgSpecialVersionShowHooks, $IP;
+               global $IP, $wgExtensionCredits;
 
                $this->setHeaders();
                $this->outputHeader();
                $out = $this->getOutput();
                $out->allowClickjacking();
 
-               if ( $par !== 'Credits' ) {
-                       $text =
-                               $this->getMediaWikiCredits() .
-                               $this->softwareInformation() .
-                               $this->getEntryPointInfo() .
-                               $this->getExtensionCredits();
-                       if ( $wgSpecialVersionShowHooks ) {
-                               $text .= $this->getWgHooks();
+               // Explode the sub page information into useful bits
+               $parts = explode( '/', (string)$par );
+               if ( isset( $parts[1] ) ) {
+                       $extName = str_replace( '_', ' ', $parts[1] );
+                       $extNode = null;
+                       // Find it!
+                       foreach ( $wgExtensionCredits as $group => $extensions ) {
+                               foreach ( $extensions as $ext ) {
+                                       if ( isset( $ext['name'] ) && ( $ext['name'] === $extName ) ) {
+                                               $extNode = &$ext;
+                                               break 2;
+                                       }
+                               }
                        }
-
-                       $out->addWikiText( $text );
-                       $out->addHTML( $this->IPInfo() );
-
-                       if ( $this->getRequest()->getVal( 'easteregg' ) ) {
-                               // TODO: put something interesting here
+                       if ( !$extNode ) {
+                               $out->setStatusCode( 404 );
                        }
                } else {
-                       // Credits sub page
-
-                       // Header
-                       $out->addHTML( wfMessage( 'version-credits-summary' )->parseAsBlock() );
+                       $extName = 'MediaWiki';
+               }
 
-                       $wikiText = file_get_contents( $IP . '/CREDITS' );
+               // Now figure out what to do
+               switch ( strtolower( $parts[0] ) ) {
+                       case 'credits':
+                               $wikiText = '{{int:version-credits-not-found}}';
+                               if ( $extName === 'MediaWiki' ) {
+                                       $wikiText = file_get_contents( $IP . '/CREDITS' );
+                               } elseif ( ( $extNode !== null ) && isset( $extNode['path'] ) ) {
+                                       $file = $this->getExtAuthorsFileName( dirname( $extNode['path'] ) );
+                                       if ( $file ) {
+                                               $wikiText = file_get_contents( $file );
+                                       }
+                               }
 
-                       // Take everything from the first section onwards, to remove the (not localized) header
-                       $wikiText = substr( $wikiText, strpos( $wikiText, '==' ) );
+                               $out->setPageTitle( $this->msg( 'version-credits-title', $extName ) );
+                               $out->addWikiText( $wikiText );
+                               break;
+
+                       case 'license':
+                               $wikiText = '{{int:version-license-not-found}}';
+                               if ( $extName === 'MediaWiki' ) {
+                                       $wikiText = file_get_contents( $IP . '/COPYING' );
+                               } elseif ( ( $extNode !== null ) && isset( $extNode['path'] ) ) {
+                                       $file = $this->getExtLicenseFileName( dirname( $extNode['path'] ) );
+                                       if ( $file ) {
+                                               $wikiText = file_get_contents( $file );
+                                               if ( !isset( $extNode['license-name'] ) ) {
+                                                       // If the developer did not explicitly set license-name they probably
+                                                       // are unaware that we're now sucking this file in and thus it's probably
+                                                       // not wikitext friendly.
+                                                       $wikiText = "<pre>$wikiText</pre>";
+                                               }
+                                       }
+                               }
 
-                       $out->addWikiText( $wikiText );
+                               $out->setPageTitle( $this->msg( 'version-license-title', $extName ) );
+                               $out->addWikiText( $wikiText );
+                               break;
+
+                       default:
+                               $out->addModules( 'mediawiki.special.version' );
+                               $out->addWikiText(
+                                       $this->getMediaWikiCredits() .
+                                       $this->softwareInformation() .
+                                       $this->getEntryPointInfo()
+                               );
+                               $out->addHtml(
+                                       $this->getExtensionCredits() .
+                                       $this->getParserTags() .
+                                       $this->getParserFunctionHooks()
+                               );
+                               $out->addWikiText( $this->getWgHooks() );
+                               $out->addHTML( $this->IPInfo() );
+
+                               break;
                }
        }
 
@@ -298,7 +345,7 @@ class SpecialVersion extends SpecialPage {
 
                $gitHeadCommitDate = $gitInfo->getHeadCommitDate();
                if ( $gitHeadCommitDate ) {
-                       $shortSHA1 .= "<br/>" . $wgLang->timeanddate( $gitHeadCommitDate, true );
+                       $shortSHA1 .= Html::element( 'br' ) . $wgLang->timeanddate( $gitHeadCommitDate, true );
                }
 
                return self::getwgVersionLinked() . " $shortSHA1";
@@ -355,9 +402,9 @@ class SpecialVersion extends SpecialPage {
         * @return String: Wikitext
         */
        function getExtensionCredits() {
-               global $wgExtensionCredits, $wgExtensionFunctions, $wgParser;
+               global $wgExtensionCredits;
 
-               if ( !count( $wgExtensionCredits ) && !count( $wgExtensionFunctions ) ) {
+               if ( !count( $wgExtensionCredits ) ) {
                        return '';
                }
 
@@ -393,24 +440,63 @@ class SpecialVersion extends SpecialPage {
                // We want the 'other' type to be last in the list.
                $out .= $this->getExtensionCategory( 'other', $extensionTypes['other'] );
 
+               $out .= Xml::closeElement( 'table' );
+
+               return $out;
+       }
+
+       /**
+        * Obtains a list of installed parser tags and the associated H2 header
+        *
+        * @return string HTML output
+        */
+       protected function getParserTags() {
+               global $wgParser;
+
                $tags = $wgParser->getTags();
-               $cnt = count( $tags );
 
-               if ( $cnt ) {
-                       for ( $i = 0; $i < $cnt; ++$i ) {
-                               $tags[$i] = "&lt;{$tags[$i]}&gt;";
-                       }
-                       $out .= $this->openExtType( $this->msg( 'version-parser-extensiontags' )->text(), 'parser-tags' );
-                       $out .= '<tr><td colspan="4">' . $this->listToText( $tags ) . "</td></tr>\n";
+               if ( count( $tags ) ) {
+                       $out = Html::rawElement(
+                               'h2',
+                               array( 'class' => 'mw-headline' ),
+                               Linker::makeExternalLink(
+                                       '//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Tag_extensions',
+                                       $this->msg( 'version-parser-extensiontags' )->parse(),
+                                       false /* msg()->parse() already escapes */
+                               )
+                       );
+
+                       array_walk( $tags, function( &$value ) {
+                               $value = '&lt;' . htmlentities( $value ) . '&gt;';
+                       } );
+                       $out .= $this->listToText( $tags );
+               } else {
+                       $out = '';
                }
 
+               return $out;
+       }
+
+       /**
+        * Obtains a list of installed parser function hooks and the associated H2 header
+        *
+        * @return string HTML output
+        */
+       protected function getParserFunctionHooks() {
+               global $wgParser;
+
                $fhooks = $wgParser->getFunctionHooks();
                if ( count( $fhooks ) ) {
-                       $out .= $this->openExtType( $this->msg( 'version-parser-function-hooks' )->text(), 'parser-function-hooks' );
-                       $out .= '<tr><td colspan="4">' . $this->listToText( $fhooks ) . "</td></tr>\n";
-               }
+                       $out = Html::rawElement( 'h2', array( 'class' => 'mw-headline' ) , Linker::makeExternalLink(
+                               '//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Parser_functions',
+                               $this->msg( 'version-parser-function-hooks' )->parse(),
+                               false /* msg()->parse() already escapes */
+                       ) );
 
-               $out .= Xml::closeElement( 'table' );
+                       $out .= $this->listToText( $fhooks );
+               } else {
+                       $out = '';
+               }
 
                return $out;
        }
@@ -460,63 +546,123 @@ class SpecialVersion extends SpecialPage {
        }
 
        /**
-        * Creates and formats the credits for a single extension and returns this.
+        * Creates and formats a version line for a single extension.
+        *
+        * Information for five columns will be created. Parameters required in the
+        * $extension array for part rendering are indicated in ()
+        *  - The name of (name), and URL link to (url), the extension
+        *  - Official version number (version) and if available version control system
+        *    revision (path), link, and date
+        *  - If available the short name of the license (license-name) and a linke
+        *    to ((LICENSE)|(COPYING))(\.txt)? if it exists.
+        *  - Description of extension (descriptionmsg or description)
+        *  - List of authors (author) and link to a ((AUTHORS)|(CREDITS))(\.txt)? file if it exists
         *
         * @param $extension Array
         *
-        * @return string
+        * @return string raw HTML
         */
        function getCreditsForExtension( array $extension ) {
-               global $wgLang;
+               $out = $this->getOutput();
+
+               // We must obtain the information for all the bits and pieces!
+               // ... such as extension names and links
+               $extensionName = isset( $extension['name'] ) ? $extension['name'] : '[no name]';
+               if ( isset( $extension['url'] ) ) {
+                       $extensionNameLink = Linker::makeExternalLink(
+                               $extension['url'],
+                               $extensionName,
+                               true,
+                               '',
+                               array( 'class' => 'mw-version-ext-name' )
+                       );
+               } else {
+                       $extensionNameLink = $extensionName;
+               }
 
-               $name = isset( $extension['name'] ) ? $extension['name'] : '[no name]';
+               // ... and the version information
+               // If the extension path is set we will check that directory for GIT and SVN
+               // metadata in an attempt to extract date and vcs commit metadata.
+               $canonicalVersion = '&ndash;';
+               $extensionPath = null;
+               $vcsVersion = null;
+               $vcsLink = null;
+               $vcsDate = null;
 
-               $vcsText = false;
+               if ( isset( $extension['version'] ) ) {
+                       $canonicalVersion = $out->parseInline( $extension['version'] );
+               }
 
                if ( isset( $extension['path'] ) ) {
-                       $gitInfo = new GitInfo( dirname( $extension['path'] ) );
-                       $gitHeadSHA1 = $gitInfo->getHeadSHA1();
-                       if ( $gitHeadSHA1 !== false ) {
-                               $vcsText = '(' . substr( $gitHeadSHA1, 0, 7 ) . ')';
-                               $gitViewerUrl = $gitInfo->getHeadViewUrl();
-                               if ( $gitViewerUrl !== false ) {
-                                       $vcsText = "[$gitViewerUrl $vcsText]";
-                               }
-                               $gitHeadCommitDate = $gitInfo->getHeadCommitDate();
-                               if ( $gitHeadCommitDate ) {
-                                       $vcsText .= "<br/>" . $wgLang->timeanddate( $gitHeadCommitDate, true );
-                               }
+                       $extensionPath = dirname( $extension['path'] );
+                       $gitInfo = new GitInfo( $extensionPath );
+                       $vcsVersion = $gitInfo->getHeadSHA1();
+                       if ( $vcsVersion !== false ) {
+                               $vcsVersion = substr( $vcsVersion, 0, 7 );
+                               $vcsLink = $gitInfo->getHeadViewUrl();
+                               $vcsDate = $gitInfo->getHeadCommitDate();
                        } else {
-                               $svnInfo = self::getSvnInfo( dirname( $extension['path'] ) );
-                               # Make subversion text/link.
+                               $svnInfo = self::getSvnInfo( $extensionPath );
                                if ( $svnInfo !== false ) {
-                                       $directoryRev = isset( $svnInfo['directory-rev'] ) ? $svnInfo['directory-rev'] : null;
-                                       $vcsText = $this->msg( 'version-svn-revision', $directoryRev, $svnInfo['checkout-rev'] )->text();
-                                       $vcsText = isset( $svnInfo['viewvc-url'] ) ? '[' . $svnInfo['viewvc-url'] . " $vcsText]" : $vcsText;
+                                       $vcsVersion = $this->msg( 'version-svn-revision', $svnInfo['checkout-rev'] )->text();
+                                       $vcsLink = isset( $svnInfo['viewvc-url'] ) ? $svnInfo['viewvc-url'] : '';
                                }
                        }
                }
 
-               # Make main link (or just the name if there is no URL).
-               if ( isset( $extension['url'] ) ) {
-                       $mainLink = "[{$extension['url']} $name]";
-               } else {
-                       $mainLink = $name;
+               $versionString = Html::rawElement( 'span', array( 'class' => 'mw-version-ext-version' ), $canonicalVersion );
+               if ( $vcsVersion ) {
+                       if ( $vcsLink ) {
+                               $vcsVerString = Linker::makeExternalLink(
+                                       $vcsLink,
+                                       $this->msg( 'version-version', $vcsVersion ),
+                                       true,
+                                       '',
+                                       array( 'class' => 'mw-version-ext-vcs-version' )
+                               );
+                       } else {
+                               $vcsVerString = Html::element( 'span',
+                                       array( 'class' => 'mw-version-ext-vcs-version'),
+                                       "({$vcsVersion})"
+                               );
+                       }
+                       $versionString .= " {$vcsVerString}";
+
+                       if ( $vcsDate ) {
+                               $vcsTimeString = Html::element( 'span',
+                                               array( 'class' => 'mw-version-ext-vcs-timestamp'),
+                                               $this->getLanguage()->timeanddate( $vcsDate )
+                                       );
+                               $versionString .= " {$vcsTimeString}";
+                       }
+                       $versionString = Html::rawElement( 'span',
+                               array( 'class' => 'mw-version-ext-meta-version' ),
+                               $versionString
+                       );
                }
 
-               if ( isset( $extension['version'] ) ) {
-                       $versionText = '<span class="mw-version-ext-version">' .
-                               $this->msg( 'version-version', $extension['version'] )->text() .
-                               '</span>';
-               } else {
-                       $versionText = '';
+               // ... and license information; if a license file exists we
+               // will link to it
+               $licenseLink = '';
+               if ( isset( $extension['license-name'] ) ) {
+                       $licenseLink = Linker::link(
+                               $this->getPageTitle( 'License/' . $extensionName ),
+                               $out->parseInline( $extension['license-name'] ),
+                               array( 'class' => 'mw-version-ext-license' )
+                       );
+               } elseif ( $this->getExtLicenseFileName( $extensionPath ) ) {
+                       $licenseLink = Linker::link(
+                               $this->getPageTitle( 'License/' . $extensionName ),
+                               $this->msg( 'version-ext-license' ),
+                               array( 'class' => 'mw-version-ext-license' )
+                       );
                }
 
-               # Make description text.
-               $description = isset( $extension['description'] ) ? $extension['description'] : '';
-
+               // ... and generate the description; which can be a parameterized l10n message
+               // in the form array( <msgname>, <parameter>, <parameter>... ) or just a straight
+               // up string
                if ( isset( $extension['descriptionmsg'] ) ) {
-                       # Look for a localized description.
+                       // Localized description of extension
                        $descriptionMsg = $extension['descriptionmsg'];
 
                        if ( is_array( $descriptionMsg ) ) {
@@ -527,23 +673,34 @@ class SpecialVersion extends SpecialPage {
                        } else {
                                $description = $this->msg( $descriptionMsg )->text();
                        }
-               }
-
-               if ( $vcsText !== false ) {
-                       $extNameVer = "<tr>
-                               <td><em>$mainLink $versionText</em></td>
-                               <td><em>$vcsText</em></td>";
+               } elseif ( isset( $extension['description'] ) ) {
+                       // Non localized version
+                       $description = $out->parseInline( $extension['description'] );
                } else {
-                       $extNameVer = "<tr>
-                               <td colspan=\"2\"><em>$mainLink $versionText</em></td>";
+                       $description = '';
                }
+               $description = $out->parseInline( $description );
 
-               $author = isset( $extension['author'] ) ? $extension['author'] : array();
-               $extDescAuthor = "<td>$description</td>
-                       <td>" . $this->listAuthors( $author, false ) . "</td>
-                       </tr>\n";
+               // ... now get the authors for this extension
+               $authors = isset( $extension['author'] ) ? $extension['author'] : array();
+               $authors = $this->listAuthors( $authors, $extensionName, $extensionPath );
 
-               return $extNameVer . $extDescAuthor;
+               // Finally! Create the table
+               $html = Html::openElement( 'tr', array(
+                               'class' => 'mw-version-ext',
+                               'id' => "mw-version-ext-{$extensionName}"
+                       )
+               );
+
+               $html .= Html::rawElement( 'td', array(), $extensionNameLink );
+               $html .= Html::rawElement( 'td', array(), $versionString );
+               $html .= Html::rawElement( 'td', array(), $licenseLink );
+               $html .= Html::rawElement( 'td', array( 'class' => 'mw-version-ext-description' ), $description );
+               $html .= Html::rawElement( 'td', array( 'class' => 'mw-version-ext-authors' ), $authors );
+
+               $html .= Html::closeElement( 'td' );
+
+               return $html;
        }
 
        /**
@@ -552,40 +709,44 @@ class SpecialVersion extends SpecialPage {
         * @return String: wikitext
         */
        private function getWgHooks() {
-               global $wgHooks;
+               global $wgSpecialVersionShowHooks, $wgHooks;
 
-               if ( count( $wgHooks ) ) {
+               if ( $wgSpecialVersionShowHooks && count( $wgHooks ) ) {
                        $myWgHooks = $wgHooks;
                        ksort( $myWgHooks );
 
-                       $ret = Xml::element( 'h2', array( 'id' => 'mw-version-hooks' ), $this->msg( 'version-hooks' )->text() ) .
-                               Xml::openElement( 'table', array( 'class' => 'wikitable', 'id' => 'sv-hooks' ) ) .
-                               "<tr>
-                                       <th>" . $this->msg( 'version-hook-name' )->text() . "</th>
-                                       <th>" . $this->msg( 'version-hook-subscribedby' )->text() . "</th>
-                               </tr>\n";
+                       $ret = array();
+                       $ret[] = '== {{int:version-hooks}} ==';
+                       $ret[] = Html::openElement( 'table', array( 'class' => 'wikitable', 'id' => 'sv-hooks' ) );
+                       $ret[] = Html::openElement( 'tr' );
+                       $ret[] = Html::element( 'th', array(), $this->msg( 'version-hook-name' )->text() );
+                       $ret[] = Html::element( 'th', array(), $this->msg( 'version-hook-subscribedby' )->text() );
+                       $ret[] = Html::closeElement( 'tr' );
 
                        foreach ( $myWgHooks as $hook => $hooks ) {
-                               $ret .= "<tr>
-                                               <td>$hook</td>
-                                               <td>" . $this->listToText( $hooks ) . "</td>
-                                       </tr>\n";
+                               $ret[] = Html::openElement( 'tr' );
+                               $ret[] = Html::element( 'td', array(), $hook );
+                               $ret[] = Html::element( 'td', array(), $this->listToText( $hooks ) );
+                               $ret[] = Html::closeElement( 'tr' );
                        }
 
-                       $ret .= Xml::closeElement( 'table' );
-                       return $ret;
+                       $ret[] = Html::closeElement( 'table' );
+
+                       return implode( "\n", $ret );
                } else {
                        return '';
                }
        }
 
        private function openExtType( $text, $name = null ) {
-               $opt = array( 'colspan' => 4 );
                $out = '';
 
+               $opt = array( 'colspan' => 5 );
                if ( $this->firstExtOpened ) {
                        // Insert a spacing line
-                       $out .= '<tr class="sv-space">' . Html::element( 'td', $opt ) . "</tr>\n";
+                       $out .= Html::rawElement( 'tr', array( 'class' => 'sv-space' ),
+                               Html::element( 'td', $opt )
+                       );
                }
                $this->firstExtOpened = true;
 
@@ -593,7 +754,22 @@ class SpecialVersion extends SpecialPage {
                        $opt['id'] = "sv-$name";
                }
 
-               $out .= "<tr>" . Xml::element( 'th', $opt, $text ) . "</tr>\n";
+               $out .= Html::rawElement( 'tr', array(),
+                       Html::element( 'th', $opt, $text )
+               );
+
+               $out .= Html::openElement( 'tr' );
+               $out .= Html::element( 'th', array( 'class' => 'mw-version-ext-col-label' ),
+                       $this->msg( 'version-ext-colheader-name' )->text() );
+               $out .= Html::element( 'th', array( 'class' => 'mw-version-ext-col-label' ),
+                       $this->msg( 'version-ext-colheader-version' )->text() );
+               $out .= Html::element( 'th', array( 'class' => 'mw-version-ext-col-label' ),
+                       $this->msg( 'version-ext-colheader-license' )->text() );
+               $out .= Html::element( 'th', array( 'class' => 'mw-version-ext-col-label' ),
+                       $this->msg( 'version-ext-colheader-description' )->text() );
+               $out .= Html::element( 'th', array( 'class' => 'mw-version-ext-col-label' ),
+                       $this->msg( 'version-ext-colheader-credits' )->text() );
+               $out .= Html::closeElement( 'tr' );
 
                return $out;
        }
@@ -611,23 +787,120 @@ class SpecialVersion extends SpecialPage {
        /**
         * Return a formatted unsorted list of authors
         *
+        * 'And Others'
+        *   If an item in the $authors array is '...' it is assumed to indicate an
+        *   'and others' string which will then be linked to an ((AUTHORS)|(CREDITS))(\.txt)?
+        *   file if it exists in $dir.
+        *
+        *   Similarly an entry ending with ' ...]' is assumed to be a link to an
+        *   'and others' page.
+        *
+        *   If no '...' string variant is found, but an authors file is found an
+        *   'and others' will be added to the end of the credits.
+        *
         * @param $authors mixed: string or array of strings
+        * @param $extName string: name of the extension for link creation
+        * @param $extDir  string: path to the extension root directory
+        *
         * @return String: HTML fragment
         */
-       function listAuthors( $authors ) {
+       function listAuthors( $authors, $extName, $extDir ) {
+               $hasOthers = false;
+
                $list = array();
                foreach ( (array)$authors as $item ) {
                        if ( $item == '...' ) {
-                               $list[] = $this->msg( 'version-poweredby-others' )->text();
+                               $hasOthers = true;
+
+                               if ( $this->getExtAuthorsFileName( $extDir ) ) {
+                                       $text = Linker::link(
+                                               $this->getPageTitle( "Credits/$extName" ),
+                                               $this->msg( 'version-poweredby-others' )->text()
+                                       );
+                               } else {
+                                       $text = $this->msg( 'version-poweredby-others' )->text();
+                               }
+                               $list[] = $text;
+
                        } elseif ( substr( $item, -5 ) == ' ...]' ) {
-                               $list[] = substr( $item, 0, -4 ) . $this->msg( 'version-poweredby-others' )->text() . "]";
+                               $hasOthers = true;
+                               $list[] = $this->getOutput()->parseInline(
+                                       substr( $item, 0, -4 ) . $this->msg( 'version-poweredby-others' )->text() . "]"
+                               );
+
                        } else {
-                               $list[] = $item;
+                               $list[] = $this->getOutput()->parseInline( $item );
                        }
                }
+
+               if ( !$hasOthers && $this->getExtAuthorsFileName( $extDir ) ) {
+                       $list[] = $text = Linker::link(
+                               $this->getPageTitle( "Credits/$extName" ),
+                               $this->msg( 'version-poweredby-others' )->text()
+                       );
+               }
+
                return $this->listToText( $list, false );
        }
 
+       /**
+        * Obtains the full path of an extensions authors or credits file if
+        * one exists.
+        *
+        * @param string $extDir: Path to the extensions root directory
+        *
+        * @since 1.23
+        *
+        * @return bool|string False if no such file exists, otherwise returns
+        * a path to it.
+        */
+       public static function getExtAuthorsFileName( $extDir ) {
+               if ( !$extDir ) {
+                       return false;
+               }
+
+               foreach ( scandir( $extDir ) as $file ) {
+                       $fullPath = $extDir . DIRECTORY_SEPARATOR . $file;
+                       if ( preg_match( '/^((AUTHORS)|(CREDITS))(\.txt)?$/', $file ) &&
+                               is_readable( $fullPath ) &&
+                               is_file( $fullPath )
+                       ) {
+                               return $fullPath;
+                       }
+               }
+
+               return false;
+       }
+
+       /**
+        * Obtains the full path of an extensions copying or license file if
+        * one exists.
+        *
+        * @param string $extDir: Path to the extensions root directory
+        *
+        * @since 1.23
+        *
+        * @return bool|string False if no such file exists, otherwise returns
+        * a path to it.
+        */
+       public static function getExtLicenseFileName( $extDir ) {
+               if ( !$extDir ) {
+                       return false;
+               }
+
+               foreach ( scandir( $extDir ) as $file ) {
+                       $fullPath = $extDir . DIRECTORY_SEPARATOR . $file;
+                       if ( preg_match( '/^((COPYING)|(LICENSE))(\.txt)?$/', $file ) &&
+                               is_readable( $fullPath ) &&
+                               is_file( $fullPath )
+                       ) {
+                               return $fullPath;
+                       }
+               }
+
+               return false;
+       }
+
        /**
         * Convert an array of items into a list for display.
         *
index a6c3421..4c8148a 100644 (file)
@@ -31,8 +31,6 @@
  * UploadBase and subclasses are the backend of MediaWiki's file uploads.
  * The frontends are formed by ApiUpload and SpecialUpload.
  *
- * See also includes/docs/upload.txt
- *
  * @author Brion Vibber
  * @author Bryan Tong Minh
  * @author Michael Dale
@@ -657,7 +655,11 @@ abstract class UploadBase {
                // Check dupes against archives
                $archivedImage = new ArchivedFile( null, 0, "{$hash}.{$this->mFinalExtension}" );
                if ( $archivedImage->getID() > 0 ) {
-                       $warnings['duplicate-archive'] = $archivedImage->getName();
+                       if ( $archivedImage->userCan( File::DELETED_FILE ) ) {
+                               $warnings['duplicate-archive'] = $archivedImage->getName();
+                       } else {
+                               $warnings['duplicate-archive'] = '';
+                       }
                }
 
                wfProfileOut( __METHOD__ );
@@ -723,7 +725,8 @@ abstract class UploadBase {
                # exclamation mark, so restrict file name to 240 bytes.
                if ( strlen( $this->mFilteredName ) > 240 ) {
                        $this->mTitleError = self::FILENAME_TOO_LONG;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                }
 
                /**
@@ -736,7 +739,8 @@ abstract class UploadBase {
                $nt = Title::makeTitleSafe( NS_FILE, $this->mFilteredName );
                if ( is_null( $nt ) ) {
                        $this->mTitleError = self::ILLEGAL_FILENAME;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                }
                $this->mFilteredName = $nt->getDBkey();
 
@@ -777,19 +781,22 @@ abstract class UploadBase {
 
                if ( $this->mFinalExtension == '' ) {
                        $this->mTitleError = self::FILETYPE_MISSING;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                } elseif ( $blackListedExtensions ||
                                ( $wgCheckFileExtensions && $wgStrictFileExtensions &&
                                        !$this->checkFileExtensionList( $ext, $wgFileExtensions ) ) ) {
                        $this->mBlackListedExtensions = $blackListedExtensions;
                        $this->mTitleError = self::FILETYPE_BADTYPE;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                }
 
                // Windows may be broken with special characters, see bug XXX
                if ( wfIsWindows() && !preg_match( '/^[\x0-\x7f]*$/', $nt->getText() ) ) {
                        $this->mTitleError = self::WINDOWS_NONASCII_FILENAME;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                }
 
                # If there was more than one "extension", reassemble the base
@@ -802,10 +809,12 @@ abstract class UploadBase {
 
                if ( strlen( $partname ) < 1 ) {
                        $this->mTitleError = self::MIN_LENGTH_PARTNAME;
-                       return $this->mTitle = null;
+                       $this->mTitle = null;
+                       return $this->mTitle;
                }
 
-               return $this->mTitle = $nt;
+               $this->mTitle = $nt;
+               return $this->mTitle;
        }
 
        /**
index 10ff957..47cef8b 100644 (file)
@@ -40,6 +40,7 @@ class UIDGenerator {
        protected $fileHandles = array(); // cache file handles
 
        const QUICK_RAND = 1; // get randomness from fast and insecure sources
+       const QUICK_VOLATILE = 2; // use an APC like in-memory counter if available
 
        protected function __construct() {
                $idFile = wfTempDir() . '/mw-' . __CLASS__ . '-UID-nodeid';
@@ -214,6 +215,95 @@ class UIDGenerator {
                return str_replace( '-', '', self::newUUIDv4( $flags ) );
        }
 
+       /**
+        * Return an ID that is sequential *only* for this node and bucket
+        *
+        * These IDs are suitable for per-host sequence numbers, e.g. for some packet protocols.
+        * If UIDGenerator::QUICK_VOLATILE is used the counter might reset on server restart.
+        *
+        * @param string $bucket Arbitrary bucket name (should be ASCII)
+        * @param integer $bits Bit size (<=48) of resulting numbers before wrap-around
+        * @param integer $flags (supports UIDGenerator::QUICK_VOLATILE)
+        * @return float Integer value as float
+        * @since 1.23
+        */
+       public static function newSequentialPerNodeID( $bucket, $bits = 48, $flags = 0 ) {
+               return current( self::newSequentialPerNodeIDs( $bucket, $bits, 1, $flags ) );
+       }
+
+       /**
+        * Return IDs that are sequential *only* for this node and bucket
+        *
+        * @see UIDGenerator::newSequentialPerNodeID()
+        * @param string $bucket Arbitrary bucket name (should be ASCII)
+        * @param integer $bits Bit size (16 to 48) of resulting numbers before wrap-around
+        * @param integer $count Number of IDs to return (1 to 10000)
+        * @param integer $flags (supports UIDGenerator::QUICK_VOLATILE)
+        * @return array Ordered list of float integer values
+        * @since 1.23
+        */
+       public static function newSequentialPerNodeIDs( $bucket, $bits, $count, $flags = 0 ) {
+               if ( $count <= 0 ) {
+                       return array(); // nothing to do
+               } elseif ( $count > 10000 ) {
+                       throw new MWException( "Number of requested IDs ($count) is too high." );
+               } elseif ( $bits < 16 || $bits > 48 ) {
+                       throw new MWException( "Requested bit size ($bits) is out of range." );
+               }
+
+               $counter = null; // post-increment persistent counter value
+
+               // Use APC/eAccelerator/xcache if requested, available, and not in CLI mode;
+               // Counter values would not survive accross script instances in CLI mode.
+               $cache = null;
+               if ( ( $flags & self::QUICK_VOLATILE ) && PHP_SAPI !== 'cli' ) {
+                       try {
+                               $cache = ObjectCache::newAccelerator( array() );
+                       } catch ( MWException $e ) {} // not supported
+               }
+               if ( $cache ) {
+                       $counter = $cache->incr( $bucket, $count );
+                       if ( $counter === false ) {
+                               if ( !$cache->add( $bucket, $count ) ) {
+                                       throw new MWException( 'Unable to set value to ' . get_class( $cache ) );
+                               }
+                               $counter = $count;
+                       }
+               }
+
+               // Note: use of fmod() avoids "division by zero" on 32 bit machines
+               if ( $counter === null ) {
+                       $path = wfTempDir() . '/mw-' . __CLASS__ . '-' . rawurlencode( $bucket ) . '-48';
+                       $handle = fopen( $path, 'cb+' );
+                       // Acquire the UID lock file
+                       if ( $handle === false ) {
+                               throw new MWException( "Could not open '{$path}'." );
+                       } elseif ( !flock( $handle, LOCK_EX ) ) {
+                               fclose( $handle );
+                               throw new MWException( "Could not acquire '{$path}'." );
+                       }
+                       // Fetch the counter value and increment it...
+                       rewind( $handle );
+                       $counter = floor( trim( fgets( $handle ) ) ) + $count; // fetch as float
+                       // Write back the new counter value
+                       ftruncate( $handle, 0 );
+                       rewind( $handle );
+                       fwrite( $handle, fmod( $counter, pow( 2, 48 ) ) ); // warp-around as needed
+                       fflush( $handle );
+                       // Release the UID lock file
+                       flock( $handle, LOCK_UN );
+                       fclose( $handle );
+               }
+               $ids = array();
+               $divisor = pow( 2, $bits );
+               $currentId = floor( $counter - $count ); // pre-increment counter value
+               for ( $i = 0; $i < $count; ++$i ) {
+                       $ids[] = fmod( ++$currentId, $divisor );
+               }
+
+               return $ids;
+       }
+
        /**
         * Get a (time,counter,clock sequence) where (time,counter) is higher
         * than any previous (time,counter) value for the given clock sequence.
@@ -237,6 +327,7 @@ class UIDGenerator {
                if ( $handle === false ) {
                        throw new MWException( "Could not open '{$this->$lockFile}'." );
                } elseif ( !flock( $handle, LOCK_EX ) ) {
+                       fclose( $handle );
                        throw new MWException( "Could not acquire '{$this->$lockFile}'." );
                }
                // Get the current timestamp, clock sequence number, last time, and counter
index 23506e9..320688a 100644 (file)
@@ -62,7 +62,6 @@ class FakeConverter {
        function getParsedTitle() { return ''; }
        function markNoConversion( $text, $noParse = false ) { return $text; }
        function convertCategoryKey( $key ) { return $key; }
-       function convertLinkToAllVariants( $text ) { return $this->autoConvertToAllVariants( $text ); }
        /** @deprecated since 1.22 is no longer used */
        function armourMath( $text ) { return $text; }
        function validateVariant( $variant = null ) { return $variant === $this->mLang->getCode() ? $variant : null; }
@@ -3905,21 +3904,6 @@ class Language {
                $this->mConverter->findVariantLink( $link, $nt, $ignoreOtherCond );
        }
 
-       /**
-        * If a language supports multiple variants, converts text
-        * into an array of all possible variants of the text:
-        *  'variant' => text in that variant
-        *
-        * @deprecated since 1.17 Use autoConvertToAllVariants()
-        *
-        * @param $text string
-        *
-        * @return string
-        */
-       public function convertLinkToAllVariants( $text ) {
-               return $this->mConverter->convertLinkToAllVariants( $text );
-       }
-
        /**
         * returns language specific options used by User::getPageRenderHash()
         * for example, the preferred language variant
index cdaab2c..bb5b49f 100644 (file)
@@ -236,7 +236,8 @@ class LanguageConverter {
                        $ret = $wgRequest->getVal( 'uselang' );
                }
 
-               return $this->mURLVariant = $this->validateVariant( $ret );
+               $this->mURLVariant = $this->validateVariant( $ret );
+               return $this->mURLVariant;
        }
 
        /**
@@ -269,7 +270,8 @@ class LanguageConverter {
                        $ret = $wgUser->getOption( 'language' );
                }
 
-               return $this->mUserVariant = $this->validateVariant( $ret );
+               $this->mUserVariant = $this->validateVariant( $ret );
+               return $this->mUserVariant;
        }
 
        /**
@@ -489,21 +491,6 @@ class LanguageConverter {
                return $ret;
        }
 
-       /**
-        * Convert link text to all valid variants.
-        * In the first, this function only convert text outside the
-        * "-{" "}-" markups. Since the "{" and "}" are not allowed in
-        * titles, the text will get all converted always.
-        * So I removed this feature and deprecated the function.
-        *
-        * @param $text String: the text to be converted
-        * @return Array: variant => converted text
-        * @deprecated since 1.17 Use autoConvertToAllVariants() instead
-        */
-       public function convertLinkToAllVariants( $text ) {
-               return $this->autoConvertToAllVariants( $text );
-       }
-
        /**
         * Apply manual conversion rules.
         *
index d3e78fe..05b9550 100644 (file)
  * @see http://be-x-old.wikipedia.org/wiki/Project_talk:LanguageBe_tarask.php
  */
 class LanguageBe_tarask extends Language {
-       /**
-        * Plural form transformations
-        *
-        * $wordform1 - singular form (for 1, 21, 31, 41...)
-        * $wordform2 - plural form (for 2, 3, 4, 22, 23, 24, 32, 33, 34...)
-        * $wordform3 - plural form (for 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26...)
-        */
-
-       /**
-        * @param $count int
-        * @param $forms array
-        *
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
-               // If the actual number is not mentioned in the expression, then just two forms are enough:
-               // singular for $count == 1
-               // plural   for $count != 1
-               // For example, "This user belongs to {{PLURAL:$1|one group|several groups}}."
-               if ( count( $forms ) === 2 ) {
-                       return $count == 1 ? $forms[0] : $forms[1];
-               }
-
-               // @todo FIXME: CLDR defines 4 plural forms instead of 3
-               //        http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
-
        /**
         * The Belarusian language uses apostrophe sign,
         * but the characters used for this could be both U+0027 and U+2019.
diff --git a/languages/classes/LanguageHr.php b/languages/classes/LanguageHr.php
deleted file mode 100644 (file)
index 0c65ec7..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/**
- * Croatian (hrvatski) specific code.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Language
- */
-
-/**
- * Croatian (hrvatski)
- *
- * @ingroup Language
- */
-class LanguageHr extends Language {
-
-       /**
-        * @param $count int
-        * @param $forms array
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-               // @todo FIXME: CLDR defines 4 plural forms instead of 3. Plural for for decimals is missing.
-               //        http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
-}
index 243a876..d3ac1d2 100644 (file)
@@ -44,8 +44,9 @@ class LanguageRu extends Language {
                        return $wgGrammarForms['ru'][$case][$word];
                }
 
-               # These rules are not perfect, but they are currently only used for Wikimedia site names so it doesn't
-               # matter if they are wrong sometimes. Just add a special case for your site name if necessary.
+               # These rules are not perfect, but they are currently only used for Wikimedia
+               # site names so it doesn't matter if they are wrong sometimes.
+               # Just add a special case for your site name if necessary.
 
                # substr doesn't support Unicode and mb_substr has issues,
                # so break it to characters using preg_match_all and then use array_slice and join
@@ -102,62 +103,6 @@ class LanguageRu extends Language {
                return $word;
        }
 
-       /**
-        * Plural form transformations
-        *
-        * $forms[0] - singular form (for 1, 21, 31, 41...)
-        * $forms[1] - paucal form (for 2, 3, 4, 22, 23, 24, 32, 33, 34...)
-        * $forms[2] - plural form (for 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26...)
-        *
-        * Examples:
-        *   message with number
-        *     "Сделано $1 {{PLURAL:$1|изменение|изменения|изменений}}"
-        *     ("$1 change[s] were made)
-        *   message without number
-        *     "Действие не может быть выполнено по {{PLURAL:$1|следующей причине|следующим причинам}}:"
-        *     ("The action cannot be performed for the following reason[s]")
-        * @param $count int
-        * @param $forms array
-        *
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
-               // If the actual number is not mentioned in the expression, then just two forms are enough:
-               // singular for $count === 1
-               // plural   for $count !== 1
-               // For example, "This user belongs to {{PLURAL:$1|one group|several groups}}."
-               if ( count( $forms ) === 2 ) {
-                       return $count === 1 ? $forms[0] : $forms[1];
-               }
-
-               // @todo FIXME: CLDR defines 4 plural forms. Form with decimals missing.
-               // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#ru
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && (int)floor( ( $count % 100 ) / 10 ) === 1 ) {
-                       return $forms[2];
-               }
-
-               switch ( $count % 10 ) {
-                       case 1:
-                               return $forms[0];
-                       case 2:
-                       case 3:
-                       case 4:
-                               return $forms[1];
-                       default:
-                               return $forms[2];
-               }
-       }
-
        /**
         * Four-digit number should be without group commas (spaces)
         * See manual of style at http://ru.wikipedia.org/wiki/Википедия:Оформление_статей
index 283ef22..a728c9d 100644 (file)
@@ -22,8 +22,6 @@
  */
 
 require_once __DIR__ . '/../LanguageConverter.php';
-require_once __DIR__ . '/LanguageSr_ec.php';
-require_once __DIR__ . '/LanguageSr_el.php';
 
 /**
  * There are two levels of conversion for Serbian: the script level
@@ -166,14 +164,16 @@ class SrConverter extends LanguageConverter {
                // regexp for roman numbers
                $roman = 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})';
 
-               $reg = '/^' . $roman . '$|^' . $roman . $breaks . '|' . $breaks . $roman . '$|' . $breaks . $roman . $breaks . '/';
+               $reg = '/^' . $roman . '$|^' . $roman . $breaks . '|' . $breaks
+                       . $roman . '$|' . $breaks . $roman . $breaks . '/';
 
                $matches = preg_split( $reg, $text, -1, PREG_SPLIT_OFFSET_CAPTURE );
 
                $m = array_shift( $matches );
                $this->loadTables();
                if ( !isset( $this->mTables[$toVariant] ) ) {
-                       throw new MWException( "Broken variant table: " . implode( ',', array_keys( $this->mTables ) ) );
+                       throw new MWException( "Broken variant table: "
+                               . implode( ',', array_keys( $this->mTables ) ) );
                }
                $ret = $this->mTables[$toVariant]->replace( $m[0] );
                $mstart = $m[1] + strlen( $m[0] );
@@ -218,7 +218,7 @@ class SrConverter extends LanguageConverter {
  *
  * @ingroup Language
  */
-class LanguageSr extends LanguageSr_ec {
+class LanguageSr extends Language {
        function __construct() {
                global $wgHooks;
 
@@ -238,44 +238,4 @@ class LanguageSr extends LanguageSr_ec {
                $this->mConverter = new SrConverter( $this, 'sr', $variants, $variantfallbacks, $flags );
                $wgHooks['PageContentSaveComplete'][] = $this->mConverter;
        }
-
-       /**
-        * @param $count int
-        * @param $forms array
-        *
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
-               // If the actual number is not mentioned in the expression, then just two forms are enough:
-               // singular for $count == 1
-               // plural   for $count != 1
-               // For example, "This user belongs to {{PLURAL:$1|one group|several groups}}."
-               if ( count( $forms ) === 2 ) {
-                       return $count == 1 ? $forms[0] : $forms[1];
-               }
-
-               // @todo FIXME: CLDR defines 4 plural forms. Form with decimals missing.
-               // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#ru
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
 }
diff --git a/languages/classes/LanguageSr_ec.php b/languages/classes/LanguageSr_ec.php
deleted file mode 100644 (file)
index 4787856..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-/**
- * Serbian (cyrillic script) specific code.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Language
- */
-
-/**
- * Serbian (cyrillic script)
- *
- * @ingroup Language
- */
-class LanguageSr_ec extends Language {
-
-       /**
-        * @param $count int
-        * @param $forms array
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
-}
diff --git a/languages/classes/LanguageSr_el.php b/languages/classes/LanguageSr_el.php
deleted file mode 100644 (file)
index 3f086df..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-/**
- * Serbian (latin script) specific code.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Language
- */
-
-/**
- * Serbian (latin script)
- *
- * @ingroup Language
- */
-class LanguageSr_el extends Language {
-
-       /**
-        * @param $count int
-        * @param $forms array
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
-}
index aabe390..08041a9 100644 (file)
@@ -86,45 +86,6 @@ class LanguageUk extends Language {
                return $word;
        }
 
-       /**
-        * @param $count int
-        * @param $forms array
-        * @return string
-        */
-       function convertPlural( $count, $forms ) {
-               $forms = $this->handleExplicitPluralForms( $count, $forms );
-               if ( is_string( $forms ) ) {
-                       return $forms;
-               }
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
-               // If the actual number is not mentioned in the expression, then just two forms are enough:
-               // singular for $count == 1
-               // plural   for $count != 1
-               // For example, "This user belongs to {{PLURAL:$1|one group|several groups}}."
-               if ( count( $forms ) === 2 ) {
-                       return $count == 1 ? $forms[0] : $forms[1];
-               }
-
-               // @todo FIXME: CLDR defines 4 plural forms. Form for decimals is missing/
-               // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#uk
-               $forms = $this->preConvertPlural( $forms, 3 );
-
-               if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) {
-                       return $forms[2];
-               } else {
-                       switch ( $count % 10 ) {
-                               case 1: return $forms[0];
-                               case 2:
-                               case 3:
-                               case 4: return $forms[1];
-                               default: return $forms[2];
-                       }
-               }
-       }
-
        /**
         * Ukrainian numeric format is "12 345,67" but "1234,56"
         *
index 3314793..aafc393 100644 (file)
@@ -2,48 +2,44 @@
 <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
 <supplementalData>
        <plurals>
-               <!--
-               The "one" and "two" rules are copied directly from CLDR.
-               The "many" rule overrides CLDR, because CLDR seems to have a mistake:
-               it's sometimes needed for multiples of 10, but not for 10 itself.
-               When the CLDR is fixed, this should be removed.
-               -->
-               <pluralRules locales="he">
-                       <pluralRule count="one">n is 1</pluralRule>
-                       <pluralRule count="two">n is 2</pluralRule>
-                       <pluralRule count="many">n is not 0 AND n is not 10 AND n mod 10 is 0</pluralRule>
-               </pluralRules>
+               <!-- Lower Sorbian (Dolnoserbski) and  Upper Sorbian (Hornjoserbsce). Not present in CLDR -->
                <pluralRules locales="dsb hsb">
-                       <pluralRule count="one">n mod 100 is 1</pluralRule>
-                       <pluralRule count="two">n mod 100 is 2</pluralRule>
-                       <pluralRule count="few">n mod 100 in 3..4</pluralRule>
+                       <pluralRule count="one">n % 100 = 1 @integer 1, 101, 201, 301, …</pluralRule>
+                       <pluralRule count="two">n % 100 = 2 @integer 2, 102, 202, 302, …</pluralRule>
+                       <pluralRule count="few">n % 100 = 3..4 @integer 3~4, 103~104, …</pluralRule>
+                       <pluralRule count="other"> @integer 5, 6, 7, 8, 9, 10, 105, 206, 307, …</pluralRule>
                </pluralRules>
-               <!-- Copied from "be" -->
+
+               <!-- Belarusian in Taraškievica orthography (Беларуская тарашкевіца). Copied from "be" -->
                <pluralRules locales="be-tarask">
-                       <pluralRule count="one">n mod 10 is 1 and n mod 100 is not 11</pluralRule>
-                       <pluralRule count="few">n mod 10 in 2..4 and n mod 100 not in 12..14</pluralRule>
-                       <pluralRule count="many">n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14</pluralRule>
-                       <!-- others are fractions -->
+                       <pluralRule count="one">n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …</pluralRule>
+                       <pluralRule count="few">n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0, 32.0, 33.0, 102.0, 1002.0, …</pluralRule>
+                       <pluralRule count="many">n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+                       <pluralRule count="other">   @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …</pluralRule>
                </pluralRules>
+               <!--  Old Church Slavonic (Ѩзыкъ словѣньскъ). Not present in CLDR -->
                <pluralRules locales="cu">
-                       <pluralRule count="one">n mod 10 is 1</pluralRule>
-                       <pluralRule count="two">n mod 10 is 2</pluralRule>
-                       <pluralRule count="few">n mod 10 in 3..4</pluralRule>
+                       <pluralRule count="one">n % 10 = 1 @integer 1, 11, 21, 31, …</pluralRule>
+                       <pluralRule count="two">n % 10 = 2 @integer 2, 12, 22, 32, …</pluralRule>
+                       <pluralRule count="few">n % 10 = 3..4 @integer 3~4, 13~14, 23~24, …</pluralRule>
+                       <pluralRule count="other"> @integer 5, 6, 7, 8, 9, 10, 15, 105, 206, 307, …</pluralRule>
                </pluralRules>
                <!-- Copied from "bh" -->
                <pluralRules locales="bho">
-                       <pluralRule count="one">n in 0..1</pluralRule>
+                       <pluralRule count="one">n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000</pluralRule>
+                       <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
                </pluralRules>
+               <!-- Samogitian. Not present in CLDR -->
                <pluralRules locales="sgs">
-                       <pluralRule count="one">n mod 10 is 1 and n mod 100 is not 11</pluralRule>
-                       <pluralRule count="two">n mod 10 is 2 and n mod 100 is not 12</pluralRule>
-                       <pluralRule count="few">n is 0 or n mod 100 is 0 or n mod 100 in 10..19</pluralRule>
+                       <pluralRule count="one">n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, 121, …</pluralRule>
+                       <pluralRule count="two">n % 10 = 2 and n % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82, 92, 102, 122, …</pluralRule>
+                       <pluralRule count="few">n = 0 or n % 100 = 0 or n % 100 = 10..19 @integer 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 100, 111,112, …</pluralRule>
+                       <pluralRule count="other"> @integer 3, 4, 5, 6, 7, 8, 9, 20, 103, 104, …</pluralRule>
                </pluralRules>
-               <!-- Override as per https://bugzilla.wikimedia.org/show_bug.cgi?id=47099, porting from CLDR 24 -->
-               <pluralRules locales="gv">
-                       <pluralRule count="one">n mod 10 is 1</pluralRule>
-                       <pluralRule count="two">n mod 10 is 2</pluralRule>
-                       <pluralRule count="few">n mod 100 in 0,20,40,60</pluralRule>
+               <pluralRules locales="sr-el sr-ec">
+                       <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …</pluralRule>
+                       <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …</pluralRule>
+                       <pluralRule count="other"> @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
                </pluralRules>
        </plurals>
 </supplementalData>
old mode 100644 (file)
new mode 100755 (executable)
index d5a1cfe..fd4eaf6
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
+<!--
+Copyright © 1991-2013 Unicode, Inc.
+CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
+For terms of use, see http://www.unicode.org/copyright.html
+-->
 <supplementalData>
-    <version number="$Revision: 8007 $"/>
-    <generation date="$Date: 2013-01-03 07:17:41 +0530 (Thu, 03 Jan 2013) $"/>
-    <plurals>
+    <version number="$Revision: 9369 $"/>
+    <generation date="$Date: 2013-09-14 01:26:08 +0530 (ശ, 14 സെപ് 2013) $"/>
+    <plurals type="cardinal">
+        <!-- For a canonicalized list, use GeneratedPluralSamples -->
         <!-- if locale is known to have no plurals, there are no rules -->
-        <pluralRules locales="az bm bo dz fa id ig ii hu ja jv ka kde kea km kn ko lo ms my sah ses sg th to tr vi wo yo zh"/>
         <pluralRules locales="ar">
-            <pluralRule count="zero">n is 0</pluralRule>
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="two">n is 2</pluralRule>
-            <pluralRule count="few">n mod 100 in 3..10</pluralRule>
-            <pluralRule count="many">n mod 100 in 11..99</pluralRule>
-        </pluralRules>
-        <pluralRules locales="he">
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="two">n is 2</pluralRule>
-            <pluralRule count="many">n is not 0 AND n mod 10 is 0</pluralRule>
-        </pluralRules>
-        <pluralRules locales="asa ast af bem bez bg bn brx ca cgg chr ckb da de dv ee el en eo es et eu fi fo fur fy gl gsw gu ha haw hy is it jgo jmc kaj kcg kk kkj kl ks ksb ku ky lb lg mas mgo ml mn mr nah nb nd ne nl nn nnh no nr ny nyn om or os pa pap ps pt rof rm rwk saq seh sn so sq ss ssy st sv sw syr ta te teo tig tk tn ts ur vo wae ve vun xh xog zu">
-            <pluralRule count="one">n is 1</pluralRule>
-        </pluralRules>
-        <pluralRules locales="ak am bh fil tl guw hi ln mg nso ti wa">
-            <pluralRule count="one">n in 0..1</pluralRule>
-        </pluralRules>
-        <pluralRules locales="ff fr kab">
-            <pluralRule count="one">n within 0..2 and n is not 2</pluralRule>
+            <pluralRule count="zero">n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000</pluralRule>
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="two">n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000</pluralRule>
+            <pluralRule count="few">n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …</pluralRule>
+            <pluralRule count="many">n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …</pluralRule>
+            <pluralRule count="other"> @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="he iw">
+            <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="two">i = 2 and v = 0 @integer 2</pluralRule>
+            <pluralRule count="many">v = 0 and n != 0..10 and n % 10 = 0 @integer 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 3~17, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="af asa ast az bem bez bg brx cgg chr ckb dv ee el eo es eu fo fur fy gsw ha haw hu jgo jmc ka kaj kcg kk kkj kl ks ksb ku ky lb lg mas mgo ml mn nah nb nd ne nn nnh no nr ny nyn om or os pap ps rm rof rwk saq seh sn so sq ss ssy st syr ta te teo tig tk tn tr ts uz ve vo vun wae xh xog">
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="ak bh guw ln mg nso pa ti wa">
+            <pluralRule count="one">n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="ff fr hy kab">
+            <pluralRule count="one">i = 0,1 @integer 0, 1 @decimal 0.0~1.5</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="lv">
-            <pluralRule count="zero">n is 0</pluralRule>
-            <pluralRule count="one">n mod 10 is 1 and n mod 100 is not 11</pluralRule>
+            <pluralRule count="zero">n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="one">n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …</pluralRule>
+            <pluralRule count="other"> @integer 2~9, 22~29, 102, 1002, … @decimal 0.2~0.9, 1.2~1.9, 10.2, 100.2, 1000.2, …</pluralRule>
         </pluralRules>
         <pluralRules locales="iu kw naq se sma smi smj smn sms">
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="two">n is 2</pluralRule>
-        </pluralRules>
-        <pluralRules locales="ga"> <!-- http://unicode.org/cldr/trac/ticket/3915 -->
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="two">n is 2</pluralRule>
-            <pluralRule count="few">n in 3..6</pluralRule>
-            <pluralRule count="many">n in 7..10</pluralRule>
-        </pluralRules>
-        <pluralRules locales="ro mo">
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="few">n is 0 OR n is not 1 AND n mod 100 in 1..19</pluralRule>
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="two">n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000</pluralRule>
+            <pluralRule count="other"> @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="ga">
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="two">n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000</pluralRule>
+            <pluralRule count="few">n = 3..6 @integer 3~6 @decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00, 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000</pluralRule>
+            <pluralRule count="many">n = 7..10 @integer 7~10 @decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9.00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0000</pluralRule>
+            <pluralRule count="other"> @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="mo ro">
+            <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="few">v != 0 or n = 0 or n != 1 and n % 100 = 1..19 @integer 0, 2~16, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="other"> @integer 20~35, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
         </pluralRules>
         <pluralRules locales="lt">
-            <pluralRule count="one">n mod 10 is 1 and n mod 100 not in 11..19</pluralRule>
-            <pluralRule count="few">n mod 10 in 2..9 and n mod 100 not in 11..19</pluralRule>
+            <pluralRule count="one">n % 10 = 1 and n % 100 != 11..19 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …</pluralRule>
+            <pluralRule count="few">n % 10 = 2..9 and n % 100 != 11..19 @integer 2~9, 22~29, 102, 1002, … @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002.0, …</pluralRule>
+            <pluralRule count="many">f != 0   @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
-        <pluralRules locales="be bs hr ru sh sr uk">
-            <pluralRule count="one">n mod 10 is 1 and n mod 100 is not 11</pluralRule>
-            <pluralRule count="few">n mod 10 in 2..4 and n mod 100 not in 12..14</pluralRule>
-            <pluralRule count="many">n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14</pluralRule>
-            <!-- others are fractions -->
+        <pluralRules locales="be">
+            <pluralRule count="one">n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …</pluralRule>
+            <pluralRule count="few">n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0, 32.0, 33.0, 102.0, 1002.0, …</pluralRule>
+            <pluralRule count="many">n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="other">   @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …</pluralRule>
         </pluralRules>
         <pluralRules locales="cs sk">
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="few">n in 2..4</pluralRule>
+            <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="few">i = 2..4 and v = 0 @integer 2~4</pluralRule>
+            <pluralRule count="many">v != 0   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
         </pluralRules>
         <pluralRules locales="pl">
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="few">n mod 10 in 2..4 and n mod 100 not in 12..14</pluralRule>
-            <pluralRule count="many">n is not 1 and n mod 10 in 0..1 or n mod 10 in 5..9 or n mod 100 in 12..14</pluralRule>
-            <!-- others are fractions -->
-            <!-- and n mod 100 not in 22..24 from Tamplin -->
+            <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …</pluralRule>
+            <pluralRule count="many">v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+            <pluralRule count="other">   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="sl">
-            <pluralRule count="one">n mod 100 is 1</pluralRule>
-            <pluralRule count="two">n mod 100 is 2</pluralRule>
-            <pluralRule count="few">n mod 100 in 3..4</pluralRule>
-        </pluralRules>
-        <pluralRules locales="mt"> <!-- from Tamplin's data -->
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="few">n is 0 or n mod 100 in 2..10</pluralRule>
-            <pluralRule count="many">n mod 100 in 11..19</pluralRule>
-        </pluralRules>
-        <pluralRules locales="mk"> <!-- from Tamplin's data -->
-            <pluralRule count="one">n mod 10 is 1 and n is not 11</pluralRule>
-        </pluralRules>
-        <pluralRules locales="cy"> <!-- from http://www.saltcymru.org/wordpress/?p=99&lang=en -->
-            <pluralRule count="zero">n is 0</pluralRule>
-            <pluralRule count="one">n is 1</pluralRule>
-            <pluralRule count="two">n is 2</pluralRule>
-            <pluralRule count="few">n is 3</pluralRule>
-            <pluralRule count="many">n is 6</pluralRule>
+            <pluralRule count="one">v = 0 and i % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, …</pluralRule>
+            <pluralRule count="two">v = 0 and i % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, …</pluralRule>
+            <pluralRule count="few">v = 0 and i % 100 = 3..4 or v != 0 @integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="mt">
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="few">n = 0 or n % 100 = 2..10 @integer 0, 2~10, 102~107, 1002, … @decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …</pluralRule>
+            <pluralRule count="many">n % 100 = 11..19 @integer 11~19, 111~117, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …</pluralRule>
+            <pluralRule count="other"> @integer 20~35, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="mk">
+            <pluralRule count="one">v = 0 and i % 10 = 1 or f % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~10, 12~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="cy">
+            <pluralRule count="zero">n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000</pluralRule>
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="two">n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000</pluralRule>
+            <pluralRule count="few">n = 3 @integer 3 @decimal 3.0, 3.00, 3.000, 3.0000</pluralRule>
+            <pluralRule count="many">n = 6 @integer 6 @decimal 6.0, 6.00, 6.000, 6.0000</pluralRule>
+            <pluralRule count="other"> @integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="lag">
-            <pluralRule count="zero">n is 0</pluralRule>
-            <pluralRule count="one">n within 0..2 and n is not 0 and n is not 2</pluralRule>
+            <pluralRule count="zero">n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000</pluralRule>
+            <pluralRule count="one">i = 0,1 and n != 0 @integer 1 @decimal 0.1~1.6</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="shi">
-            <pluralRule count="one">n within 0..1</pluralRule>
-            <pluralRule count="few">n in 2..10</pluralRule>
+            <pluralRule count="one">i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04</pluralRule>
+            <pluralRule count="few">n = 2..10 @integer 2~10 @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00</pluralRule>
+            <pluralRule count="other"> @integer 11~26, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~1.9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
-        <pluralRules locales="br"> <!-- from http://unicode.org/cldr/trac/ticket/2886 -->
-            <pluralRule count="one">n mod 10 is 1 and n mod 100 not in 11,71,91</pluralRule>
-            <pluralRule count="two">n mod 10 is 2 and n mod 100 not in 12,72,92</pluralRule>
-            <pluralRule count="few">n mod 10 in 3..4,9 and n mod 100 not in 10..19,70..79,90..99</pluralRule>
-            <pluralRule count="many">n is not 0 and n mod 1000000 is 0</pluralRule>
+        <pluralRules locales="br">
+            <pluralRule count="one">n % 10 = 1 and n % 100 != 11,71,91 @integer 1, 21, 31, 41, 51, 61, 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 101.0, 1001.0, …</pluralRule>
+            <pluralRule count="two">n % 10 = 2 and n % 100 != 12,72,92 @integer 2, 22, 32, 42, 52, 62, 82, 102, 1002, … @decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 102.0, 1002.0, …</pluralRule>
+            <pluralRule count="few">n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 @integer 3, 4, 9, 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … @decimal 3.0, 4.0, 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …</pluralRule>
+            <pluralRule count="many">n != 0 and n % 1000000 = 0 @integer 1000000, … @decimal 1000000.0, 1000000.00, 1000000.000, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="ksh">
-            <pluralRule count="zero">n is 0</pluralRule>
-            <pluralRule count="one">n is 1</pluralRule>
+            <pluralRule count="zero">n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000</pluralRule>
+            <pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="tzm">
-            <pluralRule count="one">n in 0..1 or n in 11..99</pluralRule>
+            <pluralRule count="one">n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0</pluralRule>
+            <pluralRule count="other"> @integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
         <pluralRules locales="gv">
-            <pluralRule count="one">n mod 10 in 1..2 or n mod 20 is 0</pluralRule>
+            <pluralRule count="one">n % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 1001, … @decimal 1.0, 11.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 101.0, 1001.0, …</pluralRule>
+            <pluralRule count="two">n % 10 = 2 @integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 1002, … @decimal 2.0, 12.0, 22.0, 32.0, 42.0, 52.0, 62.0, 72.0, 102.0, 1002.0, …</pluralRule>
+            <pluralRule count="few">n % 100 = 0,20,40,60 @integer 0, 20, 40, 60, 100, 120, 140, 160, 1000, 10000, 100000, 1000000, … @decimal 0.0, 20.0, 40.0, 60.0, 100.0, 120.0, 140.0, 160.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+            <pluralRule count="other"> @integer 3~10, 13~19, 23, 103, 1003, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.1, 1000.1, …</pluralRule>
         </pluralRules>
         <pluralRules locales="gd">
-            <pluralRule count="one">n in 1,11</pluralRule>
-            <pluralRule count="two">n in 2,12</pluralRule>
-            <pluralRule count="few">n in 3..10,13..19</pluralRule>
+            <pluralRule count="one">n = 1,11 @integer 1, 11 @decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.000, 1.0000</pluralRule>
+            <pluralRule count="two">n = 2,12 @integer 2, 12 @decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.000, 2.0000</pluralRule>
+            <pluralRule count="few">n = 3..10,13..19 @integer 3~10, 13~19 @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00</pluralRule>
+            <pluralRule count="other"> @integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="bm bo dz id ig ii in ja jbo jv jw kde kea km ko lkt lo ms my nqo sah ses sg th to vi wo yo zh">
+            <pluralRule count="other"> @integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="fil tl">
+            <pluralRule count="one">i = 0..1 and v = 0 @integer 0, 1</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="ca de en et fi gl it ji nl sv sw ur yi">
+            <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="pt">
+            <pluralRule count="one">i = 1 and v = 0 or i = 0 and t = 1 @integer 1 @decimal 0.1, 0.01, 0.10, 0.001, 0.010, 0.100, 0.0001, 0.0010, 0.0100, 0.1000</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.2~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="da">
+            <pluralRule count="one">n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="pt_PT">
+            <pluralRule count="one">n = 1 and v = 0 @integer 1</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="am bn fa gu hi kn mr zu">
+            <pluralRule count="one">i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="is">
+            <pluralRule count="one">t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1~1.6, 10.1, 100.1, 1000.1, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="si">
+            <pluralRule count="one">n = 0,1 or i = 0 and f = 1 @integer 0, 1 @decimal 0.0, 0.1, 1.0, 0.00, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000</pluralRule>
+            <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.2~0.9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="bs hr sh sr">
+            <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …</pluralRule>
+            <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …</pluralRule>
+            <pluralRule count="other"> @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="ru">
+            <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …</pluralRule>
+            <pluralRule count="many">v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+            <pluralRule count="other"> @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+        </pluralRules>
+        <pluralRules locales="uk">
+            <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …</pluralRule>
+            <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …</pluralRule>
+            <pluralRule count="many">v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+            <pluralRule count="other">   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
         </pluralRules>
     </plurals>
 </supplementalData>
index 5915d6a..8a802af 100644 (file)
@@ -4492,10 +4492,10 @@ $5
 'duration-hours' => '({{PLURAL:$1||ساعة واحدة|ساعتان|$1 ساعات|$1 ساعة}})',
 'duration-days' => '{{PLURAL:$1||يوم واحد|يومان|$1 أيام|$1 يومًا|$1 يوم}}',
 'duration-weeks' => '{{PLURAL:$1||أسبوع واحد|أسبوعان|$1 أسابيع|$1 أسبوعًا|$1 أسبوع}}',
-'duration-years' => '{{PLURAL: $1||سنة واحدة|سنتان|$1 سنين|$1 سنة}}',
-'duration-decades' => '{{PLURAL: $1||عقد واحد|عقدان|$1 عقود|$1 عقدًا|$1 عقد}}',
-'duration-centuries' => '{{PLURAL: $1||قرن واحد|قرنان|$1 قرون|$1 قرنًا|$1 قرن}}',
-'duration-millennia' => '{{PLURAL: $1||ألفية واحدة|ألفيتان|$1 ألفيات|$1 ألفية}}',
+'duration-years' => '{{PLURAL:$1||سنة واحدة|سنتان|$1 سنين|$1 سنة}}',
+'duration-decades' => '{{PLURAL:$1||عقد واحد|عقدان|$1 عقود|$1 عقدًا|$1 عقد}}',
+'duration-centuries' => '{{PLURAL:$1||قرن واحد|قرنان|$1 قرون|$1 قرنًا|$1 قرن}}',
+'duration-millennia' => '{{PLURAL:$1||ألفية واحدة|ألفيتان|$1 ألفيات|$1 ألفية}}',
 
 # Image rotation
 'rotate-comment' => 'تدوير الصورة  {{PLURAL:$1||درجة واحدة|درجتان|$1 درجات|$1 درجة}} باتجاه عقارب الساعة',
index 2155dff..25f871a 100644 (file)
@@ -444,7 +444,7 @@ $1',
 
 'badaccess' => 'অনুমোদন ত্ৰুটি',
 'badaccess-group0' => 'আপুনি কৰিব বিচৰা কামতো কৰাৰ অধিকাৰ আপোনাৰ নাই।',
-'badaccess-groups' => 'আপুনি অনুৰোধ কৰা কাৰ্য কেৱল {{plural:$2|গোটৰ|গোটৰ}} সদস্যৰ বাবে সীমিত: $1',
+'badaccess-groups' => 'আপুনি অনুৰোধ কৰা কাৰ্য কেৱল {{PLURAL:$2|গোটৰ|গোটৰ}} সদস্যৰ বাবে সীমিত: $1',
 
 'versionrequired' => 'মিডিয়াৱিকিৰ $1 সংকলন থাকিব লাগিব ।',
 'versionrequiredtext' => 'এই পৃষ্ঠাটো ব্যৱহাৰ কৰিবলৈ মিডিয়াৱিকিৰ $1 সংস্কৰণ থাকিব লাগিব । [[Special:Version|সংস্কৰণ পৃষ্ঠা]] চাওক।',
@@ -1697,7 +1697,7 @@ $1",
 'overwrite' => 'এতিয়া থকা ফাইলৰ ওপৰত লিখা নিষেধ ।',
 'unknown-error' => 'এক অজ্ঞাত সমস্যাই দেখা দিছে ।',
 'tmp-create-error' => 'অস্থায়ী ফাইল তৈয়াৰ কৰিব পৰা নহ’ল ।',
-'tmp-write-error' => 'অস্থায়ী ফাইল লিখাত সমস্যা হৈছে ।',
+'tmp-write-error' => 'অস্থায়ী ফাইল লিখাত সমস্যা হৈছে।',
 'large-file' => 'পৰামৰ্শ অনুযায়ী ফাইলৰ আকাৰ $1 তকৈ ডাঙৰ হ’ব নালাগে ।
 এই ফাইলৰ আকাৰ $2 ।',
 'largefileserver' => 'চাৰ্ভাৰে অনুমোদন কৰাতকৈ এই ফাইলৰ আকাৰ ডাঙৰ ।',
@@ -1773,7 +1773,7 @@ $1',
 'upload-file-error' => 'আভ্যন্তৰীণ ত্ৰুটি',
 'upload-file-error-text' => 'চাৰ্ভাৰত অস্থায়ী ফাইল সৃষ্টি কৰোঁতে এটা আভ্যন্তৰীণ ত্ৰুটিয়ে দেখা দিছে ।
 অনুগ্ৰহ কৰি [[Special:ListUsers/sysop|প্ৰশাসকৰ]] লগত যোগাযোগ কৰক ।',
-'upload-misc-error' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦\86পলâ\80\99ড à¦¸à¦®à¦¸à§\8dযা',
+'upload-misc-error' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦\86পলâ\80\99ড à¦¤à§\8dৰà§\81à¦\9fি',
 'upload-misc-error-text' => 'আপল’ডৰ সময়ত কোনো অজ্ঞাত সমস্যাই দেখা দিছে ।
 URL টোৰ বৈধতা বিচাৰ কৰি পুনৰ চেষ্টা কৰক ।
 যদি তাৰ পিছতো সমস্যা হয়, তেন্তে এজন [[Special:ListUsers/sysop|প্ৰশাসকৰ]] লগত যোগাযোগ কৰক ।',
@@ -3905,7 +3905,7 @@ $5
 'dberr-cachederror' => "এইখন অনুৰোধ কৰা পৃষ্ঠাৰ কেচ্‌ড লিপি, যিখন নবীকৰণ নকৰাও হ'ব পাৰে ।",
 
 # HTML forms
-'htmlform-invalid-input' => 'à¦\86পà§\8bনাৰ à¦\85নà§\8dতৰà§\8dভà§\81à¦\95à§\8dতিত à¦\95িà¦\9bà§\81মান সমস্যা হৈছে',
+'htmlform-invalid-input' => 'à¦\86পà§\8bনাৰ à¦\95িà¦\9bà§\81মান à¦\85নà§\8dতৰà§\8dভà§\81à¦\95à§\8dতিত সমস্যা হৈছে',
 'htmlform-select-badoption' => 'আপুনি ধাৰ্য কৰা মান উপযুক্ত বিকল্প নহয়।',
 'htmlform-int-invalid' => 'অপুনি ধাৰ্য কৰা মান অখণ্ড সংখ্যা (integer) নহয়।',
 'htmlform-float-invalid' => 'অপুনি ধাৰ্য কৰা মান সংখ্যা নহয়।',
@@ -4002,7 +4002,7 @@ $5
 'api-error-illegal-filename' => 'ফাইলৰ এই নামটো গ্ৰহণযোগ্য নহয় ।',
 'api-error-internal-error' => "আভ্যন্তৰীণ ত্ৰুটি: এই ৱিকিত আপোনাৰ আপল'ড প্ৰক্ৰিয়া সমাপনত কিবা সমস্যা হৈছে।",
 'api-error-invalid-file-key' => "আভ্যন্তৰীণ ত্ৰুটি: অস্থায়ী ভঁৰালত ফাইলটো পোৱা নগ'ল।",
-'api-error-missingparam' => 'à¦\86ভà§\8dযনà§\8dতৰà§\80ণ à¦¤à§\8dৰà§\81à¦\9fি: à¦\85নà§\81ৰà§\8bধত à¦ªà§\87ৰামিà¦\9fাৰৰ à¦\95িবা à¦¸à¦®à¦¸à§\8dযা à§°ৈছে।',
+'api-error-missingparam' => 'à¦\86ভà§\8dযনà§\8dতৰà§\80ণ à¦¤à§\8dৰà§\81à¦\9fি: à¦\85নà§\81ৰà§\8bধত à¦ªà¦¾à§°à¦¾à¦®à¦¿à¦\9fাৰৰ à¦\95িবা à¦¸à¦®à¦¸à§\8dযা à¦¹ৈছে।',
 'api-error-missingresult' => "আভ্যন্তৰীণ ত্ৰুটি: অনুলিপি সফল হৈছেনে নাই তাক নিশ্চিত কৰিব পৰা নগ'ল।",
 'api-error-mustbeloggedin' => "ফাইল আপল'ড কৰাৰ আগেয়ে আপুনি প্ৰৱেশ কৰাটো বাধ্যতামূলক ।",
 'api-error-mustbeposted' => 'আভ্যন্তৰীণ ত্ৰুটি: এই অনুৰোধত HTTP POST প্ৰয়োজন।',
@@ -4014,10 +4014,10 @@ $5
 'api-error-publishfailed' => "আভ্যন্তৰীণ ত্ৰুটি: অস্থায়ী ফাইল প্ৰকাশ কৰাত চাৰ্ভাৰ অসমৰ্থ হ'ল।",
 'api-error-timeout' => 'আশা কৰা সময়ৰ ভিতৰত চাৰ্ভাৰটোৱে সঁহাৰি নজনালে।',
 'api-error-unclassified' => 'এক অজ্ঞাত সমস্যাই দেখা দিছে।',
-'api-error-unknown-code' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦¸à¦®à¦¸à§\8dযা: "$1"।',
+'api-error-unknown-code' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦¤à§\8dৰà§\81à¦\9fি: "$1"।',
 'api-error-unknown-error' => "আভ্যন্তৰীণ ত্ৰুটি: আপোনাৰ ফাইলটো আপল'ড কৰাত কিবা সমস্যা হৈছে।",
 'api-error-unknown-warning' => 'অজ্ঞাত সাৱধানবাণী: "$1"।',
-'api-error-unknownerror' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦¸à¦®à¦¸à§\8dযা: "$1"।',
+'api-error-unknownerror' => 'à¦\85à¦\9cà§\8dà¦\9eাত à¦¤à§\8dৰà§\81à¦\9fি: "$1"।',
 'api-error-uploaddisabled' => "এই ৱিকিত আপল'ড নিষ্ক্ৰিয় কৰা হৈছে।",
 'api-error-verification-error' => 'সম্ভৱতঃ এই ফাইলটো ত্ৰুটিপূৰ্ণ বা তাৰ এক্সটেন্‌ছনটো ভুল।',
 
@@ -4026,7 +4026,7 @@ $5
 'duration-minutes' => '$1 {{PLURAL:$1|মিনিট|মিনিট}}',
 'duration-hours' => '$1 {{PLURAL:$1|ঘন্টা|ঘন্টা}}',
 'duration-days' => '$1 {{PLURAL:$1|দিন|দিন}}',
-'duration-weeks' => '{{PLURAL: $1|সপ্তাহ|সপ্তাহ}}',
+'duration-weeks' => '{{PLURAL:$1|সপ্তাহ|সপ্তাহ}}',
 'duration-years' => '$1 {{PLURAL:$1|বছৰ|বছৰ}}',
 'duration-decades' => '$1 {{PLURAL:$1|দশক|দশক}}',
 'duration-centuries' => '$1 {{PLURAL:$1|শতাব্দী|শতাব্দী}}',
index fa3c9c1..d9c9aee 100644 (file)
@@ -3934,12 +3934,12 @@ D\'otra miente, pues usar el formulariu cenciellu d\'abaxo. El to comentariu apa
 'api-error-verification-error' => 'Esti ficheru pudiera tar corrompíu, o tien una estensión incorreuta.',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL: $1|segundu|segundos}}',
-'duration-minutes' => '$1 {{PLURAL: $1|minutu|minutos}}',
-'duration-hours' => '$1 {{PLURAL: $1|hora|hores}}',
-'duration-days' => '$1 {{PLURAL: $1|día|díes}}',
-'duration-weeks' => '$1 {{PLURAL: $1|selmana|selmanes}}',
-'duration-years' => '$1 {{PLURAL: $1|añu|años}}',
+'duration-seconds' => '$1 {{PLURAL:$1|segundu|segundos}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minutu|minutos}}',
+'duration-hours' => '$1 {{PLURAL:$1|hora|hores}}',
+'duration-days' => '$1 {{PLURAL:$1|día|díes}}',
+'duration-weeks' => '$1 {{PLURAL:$1|selmana|selmanes}}',
+'duration-years' => '$1 {{PLURAL:$1|añu|años}}',
 'duration-decades' => '$1 {{PLURAL:$1|década|décades}}',
 'duration-centuries' => '$1 {{PLURAL:$1|sieglu|sieglos}}',
 'duration-millennia' => '$1 {{PLURAL:$1|mileniu|milenios}}',
@@ -3950,9 +3950,9 @@ D\'otra miente, pues usar el formulariu cenciellu d\'abaxo. El to comentariu apa
 # Limit report
 'limitreport-title' => 'Datos de perfiláu del analizador:',
 'limitreport-cputime' => 'Usu de tiempu de CPU',
-'limitreport-cputime-value' => '$1 {{PLURAL: $1|segundu|segundos}}',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|segundu|segundos}}',
 'limitreport-walltime' => 'Usu de tiempu real',
-'limitreport-walltime-value' => '$1 {{PLURAL: $1|segundu|segundos}}',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|segundu|segundos}}',
 'limitreport-ppvisitednodes' => 'Cuenta de noyos visitaos pol preprocesador',
 'limitreport-ppgeneratednodes' => 'Cuenta de noyos xeneraos pol preprocesador',
 'limitreport-postexpandincludesize' => "Tamañu d'inclusión de post-espansión",
index c030f4a..ca81e4a 100644 (file)
@@ -226,7 +226,7 @@ $messages = array(
 'cancel' => 'Ləğv et',
 'moredotdotdot' => 'Daha...',
 'morenotlisted' => 'Bu siyahı tam deyil.',
-'mypage' => 'Mənim səhifəm',
+'mypage' => 'Səhifə',
 'mytalk' => 'Danışıqlarım',
 'anontalk' => 'Bu IP-yə aid müzakirə',
 'navigation' => 'Naviqasiya',
index 22914f1..b0fb52a 100644 (file)
@@ -837,7 +837,7 @@ $2
 </div> ایستیلئ="فونت-weight: بولد؛ فونت-سیزئ: 110%؛ جولور:رئد؛">موللیف حقوق‌لاری ایله قورونموش هئچ بیر ایشی ایجازه‌سیز درج ائتمیین!</div>',
 'copyrightwarning2' => 'خاهیش ائدیریک، {{SITENAME}} سایتینا ائده‌جه‌یم بوتون روسوم دیگر عضو‌لر طرفین‌دن دوزئنلئنئبیلئجئغینی، دییش‌دیریله و یا سیلینئبیلئجئغینی خاتیرلایین. یازی‌لارینین مئرهامئتسیزجئ دئغیشتیریلی بیلمسینه راضی‌لیق گؤسترمیرسه بورا ایشتیراک ائتمیین. <br />
 آیریجا بو علاوه یازینی سیزین یازدیغینیزدان یا دا سربست کوپیالاما ایجازه‌سی وئرن بیر قایناق‌دان کوپیالادیغینیزی بیزه اؤهده‌لرینه ائتمکدسینیز (دئتال‌لار اوچون ایستیناد: $1).',
-'longpageerror' => "خطا: داخیل متنین اوزون‌لوغو قبول ائدیله بیلر ان چوخ اوزونلوق اولان {{PLURAL: $2 | بیر کیلوبایت | $2 کیلوبایت}} دان چوخ‌دور و {{PLURAL: $1 | بیر کیلوبایت | $1 کیلوبایت}} بؤیوکلوگونده‌دیر.'
+'longpageerror' => "خطا: داخیل متنین اوزون‌لوغو قبول ائدیله بیلر ان چوخ اوزونلوق اولان {{PLURAL:$2 | بیر کیلوبایت | $2 کیلوبایت}} دان چوخ‌دور و {{PLURAL:$1 | بیر کیلوبایت | $1 کیلوبایت}} بؤیوکلوگونده‌دیر.'
 دییشیک‌لیگی‌نین کایدئدیلئمئز.",
 'readonlywarning' => "'''دیقت: باخیم سببی ایله دیتابیس بو آندا قیفیللی‌دیر. بو سببله دییشیک‌لیکلری‌نین بو آندا قئید ائدیل میه‌جکدیر. یازدیقلارینیزی باشقا بیر فایل‌دا آلیب ساخلایا و داها سونرا یئنی‌دن بورا گتیریب یازا بیلرسینیز.
 
@@ -1519,8 +1519,8 @@ $1",
 'filetype-mime-mismatch' => '".$1" فایل اوزانتی‌سی فایلین میمئ تیپینه ($2) اویغون گلمیر.',
 'filetype-badmime' => '"$1" MIME تیپین‌دکی فایل‌لارین یوکلنمه‌سینه ایجازه وئریلمیر.',
 'filetype-bad-ie-mime' => 'بو فایل یوک‌لنه، چونکی اینتئرنئت اکسپلورر بونو، ایجازه وئریلمه‌ین و احتمالا زررلی فایل نؤوو اولان "$1" اولا‌راق تثبیت ائدیر.',
-'filetype-unwanted-type' => "'''\". \$1\"''' ایستنمه‌ین بیر فایل نؤوودور. تکلیف ائدیلن {{PLURAL: \$3 | فایل نؤوو | فایل نؤو‌لری}} \$2.",
-'filetype-banned-type' => '\' \'". $1"\' {{PLURAL: $4 | ایجازه وئریلن بیر فایل نؤوو دئییل | ایجازه وئریلن بیر فایل نؤوو دئییل}}. ایجازه وئریلن {{PLURAL: $3 | فایل نؤوو | فایل نؤو‌لری}} $2.',
+'filetype-unwanted-type' => "'''\". \$1\"''' ایستنمه‌ین بیر فایل نؤوودور. تکلیف ائدیلن {{PLURAL:\$3 | فایل نؤوو | فایل نؤو‌لری}} \$2.",
+'filetype-banned-type' => '\' \'". $1"\' {{PLURAL:$4 | ایجازه وئریلن بیر فایل نؤوو دئییل | ایجازه وئریلن بیر فایل نؤوو دئییل}}. ایجازه وئریلن {{PLURAL:$3 | فایل نؤوو | فایل نؤو‌لری}} $2.',
 'filetype-missing' => 'فايلین هئچ بیر اوزانتیسی يوخدور (مثلا، ".jpg").',
 'empty-file' => 'سیز یول‌لادیغینیز فایل، بوش ایدی.',
 'file-too-large' => 'گؤندردیگینیز فایل چوخ بؤیوک‌دور.',
@@ -1561,7 +1561,7 @@ $1",
 'fileexists-shared-forbidden' => 'بو آددا بیر فايل اورتاق آمباردا مؤوجود دیر. 
 فايلینیزی يئنه ده يوکله‌مک ایسته‌يیرسینیزسه، خاهیش ائدیریک گئری گئدیب يئنی بیر آد ایستیفاده ائدین. 
 [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'بو فایل آشاغی‌داکی {{PLURAL: $1 | فایلین | فایل‌لارین}} تکراری سی‌دیر:',
+'file-exists-duplicate' => 'بو فایل آشاغی‌داکی {{PLURAL:$1 | فایلین | فایل‌لارین}} تکراری سی‌دیر:',
 'file-deleted-duplicate' => 'بو فایلین عینی اولان باشقا بیر فایل([[:$1]])داها اول‌دن سیلیندی. بو فای‌لی یئنی‌دن یوکلمه‌دن اول دیگر فایلین سیلینمه‌سی قئیدلرینی ایداره ائتملیسینیز.',
 'uploadwarning' => 'يوکله‌مه خبردارلیغی',
 'uploadwarning-text' => 'خاهیش ائدیریک آشاغی‌داکی فایل شرحینی دییش‌دیرین و یئنی‌دن جهد ائدین.',
@@ -2190,7 +2190,7 @@ $نئwپاگئ
 ** یازانلار حقوق پوزونتوسو
 ** واندالیزم',
 'delete-edit-reasonlist' => 'سیلمک دلیل‌لرینی دَییشدیر',
-'delete-toobig' => 'بو صحیفه، $1 {{PLURAL: $1 | دنه دییشیک‌لیک | دنه دییشیک‌لیک}} ایله چوخ اوزون بیر کئچمیشه مالیک‌دیر.
+'delete-toobig' => 'بو صحیفه، $1 {{PLURAL:$1 | دنه دییشیک‌لیک | دنه دییشیک‌لیک}} ایله چوخ اوزون بیر کئچمیشه مالیک‌دیر.
 بئله صحیفه‌لرین سیلینمه‌سی، {{SITENAME}} سایتینی پوزماماق اوچون مهدودلاشدیریلماقدا‌دیر.',
 'delete-warning-toobig' => 'بو صحیفه‌‌نین بؤيوک بیر ديَیشیکلیک کئچمیشی وار، $1 {{PLURAL:$1|نسخه| نسخه}} اوزرینده. 
 بونو سیلمک {{SITENAME}} عملیاتلارینی مخدل‌ائده‌بیلیر؛ 
@@ -2592,7 +2592,7 @@ $1 آدلی ایستیفاده‌چی‌نین باغلانما سببی: "$2"',
 'movelogpage' => 'آد ديیشدیرمک قئیدی',
 'movelogpagetext' => 'آشاغیدا اولان سیاهی آدی دییشدیریلمیش صحیفه‌لری گؤستریر.',
 'movesubpage' => '{{PLURAL:$1|آلتینداکی صحیفه}}',
-'movesubpagetext' => 'بو صحیفه‌نین آشاغیدا گؤستریلن $1 {{PLURAL: $1 | آلت صحیفه سی | آلت صحیفه اسی}} وار.',
+'movesubpagetext' => 'بو صحیفه‌نین آشاغیدا گؤستریلن $1 {{PLURAL:$1 | آلت صحیفه سی | آلت صحیفه اسی}} وار.',
 'movenosubpage' => 'بو صحیفه‌نین آلت صحیفه‌سی یوخ‌دور.',
 'movereason' => 'ندن:',
 'revertmove' => 'قایتار',
@@ -2940,7 +2940,7 @@ $1',
 'file-info-gif-looped' => 'ایلملنیب',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|فرامئ|چرچیوه}}',
 'file-info-png-looped' => 'ایلملنیب',
-'file-info-png-repeat' => '$1 {{PLURAL: $ 1|دفعه| دفعه}} اویناتیلدی',
+'file-info-png-repeat' => '$1 {{PLURAL:$ 1|دفعه| دفعه}} اویناتیلدی',
 'file-info-png-frames' => '$1 {{PLURAL:$1|فرامئ|چرچیوه}}',
 'file-no-thumb-animation' => "'''قئید:تئکنیکی مسئله‌لر سببیندن قاباق دان گورسنمه فایل متحرک شکیلی گؤرستمیر .",
 'file-no-thumb-animation-gif' => "'''قئید:فنی مسائیله گوره GIF  فایلارین و اونا تای اولانان لار  قالباق دان گورستمه پروقرمی متحرک حالیندا گورسدیلمیجک.'''",
@@ -3523,7 +3523,7 @@ $5
 نورمال سینیق گوستریشی کولانین.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => '$1 {{PLURAL: $1 | سانیيه‌دن | سانیيه‌ده}} يئنی ديَیشیکلیکلر بو سیياهیدا گؤرولمه‌يه.',
+'lag-warn-normal' => '$1 {{PLURAL:$1 | سانیيه‌دن | سانیيه‌ده}} يئنی ديَیشیکلیکلر بو سیياهیدا گؤرولمه‌يه.',
 'lag-warn-high' => 'وئریلنلر بازاسی سونوجوسونداکی هددیندن آرتیق گئجیکمه‌دن گؤره، $1 {{PLURAL:$1 | سانیيه‌دن | سانیيه‌دن}} يئنی ديَیشیکلیکلر بو سیياهیدا گؤرونمئيئبیلیر.',
 
 # Watchlist editor
index afbb228..48863b8 100644 (file)
@@ -267,16 +267,16 @@ $messages = array(
 'december-date' => 'Сентябрь $1',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категория}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категория}}',
 'category_header' => '«$1» категорияһындағы биттәр',
 'subcategories' => 'Эске категориялар',
 'category-media-header' => '«$1» категорияһындағы файлдар',
 'category-empty' => '"Был категория әлегә буш."',
-'hidden-categories' => '{{PLURAL:$1|Йәшерен категория|Йәшерен категориялар}}',
+'hidden-categories' => '{{PLURAL:$1|1=Йәшерен категория|Йәшерен категориялар}}',
 'hidden-category-category' => 'Йәшерен категориялар',
-'category-subcat-count' => '{{PLURAL:$2|Был категорияла тик киләһе эске категория ғына бар.|$2 эске категорияның $1 эске категорияһы күрһәтелгән.}}',
+'category-subcat-count' => '{{PLURAL:$2|1=Был категорияла тик киләһе эске категория ғына бар.|$2 эске категорияның $1 эске категорияһы күрһәтелгән.}}',
 'category-subcat-count-limited' => 'Был категорияла {{PLURAL:$1|$1 эске категория}} бар.',
-'category-article-count' => '{{PLURAL:$2|Был категорияла бер генә бит бар.|Категориялағы $2 биттең $1 бите күрһәтелгән.}}',
+'category-article-count' => '{{PLURAL:$2|1=Был категорияла бер генә бит бар.|Категориялағы $2 биттең $1 бите күрһәтелгән.}}',
 'category-article-count-limited' => 'Был категорияла {{PLURAL:$1|$1 бит}} бар.',
 'category-file-count' => '{{PLURAL:$2|Был категорияла бер генә файл бар.|Категориялағы $2 файлдың {{PLURAL:$1|$1 файлы күрһәтелгән}}.}}',
 'category-file-count-limited' => 'Бу категорияла {{PLURAL:$1|$1 файл}} бар.',
@@ -347,7 +347,7 @@ $messages = array(
 'deletethispage' => 'Был битте юйырға',
 'undeletethispage' => 'Юйылған был битте ҡабат тергеҙеү',
 'undelete_short' => '$1 {{PLURAL:$1|үҙгәртеүҙе}} тергеҙергә',
-'viewdeleted_short' => '{{PLURAL:$1|1 юйылған үҙгәртеүҙе|$1 юйылған үҙгәртеүҙе}} ҡарау',
+'viewdeleted_short' => '{{PLURAL:$1|1=1 юйылған үҙгәртеүҙе|$1 юйылған үҙгәртеүҙе}} ҡарау',
 'protect' => 'Һаҡларға',
 'protect_change' => 'үҙгәртергә',
 'protectthispage' => 'Был битте һаҡларға',
@@ -410,7 +410,7 @@ $1',
 
 'badaccess' => 'Кереү хатаһы',
 'badaccess-group0' => 'Һоратылған ғәмәлде үтәй алмайһығыҙ.',
-'badaccess-groups' => 'Һоратылған ғәмәлде киләһе {{PLURAL:$2|төркөм|төркөмдәр}} ҡулланыусылары ғына башҡара ала: $1.',
+'badaccess-groups' => 'Һоратылған ғәмәлде киләһе {{PLURAL:$2|1=төркөм|төркөмдәр}} ҡулланыусылары ғына башҡара ала: $1.',
 
 'versionrequired' => 'MediaWiki-ның $1 версияһы кәрәкле',
 'versionrequiredtext' => 'Был бит менән эшләү өсөн MediaWiki-ның $1 версияһы кәрәк. [[Special:Version|Ҡулланылған версия тураһында мәғлүмәт битен]] ҡара.',
@@ -419,10 +419,10 @@ $1',
 'pagetitle' => '{{SITENAME}} проектынан',
 'retrievedfrom' => 'Сығанағы — «$1»',
 'youhavenewmessages' => 'Яңы $1 бар ($2).',
-'youhavenewmessagesfromusers' => 'Һеҙгә {{PLURAL:$3|башҡа ҡатнашыусынан|$3 ҡатнашыусынан}} $1 бар ($2).',
+'youhavenewmessagesfromusers' => 'Һеҙгә {{PLURAL:$3|1=башҡа ҡатнашыусынан|$3 ҡатнашыусынан}} $1 бар ($2).',
 'youhavenewmessagesmanyusers' => 'Һеҙгә күп ҡатнашыусынан $1 бар ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|яңы хәбәр|яңы хәбәр}}',
-'newmessagesdifflinkplural' => 'һуңғы {{PLURAL:$1|үҙгәртеү|үҙгәртеү}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=яңы хәбәр|яңы хәбәр}}',
+'newmessagesdifflinkplural' => 'һуңғы {{PLURAL:$1|1=үҙгәртеү|үҙгәртеү}}',
 'youhavenewmessagesmulti' => 'Һеҙгә яңы хәбәрҙәр бар: $1',
 'editsection' => 'үҙгәртергә',
 'editold' => 'төҙәтеү',
@@ -437,7 +437,7 @@ $1',
 'collapsible-expand' => 'асырға',
 'thisisdeleted' => 'Ҡарарғамы йәки тергеҙергәме? — $1',
 'viewdeleted' => '$1 ҡарарғамы?',
-'restorelink' => '{{PLURAL:$1|1 юйылған үҙгәртеүҙе|$1 юйылған үҙгәртеүҙе}}',
+'restorelink' => '{{PLURAL:$1|1=1 юйылған үҙгәртеүҙе|$1 юйылған үҙгәртеүҙе}}',
 'feedlinks' => 'Таҫма:',
 'feed-invalid' => 'Хаталы таҫма тибы.',
 'feed-unavailable' => 'Синдикация таҫмаларына ирешеп булмай',
@@ -533,7 +533,7 @@ $1',
 'editinginterface' => "'''Иғтибар.''' Һеҙ программаның арайөҙ тексты булған битте мөхәррирләйһегеҙ.
 Уны үҙгәртеү, башҡа ҡулланыусыларҙын арайөҙ күренешен үҙгәртәсәктер.
 Тәржемә өсөн [//translatewiki.net/wiki/Main_Page?setlang=ba translatewiki.net] адресын, MediaWiki-ны локалләштереү проектын ҡулланыу яҡшыраҡ буласаҡтыр.",
-'cascadeprotected' => 'Был бит үҙгәртеүҙәрҙән һаҡланған, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|биткә|биттәргә}} керә:
+'cascadeprotected' => 'Был бит үҙгәртеүҙәрҙән һаҡланған, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|1=биткә|биттәргә}} керә:
 $2',
 'namespaceprotected' => '«$1» исем арауығындағы биттәрҙе мөхәррирләү өсөн хоҡуҡтарығыҙ юҡ.',
 'customcssprotected' => 'Был CSS-битте үҙгәртеү хоҡуғығыҙ юҡ, сөнки унда башҡа ҡулланыусының шәхси көйләүҙәре бар.',
@@ -620,8 +620,8 @@ $2',
 'createacct-another-submit' => 'Тағы бер иҫәп яҙмаһын булдырырға',
 'createacct-benefit-heading' => '{{SITENAME}} һеҙҙең кеүек үк кешеләр тарафынан булдырылған',
 'createacct-benefit-body1' => '{{PLURAL:$1|үҙгәртеү}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|мәҡәлә|мәҡәлә|мәҡәләнең}}',
-'createacct-benefit-body3' => 'һуңғы ваҡытта {{PLURAL:$1|ҡатнашыусы|}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|мәҡәлә|мәҡәләнең|мәҡәлә}}',
+'createacct-benefit-body3' => 'һуңғы ваҡытта {{PLURAL:$1|ҡатнашыусы}}',
 'badretype' => 'Һеҙ кереткән серһүҙҙәр тап килмәй.',
 'userexists' => 'Керетелгән исем ҡулланыла инде.
 Зинһар, башҡа исем һайлағыҙ.',
@@ -659,7 +659,7 @@ $2',
 'blocked-mailpassword' => 'Һеҙҙең IP-адресығыҙҙан мөхәррирләү тыйылған, шул сәбәпле серһүҙ тергеҙеү ғәмәле лә блокланған.',
 'eauthentsent' => 'Күрһәтелгән электрон почта адресына адресты үҙгәртеүҙе раҫлауығыҙ өсөн хат ебәрелде. Хатта был адрес һеҙҙеке булғанын раҫлау өсөн ниндәй ғәмәлдәрҙе үтәү кәрәклеге тураһында мәғлүмәт бар.',
 'throttled-mailpassword' => 'Серһүҙҙе иҫләтеү ғәмәле {{PLURAL:$1|һуңғы $1 сәғәт}} эсенде ҡулланылды инде.
-Насар ниәтле ҡулланыуҙарға ҡаршы, Серһүҙ иҫләтеү ғәмәлен {{PLURAL:$1|сәғәт|$1 сәғәт}} эсендә бер тапҡыр ғына ҡулланырға була.',
+Насар ниәтле ҡулланыуҙарға ҡаршы, Серһүҙ иҫләтеү ғәмәлен {{PLURAL:$1|1=сәғәт|$1 сәғәт}} эсендә бер тапҡыр ғына ҡулланырға була.',
 'mailerror' => 'Хат ебәреү хатаһы: $1',
 'acct_creation_throttle_hit' => 'Һеҙҙең IP-адрестан бер тәүлек эсендә {{PLURAL:$1|$1 иҫәп яҙыуы}} яһалды инде, был һан был ваҡыт аралығы өсөн максимум һан. Шул сәбәпле, был IP-адресына эйә ҡулланыусылар, хәҙерге ваҡытта яңы иҫәп яҙыуы яһай алмайҙар.',
 'emailauthenticated' => 'Электрон почта адресығыҙ раҫланды: $3, $2.',
@@ -722,18 +722,18 @@ $2',
 'passwordreset-email' => 'Электрон почта адресы:',
 'passwordreset-emailtitle' => '{{SITENAME}} иҫәп яҙыуы мәғлүмәттәре',
 'passwordreset-emailtext-ip' => 'Берәү (бәлки һәҙ, $1 IP-адресынан ) {{SITENAME}} ($4) проектындағы иҫәп яҙыуығыҙҙы хәтерләтеүҙе һоратты.
-Киләһе ҡулланыусы {{PLURAL:$3|иҫәп яҙыуы|иҫәп яҙыуҙары}} был электрон почта адресы менән бәйле:
+Киләһе ҡулланыусы {{PLURAL:$3|1=иҫәп яҙыуы|иҫәп яҙыуҙары}} был электрон почта адресы менән бәйле:
 
 $2
 
-Был ваҡытлыса {{PLURAL:$3|серһүҙ|серһүҙҙәр}} {{PLURAL:$5|$5 көн}} ғәмәлдә буласаҡ.
+Был ваҡытлыса {{PLURAL:$3|1=серһүҙ|серһүҙҙәр}} {{PLURAL:$5|$5 көн}} ғәмәлдә буласаҡ.
 Һеҙ системала танылырға һәм яңы серһүҙ һайларға тейешһегеҙ.
 Әгәр, һеҙ быны һоратмаған булһағыҙ йәки элекке серһүҙегеҙҙе киренән иҫләһәгеҙ һәм уны үҙгәртергә теләмәһәгеҙ, был хатҡа иғтибар итмәгеҙ һәм элекке серһүҙегеҙҙе ҡулланыуҙы дауам итегеҙ.',
-'passwordreset-emailtext-user' => '{{SITENAME}} проектындағы $1 ҡулланыусыһы {{SITENAME}} ($4) проектындағы иҫәп яҙыуығыҙҙы хәтерләтеүҙе һоратты. Киләһе ҡулланыусы {{PLURAL:$3|иҫәп яҙыуы|иҫәп яҙыуҙары}} был электрон почта адресы менән бәйле:
+'passwordreset-emailtext-user' => '{{SITENAME}} проектындағы $1 ҡулланыусыһы {{SITENAME}} ($4) проектындағы иҫәп яҙыуығыҙҙы хәтерләтеүҙе һоратты. Киләһе ҡулланыусы {{PLURAL:$3|1=иҫәп яҙыуы|иҫәп яҙыуҙары}} был электрон почта адресы менән бәйле:
 
 $2
 
-Был ваҡытлыса {{PLURAL:$3|серһүҙ|серһүҙҙәр}} {{PLURAL:$5|$5 көн}} ғәмәлдә буласаҡ.
+Был ваҡытлыса {{PLURAL:$3|1=серһүҙ|серһүҙҙәр}} {{PLURAL:$5|$5 көн}} ғәмәлдә буласаҡ.
 Һеҙ системала танылырға һәм яңы серһүҙ һайларға тейешһегеҙ.
 Әгәр, һеҙ быны һоратмаған булһағыҙ йәки элекке серһүҙегеҙҙе киренән иҫләһәгеҙ һәм уны үҙгәртергә теләмәһәгеҙ, был хатҡа иғтибар итмәгеҙ һәм элекке серһүҙеҙҙе ҡулланыуҙы дауам итегеҙ.',
 'passwordreset-emailelement' => 'Ҡулланыусы исеме: $1
@@ -922,7 +922,7 @@ $2
 Әгәр кемдең дә булһа текстарығыҙҙы үҙгәртеүен теләмәһәгеҙ, уларҙы бында ҡуймағыҙ.<br />
 Шулай уҡ, кереткән өҫтәмәләрҙең авторы булыуығыҙҙы йәки уларҙы, эстәлеге ирекле рәүештә таратылырға һәм үҙгәртелергә рөхсәт ителгән сығанаҡтан алыуығыҙҙы раҫлайһығыҙ (ҡарағыҙ: $1).
 '''РӨХСӘТҺЕҘ, АВТОРЛЫҠ ХОҠУҠТАРЫ МЕНӘН ҺАҠЛАНҒАН МАТЕРИАЛДАР ҠУЙМАҒЫҘ!'''",
-'longpageerror' => "'''ХАТА: һаҡланасаҡ текст күләме $1 килобайт, был иһә рөхсәт ителгән {{PLURAL:$1|$1 килобайттан|$2 килобайттан}} күп. Битте һаҡлап булмай.'''",
+'longpageerror' => "'''ХАТА: һаҡланасаҡ текст күләме $1 килобайт, был иһә рөхсәт ителгән {{PLURAL:$1|1=$1 килобайттан|$2 килобайттан}} күп. Битте һаҡлап булмай.'''",
 'readonlywarning' => "'''КИҪӘТЕҮ: Техник хеҙмәтләндереү сәбәпле мәғлүмәттәр базаһы блокланған, шунлыҡтан үҙгәртеүҙәрегеҙҙе хәҙер һаҡлай алмайһығыҙ.'''
 Тексты аҙаҡтан ҡулланыу өсөн файлда һаҡлап тора алаһығыҙ.
 
@@ -931,12 +931,12 @@ $2
 Белешмә өсөн түбәндә һуңғы үҙгәртеү тураһында мәғлүмәт бирелә:",
 'semiprotectedpagewarning' => "'''Киҫәтеү:''' был бит һаҡланған. Уны теркәлгән ҡулланыусылар ғына үҙгәртә ала.
 Белешмә өсөн түбәндә һуңғы үҙгәртеү тураһында мәғлүмәт бирелә:",
-'cascadeprotectedwarning' => "'''КИҪӘТЕҮ:''' Был битте тик хакимдәр генә үҙгәртә ала, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|киләһе биткә|киләһе биттәргә}} керә:",
+'cascadeprotectedwarning' => "'''КИҪӘТЕҮ:''' Был битте тик хакимдәр генә үҙгәртә ала, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|1=киләһе биткә|киләһе биттәргә}} керә:",
 'titleprotectedwarning' => "'''Киҫәтеү: Бындый исемле бит һаҡланған, уны үҙгәртеү өсөн [[Special:ListGroupRights|тейешле хоҡуҡҡа]] эйә булыу кәрәк.'''
 Белешмә өсөн түбәндә һуңғы үҙгәртеү тураһында мәғлүмәт бирелә:",
-'templatesused' => 'Был биттә ҡулланылған {{PLURAL:$1|ҡалып|ҡалыптар}}:',
-'templatesusedpreview' => 'Алдан ҡаралған биттә ҡулланылған {{PLURAL:$1|ҡалып|ҡалыптар}}:',
-'templatesusedsection' => 'Был бүлектә ҡулланылған {{PLURAL:$1|ҡалып|ҡалыптар}}:',
+'templatesused' => 'Был биттә ҡулланылған {{PLURAL:$1|1=ҡалып|ҡалыптар}}:',
+'templatesusedpreview' => 'Алдан ҡаралған биттә ҡулланылған {{PLURAL:$1|1=ҡалып|ҡалыптар}}:',
+'templatesusedsection' => 'Был бүлектә ҡулланылған {{PLURAL:$1|1=ҡалып|ҡалыптар}}:',
 'template-protected' => '(һаҡланған)',
 'template-semiprotected' => '(өлөшләтә һаҡланған)',
 'hiddencategories' => 'Был бит $1 {{PLURAL:$1|йәшерен категорияға}} керә:',
@@ -946,8 +946,8 @@ $2
 'sectioneditnotsupported-title' => 'Бүлектәрҙә мөхәррирләү терәкләнмәй',
 'sectioneditnotsupported-text' => 'Был биттә бүлектәрҙе мөхәррирләү терәкләнмәй.',
 'permissionserrors' => 'Инеү хоҡуғы хатаһы',
-'permissionserrorstext' => 'Түбәндәге {{PLURAL:$1|сәбәп|сәбәптәр}} буйынса һеҙҙең был ғәмәлде үтәү хоҡуғығыҙ юҡ:',
-'permissionserrorstext-withaction' => "«'''$2'''» ғәмәлен башҡара алмайһығыҙ. {{PLURAL:$1|Сәбәбе|Сәбәптәре}}:",
+'permissionserrorstext' => 'Түбәндәге {{PLURAL:$1|1=сәбәп|сәбәптәр}} буйынса һеҙҙең был ғәмәлде үтәү хоҡуғығыҙ юҡ:',
+'permissionserrorstext-withaction' => "«'''$2'''» ғәмәлен башҡара алмайһығыҙ. {{PLURAL:$1|1=Сәбәбе|Сәбәптәре}}:",
 'recreate-moveddeleted-warn' => "'''Иғтибар: Һеҙ, элек юйылған битте яңынан яһарға теләйһегеҙ.'''
 
 Һеҙгә был битте яңынан яһау кәрәклеген яңынан уйлап ҡарағыҙ.
@@ -1082,8 +1082,8 @@ $3 белдергән сәбәп: ''$2''",
 'revdelete-no-file' => 'Күрһәтелгән файл юҡ.',
 'revdelete-show-file-confirm' => '$2, $3 ваҡытлы «<nowiki>$1</nowiki> файлының юйылған версияһын ҡарарға теләүегеҙҙе раҫлайһығыҙмы?',
 'revdelete-show-file-submit' => 'Эйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|һайланған версияһы|һайланған версиялары}}:'''",
-'logdelete-selected' => "'''Яҙманың {{PLURAL:$1|һайланған яҙыуы|һайланған яҙыуҙары}}:'''",
+'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=һайланған версияһы|һайланған версиялары}}:'''",
+'logdelete-selected' => "'''Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:'''",
 'revdelete-text' => "'''Биттәрҙең юйылған версиялары һәм ваҡиғалар, бит тарихында һәм яҙмаларҙа күрһәтеләсәк, ләкин уларҙың эстәлектәренең бер өлөшө ябай ҡулланыусыларға асыҡ булмаясаҡ.'''
 {{SITENAME}} проектының хакимдәре йәшерен эстәлеккә керә һәм өҫтәмә сикләүҙәр ҡуйылған осраҡтарҙан тыш, ошо уҡ арайөҙ аша тергеҙә аласаҡтар.",
 'revdelete-confirm' => 'Зинһар, был ғәмәлде үтәргә теләүегеҙҙе, буласаҡ һөҙөмтәләрҙә аңлауығыҙҙы, [[{{MediaWiki:Policy-url}}|ҡағиҙәләр]] буйынса эшләүегеҙҙе раҫлағыҙ.',
@@ -1104,7 +1104,7 @@ $3 белдергән сәбәп: ''$2''",
 'revdelete-suppress' => 'Мәғлүмәттәрҙе шулай уҡ хакимдәрҙән дә йәшерергә',
 'revdelete-unsuppress' => 'Тергеҙелгән версияларҙан бар сикләүҙәрҙе алырға',
 'revdelete-log' => 'Сәбәп:',
-'revdelete-submit' => 'Һайланған {{PLURAL:$1|версия|версиялар}} өсөн ҡулланырға',
+'revdelete-submit' => 'Һайланған {{PLURAL:$1|1=версия|версиялар}} өсөн ҡулланырға',
 'revdelete-success' => "'''Версия күренеүсәнлеге уңышлы үҙгәртелде.'''",
 'revdelete-failure' => "'''Версия күренеүсәнлеген үҙгәртеп булмай:'''
 $1",
@@ -1181,7 +1181,7 @@ $1",
 'diff-empty' => '(айырмалар юҡ)',
 'diff-multi' => '({{PLURAL:$2|$2 ҡатнашыусының}} {{PLURAL:$1|ваҡытлы версияһы}} күрһәтелмәгән)',
 'diff-multi-manyusers' => '(Кәмендә {{PLURAL:$2|$2 ҡатнашыусының}} {{PLURAL:$1|ваҡытлы версияһы}} күрһәтелмәгән)',
-'difference-missing-revision' => '$1 айырмаһының {{PLURAL:$2|бер өлгөһө|$2 өлгөһө}} табылманы.
+'difference-missing-revision' => '$1 айырмаһының {{PLURAL:$2|1=бер өлгөһө|$2 өлгөһө}} табылманы.
 
 Был хәл, ғәҙәттә, юйылған биткә яһалған айырма һылтанмаһының ваҡыты үтеүенән барлыҡҡа килә.
 Тулыраҡ мәғлүмәт өсөн ҡарағыҙ: [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} юйыу яҙмалары].',
@@ -1195,9 +1195,9 @@ $1",
 'notextmatches' => 'Тап килгән бит табылманы',
 'prevn' => 'алдағы {{PLURAL:$1|$1}}',
 'nextn' => 'киләһе {{PLURAL:$1|$1}}',
-'prevn-title' => 'Һуңғы $1 {{PLURAL:$1|һөҙөмтә|һөҙөмтә}}',
-'nextn-title' => 'Тәүге $1 {{PLURAL:$1|һөҙөмтә|һөҙөмтә}}',
-'shown-title' => 'Бер биттә $1 {{PLURAL:$1|һөҙөмтә|һөҙөмтә}} күрһәт',
+'prevn-title' => 'Һуңғы $1 {{PLURAL:$1|1=һөҙөмтә|һөҙөмтә}}',
+'nextn-title' => 'Тәүге $1 {{PLURAL:$1|1=һөҙөмтә|һөҙөмтә}}',
+'shown-title' => 'Бер биттә $1 {{PLURAL:$1|1=һөҙөмтә|һөҙөмтә}} күрһәт',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) ҡарарға',
 'searchmenu-exists' => "'''Был вики-проектта «[[:$1]]» бите бар'''",
 'searchmenu-new' => "'''Был википроектта \"[[:\$1]]\" бите булдырырға.'''",
@@ -1211,8 +1211,8 @@ $1",
 'searchprofile-images-tooltip' => 'Файлдар эҙләү',
 'searchprofile-everything-tooltip' => 'Барлыҡ биттәрҙә эҙләү (фекерләшеү биттәрендә лә)',
 'searchprofile-advanced-tooltip' => 'Махсус исем арауыҡтарында эҙләргә',
-'search-result-size' => '$1 ({{PLURAL:$2|$2 һүҙ|$2 һүҙ}})',
-'search-result-category-size' => '{{PLURAL:$1|$1 ағза}} ({{PLURAL:$2|$2 эске категория}}, {{PLURAL:$3|$3 файл}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=$2 һүҙ|$2 һүҙ}})',
+'search-result-category-size' => '{{PLURAL:$1|1=$1 ағза}} ({{PLURAL:$2|$2 эске категория}}, {{PLURAL:$3|$3 файл}})',
 'search-result-score' => 'Тап килеүсәнлек: $1%',
 'search-redirect' => '(йүнәлтеү $1)',
 'search-section' => '($1 бүлеге)',
@@ -1226,7 +1226,7 @@ $1",
 'searchall' => 'барыһы',
 'showingresults' => 'Түбәндә №&nbsp;<strong>$2</strong> һөҙөмтәнән башлап <strong>$1</strong> {{PLURAL:$1|һөҙөмтә}} күрһәтелгән.',
 'showingresultsnum' => 'Түбәндә №&nbsp;<strong>$2</strong> һөҙөмтәнән башлап <strong>$3</strong> {{PLURAL:$3|һөҙөмтә}} күрһәтелгән.',
-'showingresultsheader' => "'''$4''' өсөн '''$3''' һөҙөмтәнән {{PLURAL:$5|'''$1''' һөҙөмтә|'''$1 - $2''' арауығындағы һөҙөмтәләр}}",
+'showingresultsheader' => "'''$4''' өсөн '''$3''' һөҙөмтәнән {{PLURAL:$5|1='''$1''' һөҙөмтә|'''$1 - $2''' арауығындағы һөҙөмтәләр}}",
 'search-nonefound' => 'Был һорауға яуап биреүсе һөҙөмтәләр табылманы.',
 'powersearch-legend' => 'Киңәйтелгән эҙләү',
 'powersearch-ns' => 'Исем аралыҡтарында эҙләү:',
@@ -1255,7 +1255,7 @@ $1",
 'prefs-rc' => 'Һуңғы үҙгәртеүҙәр',
 'prefs-watchlist' => 'Күҙәтеү исемлеге',
 'prefs-watchlist-days' => 'Күҙәтеү исемлегендә нисә көн керетелгән үҙгәртеүҙәрҙе күрһәтергә:',
-'prefs-watchlist-days-max' => 'Максимум $1 {{PLURAL:$1|көн|көн}}',
+'prefs-watchlist-days-max' => 'Максимум $1 {{PLURAL:$1|1=көн|көн}}',
 'prefs-watchlist-edits' => 'Киңәйтелгән күҙәтеү исемлегендә күрһәтелә торған үҙгәртеүҙәр һанының сиге:',
 'prefs-watchlist-edits-max' => 'Иң күбе: 1000',
 'prefs-watchlist-token' => 'Күҙәтеү исемлеге токены:',
@@ -1528,7 +1528,7 @@ $1",
 'action-editmyprivateinfo' => 'һеҙҙең шәхси мәғлүмәтте мөхәррирләү',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|үҙгәртеү|үҙгәртеү}}',
+'nchanges' => '$1 {{PLURAL:$1|1=үҙгәртеү|үҙгәртеү}}',
 'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|һеҙҙең һуңғы визит}}',
 'enhancedrc-history' => 'тарих',
 'recentchanges' => 'Һуңғы үҙгәртеүҙәр',
@@ -1560,7 +1560,7 @@ $1",
 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|ҡатнашыусы}} күҙәтә]',
 'rc_categories' => 'Ошо категорияларҙан ғына («|» менән айырырға)',
 'rc_categories_any' => 'Һәр',
-'rc-change-size-new' => 'Үҙгәртештән һуң $1 {{PLURAL:$1|байт|байт}}',
+'rc-change-size-new' => 'Үҙгәртештән һуң $1 {{PLURAL:$1|1=байт|байт}}',
 'newsectionsummary' => '/* $1 */ яңы бүлек',
 'rc-enhanced-expand' => 'Ваҡ-төйәгенә тиклем күрһәтергә',
 'rc-enhanced-hide' => 'Ваҡлыҡтарҙы йәшерергә',
@@ -1620,9 +1620,9 @@ $1",
 'filetype-badmime' => 'MIME-төрө «$1» булған файлдарҙы тейәп булмай.',
 'filetype-bad-ie-mime' => 'Был файлды тейәп булмай, сөнки Internet Explorer уны "$1", йәғни рөхсәт ителмәгән һәм хәүефле файл төрө тип билдәләйәсәк.',
 'filetype-unwanted-type' => "'''\".\$1\"''' — теләнмәгән файл тибы.
-{{PLURAL:\$3|Уңайлы файл тибы|Уңайлы файл типтары:}} \$2.",
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|тыйылған файл төрө|тыйылған файл төрҙәре}}.
-{{PLURAL:$3|Файлдың рөхсәт ителгән төрө|Файлдың рөхсәт ителгән төрҙәре:}} $2.',
+{{PLURAL:\$3|1=Уңайлы файл тибы|Уңайлы файл типтары:}} \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|1=тыйылған файл төрө|тыйылған файл төрҙәре}}.
+{{PLURAL:$3|1=Файлдың рөхсәт ителгән төрө|Файлдың рөхсәт ителгән төрҙәре:}} $2.',
 'filetype-missing' => 'Файлдың киңәйтелмәһе юҡ (мәҫәлән, ".jpg").',
 'empty-file' => 'Һеҙ ебәргән файл буш.',
 'file-too-large' => 'Һеҙ ебәргән файл бигерәк ҙур.',
@@ -1664,7 +1664,7 @@ $1",
 'fileexists-shared-forbidden' => 'Бындай исемле файл дөйөм файл һаҡлағыста бар инде.
 Әгәр һеҙ шулай ҙа был файлды тейәргә теләһәгеҙ, зинһар, кире ҡайтығыҙ һәм яңы исем һайлағыҙ.
 [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Был файл түбәндәге {{PLURAL:$1|файл|файлдар}} менән тап килә:',
+'file-exists-duplicate' => 'Был файл түбәндәге {{PLURAL:$1|1=файл|файлдар}} менән тап килә:',
 'file-deleted-duplicate' => 'Оҡшаш файл ([[:$1]]) юйылғайны инде. Уны ҡайтанан тейәр алдынан, зинһар, файлды юйыу тарихын ҡарағыҙ.',
 'uploadwarning' => 'Киҫәтеү',
 'uploadwarning-text' => 'Зинһар, түбәндәге файл тасуирламаһын үҙгәртегеҙ һәм яңынан ҡабатлап ҡарағыҙ.',
@@ -1732,13 +1732,13 @@ $1',
 'backend-fail-closetemp' => 'Ваҡытлы файлды ябып булмай.',
 'backend-fail-read' => '«$1» файлын уҡып булмай.',
 'backend-fail-create' => '«$1» файлын яҙып булмай.',
-'backend-fail-maxsize' => '$1 файлын яҙып булманы, сөнки уның күләме {{PLURAL:$2|$2 байттан|$2 байттан}} күп.',
+'backend-fail-maxsize' => '$1 файлын яҙып булманы, сөнки уның күләме {{PLURAL:$2|1=$2 байттан|$2 байттан}} күп.',
 'backend-fail-readonly' => '$1 һаҡлағысы әлегә уҡыу өсөн генә асыҡ. Сәбәбе: $2',
 'backend-fail-synced' => '$1 файлы эске һаҡлағыста ярашһыҙ хәлдә тора.',
 'backend-fail-connect' => '"$1" һаҡлағысы менән бәйләнеш яһап булманы.',
 'backend-fail-internal' => '$1 һаҡлағысында билдәһеҙ хата килеп сыҡты',
 'backend-fail-contenttype' => 'Файлды $1 адресына һаҡлар өсөн уның эстәлеге төрөн билдәләп булманы.',
-'backend-fail-batchsize' => 'Һаҡлағыс $1 {{PLURAL:$1|файл операцияһынан|файл операцияһынан}} бер блок алды, сикләү һаны: $2 {{PLURAL:$1|операция|операция}}.',
+'backend-fail-batchsize' => 'Һаҡлағыс $1 {{PLURAL:$1|1=файл операцияһынан|файл операцияһынан}} бер блок алды, сикләү һаны: $2 {{PLURAL:$1|1=операция|операция}}.',
 'backend-fail-usable' => 'Хоҡуҡтар етмәгәнлектән йәки кәрәкле папкалар булмағанлыҡтан $1 файлын уҡып йәки яҙып булманы.',
 
 # File journal errors
@@ -1855,14 +1855,14 @@ $1',
 'filehist-comment' => 'Иҫкәрмә',
 'filehist-missing' => 'Файл юҡ',
 'imagelinks' => 'Файл ҡулланыу',
-'linkstoimage' => 'Был файлға {{PLURAL:$1|бит|$1 бит}} һылтана:',
+'linkstoimage' => 'Был файлға {{PLURAL:$1|1=бит|$1 бит}} һылтана:',
 'linkstoimage-more' => 'Был файлға кәмендә $1 {{PLURAL:$1|бит}} һылтанма яһай.
 Түбәндәге исемлектә был файлға $1 {{PLURAL:$1|һылтанма}} ғына килтерелгән.
 Шулай уҡ [[Special:WhatLinksHere/$2|тулы исемлекте]] ҡарарға мөмкин.',
 'nolinkstoimage' => 'Был файлға һылтанма яһаған бит юҡ.',
 'morelinkstoimage' => 'Был файлға [[Special:WhatLinksHere/$1|башҡа һылтанмаларҙы]] ҡарарға.',
 'linkstoimage-redirect' => '$1 (файл-йүнәлтеү) $2',
-'duplicatesoffile' => 'Түбәндәге {{PLURAL:$1|файл|файлдар}} был файл менән тап килә ([[Special:FileDuplicateSearch/$2|тулыраҡ мәғлүмәт]])',
+'duplicatesoffile' => 'Түбәндәге {{PLURAL:$1|1=файл|файлдар}} был файл менән тап килә ([[Special:FileDuplicateSearch/$2|тулыраҡ мәғлүмәт]])',
 'sharedupload' => 'Был файл $1 базаһынан һәм башҡа проектарҙа ҡулланылырға мөмкин.',
 'sharedupload-desc-there' => 'Был файл $1 базаһынан һәм башҡа проекттарҙа ҡулланыла ала.
 Тулыраҡ мәғлүмәтте [$2 файл тасуирламаһы битендә] ҡарарға мөмкин.',
@@ -1930,7 +1930,7 @@ $1',
 
 # Random page
 'randompage' => 'Осраҡлы мәҡәлә',
-'randompage-nopages' => 'Түбәндәге {{PLURAL:$2|исемдәр арауығында|исемдәр арауыҡтарында}} биттәр юҡ: $1.',
+'randompage-nopages' => 'Түбәндәге {{PLURAL:$2|1=исемдәр арауығында|исемдәр арауыҡтарында}} биттәр юҡ: $1.',
 
 # Random page in category
 'randomincategory' => 'Категориялағы осраҡлы бит',
@@ -1961,7 +1961,7 @@ $1',
 'statistics-views-peredit' => 'Бер үҙгәртеүгә ҡарап сығыуҙар',
 'statistics-users' => 'Теркәлгән [[Special:ListUsers|ҡатнашыусылар]]',
 'statistics-users-active' => 'Әүҙем ҡатнашыусылар',
-'statistics-users-active-desc' => 'Һуңғы {{PLURAL:$1|көндә|$1 көндә}} ниндәйҙер эшмәкәрлек башҡарған ҡатнашыусылар',
+'statistics-users-active-desc' => 'Һуңғы {{PLURAL:$1|1=көндә|$1 көндә}} ниндәйҙер эшмәкәрлек башҡарған ҡатнашыусылар',
 'statistics-mostpopular' => 'Иң күп ҡаралған биттәр',
 
 'pageswithprop' => 'Үҙенсәлектәре ҡайтанан билдәләнгән биттәр',
@@ -1995,11 +1995,11 @@ $1',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байт}}',
-'ncategories' => '$1 {{PLURAL:$1|Категория|Категория}}',
+'ncategories' => '$1 {{PLURAL:$1|1=Категория|Категория}}',
 'ninterwikis' => '$1 {{PLURAL:$1|интервики-һылтанма}}',
 'nlinks' => '$1 {{PLURAL:$1|һылтанма}}',
 'nmembers' => '$1 {{PLURAL:$1|объект}}',
-'nrevisions' => '$1 {{PLURAL:$1|өлгө|өлгө}}',
+'nrevisions' => '$1 {{PLURAL:$1|1=өлгө|өлгө}}',
 'nviews' => '$1 {{PLURAL:$1|ҡарап сығыу}}',
 'nimagelinks' => '$1 {{PLURAL:$1|биттә}} ҡулланыла',
 'ntransclusions' => '$1 {{PLURAL:$1|биттә}} ҡулланыла',
@@ -2058,8 +2058,8 @@ $1',
 'notargettext' => 'Һеҙ был ғәмәл өсөн кәрәкле битте йәки ҡатнашыусыны күрһәтмәгәнһегеҙ.',
 'nopagetitle' => 'Бындай бит юҡ',
 'nopagetext' => 'Һеҙ күрһәткән бит юҡ.',
-'pager-newer-n' => '{{PLURAL:$1|1 яңыраҡ|$1 яңыраҡ}}',
-'pager-older-n' => '{{PLURAL:$1|1 иҫкерәк|$1 иҫкерәк}}',
+'pager-newer-n' => '{{PLURAL:$1|1=1 яңыраҡ|$1 яңыраҡ}}',
+'pager-older-n' => '{{PLURAL:$1|1=1 иҫкерәк|$1 иҫкерәк}}',
 'suppress' => 'Йәшереү',
 'querypage-disabled' => 'Был махсус бит һөҙөмтәлелекте арттырыу өсөн ябылған.',
 
@@ -2103,7 +2103,7 @@ $1',
 
 # Special:Categories
 'categories' => 'Категориялар',
-'categoriespagetext' => 'Түбәндәге {{PLURAL:$1|категорияла|категорияларҙа}} биттәр йәки файлдар бар.
+'categoriespagetext' => 'Түбәндәге {{PLURAL:$1|1=категорияла|категорияларҙа}} биттәр йәки файлдар бар.
 [[Special:UnusedCategories|Ҡулланылмаған категориялар]] бында күрһәтелмәгән.
 Шулай уҡ [[Special:WantedCategories|кәрәкле категориялар исемлеген]] ҡарағыҙ.',
 'categoriesfrom' => 'Ошондай хәрефтәрҙән башланған категорияларҙы күрһәтергә:',
@@ -2122,7 +2122,7 @@ $1',
 'linksearch-ok' => 'Эҙләү',
 'linksearch-text' => '<code>*.wikipedia.org</code> һымаҡ төркөм билдәләрен ҡулланырға була.
 Кәмендә өҫкө кимәл домен кәрәк, мәҫәлән, <code>*.org</code><br />
-Мөмкин булған{{PLURAL:$2|протокол|протоколдар}}: <code>$1</code> (башҡа протокол өҫтәлмәһә, алдан бирелгәне индерелә http://).',
+Мөмкин булған{{PLURAL:$2|1=протокол|протоколдар}}: <code>$1</code> (башҡа протокол өҫтәлмәһә, алдан бирелгәне индерелә http://).',
 'linksearch-line' => '$1 адресына $2 битенән һылтанма яһалған',
 'linksearch-error' => 'Төркөм билдәләре URL адрестың башында ғына ҡулланыла ала.',
 
@@ -2135,7 +2135,7 @@ $1',
 # Special:ActiveUsers
 'activeusers' => 'Әүҙем ҡатнашыусылар исемлеге',
 'activeusers-intro' => 'Был — һуңғы $1 {{PLURAL:$1|көн}} эсендә ниҙер башҡарған ҡатнашыусылар исемлеге.',
-'activeusers-count' => 'һуңғы $3 {{PLURAL:$3|көн}} эсендәге һуңғы көндә $1 {{PLURAL:$1|үҙгәртеү}}',
+'activeusers-count' => 'һуңғы $3 {{PLURAL:$3|1=көн}} эсендәге һуңғы көндә $1 {{PLURAL:$1|үҙгәртеү}}',
 'activeusers-from' => 'Ошондай хәрефтәрҙән башланған ҡатнашыусыларҙы күрһәтергә:',
 'activeusers-hidebots' => 'Боттарҙы йәшерергә',
 'activeusers-hidesysops' => 'Хакимдәрҙе йәшерергә',
@@ -2152,12 +2152,12 @@ $1',
 'listgrouprights-rights' => 'Хоҡуҡтар',
 'listgrouprights-helppage' => 'Help:Төркөмдәр хоҡуҡтары',
 'listgrouprights-members' => '(ағзалар исемлеге)',
-'listgrouprights-addgroup' => '$1 {{PLURAL:$2|төркөмөнә|төркөмдәренә}} өҫтәү',
-'listgrouprights-removegroup' => '$1 {{PLURAL:$2|төркөмөнән|төркөмдәренән}} сығарыу',
+'listgrouprights-addgroup' => '$1 {{PLURAL:$2|1=төркөмөнә|төркөмдәренә}} өҫтәү',
+'listgrouprights-removegroup' => '$1 {{PLURAL:$2|1=төркөмөнән|төркөмдәренән}} сығарыу',
 'listgrouprights-addgroup-all' => 'Бөтә төркөмдәргә өҫтәү',
 'listgrouprights-removegroup-all' => 'Бөтә төркөмдәрҙән сығарыу',
-'listgrouprights-addgroup-self' => 'Үҙенең иҫәп яҙмаһына $1 {{PLURAL:$2|төркөмөн|төркөмдәрен}} өҫтәү',
-'listgrouprights-removegroup-self' => 'Үҙенең иҫәп яҙмаһынан $1 {{PLURAL:$2|төркөмөн|төркөмдәрен}} юйыу',
+'listgrouprights-addgroup-self' => 'Үҙенең иҫәп яҙмаһына $1 {{PLURAL:$2|1=төркөмөн|төркөмдәрен}} өҫтәү',
+'listgrouprights-removegroup-self' => 'Үҙенең иҫәп яҙмаһынан $1 {{PLURAL:$2|1=төркөмөн|төркөмдәрен}} юйыу',
 'listgrouprights-addgroup-self-all' => 'Үҙенең иҫәп яҙмаһына бөтә төркөмдәрҙе өҫтәү',
 'listgrouprights-removegroup-self-all' => 'Үҙенең иҫәп яҙмаһынан бөтә төркөмдәрҙе юйыу',
 
@@ -2222,9 +2222,9 @@ $1',
 'wlheader-showupdated' => "Һеҙҙең аҙаҡҡы кереүегеҙҙән һуң үҙгәргән биттәр '''ҡалын''' шрифт менән күрһәтелгән.",
 'watchmethod-recent' => 'күҙәтелгән биттәр өсөн аҙаҡҡы үҙгәртеүҙәрҙе ҡарау',
 'watchmethod-list' => 'аҙаҡҡы үҙгәртеүҙәр өсөн күҙәтелгән биттәрҙе ҡарау',
-'watchlistcontains' => 'Һеҙҙең күҙәтеү исемлегендә $1 {{PLURAL:$1|бит|бит}}бар.',
+'watchlistcontains' => 'Һеҙҙең күҙәтеү исемлегендә $1 {{PLURAL:$1|1=бит|бит}}бар.',
 'iteminvalidname' => '«$1» менән ҡыйынлыҡтар, исеме дөрөҫ түгел...',
-'wlnote' => "Түбәндә $3 $4 ваҡытына тиклем аҙаҡҡы {{PLURAL:$2|сәғәт|'''$2''' сәғәт}} эсендә эшләнгән {{PLURAL:$1|үҙгәртеү|'''$1''' үҙгәртеү}} күрһәтелгән.",
+'wlnote' => "Түбәндә $3 $4 ваҡытына тиклем аҙаҡҡы {{PLURAL:$2|1=сәғәт|'''$2''' сәғәт}} эсендә эшләнгән {{PLURAL:$1|1=үҙгәртеү|'''$1''' үҙгәртеү}} күрһәтелгән.",
 'wlshowlast' => 'Һуңғы $1 сәғәт $2 көн өсөн күрһәт $3',
 'watchlist-options' => 'Күҙәтеү исемлеге көйләүҙәре',
 
@@ -2318,8 +2318,8 @@ $UNWATCHURL
 'rollback' => 'Үҙгәртеүҙәрҙе кире ҡайтарырға',
 'rollback_short' => 'Кире ҡайтарырға',
 'rollbacklink' => 'кире',
-'rollbacklinkcount' => '$1 {{PLURAL:$1|төҙәтеүҙе|төҙәтеүҙе}} кире алырға',
-'rollbacklinkcount-morethan' => '$1 {{PLURAL:$1|төҙәтеүҙән|төҙәтеүҙән}} күберәк кире алырға',
+'rollbacklinkcount' => '$1 {{PLURAL:$1|1=төҙәтеүҙе|төҙәтеүҙе}} кире алырға',
+'rollbacklinkcount-morethan' => '$1 {{PLURAL:$1|1=төҙәтеүҙән|төҙәтеүҙән}} күберәк кире алырға',
 'rollbackfailed' => 'Кире ҡайтарырғанда барлыҡҡа килгән хата',
 'cantrollback' => 'Үҙгәртеүҙәрҙе кире алыу мөмкин түгел. Битте һуңғы үҙгәртеүсе ҡатнашыусы уның берҙән-бер авторы булып тора.',
 'alreadyrolled' => '[[User:$2|$2]] ([[User talk:$2|фекер алышыу]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])  кереткән [[:$1]] һуңғы үҙгәртеүҙәрҙе кире алыу мөмкин түгел; башҡа ҡатнашыусы был битте мөхәррирләгән йәки үҙгәртеүҙәрҙе кире алған инде.
@@ -2364,7 +2364,7 @@ $2 өлгөһөнә ҡайтыу.',
 'protect-locked-dblock' => "Һаҡлау дәрәжәһе үҙгәртелә алмай, сөнки төп мәғлүмәттәр базаһы ваҡытлыса бикле.
 '''$1''' битенең хәҙерге һаҡлау көйләүҙәре:",
 'protect-locked-access' => "Биттең һаҡлау дәрәжеһен үҙгәртер өсөн иҫәп яҙыуығыҙҙың хоҡуҡтары етәрле түгел. '''$1''' битенең хәҙерге һаҡлау көйләүҙәре:",
-'protect-cascadeon' => 'Был бит һаҡланған, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|биткә|биттәргә}} керә. Һеҙ был биттең һаҡлау дәрәжәһен үҙгәртә алаһығыҙ, ләкин был эҙмә-эҙлекле һаҡлауға йоғонто яһамаясаҡ.',
+'protect-cascadeon' => 'Был бит һаҡланған, сөнки ул эҙмә-эҙлекле һаҡлау ҡуйылған {{PLURAL:$1|1=биткә|биттәргә}} керә. Һеҙ был биттең һаҡлау дәрәжәһен үҙгәртә алаһығыҙ, ләкин был эҙмә-эҙлекле һаҡлауға йоғонто яһамаясаҡ.',
 'protect-default' => 'Бар ҡулланыусыларға рөхсәт бирергә',
 'protect-fallback' => '«$1» хоҡуҡлы ҡатнашыусыларға ғына рөхсәте ителгән',
 'protect-level-autoconfirmed' => 'Үҙенән-үҙе раҫланған ҡатнашыусыларға ғына рөхсәт ителгән',
@@ -2409,12 +2409,12 @@ $2 өлгөһөнә ҡайтыу.',
 'undeletepage' => 'Юйылған биттәрҙе ҡарау һәм тергеҙеү',
 'undeletepagetitle' => "'''Түбәндә [[:$1|$1]] битенең юйылған өлгөләре килтерелгән'''.",
 'viewdeletedpage' => 'Юйылған биттәрҙе ҡарау',
-'undeletepagetext' => 'Түбәндәге {{PLURAL:$1|бит|$1 бит}} юйылған, әммә һаман архивта һаҡлана һәм тергеҙелә ала.
+'undeletepagetext' => 'Түбәндәге {{PLURAL:$1|1=бит|$1 бит}} юйылған, әммә һаман архивта һаҡлана һәм тергеҙелә ала.
 Архив ваҡыты менән таҙартыла ала.',
 'undelete-fieldset-title' => 'Өлгөләрҙе тергеҙергә',
 'undeleteextrahelp' => "Биттең тарихын тулыһынса тергеҙер өсөн, бөтә өлгөләрҙе лә һайланмаған килеш ҡалдырығыҙ һәм '''''{{int:undeletebtn}}''''' төймәһенә баҫығыҙ.
 Ҡайһы бер өлгөләрҙе генә тергеҙер өсөн, кәрәкле өлгөләрҙе һайлағыҙ һәм '''''{{int:undeletebtn}}''''' төймәһенә баҫығыҙ.",
-'undeleterevisions' => '$1 {{PLURAL:$1|өлгө|өлгө}} архивта һаҡланған',
+'undeleterevisions' => '$1 {{PLURAL:$1|1=өлгө|өлгө}} архивта һаҡланған',
 'undeletehistory' => 'Битте тергеҙгәндә уны үҙгәртеү тарихы ла тергеҙелә.
 Әгәр бит юйылғандан һуң шундай уҡ исемле бит булдырылған булһа, тергеҙелгән өлгөләр яңы өлгөләр алдынан ҡуйыласаҡ.',
 'undeleterevdel' => 'Әгәр тергеҙеү биттең йәки файлдың аҙаҡҡы өлгөһө өлөшләтә юйылыуына килтерһә, был терегеҙеү башҡарылмаясаҡ.
@@ -2432,7 +2432,7 @@ $2 өлгөһөнә ҡайтыу.',
 'undeleteinvert' => 'Һайланғандарҙы әйләндерергә',
 'undeletecomment' => 'Сәбәп:',
 'undeletedrevisions' => '$1 {{PLURAL:$1|өлгө}} тергеҙелде',
-'undeletedrevisions-files' => '{{PLURAL:$1|өлгө}} һәм {{PLURAL:$2|файл}} тергеҙелде',
+'undeletedrevisions-files' => '{{PLURAL:$1|1=өлгө}} һәм {{PLURAL:$2|файл}} тергеҙелде',
 'undeletedfiles' => '{{PLURAL:$1|файл}} тергеҙелде',
 'cannotundelete' => 'Юйыуҙы кире алып булманы:
 $1',
@@ -2504,8 +2504,8 @@ $1',
 'isredirect' => 'йүнәлтеү бите',
 'istemplate' => 'ҡушылған',
 'isimage' => 'файл һылтанмаһы',
-'whatlinkshere-prev' => '{{PLURAL:$1|алдағы|алдағы $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|киләһе|киләһе $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=алдағы|алдағы $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=киләһе|киләһе $1}}',
 'whatlinkshere-links' => '← һылтанмалар',
 'whatlinkshere-hideredirs' => 'Йүнәлтеүҙәрҙе $1',
 'whatlinkshere-hidetrans' => 'Ҡушылғандарҙы $1',
@@ -2577,7 +2577,7 @@ $1',
 'blocklist-reason' => 'Сәбәп',
 'ipblocklist-submit' => 'Эҙләү',
 'ipblocklist-localblock' => 'Урындағы (локаль) бикләү',
-'ipblocklist-otherblocks' => 'Башҡа {{PLURAL:$1|бикләү|бикләүҙәр}}',
+'ipblocklist-otherblocks' => 'Башҡа {{PLURAL:$1|1=бикләү|бикләүҙәр}}',
 'infiniteblock' => 'сикһеҙ',
 'expiringblock' => '$1 $2 тамамлана',
 'anononlyblock' => 'танылмағандарҙы ғына',
@@ -2619,7 +2619,7 @@ $1 ҡатнашыусыһын бикләү сәбәбе: "$2"',
 'ipb_already_blocked' => '"$1" бикләнгән инде.',
 'ipb-needreblock' => '$1 бикләнгән инде.
 Бикләү көйләүҙәрен үҙгәртергә теләйһегеҙме?',
-'ipb-otherblocks-header' => 'Башҡа {{PLURAL:$1|бикләү|бикләүҙәр}}',
+'ipb-otherblocks-header' => 'Башҡа {{PLURAL:$1|1=бикләү|бикләүҙәр}}',
 'unblock-hideuser' => 'Һеҙ был ҡулланыусының биген ала алмайһығыҙ, сөнки ҡулланыусы исеме йәшерелгән.',
 'ipb_cant_unblock' => 'Хата: Идентификаторы $1 булған бикләү табылманы.
 Ул бик алынған, булырға тейеш.',
@@ -2819,7 +2819,7 @@ $2',
 'import-comment' => 'Иҫкәрмә:',
 'importtext' => 'Зинһар, файлды сығанаҡ викинан [[Special:Export|махсус ҡорал]] ярҙамында сығарығыҙ. Артабан уны компьютерығыҙға һаҡлағыҙ һәм бында тейәгеҙ.',
 'importstart' => 'Биттәрҙе тейәү...',
-'import-revision-count' => '$1 {{PLURAL:$1|өлгө|өлгө}}',
+'import-revision-count' => '$1 {{PLURAL:$1|1=өлгө|өлгө}}',
 'importnopages' => 'Тейәү өсөн биттәр юҡ.',
 'imported-log-entries' => 'Журналдан $1 {{PLURAL:$1|яҙма}} тейәлде.',
 'importfailed' => 'Тейәү хатаһы: <nowiki>$1</nowiki>',
@@ -2851,7 +2851,7 @@ $2',
 'import-error-special' => ' «$1» бите импортҡа сығарылманы, сөнки ул биттәр яһау мөмкин булмаған исемдәр арауығына ҡарай.',
 'import-error-invalid' => '"$1" бите яраҡһыҙ исеме өсөн импортланманы.',
 'import-error-unserialize' => '«$1» битенең $2 өлгөһөн структуралаштырып (десериаялап) булмай. $4 форматында серияланған $3 эстәлегенең моделеның был өлгөлә ҡулланылыуы тураһында хәбәр алынды.',
-'import-options-wrong' => 'Хаталы {{PLURAL:$2|опция|опциялар}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => 'Хаталы {{PLURAL:$2|1=опция|опциялар}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Төп биттең күрһәтелгән исеме яңылыш.',
 'import-rootpage-nosubpage' => 'Төп биттең "$1" исемдәр арауығы эске биттәргә рөхсәт бирмәй.',
 
@@ -2859,9 +2859,9 @@ $2',
 'importlogpage' => 'Тейәү яҙмалары журналы',
 'importlogpagetext' => 'Хакимдәр тарафынан башҡа вики проекттарҙан биттәрҙе һәм уларҙың үҙгәртеүҙәр тарихын тейәү.',
 'import-logentry-upload' => '[[$1]] битен файлдан тейәгән',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|өлгө|өлгө}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|1=өлгө|өлгө}}',
 'import-logentry-interwiki' => '$1 битен вики проекттары-ара тейәгән',
-'import-logentry-interwiki-detail' => '$2 өлгөнән $1 {{PLURAL:$1|өлгө|өлгө}}',
+'import-logentry-interwiki-detail' => '$2 өлгөнән $1 {{PLURAL:$1|1=өлгө|өлгө}}',
 
 # JavaScriptTest
 'javascripttest' => '
@@ -2949,14 +2949,14 @@ JavaScript тикшереү',
 The wiki server cannot provide data in a format your client can read.',
 
 # Attribution
-'anonymous' => '{{SITENAME}} проектының танылмаған {{PLURAL:$1|ҡатнашыусыһы|ҡатнашыусылары}}',
+'anonymous' => '{{SITENAME}} проектының танылмаған {{PLURAL:$1|1=ҡатнашыусыһы|ҡатнашыусылары}}',
 'siteuser' => '{{SITENAME}} проектының ҡатнашыусыһы $1',
 'anonuser' => '{{SITENAME}} проектының танылмаған ҡатнашыусыһы $1',
 'lastmodifiedatby' => 'Был бит һуңғы тапҡыр $1 $2 $3 тарафынан үҙгәртелгән.',
 'othercontribs' => 'Мөхәррирләүҙә ҡатнаштылар: $1.',
 'others' => 'башҡалар',
-'siteusers' => '{{SITENAME}} {{PLURAL:$2|ҡатнашыусы|ҡатнашыусылары}} $1',
-'anonusers' => '{{SITENAME}} проектының танылмаған {{PLURAL:$2|ҡатнашыусыһы|ҡатнашыусылары}} $1',
+'siteusers' => '{{SITENAME}} {{PLURAL:$2|1=ҡатнашыусы|ҡатнашыусылары}} $1',
+'anonusers' => '{{SITENAME}} проектының танылмаған {{PLURAL:$2|1=ҡатнашыусыһы|ҡатнашыусылары}} $1',
 'creditspage' => 'Рәхмәт белдереү',
 'nocredits' => 'Был мәҡәләне мөхәррирләүҙә ҡатнашыусылар исемлеге юҡ.',
 
@@ -3001,9 +3001,9 @@ The wiki server cannot provide data in a format your client can read.',
 'pageinfo-authors' => 'Төрлө авторҙар һаны',
 'pageinfo-recent-edits' => 'Һуңғы ваҡыттағы төҙәтеүҙәр ($1 эсендә)',
 'pageinfo-recent-authors' => 'Төрлө авторҙарҙың һуңғы һаны',
-'pageinfo-magic-words' => 'Тылсымлы {{PLURAL:$1|һүҙ|һүҙҙәр}} ($1)',
-'pageinfo-hidden-categories' => 'Йәшерен {{PLURAL:$1|категория|категориялар}} ($1)',
-'pageinfo-templates' => 'Ҡулланылған {{PLURAL:$1|ҡалып|ҡалыптар}} ($1)',
+'pageinfo-magic-words' => 'Тылсымлы {{PLURAL:$1|1=һүҙ|һүҙҙәр}} ($1)',
+'pageinfo-hidden-categories' => 'Йәшерен {{PLURAL:$1|1=категория|категориялар}} ($1)',
+'pageinfo-templates' => 'Ҡулланылған {{PLURAL:$1|1=ҡалып|ҡалыптар}} ($1)',
 'pageinfo-transclusions' => '{{PLURAL:$1|Индерелгән биттәр}} ($1)',
 'pageinfo-toolboxlink' => 'Бит мәғлүмәттәре',
 'pageinfo-redirectsto' => 'Йүнәлтеү',
@@ -3071,7 +3071,7 @@ $1',
 'svg-long-error' => 'Яңылыш SVG файл: $1',
 'show-big-image' => 'Тулы асыҡлыҡ',
 'show-big-image-preview' => 'Байҡау ваҡытындағы күләм: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Башҡа сиселеш|Башҡа сиселештәр}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Башҡа сиселеш|Башҡа сиселештәр}}: $1.',
 'show-big-image-size' => '$1 × $2 пиксель',
 'file-info-gif-looped' => 'әйләнешле',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|фрейм}}',
@@ -3095,11 +3095,11 @@ $1',
 'sp-newimages-showfrom' => '$1 $2 ваҡытынан башлап яңы файлдарҙы күрһәтергә',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
-'seconds' => '{{PLURAL:$1|$1 секунд|$1 секунд}}',
-'minutes' => '{{PLURAL:$1|$1 минут|$1 минут}}',
-'hours' => '{{PLURAL:$1|$1 сәғәт|$1 сәғәт}}',
-'days' => '{{PLURAL:$1|$1 көн|$1 көн}}',
-'weeks' => '{{PLURAL:$1|$1 аҙна|$1 аҙна|}}',
+'seconds' => '{{PLURAL:$1|1=$1 секунд|$1 секунд}}',
+'minutes' => '{{PLURAL:$1|1=$1 минут|$1 минут}}',
+'hours' => '{{PLURAL:$1|1=$1 сәғәт|$1 сәғәт}}',
+'days' => '{{PLURAL:$1|1=$1 көн|$1 көн}}',
+'weeks' => '{{PLURAL:$1|$1 аҙна}}',
 'months' => '{{PLURAL:$1|$1 ай}}',
 'years' => '{{PLURAL:$1|$1 йыл}}',
 'ago' => '$1 элек',
@@ -3666,7 +3666,7 @@ $5
 'lag-warn-high' => 'Мәғлүмәттәр базаларын синхронлаштырыуҙың күпкә артта ҡалыуы сәбәпле, $1 {{PLURAL:$1|секундтан}} кәмерәк ваҡыт элек эшләнгән үҙгәртеүҙәр был исемлектә күрһәтелә алмай.',
 
 # Watchlist editor
-'watchlistedit-numitems' => 'Һеҙҙең күҙәтеү исемлегегеҙҙә фекер алышыу биттәрен иҫәпләмәгәндә - {{PLURAL:$1|$1 бит|$1 бит}} бар.',
+'watchlistedit-numitems' => 'Һеҙҙең күҙәтеү исемлегегеҙҙә фекер алышыу биттәрен иҫәпләмәгәндә - {{PLURAL:$1|1=$1 бит|$1 бит}} бар.',
 'watchlistedit-noitems' => 'Һеҙҙең күҙәтеү исемлегегеҙҙә бер бит тә юҡ.',
 'watchlistedit-normal-title' => 'Күҙәтеү исемлеген мөхәррирләү',
 'watchlistedit-normal-legend' => 'Күҙәтеү исемлегенән биттәрҙе юйыу',
@@ -3674,7 +3674,7 @@ $5
 Биттәрҙе юйыу өсөн, кәрәкле юлдарҙы һайлағыҙ һәм «{{int:Watchlistedit-normal-submit}}» төймәһенә баҫығыҙ.
 Һеҙ шулай уҡ [[Special:EditWatchlist/raw|исемлекте текст рәүешендә үҙгәртә]] алаһығыҙ.',
 'watchlistedit-normal-submit' => 'Биттәрҙе юйырға',
-'watchlistedit-normal-done' => '{{PLURAL:$1|$1 бит|$1 бит}} һеҙҙең күҙәтеү исемлегенән юйылды:',
+'watchlistedit-normal-done' => '{{PLURAL:$1|1=$1 бит|$1 бит}} һеҙҙең күҙәтеү исемлегенән юйылды:',
 'watchlistedit-raw-title' => '«Сей» күҙәтеү исемлеген мөхәррирләү',
 'watchlistedit-raw-legend' => '«Сей» күҙәтеү исемлеген мөхәррирләү',
 'watchlistedit-raw-explain' => 'Түбәндә һеҙҙең күҙәтеү исемлегендә булған биттәр күрһәтелгән. Һеҙ был исемлекте, юлдар өҫтәп йәки юйып, үҙгәртә алаһығыҙ; бер юлға - бер исем.
@@ -3683,8 +3683,8 @@ $5
 'watchlistedit-raw-titles' => 'Яҙмалар:',
 'watchlistedit-raw-submit' => 'Исемлекте яңыртырға',
 'watchlistedit-raw-done' => 'Һеҙҙең күҙәтеү исемлеге яңырҙы.',
-'watchlistedit-raw-added' => '{{PLURAL:$1|1 яҙма|$1 яҙма}} өҫтәлде:',
-'watchlistedit-raw-removed' => '{{PLURAL:$1|1 яҙма|$1 яҙма}} юйылды:',
+'watchlistedit-raw-added' => '{{PLURAL:$1|1=1 яҙма|$1 яҙма}} өҫтәлде:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|1=1 яҙма|$1 яҙма}} юйылды:',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Исемлектәге биттәрҙәге үҙгәрештәр',
@@ -3801,7 +3801,7 @@ MediaWiki файҙалы булыр, тигән өмөттә, ләкин БЕР
 'tags-active-yes' => 'Эйе',
 'tags-active-no' => 'Юҡ',
 'tags-edit' => 'үҙгәртергә',
-'tags-hitcount' => '$1 {{PLURAL:$1|үҙгәртеү|үҙгәртеү}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|1=үҙгәртеү|үҙгәртеү}}',
 
 # Special:ComparePages
 'comparepages' => 'Биттәрҙе сағыштырыу',
@@ -3904,9 +3904,9 @@ MediaWiki файҙалы булыр, тигән өмөттә, ләкин БЕР
 'api-error-badtoken' => 'Эске хата: дөрөҫ булмаған токен',
 'api-error-copyuploaddisabled' => 'Был серверҙа URL адрес буйынса йөкләү өҙөлгән',
 'api-error-duplicate' => 'Бындай эстәлекле {{PLURAL:$1|[$2 файл]}}  бар.',
-'api-error-duplicate-archive' => 'Сайтта бындай эстәлекле {{PLURAL:$1|[$2 башҡа файл]}} бар ине инде, ләкин {{PLURAL:$1|ул юйылды|улар юйылды}}',
-'api-error-duplicate-archive-popup-title' => 'Элек юйылған {{PLURAL:$1|файлдың|файлдарҙың}} дубликаты',
-'api-error-duplicate-popup-title' => '{{PLURAL:$1|файлы|файлдары}} дубликаты.',
+'api-error-duplicate-archive' => 'Сайтта бындай эстәлекле {{PLURAL:$1|[$2 башҡа файл]}} бар ине инде, ләкин {{PLURAL:$1|1=ул юйылды|улар юйылды}}',
+'api-error-duplicate-archive-popup-title' => 'Элек юйылған {{PLURAL:$1|1=файлдың|файлдарҙың}} дубликаты',
+'api-error-duplicate-popup-title' => '{{PLURAL:$1|1=файлы|файлдары}} дубликаты.',
 'api-error-empty-file' => 'Һеҙ ебәргән файл буш.',
 'api-error-emptypage' => 'Яңы буш биттәр яһау тыйыла.',
 'api-error-fetchfileerror' => 'Эске хата: файлды күсергән ваҡытта хата китте',
@@ -3915,7 +3915,7 @@ MediaWiki файҙалы булыр, тигән өмөттә, ләкин БЕР
 'api-error-file-too-large' => 'Һеҙ ебәргән файл үтә ҙур.',
 'api-error-filename-tooshort' => 'Файл исеме бик ҡыҫҡа.',
 'api-error-filetype-banned' => 'Был файл төрө тыйылған.',
-'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|тыйылған файл төрө|тыйылған файл төрҙәре}}. Рөхсәт ителгән {{PLURAL:$3|файл төрө|файл төрҙәре}} $2.',
+'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|1=тыйылған файл төрө|тыйылған файл төрҙәре}}. Рөхсәт ителгән {{PLURAL:$3|1=файл төрө|файл төрҙәре}} $2.',
 'api-error-filetype-missing' => 'Был файлдың ҡушымтаһы юҡ',
 'api-error-hookaborted' => 'Һеҙ эшләргә теләгән үҙгәртеүҙәр ҡушымтаны тикшереүсе тарафынан өҙөлдө',
 'api-error-http' => 'Эске хата: серверға бәйләнеп булмай.',
@@ -3942,15 +3942,15 @@ MediaWiki файҙалы булыр, тигән өмөттә, ләкин БЕР
 'api-error-verification-error' => 'Был файл боҙолған, йәки дөрөҫ булмаған ҡушымтаһы бар.',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL:$1|секунд|секунд}}',
-'duration-minutes' => '$1 {{PLURAL:$1|минут|минут}}',
-'duration-hours' => '$1 {{PLURAL:$1|сәғәт|сәғәт}}',
-'duration-days' => '$1 {{PLURAL:$1|көн|көн}}',
-'duration-weeks' => '$1 {{PLURAL:$1|аҙна|аҙналар|аҙна}}',
-'duration-years' => '$1 {{PLURAL:$1|йыл|йылдар}}',
-'duration-decades' => '$1 {{PLURAL:$1|ун көнлөк|ун көнлөктәр}}',
-'duration-centuries' => '$1 {{PLURAL:$1|быуат|быуаттар}}',
-'duration-millennia' => '$1 {{PLURAL:$1|меңйыллыҡ|меңйыллыҡтар}}',
+'duration-seconds' => '$1 {{PLURAL:$1|1=секунд|секунд}}',
+'duration-minutes' => '$1 {{PLURAL:$1|1=минут|минут}}',
+'duration-hours' => '$1 {{PLURAL:$1|1=сәғәт|сәғәт}}',
+'duration-days' => '$1 {{PLURAL:$1|1=көн|көн}}',
+'duration-weeks' => '$1 {{PLURAL:$1|аҙна|аҙна|аҙналар}}',
+'duration-years' => '$1 {{PLURAL:$1|1=йыл|йылдар}}',
+'duration-decades' => '$1 {{PLURAL:$1|1=ун көнлөк|ун көнлөктәр}}',
+'duration-centuries' => '$1 {{PLURAL:$1|1=быуат|быуаттар}}',
+'duration-millennia' => '$1 {{PLURAL:$1|1=меңйыллыҡ|меңйыллыҡтар}}',
 
 # Image rotation
 'rotate-comment' => 'Рәсем сәғәт йөрөшө буйынса $1{{PLURAL:$1|}} градусҡа боролдо',
index 57d8b4e..55266ee 100644 (file)
@@ -387,7 +387,7 @@ $messages = array(
 'subcategories' => 'Падкатэгорыі',
 'category-media-header' => 'Файлы ў катэгорыі «$1»',
 'category-empty' => "''Гэтая катэгорыя ня ўтрымлівае ні старонак, ні файлаў.''",
-'hidden-categories' => '{{PLURAL:$1|Схаваная катэгорыя|Схаваныя катэгорыі}}',
+'hidden-categories' => '{{PLURAL:$1|1=Схаваная катэгорыя|Схаваныя катэгорыі}}',
 'hidden-category-category' => 'Схаваныя катэгорыі',
 'category-subcat-count' => '{{PLURAL:$2|Гэтая катэгорыя зьмяшчае наступную падкатэгорыю.|Гэтая катэгорыя зьмяшчае {{PLURAL:$1|наступную $1 падкатэгорыю|наступныя $1 падкатэгорыі|наступныя $1 падкатэгорыяў}} з $2 агулам.}}',
 'category-subcat-count-limited' => 'У гэтай катэгорыі $1 {{PLURAL:$1|падкатэгорыя|падкатэгорыі|падкатэгорыяў}}.',
@@ -525,7 +525,7 @@ $1',
 
 'badaccess' => 'Памылка доступу',
 'badaccess-group0' => 'Вам не дазволена выканаць запытанае Вамі дзеяньне.',
-'badaccess-groups' => 'Запытанае Вамі дзеяньне дазволенае толькі ўдзельнікам {{PLURAL:$2|з групы|адной з групаў:}} $1.',
+'badaccess-groups' => 'Запытанае Вамі дзеяньне дазволенае толькі ўдзельнікам {{PLURAL:$2|1=з групы|адной з групаў:}} $1.',
 
 'versionrequired' => 'Патрабуецца MediaWiki вэрсіі $1',
 'versionrequiredtext' => 'Для карыстаньня гэтай старонкай патрабуецца MediaWiki вэрсіі $1.
@@ -535,10 +535,10 @@ $1',
 'pagetitle' => '$1 — {{SITENAME}}',
 'retrievedfrom' => 'Атрымана з «$1»',
 'youhavenewmessages' => 'Вы атрымалі $1 ($2).',
-'youhavenewmessagesfromusers' => 'Вы атрымалі $1 ад {{PLURAL:$3|іншага ўдзельніка|$3 удзельнікаў}} ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|Вы}} атрымалі $1 ад {{PLURAL:$3|1=іншага ўдзельніка|$3 удзельнікаў}} ($2).',
 'youhavenewmessagesmanyusers' => 'Вы атрымалі $1 ад некалькіх удзельнікаў ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|новае паведамленьне|999=новыя паведамленьні}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|апошняя зьмена|999=апошнія зьмены}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=новае паведамленьне|999=новыя паведамленьні}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|1=апошняя зьмена|999=апошнія зьмены}}',
 'youhavenewmessagesmulti' => 'Вы атрымалі новыя паведамленьні на $1',
 'editsection' => 'рэдагаваць',
 'editold' => 'рэдагаваць',
@@ -631,8 +631,8 @@ $1',
 'no-null-revision' => 'Немагчыма стварыць нулявую вэрсію для старонкі «$1»',
 'badtitle' => 'Няслушная назва',
 'badtitletext' => 'Запытаная назва старонкі няслушная ці пустая, альбо няслушна ўказаная міжмоўная ці інтэрвікі-назва. Яна можа ўтрымліваць сымбалі, якія нельга ўжываць у назвах.',
-'perfcached' => 'Наступныя зьвесткі кэшаваныя і могуць быць састарэлымі. У кэшы {{PLURAL:$1|даступны|даступныя}} ня больш за $1 {{PLURAL:$1|вынік|вынікі|вынікаў}}.',
-'perfcachedts' => 'Наступныя зьвесткі кэшаваныя і апошні раз былі абноўленыя $1. У кэшы {{PLURAL:$4|даступны|даступныя}} ня больш за $4 {{PLURAL:$4|вынік|вынікі|вынікаў}}.',
+'perfcached' => 'Наступныя зьвесткі кэшаваныя і могуць быць састарэлымі. У кэшы {{PLURAL:$1|1=даступны|даступныя}} ня больш за $1 {{PLURAL:$1|вынік|вынікі|вынікаў}}.',
+'perfcachedts' => 'Наступныя зьвесткі кэшаваныя і апошні раз былі абноўленыя $1. У кэшы {{PLURAL:$4|1=даступны|даступныя}} ня больш за $4 {{PLURAL:$4|вынік|вынікі|вынікаў}}.',
 'querypage-no-updates' => 'Абнаўленьні гэтай старонкі цяпер адключаныя. Зьвесткі ня будуць абнаўляцца.',
 'viewsource' => 'Паказаць крыніцу',
 'viewsource-title' => 'Прагляд крыніцы для $1',
@@ -645,7 +645,7 @@ $1',
 'editinginterface' => "'''Увага:''' Вы рэдагуеце старонку, якая ўтрымлівае сыстэмнае паведамленьне MediaWiki.
 Яе зьмена паўплывае на вонкавы выгляд інтэрфэйсу іншых удзельнікаў у гэтай вікі.
 Каб дадаць ці зьмяніць пераклад ва ўсіх праектах, зьвярніцеся на [//translatewiki.net/wiki/Main_Page?setlang=be-tarask translatewiki.net] — праект для лякалізацыі MediaWiki.",
-'cascadeprotected' => 'Гэтая старонка абароненая ад рэдагаваньня, таму што яна ўключаная ў {{PLURAL:$1|наступную старонку, якая была абароненая|наступныя старонкі, якія былі абароненыя}} з актывізаванай опцыяй «каскаднай абароны»:
+'cascadeprotected' => 'Гэтая старонка абароненая ад рэдагаваньня, таму што яна ўключаная ў {{PLURAL:$1|1=наступную старонку, якая была абароненая|наступныя старонкі, якія былі абароненыя}} з актывізаванай опцыяй «каскаднай абароны»:
 $2',
 'namespaceprotected' => "Вы ня маеце правоў на рэдагаваньне старонак у прасторы назваў '''$1'''.",
 'customcssprotected' => 'Вы ня маеце правоў на рэдагаваньне гэтай CSS-старонкі, таму што яна ўтрымлівае пэрсанальныя налады іншага ўдзельніка.',
@@ -843,19 +843,19 @@ $2',
 'passwordreset-capture-help' => 'Калі Вы пазначыце гэтае поле, электронны ліст (з часовым паролем), будзе паказаны Вам як толькі ён будзе дасланы ўдзельніку.',
 'passwordreset-email' => 'Адрас электроннай пошты:',
 'passwordreset-emailtitle' => 'Падрабязнасьці рахунку ў {{GRAMMAR:месны|{{SITENAME}}}}',
-'passwordreset-emailtext-ip' => 'Нехта (магчыма Вы, з IP-адрасу $1) зрабіў запыт на вашага паролю ў {{GRAMMAR:месны|{{SITENAME}}}} ($4). {{PLURAL:$3|Наступны рахунак удзельніка зьвязаны|Наступныя рахункі ўдзельнікаў зьвязаныя}} з гэтым адрасам электроннай пошты:
+'passwordreset-emailtext-ip' => 'Нехта (магчыма Вы, з IP-адрасу $1) зрабіў запыт на вашага паролю ў {{GRAMMAR:месны|{{SITENAME}}}} ($4). {{PLURAL:$3|1=Наступны рахунак удзельніка зьвязаны|Наступныя рахункі ўдзельнікаў зьвязаныя}} з гэтым адрасам электроннай пошты:
 
 $2
 
-{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць $5 {{PLURAL:|дзень|дні|дзён}}.
+{{PLURAL:$3|1=Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць $5 {{PLURAL:|дзень|дні|дзён}}.
 Цяпер Вам неабходна ўвайсьці і выбраць новы пароль. Калі нехта іншы зрабіў гэты запыт,
 ці Вы ўспомнілі Ваш пачатковы пароль, які ня хочаце мяняць,
 Вы можаце праігнараваць гэтае паведамленьне, і працягваць выкарыстоўваць стары пароль.',
-'passwordreset-emailtext-user' => 'Удзельнік $1 зрабіў запыт на скіданьне вашага паролю ў {{GRAMMAR:месны|{{SITENAME}}}} ($4). {{PLURAL:$3|Наступны рахунак удзельніка зьвязаны|Наступныя рахункі ўдзельнікаў зьвязаныя}} з гэтым адрасам электроннай пошты:
+'passwordreset-emailtext-user' => 'Удзельнік $1 зрабіў запыт на скіданьне вашага паролю ў {{GRAMMAR:месны|{{SITENAME}}}} ($4). {{PLURAL:$3|1=Наступны рахунак удзельніка зьвязаны|Наступныя рахункі ўдзельнікаў зьвязаныя}} з гэтым адрасам электроннай пошты:
 
 $2
 
-{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць $5 {{PLURAL:|дзень|дні|дзён}}.
+{{PLURAL:$3|1=Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць $5 {{PLURAL:|дзень|дні|дзён}}.
 Цяпер Вам неабходна ўвайсьці і выбраць новы пароль. Калі нехта іншы зрабіў гэты запыт,
 ці Вы ўспомнілі Ваш пачатковы пароль, які ня хочаце мяняць,
 Вы можаце праігнараваць гэтае паведамленьне, і працягваць выкарыстоўваць стары пароль.',
@@ -1053,23 +1053,23 @@ $2
 Апошні запіс з журнала пададзены ніжэй для даведкі:",
 'semiprotectedpagewarning' => "'''Заўвага:''' Гэтая старонка была абароненая, і рэдагаваць яе могуць толькі зарэгістраваныя ўдзельнікі.
 Апошні запіс з журнала пададзены ніжэй для даведкі:",
-'cascadeprotectedwarning' => "'''Папярэджаньне:''' Гэтая старонка абароненая, толькі ўдзельнікі з правамі адміністратараў могуць рэдагаваць яе, таму што яна ўключаная ў {{PLURAL:$1|наступную каскадна-абароненую старонку|наступныя каскадна-абароненыя старонкі}}:",
+'cascadeprotectedwarning' => "'''Папярэджаньне:''' Гэтая старонка абароненая, толькі ўдзельнікі з правамі адміністратараў могуць рэдагаваць яе, таму што яна ўключаная ў {{PLURAL:$1|1=наступную каскадна-абароненую старонку|наступныя каскадна-абароненыя старонкі}}:",
 'titleprotectedwarning' => "'''Папярэджаньне: гэтая старонка была абароненая і для яе стварэньня патрабуюцца [[Special:ListGroupRights|адпаведныя правы]].'''
 Апошні запіс з журнала пададзены ніжэй для даведкі:",
-'templatesused' => 'На гэтай старонцы {{PLURAL:$1|выкарыстаны наступны шаблён|выкарыстаныя наступныя шаблёны}}:',
-'templatesusedpreview' => 'У гэтым папярэднім праглядзе {{PLURAL:$1|выкарыстаны наступны шаблён|выкарыстаныя наступныя шаблёны}}:',
-'templatesusedsection' => 'У гэтай сэкцыі {{PLURAL:$1|выкарыстаны наступны шаблён|выкарыстаныя наступныя шаблёны}}:',
+'templatesused' => '{{PLURAL:$1|Шаблён, які ўжываецца|Шаблёны, якія ўжываюцца}} на гэтай старонцы:',
+'templatesusedpreview' => 'У гэтым папярэднім праглядзе {{PLURAL:$1|1=выкарыстаны наступны шаблён|выкарыстаныя наступныя шаблёны}}:',
+'templatesusedsection' => 'У гэтай сэкцыі {{PLURAL:$1|1=выкарыстаны наступны шаблён|выкарыстаныя наступныя шаблёны}}:',
 'template-protected' => '(абаронены)',
 'template-semiprotected' => '(часткова абароненая)',
-'hiddencategories' => 'Гэтая старонка належыць да $1 {{PLURAL:$1|схаванай катэгорыі|схаваных катэгорыяў}}:',
+'hiddencategories' => 'Гэтая старонка належыць да $1 {{PLURAL:$1|1=схаванай катэгорыі|схаваных катэгорыяў}}:',
 'nocreatetext' => 'У {{GRAMMAR:месны|{{SITENAME}}}} абмежаванае стварэньне новых старонак.
 Вы можаце вярнуцца і рэдагаваць існуючую старонку, альбо [[Special:UserLogin|ўвайсьці ў сыстэму ці стварыць рахунак]].',
 'nocreate-loggedin' => 'Вы ня маеце дазволу на стварэньне новых старонак.',
 'sectioneditnotsupported-title' => 'Рэдагаваньне сэкцыяў не падтрымліваецца',
 'sectioneditnotsupported-text' => 'Рэдагаваньне сэкцыяў не падтрымліваецца ў гэтай старонцы рэдагаваньня',
 'permissionserrors' => 'Памылка дазволу',
-'permissionserrorstext' => 'Вы ня маеце дазволу на гэтае дзеяньне па {{PLURAL:$1|наступнай прычыне|наступных прычынах}}:',
-'permissionserrorstext-withaction' => 'Вы ня маеце дазволу на $2 па {{PLURAL:$1|наступнай прычыне|наступных прычынах}}:',
+'permissionserrorstext' => 'Вы ня маеце дазволу на гэтае дзеяньне па {{PLURAL:$1|1=наступнай прычыне|наступных прычынах}}:',
+'permissionserrorstext-withaction' => 'Вы ня маеце дазволу на $2 па {{PLURAL:$1|1=наступнай прычыне|наступных прычынах}}:',
 'recreate-moveddeleted-warn' => "'''Увага: Вы ствараеце старонку, якая раней была выдаленая.'''
 
 Упэўніцеся, што стварэньне гэтай старонкі неабходнае.
@@ -1203,8 +1203,8 @@ $2
 'revdelete-no-file' => 'Пазначаны файл не існуе.',
 'revdelete-show-file-confirm' => 'Вы ўпэўненыя, што жадаеце паглядзець выдаленую вэрсію файла «<nowiki>$1</nowiki>» ад $2 $3?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбраная вэрсія|Выбраныя вэрсіі}} старонкі [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журнала падзеяў:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|1=Выбраная вэрсія|Выбраныя вэрсіі}} старонкі [[:$1]]:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала падзеяў:'''",
 'revdelete-text' => "'''Выдаленыя вэрсіі і падзеі будуць паказвацца ў гісторыі старонкі і журналах, але частка іх зьместу ня будзе даступная для звычайных удзельнікаў.'''
 Іншыя адміністратары {{GRAMMAR:родны|{{SITENAME}}}} будуць мець магчымасьць прагляду зьместу і аднаўленьня старонкі праз гэты інтэрфэйс, калі ня будуць уведзеныя дадатковыя абмежаваньні.",
 'revdelete-confirm' => 'Калі ласка, пацьвердзіце, што Вы сапраўды жадаеце зрабіць гэта, разумееце наступствы і робіце гэта ў адпаведнасьці з [[{{MediaWiki:Policy-url}}|правіламі]].',
@@ -1224,7 +1224,7 @@ $2
 'revdelete-suppress' => 'Схаваць зьвесткі ад адміністратараў як і ад іншых удзельнікаў',
 'revdelete-unsuppress' => 'Зьняць абмежаваньні з адноўленых вэрсіяў',
 'revdelete-log' => 'Прычына:',
-'revdelete-submit' => 'Ужыць для {{PLURAL:$1|выбранай вэрсіі|выбраных вэрсіяў}}',
+'revdelete-submit' => 'Ужыць для {{PLURAL:$1|1=выбранай вэрсіі|выбраных вэрсіяў}}',
 'revdelete-success' => "'''Бачнасьць вэрсіі пасьпяхова абноўленая.'''",
 'revdelete-failure' => "'''Немагчыма абнавіць бачнасьць вэрсіі:'''
 $1",
@@ -1303,7 +1303,7 @@ $1",
 'diff-empty' => '(Розьніцы няма)',
 'diff-multi' => '($1 {{PLURAL:$1|прамежная вэрсія|прамежныя вэрсіі|прамежных вэрсіяў}} $2 {{PLURAL:$2|удзельніка|удзельнікаў|удзельнікаў}} {{PLURAL:$1|не паказаная|не паказаныя|не паказаныя}})',
 'diff-multi-manyusers' => '($1 {{PLURAL:$1|прамежная вэрсія|прамежныя вэрсіі|прамежных вэрсіяў}} $2 {{PLURAL:$2|удзельніка|удзельнікаў|удзельнікаў}} {{PLURAL:$1|не паказаная|не паказаныя|не паказаныя}})',
-'difference-missing-revision' => '{{PLURAL:$2|Адна вэрсія|$2 вэрсіі}} з гэтымі адрозьненьнямі ($1) {{PLURAL:$2|не была|не былі}} знойдзеныя.
+'difference-missing-revision' => '{{PLURAL:$2|1=Адна вэрсія|$2 вэрсіі}} з гэтымі адрозьненьнямі ($1) {{PLURAL:$2|1=не была|не былі}} знойдзеныя.
 
 Звычайна гэта здараецца з-за перахода па састарэлай спасылцы на старонку, якая была выдаленая.
 Падрабязнасьці можна знайсьці ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале выдаленьняў].',
@@ -1348,7 +1348,7 @@ $1",
 'searchall' => 'усе',
 'showingresults' => "Ніжэй {{PLURAL:$1|паданы|паданыя|паданыя}} да '''$1''' {{PLURAL:$1|выніку|вынікаў|вынікаў}}, пачынаючы з #<b>$2</b>.",
 'showingresultsnum' => "Ніжэй паказаны сьпіс з '''$3''' {{PLURAL:$3|выніка|вынікаў|вынікаў}}, пачынаючы ад № '''$2'''.",
-'showingresultsheader' => "{{PLURAL:$5|Вынік '''$1''' з '''$3'''|Вынікі '''$1 - $2''' з '''$3'''}} для '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|1=Вынік '''$1''' з '''$3'''|Вынікі '''$1 - $2''' з '''$3'''}} для '''$4'''",
 'search-nonefound' => 'Супадзеньняў па запыце ня знойдзена.',
 'powersearch-legend' => 'Удасканалены пошук',
 'powersearch-ns' => 'Шукаць у прасторах назваў:',
@@ -1435,7 +1435,7 @@ $1",
 'youremail' => 'Адрас электроннай пошты:',
 'username' => 'Імя {{GENDER:$1|ўдзельніка|ўдзельніцы}}:',
 'uid' => 'ID {{GENDER:$1|удзельніка|удзельніцы}}:',
-'prefs-memberingroups' => '{{GENDER:$2|Удзельнік|Удзельніца}} {{PLURAL:$1|групы|групаў}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Удзельнік|Удзельніца}} {{PLURAL:$1|1=групы|групаў}}:',
 'prefs-registration' => 'Час рэгістрацыі:',
 'yourrealname' => 'Сапраўднае імя:',
 'yourlanguage' => 'Мова інтэрфэйсу:',
@@ -1743,9 +1743,9 @@ $1",
 'filetype-badmime' => 'Загрузка файлаў тыпу MIME «$1» забароненая.',
 'filetype-bad-ie-mime' => 'Немагчыма загрузіць гэты файл, таму што Internet Explorer вызначыў яго як «$1», што азначае, што тып гэтага файла забаронены і патэнцыяльна небясьпечны.',
 'filetype-unwanted-type' => "'''«.$1»''' — непажаданы тып файла.
-{{PLURAL:$3|Пажаданым тыпам файла зьяўляецца|Пажаданымі тыпамі файлаў зьяўляюцца}} $2.",
-'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|забаронены тып файлаў|забароненыя тыпы файлаў}}.
-{{PLURAL:$3|Дазволены тып файлаў|Дазволеныя тыпы файлаў}}: $2.",
+{{PLURAL:$3|1=Пажаданым тыпам файла зьяўляецца|Пажаданымі тыпамі файлаў зьяўляюцца}} $2.",
+'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|1=забаронены тып файлаў|забароненыя тыпы файлаў}}.
+{{PLURAL:$3|1=Дазволены тып файлаў|Дазволеныя тыпы файлаў}}: $2.",
 'filetype-missing' => 'Файл ня мае пашырэньня (напрыклад, «.jpg»).',
 'empty-file' => 'Дасланы Вамі файл пусты.',
 'file-too-large' => 'Дасланы Вамі файл занадта вялікі.',
@@ -1783,7 +1783,7 @@ $1",
 Калі ласка, вярніцеся назад і загрузіце гэты файл з новай назвай. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'Файл з такой назвай ужо існуе ў агульным сховішчы файлаў.
 Калі Вы жадаеце загрузіць Ваш файл, вярніцеся назад і загрузіце гэты файл з новай назвай. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Гэты файл дублюе {{PLURAL:$1|наступны файл|наступныя файлы}}:',
+'file-exists-duplicate' => 'Гэты файл дублюе {{PLURAL:$1|1=наступны файл|наступныя файлы}}:',
 'file-deleted-duplicate' => 'Падобны файл ([[:$1]]) ужо выдаляўся. Калі ласка, паглядзіце гісторыю выдаленьняў гэтага файла перад яго паўторнай загрузкай.',
 'uploadwarning' => 'Папярэджаньне',
 'uploadwarning-text' => 'Калі ласка, зьмяніце апісаньне файла ніжэй і паспрабуйце ізноў.',
@@ -1973,14 +1973,14 @@ $1',
 'filehist-comment' => 'Камэнтар',
 'filehist-missing' => 'Файл адсутнічае',
 'imagelinks' => 'Выкарыстаньне файла',
-'linkstoimage' => '{{PLURAL:$1|Наступная старонка спасылаецца|Наступныя старонкі спасылаюцца}} на гэты файл:',
+'linkstoimage' => '{{PLURAL:$1|1=Наступная старонка спасылаецца|Наступныя старонкі спасылаюцца}} на гэты файл:',
 'linkstoimage-more' => 'Больш чым $1 {{PLURAL:$1|старонка спасылаецца|старонкі спасылаюцца|старонак спасылаюцца}} на гэты файл.
 У гэтым сьпісе толькі $1 {{PLURAL:$1|спасылка|спасылкі|спасылак}} на гэты файл.
 Даступны таксама [[Special:WhatLinksHere/$2|поўны сьпіс]].',
 'nolinkstoimage' => 'Ніводная старонка не спасылаецца на гэты файл.',
 'morelinkstoimage' => 'Паказаць [[Special:WhatLinksHere/$1|болей спасылак]] на гэты файл.',
 'linkstoimage-redirect' => '$1 (перанакіраваньне на файл) $2',
-'duplicatesoffile' => '{{PLURAL:$1|Наступны файл дублюе|Наступныя файлы дублююць}} гэты файл ([[Special:FileDuplicateSearch/$2|падрабязнасьці]]):',
+'duplicatesoffile' => '{{PLURAL:$1|1=Наступны файл дублюе|Наступныя файлы дублююць}} гэты файл ([[Special:FileDuplicateSearch/$2|падрабязнасьці]]):',
 'sharedupload' => 'Гэты файл паходзіць з $1 і можа выкарыстоўвацца іншымі праектамі.',
 'sharedupload-desc-there' => 'Гэты файл паходзіць з $1 і можа выкарыстоўвацца іншымі праектамі.
 Калі ласка, глядзіце падрабязнасьці на [$2 старонцы апісаньня файла].',
@@ -2049,7 +2049,7 @@ $1',
 
 # Random page
 'randompage' => 'Выпадковая старонка',
-'randompage-nopages' => 'Няма старонак у {{PLURAL:$2|наступнай прасторы|наступных прасторах}} назваў: $1.',
+'randompage-nopages' => 'Няма старонак у {{PLURAL:$2|1=наступнай прасторы|наступных прасторах}} назваў: $1.',
 
 # Random page in category
 'randomincategory' => 'Выпадковая старонка ў катэгорыі',
@@ -2113,7 +2113,7 @@ $1',
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байт|байты|байтаў}}',
 'ncategories' => '$1 {{PLURAL:$1|катэгорыя|катэгорыі|катэгорыяў}}',
-'ninterwikis' => '$1 {{PLURAL:$1|інтэрвікі|інтэрвікі}}',
+'ninterwikis' => '$1 {{PLURAL:$1|1=інтэрвікі|інтэрвікі}}',
 'nlinks' => '$1 {{PLURAL:$1|спасылка|спасылкі|спасылак}}',
 'nmembers' => '$1 {{PLURAL:$1|элемэнт|элемэнты|элемэнтаў}}',
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|элемэнт|элемэнты|элемэнтаў}}',
@@ -2222,7 +2222,7 @@ $1',
 
 # Special:Categories
 'categories' => 'Катэгорыі',
-'categoriespagetext' => '{{PLURAL:$1|Наступная катэгорыя зьмяшчае|Наступныя катэгорыі зьмяшчаюць}} старонкі і/альбо мэдыяфайлы.
+'categoriespagetext' => '{{PLURAL:$1|1=Наступная катэгорыя зьмяшчае|Наступныя катэгорыі зьмяшчаюць}} старонкі і/альбо мэдыяфайлы.
 Тут не паказаныя [[Special:UnusedCategories|катэгорыі, якія не выкарыстоўваюцца]].
 Глядзіце таксама [[Special:WantedCategories|сьпіс запатрабаваных катэгорыяў]].',
 'categoriesfrom' => 'Паказаць катэгорыі, пачынаючы з:',
@@ -2241,7 +2241,7 @@ $1',
 'linksearch-ok' => 'Шукаць',
 'linksearch-text' => 'Можна ўжываць сымбалі падстаноўкі, напрыклад, «*.wikipedia.org».<br />
 Неабходны дамэн першага ўзроўню, напрыклад, «*.org».<br />
-{{PLURAL:$2|Пратакол, які падтрымліваецца|Пратаколы, якія падтрымліваюцца}}: <code>$1</code> (дапомна http://, калі пратакол не пазначаны).',
+{{PLURAL:$2|1=Пратакол, які падтрымліваецца|Пратаколы, якія падтрымліваюцца}}: <code>$1</code> (дапомна http://, калі пратакол не пазначаны).',
 'linksearch-line' => 'Спасылка на $1 з $2',
 'linksearch-error' => 'Сымбалі падстаноўкі могуць ужывацца толькі ў пачатку адрасоў.',
 
@@ -2271,12 +2271,12 @@ $1',
 'listgrouprights-rights' => 'Правы',
 'listgrouprights-helppage' => 'Help:Правы групаў удзельнікаў',
 'listgrouprights-members' => '(сьпіс удзельнікаў групы)',
-'listgrouprights-addgroup' => 'можа дадаваць {{PLURAL:$2|групу|групы}}: $1',
-'listgrouprights-removegroup' => 'можа выдаляць {{PLURAL:$2|групу|групы}}: $1',
+'listgrouprights-addgroup' => 'можа дадаваць {{PLURAL:$2|1=групу|групы}}: $1',
+'listgrouprights-removegroup' => 'можа выдаляць {{PLURAL:$2|1=групу|групы}}: $1',
 'listgrouprights-addgroup-all' => 'можа дадаваць усе групы',
 'listgrouprights-removegroup-all' => 'можа выдаляць усе групы',
-'listgrouprights-addgroup-self' => 'Можа дадаць уласны рахунак да {{PLURAL:$2|групы|групаў}}: $1',
-'listgrouprights-removegroup-self' => 'Можа выдаліць уласны рахунак з {{PLURAL:$2|групы|групаў}}: $1',
+'listgrouprights-addgroup-self' => 'Можа дадаць уласны рахунак да {{PLURAL:$2|1=групы|групаў}}: $1',
+'listgrouprights-removegroup-self' => 'Можа выдаліць уласны рахунак з {{PLURAL:$2|1=групы|групаў}}: $1',
 'listgrouprights-addgroup-self-all' => 'Можа дадаць уласны рахунак да ўсіх груп',
 'listgrouprights-removegroup-self-all' => 'Можа выдаліць уласны рахунак з ўсіх груп',
 
@@ -2529,7 +2529,7 @@ $UNWATCHURL
 'undeletepage' => 'Прагляд і аднаўленьне выдаленых старонак',
 'undeletepagetitle' => "'''Ніжэй паданыя выдаленыя вэрсіі [[:$1|$1]]'''.",
 'viewdeletedpage' => 'Паказаць выдаленыя старонкі',
-'undeletepagetext' => '{{PLURAL:$1|Наступная старонка была выдаленая, але яна знаходзяцца ў архіве і можа быць адноўленая|Наступныя старонкі былі выдаленыя, але яны знаходзяцца ў архіве і могуць быць адноўленыя}}.
+'undeletepagetext' => '{{PLURAL:$1|1=Наступная старонка была выдаленая, але яна знаходзяцца ў архіве і можа быць адноўленая|Наступныя старонкі былі выдаленыя, але яны знаходзяцца ў архіве і могуць быць адноўленыя}}.
 Архіў пэрыядычна чысьціцца.',
 'undelete-fieldset-title' => 'Аднавіць вэрсіі',
 'undeleteextrahelp' => "Для поўнага аднаўленьня гісторыі рэдагаваньня старонкі, пакіньце ўсе адзнакі нявызначнымі і націсьніце '''''{{int:undeletebtn}}'''''.
@@ -2694,7 +2694,7 @@ $1',
 'blocklist-reason' => 'Прычына',
 'ipblocklist-submit' => 'Шукаць',
 'ipblocklist-localblock' => 'Лякальнае блякаваньне',
-'ipblocklist-otherblocks' => '{{PLURAL:$1|Іншае блякаваньне|Іншыя блякаваньні}}',
+'ipblocklist-otherblocks' => '{{PLURAL:$1|1=Іншае блякаваньне|Іншыя блякаваньні}}',
 'infiniteblock' => 'назаўсёды',
 'expiringblock' => 'канчаецца $1 $2',
 'anononlyblock' => 'толькі ананімаў',
@@ -2732,7 +2732,7 @@ $1',
 'ipb_hide_invalid' => 'Немагчыма схаваць гэты рахунак; верагодна зь яго зроблена зашмат рэдагаваньняў.',
 'ipb_already_blocked' => '«$1» ужо заблякаваны',
 'ipb-needreblock' => '$1 ужо заблякаваны. Вы жадаеце зьмяніць парамэтры?',
-'ipb-otherblocks-header' => '{{PLURAL:$1|Іншае блякаваньне|Іншыя блякаваньні}}',
+'ipb-otherblocks-header' => '{{PLURAL:$1|1=Іншае блякаваньне|Іншыя блякаваньні}}',
 'unblock-hideuser' => 'Вы ня можаце разблякаваць гэтага ўдзельніка, таму што яго імя было схаванае.',
 'ipb_cant_unblock' => 'Памылка: ID блякаваньня $1 ня знойдзена. Верагодна яно было ўжо зьнятае.',
 'ipb_blocked_as_range' => 'Памылка: IP-адрас $1 быў заблякаваны наўпрост і ня можа быць разблякаваны.
@@ -2827,8 +2827,8 @@ $1',
 'movepage-max-pages' => '$1 {{PLURAL:$1|старонка была перанесеная|старонкі былі перанесеныя|старонак былі перанесеныя}} — гэта дазволены максымум, больш аўтаматычных пераносаў ня будзе.',
 'movelogpage' => 'Журнал пераносаў',
 'movelogpagetext' => 'Ніжэй пададзены сьпіс перанесеных старонак.',
-'movesubpage' => '{{PLURAL:$1|Падстаронка|Падстаронкі}}',
-'movesubpagetext' => 'Гэтая старонка мае $1 {{PLURAL:$1|падстаронку|падстаронкі|падстаронак}}, {{PLURAL:$1|якая паказаная ніжэй|якія паказаныя ніжэй}}.',
+'movesubpage' => '{{PLURAL:$1|1=Падстаронка|Падстаронкі}}',
+'movesubpagetext' => 'Гэтая старонка мае $1 {{PLURAL:$1|падстаронку|падстаронкі|падстаронак}}, {{PLURAL:$1|1=якая паказаная ніжэй|якія паказаныя ніжэй}}.',
 'movenosubpage' => 'Гэтая старонка ня мае падстаронак.',
 'movereason' => 'Прычына:',
 'revertmove' => 'адкат',
@@ -2965,7 +2965,7 @@ $2',
 'import-error-special' => 'Старонка «$1» не была імпартаваная, таму што яна належыць да спэцыяльнай прасторы назваў, старонкі ў якой не дазволеныя.',
 'import-error-invalid' => 'Старонка «$1» не была імпартаваная з-за няслушнасьці назвы.',
 'import-error-unserialize' => 'Не атрымалася дэсэрыялізаваць вэрсію $2 старонкі «$1». Меркавалася, што вэрсія выкарыстоўвала мадэль зьвестак $3 і была сэрыялізавана ў фармаце $4.',
-'import-options-wrong' => '{{PLURAL:$2|Няслушная налада|Няслушныя налады}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => '{{PLURAL:$2|1=Няслушная налада|Няслушныя налады}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Пазначаная назва карнявой старонкі няслушная.',
 'import-rootpage-nosubpage' => 'Падстаронкі ў прасторы назваў «$1» карнявой старонкі не дазволеныя.',
 
@@ -3063,14 +3063,14 @@ $2',
 'notacceptable' => 'Вікі-сэрвэр ня можа адлюстраваць зьвесткі ў выглядзе, які здольны прачытаць Ваш браўзэр.',
 
 # Attribution
-'anonymous' => '{{PLURAL:$1|Ананімны ўдзельнік ці ўдзельніца|Ананімныя ўдзельнікі і ўдзельніцы}} {{GRAMMAR:родны|{{SITENAME}}}}',
+'anonymous' => '{{PLURAL:$1|1=Ананімны ўдзельнік ці ўдзельніца|Ананімныя ўдзельнікі і ўдзельніцы}} {{GRAMMAR:родны|{{SITENAME}}}}',
 'siteuser' => 'Удзельнік/удзельніца {{GRAMMAR:родны|{{SITENAME}}}} $1',
 'anonuser' => 'Ананімны ўдзельнік {{GRAMMAR:родны|{{SITENAME}}}} $1',
 'lastmodifiedatby' => 'Гэтую старонку апошні раз рэдагаваў $3 $2, $1.',
 'othercontribs' => 'На аснове працы $1.',
 'others' => 'іншыя',
-'siteusers' => '{{PLURAL:$2|Удзельнік|Удзельнікі}} {{GRAMMAR:родны|{{SITENAME}}}} $1',
-'anonusers' => '{{PLURAL:$2|Ананімны ўдзельнік|Ананімныя ўдзельнікі}} {{GRAMMAR:родны|{{SITENAME}}}} $1',
+'siteusers' => '{{PLURAL:$2|1=Удзельнік|Удзельнікі}} {{GRAMMAR:родны|{{SITENAME}}}} $1',
+'anonusers' => '{{PLURAL:$2|1=Ананімны ўдзельнік|Ананімныя ўдзельнікі}} {{GRAMMAR:родны|{{SITENAME}}}} $1',
 'creditspage' => 'Падзякі',
 'nocredits' => 'Няма інфармацыі пра аўтараў гэтай старонкі.',
 
@@ -3104,7 +3104,7 @@ $2',
 'pageinfo-robot-noindex' => 'Не дазволеная',
 'pageinfo-views' => 'Колькасьць праглядаў',
 'pageinfo-watchers' => 'Колькасьць назіральнікаў і назіральніц',
-'pageinfo-few-watchers' => 'Менш за $1 {{PLURAL:$1|назіральніка|назіральнікаў}}',
+'pageinfo-few-watchers' => 'Менш за $1 {{PLURAL:$1|1=назіральніка|назіральнікаў}}',
 'pageinfo-redirects-name' => 'Перанакіраваньняў на гэтую старонку',
 'pageinfo-subpages-name' => 'Колькасьць падстаронак',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|перанакіраваньне|перанакіраваньні|перанакіраваньняў}}; $3 {{PLURAL:$3|звычайная|звычайныя|звычайных}})',
@@ -3116,10 +3116,10 @@ $2',
 'pageinfo-authors' => 'Колькасьць аўтараў',
 'pageinfo-recent-edits' => 'Колькасьць апошніх рэдагаваньняў (за $1)',
 'pageinfo-recent-authors' => 'Колькасьць апошніх аўтараў',
-'pageinfo-magic-words' => '{{PLURAL:$1|Магічнае слова|Магічныя словы}} ($1)',
-'pageinfo-hidden-categories' => '{{PLURAL:$1|Схаваная катэгорыя|Схаваныя катэгорыі}} ($1)',
-'pageinfo-templates' => '{{PLURAL:$1|Шаблён|Шаблёны}} ($1)',
-'pageinfo-transclusions' => 'Выкарыстаньне на {{PLURAL:$1|іншай старонцы|іншых старонках}} ($1)',
+'pageinfo-magic-words' => '{{PLURAL:$1|1=Магічнае слова|Магічныя словы}} ($1)',
+'pageinfo-hidden-categories' => '{{PLURAL:$1|1=Схаваная катэгорыя|Схаваныя катэгорыі}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|1=Шаблён|Шаблёны}} ($1)',
+'pageinfo-transclusions' => 'Выкарыстаньне на {{PLURAL:$1|1=іншай старонцы|іншых старонках}} ($1)',
 'pageinfo-toolboxlink' => 'Зьвесткі пра старонку',
 'pageinfo-redirectsto' => 'Перанакіроўвае на',
 'pageinfo-redirectsto-info' => 'інфармацыя',
@@ -3186,7 +3186,7 @@ $1',
 'svg-long-error' => 'Няслушны SVG-файл: $1',
 'show-big-image' => 'Найлепшае разрозьненьне',
 'show-big-image-preview' => 'Памер прагляду: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Іншае разрозьненьне|Іншыя разрозьненьні}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Іншае разрозьненьне|Іншыя разрозьненьні}}: $1.',
 'show-big-image-size' => '$1 × $2 піксэлаў',
 'file-info-gif-looped' => 'паўтараючыся',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|кадар|кадры|кадраў}}',
@@ -3924,7 +3924,7 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 'tags' => 'Слушныя тэгі зьменаў',
 'tag-filter' => 'Фільтар [[Special:Tags|тэгаў]]:',
 'tag-filter-submit' => 'Фільтар',
-'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Тэг|Тэгі}}]]: $2)',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|1=Тэг|Тэгі}}]]: $2)',
 'tags-title' => 'Тэгі',
 'tags-intro' => 'На гэтай старонцы знаходзіцца сьпіс тэгаў, якімі праграмнае забесьпячэньне можа пазначыць рэдагаваньне, і іх значэньне.',
 'tags-tag' => 'Назва тэга',
@@ -3980,13 +3980,13 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 # New logging system
 'logentry-delete-delete' => '$1 {{GENDER:$2|выдаліў|выдаліла}} старонку $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|аднавіў|аднавіла}} старонку $3',
-'logentry-delete-event' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|падзеі ў журнале|падзеяў у журнале}} на $3: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|вэрсіі|вэрсіяў}} старонкі $3: $4',
+'logentry-delete-event' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|1=падзеі ў журнале|падзеяў у журнале}} на $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|1=вэрсіі|вэрсіяў}} старонкі $3: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць падзеяў у журнале на $3',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць вэрсіяў старонкі $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|схаваў|схавала}} старонку $3',
-'logentry-suppress-event' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|падзеі ў журнале|падзеяў у журнале}} на $3: $4',
-'logentry-suppress-revision' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|вэрсіі|вэрсіяў}} старонкі $3: $4',
+'logentry-suppress-event' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|1=падзеі ў журнале|падзеяў у журнале}} на $3: $4',
+'logentry-suppress-revision' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць $5 {{PLURAL:$5|1=вэрсіі|вэрсіяў}} старонкі $3: $4',
 'logentry-suppress-event-legacy' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніла}} бачнасьць падзеяў у журнале на $3',
 'logentry-suppress-revision-legacy' => '$1 прыхавана {{GENDER:$2|зьмяніў|зьмяніоа}} бачнасьць вэрсіяў старонкі $3',
 'revdelete-content-hid' => 'зьмест схаваны',
@@ -4037,10 +4037,10 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 'api-error-badaccess-groups' => 'У Вас няма дазволу загружаць файлы ў гэтую вікі.',
 'api-error-badtoken' => 'Унутраная памылка: няслушны ключ.',
 'api-error-copyuploaddisabled' => 'Загрузка з URL-адрасу забароненая на гэтым сэрвэры.',
-'api-error-duplicate' => 'Ужо {{PLURAL:$1|існуе [$2 іншы файл]|існуюць [$2 іншыя файлы]}} з такім жа зьместам.',
-'api-error-duplicate-archive' => 'Раней на сайце {{PLURAL:$1|ўжо быў [$2 файл]|былі [$2 файлы]}} з дакладна такім жа зьместам, але {{PLURAL:$1|ён быў выдалены|яны былі выдаленыя}}.',
-'api-error-duplicate-archive-popup-title' => 'Дублікаты {{PLURAL:$1|файла, які ўжо быў выдалены|файлаў, якія ўжо былі выдаленыя}}',
-'api-error-duplicate-popup-title' => '{{PLURAL:$1|Ідэнтычны файл|Ідэнтычныя файлы}}',
+'api-error-duplicate' => 'Ужо {{PLURAL:$1|1=існуе [$2 іншы файл]|існуюць [$2 іншыя файлы]}} з такім жа зьместам.',
+'api-error-duplicate-archive' => 'Раней на сайце {{PLURAL:$1|1=ўжо быў [$2 файл]|былі [$2 файлы]}} з дакладна такім жа зьместам, але {{PLURAL:$1|1=ён быў выдалены|яны былі выдаленыя}}.',
+'api-error-duplicate-archive-popup-title' => 'Дублікаты {{PLURAL:$1|1=файла, які ўжо быў выдалены|файлаў, якія ўжо былі выдаленыя}}',
+'api-error-duplicate-popup-title' => '{{PLURAL:$1|1=Ідэнтычны файл|Ідэнтычныя файлы}}',
 'api-error-empty-file' => 'Дасланы Вамі файл быў пусты.',
 'api-error-emptypage' => 'Стварэньне новых пустых старонак забаронена.',
 'api-error-fetchfileerror' => 'Унутраная памылка: падчас атрыманьня файла штосьці здарылася.',
@@ -4049,7 +4049,7 @@ MediaWiki распаўсюджваецца з надзеяй, што будзе
 'api-error-file-too-large' => 'Дасланы Вамі файл занадта вялікі.',
 'api-error-filename-tooshort' => 'Назва файла занадта кароткая.',
 'api-error-filetype-banned' => 'Гэты тып файла забаронены.',
-'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|забаронены тып файлаў|забароненыя тыпы файлаў}}. {{PLURAL:$3|Дазволены тып файлаў|Дазволеныя тыпы файлаў}}: $2.',
+'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|1=забаронены тып файлаў|забароненыя тыпы файлаў}}. {{PLURAL:$3|1=Дазволены тып файлаў|Дазволеныя тыпы файлаў}}: $2.',
 'api-error-filetype-missing' => 'У файла няма пашырэньня.',
 'api-error-hookaborted' => 'Прапанаваная Вамі зьмена была адхіленая апрацоўшчыкам пашырэньня.',
 'api-error-http' => 'Унутраная памылка: немагчыма далучыцца да сэрвэра.',
index add6007..7b7b6cb 100644 (file)
@@ -3349,8 +3349,8 @@ $1',
 'exif-gpslongitude-w' => 'западна дължина',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{plural:$1|метър|метра}} над морското равнище',
-'exif-gpsaltitude-below-sealevel' => '$1 {{plural:$1|метър|метра}} под морското равнище',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|метър|метра}} над морското равнище',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|метър|метра}} под морското равнище',
 
 'exif-gpsstatus-a' => 'Измерване в ход',
 'exif-gpsstatus-v' => 'Оперативна съвместимост на измерването',
index c3c332e..40f8875 100644 (file)
@@ -857,7 +857,7 @@ Pambakal nang manyunduk manjalasakan kaini: $1",
 Log masuk pauncitnya disadiakan di bawah gasan rujukan:",
 'semiprotectedpagewarning' => "'''Catatan:''' Tungkaran ngini sudah dilindungi nang akibatnya pamakai tadaptar haja nang kawa mambabak.
 Log masuk pauncitnya disadiakan di bawah gasan rujukan:",
-'cascadeprotectedwarning' => "'''Paringatan:''' Tungkaran ngini sudah dilindungi nang akibatnya pamakai awan hak istimiwa pambakal haja nang kawa mambabak, sualnya ngini tamasuk dalam baumpat parlindungan barénténg {{PLURAL: $1|tungkaran|tutungkaran}}:",
+'cascadeprotectedwarning' => "'''Paringatan:''' Tungkaran ngini sudah dilindungi nang akibatnya pamakai awan hak istimiwa pambakal haja nang kawa mambabak, sualnya ngini tamasuk dalam baumpat parlindungan barénténg {{PLURAL:$1|tungkaran|tutungkaran}}:",
 'titleprotectedwarning' => "'''Paringatan: Tungkaran ngini sudah dilindungi nang akibatnya [[Special:ListGroupRights|hak khas]] diparluakan hagan maulah ngini.'''
 Log masuk pauncitnya disadiakan di bawah gasan rujukan:",
 'templatesused' => '{{PLURAL:$1|Citakan|Citakan}} nang digunakan di tungkaran ngini:',
index a340fe5..06145ef 100644 (file)
@@ -13,6 +13,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # User preference toggles
 'tog-hideminor' => 'Yɛlɛmaliw kura fitini dogo',
index 4487567..dfb2c3b 100644 (file)
@@ -3889,7 +3889,7 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'duration-minutes' => '$1 {{PLURAL:$1|মিনিট|মিনিট}}',
 'duration-hours' => '$1 {{PLURAL:$1|ঘন্টা|ঘন্টা}}',
 'duration-days' => '$1 {{PLURAL:$1|দিন|দিন}}',
-'duration-weeks' => '{{PLURAL: $1|সপ্তাহ|সপ্তাহ}}',
+'duration-weeks' => '{{PLURAL:$1|সপ্তাহ|সপ্তাহ}}',
 'duration-years' => '$1 {{PLURAL:$1|বছর|বছর}}',
 'duration-decades' => '$1 {{PLURAL:$1|দশক|দশক}}',
 'duration-centuries' => '$1 {{PLURAL:$1|শতাব্দী|শতাব্দী}}',
index eedee7a..b29e16e 100644 (file)
@@ -1554,7 +1554,7 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'recentchanges-label-minor' => "Ur c'hemm dister eo hemañ",
 'recentchanges-label-bot' => "Gant ur bot eo bet degaset ar c'hemm-mañ.",
 'recentchanges-label-unpatrolled' => "N'eo ket bet gwiriet ar c'hemm-mañ evit c'hoazh.",
-'recentchanges-label-plusminus' => 'Kemmet he deus ment ar bajenn eus an niver-se a bitoù',
+'recentchanges-label-plusminus' => 'Kemmet eo ment ar bajenn eus an niver-mañ a oktedoù',
 'recentchanges-legend-newpage' => '(gwelet ivez [[Dibar:PajennoùNevez|roll ar pajennoù nevez krouet]])',
 'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an '''$2''' ('''$1''' d'ar muiañ).",
 'rclistfrom' => "Diskouez ar c'hemmoù diwezhañ abaoe an $1.",
index 2fc5d64..f20faea 100644 (file)
@@ -423,7 +423,7 @@ $messages = array(
 'article' => 'Članak',
 'newwindow' => '(otvara se u novom prozoru)',
 'cancel' => 'Poništite',
-'moredotdotdot' => 'Još...',
+'moredotdotdot' => 'Više...',
 'morenotlisted' => 'Ovaj spisak nije kompletan.',
 'mypage' => 'Korisnička stranica',
 'mytalk' => 'Razgovor',
@@ -1312,7 +1312,7 @@ Korištenje navigacionih linkova će resetovati ovaj stupac.',
 'showhideselectedversions' => 'Pokaži/sakrij odabrane verzije',
 'editundo' => 'ukloni ovu izmjenu',
 'diff-empty' => '(Nema razlike)',
-'diff-multi' => '({{plural:$1|Nije prikazana jedna međurevizija|Nisu prikazane $1 međurevizije|Nije prikazano $1 međurevizija}} od {{PLURAL:$2|jednog korisnika|$2 korisnika}})',
+'diff-multi' => '({{PLURAL:$1|Nije prikazana jedna međurevizija|Nisu prikazane $1 međurevizije|Nije prikazano $1 međurevizija}} od {{PLURAL:$2|jednog korisnika|$2 korisnika}})',
 'diff-multi-manyusers' => '({{PLURAL:$1|Jedna međurevizija|$1 međurevizije|$1 međurevizija}} od više od $2 {{PLURAL:$2|korisnika|korisnika}} {{PLURAL:$1|nije prikazana|nisu prikazane}})',
 'difference-missing-revision' => '{{PLURAL:$2|Jedna izmjena|$2 izmjene}} od ove razlike ($1) ne {{PLURAL:$2|postoji|postoje}}.
 
index 8202ea1..b4d79fb 100644 (file)
@@ -1065,6 +1065,9 @@ Se n'han omès els arguments.",
 'cantcreateaccounttitle' => 'No es pot crear el compte',
 'cantcreateaccount-text' => "[[User:$3|$3]] ha bloquejat la creació de comptes des d'aquesta adreça IP ('''$1''').
 
+El motiu donat per $3 és ''$2''",
+'cantcreateaccount-range-text' => "La creació de comptes des de les adreces IP en el rang '''$1''', que inclou la vostra adreça IP ('''$4'''), ha esta blocada per [[User:$3|$3]].
+
 El motiu donat per $3 és ''$2''",
 
 # History pages
@@ -2075,6 +2078,7 @@ Les entrades <del>ratllades</del> s\'han resolt.',
 'protectedpages' => 'Pàgines protegides',
 'protectedpages-indef' => 'Només proteccions indefinides',
 'protectedpages-cascade' => 'Només proteccions en cascada',
+'protectedpages-noredirect' => 'Amaga redireccions',
 'protectedpagesempty' => 'No hi ha cap pàgina protegida per ara',
 'protectedtitles' => 'Títols protegits',
 'protectedtitlesempty' => 'No hi ha cap títol protegit actualment amb aquests paràmetres.',
@@ -2350,6 +2354,7 @@ Vegeu $2 per a un registre dels esborrats més recents.",
 'delete-edit-reasonlist' => "Edita els motius d'eliminació",
 'delete-toobig' => "Aquesta pàgina té un historial d'edicions molt gran, amb més de $1 {{PLURAL:$1|canvi|canvis}}. L'eliminació d'aquestes pàgines està restringida per a prevenir que hi pugui haver un desajustament seriós de la base de dades de tot el projecte {{SITENAME}} per accident.",
 'delete-warning-toobig' => "Aquesta pàgina té un historial d'edicions molt gran, amb més de $1 {{PLURAL:$1|canvi|canvis}}. Eliminar-la podria suposar un seriós desajustament de la base de dades de tot el projecte {{SITENAME}}; aneu en compte abans dur a terme l'acció.",
+'deleting-backlinks-warning' => "'''Avís:''' Altres pàgines enllacen a la pàgina que esteu a punt de suprimir.",
 
 # Rollback
 'rollback' => 'Reverteix edicions',
index 6aea594..2161933 100644 (file)
@@ -332,7 +332,7 @@ $messages = array(
 'tog-editsection' => 'Гайта хьажораг «нисйе» аьлла хӀора агӀона',
 'tog-editsectiononrightclick' => 'Нисде дакъа шозза бакъехьар дахка тӀетаӀийча оцу кортан (JavaScript)',
 'tog-showtoc' => 'Гойти коьртнаш (оцу агlонашна лаххара 3 коьртнашца)',
-'tog-rememberpassword' => 'Ð\94аглаÑ\86а Ñ\81ан Ð´Ó\80аÑ\8fздаÑ\80 Ñ\85Ó\80окÑ\85Ñ\83 Ð±Ñ\80аÑ\83зеÑ\80ан Ñ\82Ó\80Ñ\8fÑ\85Ñ\8c (Ñ\86Ñ\85Ñ\8cан $1 {{PLURAL:$1|де|ден|динаÑ\85Ñ\8c}})',
+'tog-rememberpassword' => 'Ð\94аглаÑ\86а Ñ\81ан Ð´Ó\80аÑ\8fздаÑ\80 Ñ\85Ó\80окÑ\85Ñ\83 Ð±Ñ\80аÑ\83зеÑ\80ан Ñ\82Ó\80Ñ\8fÑ\85Ñ\8c (Ñ\86Ñ\85Ñ\8cан $1 {{PLURAL:$1|де|динаÑ\85Ñ\8c|ден}})',
 'tog-watchcreations' => 'ТӀетоха ас кхоьллина агӀонаш тергаме могӀам чу',
 'tog-watchdefault' => 'ТӀетоха ас нисйина агӀонаш тергаме могӀам чу',
 'tog-watchmoves' => 'ТӀетоха ас цӀераш хийцина агӀонаш тергаме могӀам чу',
@@ -439,19 +439,19 @@ $messages = array(
 'december-date' => 'Декабрь $1',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категори|Категореш}}',
+'pagecategories' => '{{PLURAL:$1|1=Категори|Категореш}}',
 'category_header' => 'Агlонаш оц категоречохь «$1»',
 'subcategories' => 'Бухаркатегореш',
 'category-media-header' => 'Файлаш оцу категори чохь «$1»',
 'category-empty' => "''ХӀара категори хӀинца йаьсса ю.''",
-'hidden-categories' => '{{PLURAL:$1|Къайлаха категори|Къайлаха йолу категореш}}',
+'hidden-categories' => '{{PLURAL:$1|1=Къайлаха категори|Къайлаха йолу категореш}}',
 'hidden-category-category' => 'Къайлаха йолу категореш',
-'category-subcat-count' => '{{PLURAL:$2|ХӀокху категори чохь ю хӀокхуьна бухар категори.|ХӀокху категори чохь ю $1 {{PLURAL:$1|бухара категори|бухара категореш}} $2 массо нах.}}',
-'category-subcat-count-limited' => 'Хlокх категори чохь {{PLURAL:$1|$1 бухар категори|$1 бухар категореша|$1 бухар категореш}}.',
-'category-article-count' => '{{PLURAL:$2|ХӀокху категори чохь яц цхьа агӀо бе.|{{PLURAL:$1|Гойташ $1 агӀо|Гойту $1 агӀонаш|Гойту $1 агӀонаш}} хӀокху категорешца кху $2.}}',
-'category-article-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 агӀо|$1 агӀонаш}}.',
-'category-file-count' => '{{PLURAL:$2|ХӀокху категори чохь цхьа файл бе яц.|{{PLURAL:$1|Гойта $1 файл|Гойту $1 файл|Гойту $1 файлаш}} хӀокху категорешца кху $2.}}',
-'category-file-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 файл|$1 файл|$1 файлаш}}.',
+'category-subcat-count' => '{{PLURAL:$2|1=ХӀокху категори чохь ю хӀокхуьна бухар категори.|ХӀокху категори чохь ю $1 {{PLURAL:$1|1=бухара категори|бухара категореш}} $2 массо нах.}}',
+'category-subcat-count-limited' => 'Хlокх категори чохь {{PLURAL:$1|$1 бухар категори|$1 бухар категореш|$1 бухар категореша}}.',
+'category-article-count' => '{{PLURAL:$2|1=ХӀокху категори чохь яц цхьа агӀо бе.|{{PLURAL:$1|1=Гойташ $1 агӀо|Гойту $1 агӀонаш}} хӀокху категорешца кху $2.}}',
+'category-article-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|1=$1 агӀо|$1 агӀонаш}}.',
+'category-file-count' => '{{PLURAL:$2|ХӀокху категори чохь цхьа файл бе яц.|{{PLURAL:$1|Гойта $1 файл|Гойту $1 файлаш|Гойту $1 файл}} хӀокху категорешца кху $2.}}',
+'category-file-count-limited' => 'ХӀокх категори чохь {{PLURAL:$1|$1 файл|$1 файлаш|$1 файл}}.',
 'listingcontinuesabbrev' => '(кхин дlа)',
 'index-category' => 'Меттигтерахьйо агlонаш',
 'noindex-category' => 'ДӀахьушйоцу агӀонаш',
@@ -519,7 +519,7 @@ $messages = array(
 'delete' => 'ДӀаяккха',
 'deletethispage' => 'ДӀаяккха хӀара агӀо',
 'undeletethispage' => 'ХӀара агӀо меттахӀоттор',
-'undelete_short' => 'МеттахӀоттайé $1 {{PLURAL:$1|нисйинарг|нисйинарш}}',
+'undelete_short' => 'МеттахӀоттайé $1 {{PLURAL:$1|1=нисйинарг|нисйинарш}}',
 'viewdeleted_short' => 'Хьажар {{PLURAL:$1|$1 дlадаьккхина нийсдар|$1 дlадаьхна нийсдарш|$1 дlадаьхна нийсдарш}}',
 'protect' => 'Гlаролла дé',
 'protect_change' => 'хийца',
@@ -583,7 +583,7 @@ $1',
 
 'badaccess' => 'ТӀекхачарехь гӀалат',
 'badaccess-group0' => 'Шуьга кхочуш далур дац дехарца деш дерг',
-'badaccess-groups' => 'Дехарца деш дерг кхочуш далундерш бу хӀара декъашхой оцу {{PLURAL:$2|тобанашах|тобанах}} $1.',
+'badaccess-groups' => 'Дехарца деш дерг кхочуш далундерш бу хӀара декъашхой оцу {{PLURAL:$2|1=тобанашах|тобанах}} $1.',
 
 'versionrequired' => 'Оьшу MediaWiki тайпанара $1',
 'versionrequiredtext' => 'Болх бан хӀоку агӀонца оьшу MediaWiki тайпан $1. Хьажа. [[Special:Version|лелочу тайпанара башхонах лаьцна хаам]].',
@@ -593,7 +593,7 @@ $1',
 'pagetitle-view-mainpage' => '{{SITENAME}}',
 'retrievedfrom' => 'Хьост — «$1»',
 'youhavenewmessages' => 'Хьуна кхечи $1 ($2).',
-'youhavenewmessagesfromusers' => 'Хьуна кхачанна $1 {{PLURAL:$3|$3 декъашхочунгара|$3 декъашхошкара}} ($2).',
+'youhavenewmessagesfromusers' => 'Хьуна кхачанна $1 {{PLURAL:$3|1=$3 декъашхочунгара|$3 декъашхошкара}} ($2).',
 'youhavenewmessagesmanyusers' => 'Хьона еъна $1 дукху декъашхошкар ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|керла хаам|999=керла хаамаш}}',
 'newmessagesdifflinkplural' => '{{PLURAL:$1|тӀаьхьара бина хийцам|999=тӀаьхьара бина хийцамаш}}',
@@ -610,8 +610,8 @@ $1',
 'collapsible-collapse' => 'къайлаяккха',
 'collapsible-expand' => 'хьайаста',
 'thisisdeleted' => 'Хьажа я меттахӀоттайé $1?',
-'viewdeleted' => 'Ð¥Ñ\8cалÑ\85Ñ\85Ñ\8cожи $1?',
-'restorelink' => '{{PLURAL:$1|$1 дӀадаьккхина нийсдар|$1 дӀадяхна нийсдарш}}',
+'viewdeleted' => 'Ð¥Ñ\8cожий $1?',
+'restorelink' => '{{PLURAL:$1|1=$1 дӀадаьккхина нийсдар|$1 дӀадяхна нийсдарш}}',
 'feedlinks' => 'Оцу хатlаьхь:',
 'feed-invalid' => 'Тайпан нийсадоцу талол оцу куьгтаlорна.',
 'feed-unavailable' => 'Хаитарца йолу асанаш тlекхочучехь яц',
@@ -630,7 +630,7 @@ $1',
 'nstab-user' => 'Декъашхо',
 'nstab-media' => 'Медиа агӀо',
 'nstab-special' => 'Белха агlо',
-'nstab-project' => 'Ð\9fÑ\80оекÑ\82еÑ\85',
+'nstab-project' => 'Ð\9fÑ\80оекÑ\82аÑ\85 Ð»Ð°Ñ\8cÑ\86на',
 'nstab-image' => 'Файл',
 'nstab-mediawiki' => 'Хаам',
 'nstab-template' => 'Кеп',
@@ -691,15 +691,17 @@ URL язъеш гӀалат даьлла хила мега.
 'no-null-revision' => '«$1» агӀона нисдар дан цаделира',
 'badtitle' => 'Цамегаш йолу цlе',
 'badtitletext' => 'Дехарца йолу агlонан цlе нийса яц, йаьсса ю, хила мега нийса ца хlоттийна меттаюкъар йа юкъарвики цlе. Хила мега, цlарца цамагош йолу саберг.',
-'perfcached' => 'Лахара хаам схьаэца кэша чура цундела тӀехьарлаьра хийцамаш гойтуш бац. Кэша чохь латтаё оцул $1  кӀезиг {{PLURAL:$1|дӀаяздар|дӀаяздарш}}.',
-'perfcachedts' => 'Лахара хаам схьаэца кэша чура иза тӀаьхьара карла ялла $1. Кэша чохь латта до оцул $4 кӀезиг {{PLURAL:$4|дӀаяздар|дӀаяздарш}}.',
+'perfcached' => 'Лахара хаам схьаэца кэша чура цундела тӀехьарлаьра хийцамаш гойтуш бац. Кэша чохь латтаё оцул $1  кӀезиг {{PLURAL:$1|1=дӀаяздар|дӀаяздарш}}.',
+'perfcachedts' => 'Лахара хаам схьаэца кэша чура иза тӀаьхьара карла ялла $1. Кэша чохь латта до оцул $4 кӀезиг {{PLURAL:$4|1=дӀаяздар|дӀаяздарш}}.',
 'querypage-no-updates' => 'ХӀинца хӀара агӀо карлаякхар дӀадайина ду.
 Кхузахь гайтина болу хаамаш карла боккхур бац.',
 'viewsource' => 'Хьажар',
 'viewsource-title' => 'Агӏона $1 дуьххьарлера йозане хьажар',
 'actionthrottled' => 'Сиххалин доза тохар',
+'actionthrottledtext' => 'Спам цахилийта хӀара дешдерг кӀезиг хенахь дукху ца дайта дихкина ду. Дехар до массийта минот яьлча гӀорта.',
 'protectedpagetext' => 'ХӀара агӀо дӀакъойлина йу рé цадаккхийта.',
 'viewsourcetext' => 'Хьоьга далундерг хьажар а дезахь хlокху агlон чура йоза хьаэцар:',
+'viewyourtext' => "Хьан йиш ю '''хьой нисдинчу''' дӀадолалун йозе хьажа а цуна копи ян а:",
 'protectedinterface' => 'ХӀара схьгайтарна гӀирса хаамаш латтош йолу агӀо ю. Куьйгалхошна бен иза хийца цало.',
 'editinginterface' => "'''Тергам бе:''' Ахьа таеш ю интерфейсан йоза долу агӀо програмин латторан.
 Цуна бина хийцам хьокху википедин кхечу декъашхошна гур бу.
@@ -711,6 +713,7 @@ URL язъеш гӀалат даьлла хила мега.
 'mycustomjsprotected' => 'Хьан бакъо яц JavaScript агӀо тая.',
 'myprivateinfoprotected' => 'Хьайн долара хаамна хийцам ба хьа йиш яц',
 'mypreferencesprotected' => 'Хьай гӀирс нисбан хьа бакъо яц.',
+'ns-specialprotected' => 'ХӀокху «{{ns:special}}» цӀерийн меттигашан агӀонаш таян йиш яц.',
 'exception-nologin' => 'ХӀинца а ахьа системин чохь болх беш бац',
 
 # Virus scanner
@@ -778,9 +781,9 @@ URL язъеш гӀалат даьлла хила мега.
 'createacct-submit' => 'Кхолла декъашхочун дӀаяздар',
 'createacct-another-submit' => 'Кхолла декъашхочун кхин дӀаяздар',
 'createacct-benefit-heading' => '{{SITENAME}} кхолийна хьо санначу наха.',
-'createacct-benefit-body1' => '{{PLURAL:$1|нисдар|нисдарш}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|яззам|яззамаш}}',
-'createacct-benefit-body3' => '{{PLURAL:$1|декъашхо|декъашхой}} тӀаьхьарачу хенахь',
+'createacct-benefit-body1' => '{{PLURAL:$1|1=нисдар|нисдарш}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|1=яззам|яззамаш}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|1=декъашхо|декъашхой}} тӀаьхьарачу хенахь',
 'badretype' => 'Ахьа язъен ишарш цхьатера яц',
 'userexists' => 'Ахьа язъен декъашхочун цӀе йолуш ю, дехар до кхин цӀе харжар.',
 'loginerror' => 'Гlалат ду декъашхо вовзарехь/йовзарехь',
@@ -799,7 +802,7 @@ URL язъеш гӀалат даьлла хила мега.
 'login-userblocked' => 'ХӀара декъашхо блоктоьхна ву/ю. Системин чувала/яла магийна дац.',
 'wrongpassword' => 'Ахьа язйина йолу пароль нийса яц. Хьажа юху цхьаъз.',
 'wrongpasswordempty' => 'Дехар до, язъе еса йоцу пароль.',
-'passwordtooshort' => 'Пароль хилла еза $1 {{PLURAL:$1|символ|символаш}} йолуш.',
+'passwordtooshort' => 'Пароль хилла еза $1 {{PLURAL:$1|1=символ|символаш}} йолуш.',
 'password-name-match' => 'Язъен пароль декъашхочун дӀаяздарал башха хила еза.',
 'password-login-forbidden' => 'Иштта декъашхочун цӀе а пароль а лелаян цамаго.',
 'mailmypassword' => 'Пароль кхоссар',
@@ -824,6 +827,7 @@ URL язъеш гӀалат даьлла хила мега.
 'usernamehasherror' => 'Декъашхочун цӀеран юкъахь хийла ца еза «цаца»',
 'login-throttled' => 'Хьо дукха гӀиртира.
 Дехар до, собар де $1 юха гӀортале.',
+'login-abort-generic' => 'Сестемин довзийта тарцаделира',
 'loginlanguagelabel' => 'Мотт: $1',
 
 # Change password dialog
@@ -833,11 +837,14 @@ URL язъеш гӀалат даьлла хила мега.
 'oldpassword' => 'Шираелла пароль:',
 'newpassword' => 'Керла пароль:',
 'retypenew' => 'Юха язъйе керла пароль:',
+'resetpass_submit' => 'Пароль дӀахӀоттийна системин чугӀо',
+'changepassword-success' => 'Хьан пароль кхиамца хийцина!',
 'resetpass_forbidden' => 'Пароль хийца йиш яц',
 'resetpass-no-info' => 'ХӀара агӀо лело системин чугӀо.',
 'resetpass-submit-loggedin' => 'Хийца пароль',
 'resetpass-submit-cancel' => 'Цаоьшу',
 'resetpass-temp-password' => 'Цхьан хана пароль:',
+'resetpass-abort-generic' => 'Пароль хийцар дӀахедар',
 
 # Special:PasswordReset
 'passwordreset' => 'Пароль кхоссар',
@@ -845,7 +852,14 @@ URL язъеш гӀалат даьлла хила мега.
 'passwordreset-legend' => 'Пароль кхоссар',
 'passwordreset-username' => 'Декъашхочун цӀе:',
 'passwordreset-domain' => 'Домен:',
+'passwordreset-capture' => 'Хьажа беанчу хааме?',
 'passwordreset-email' => 'Электронни почтан адрес:',
+'passwordreset-emailtitle' => '{{SITENAME}}: декъашхочун дӀаяздарх лаьцна хаам',
+'passwordreset-emailelement' => 'Декъашхочун цӀе: $1
+Ханна йолу пароль: $2',
+'passwordreset-emailsent' => 'Электронан хаам баийтина кхоьссинчу паролах лаьцна хаам чохь болуш.',
+'passwordreset-emailsent-capture' => 'Электронан хаам баийтина кхоьссинчу паролах лаьцна хаам чохь болуш. 
+цуна йозане хьажа йиш ю лахахь.',
 
 # Special:ChangeEmail
 'changeemail' => 'Хийца электрони почт',
@@ -864,6 +878,7 @@ URL язъеш гӀалат даьлла хила мега.
 'resettokens-text' => 'Хьан йиш ю токенаш кхосса, цара йиш хуьлуьйту цхьаболу долара хаамашна тӀекхача, уьш ю хьан дӀаяздар ца вовшахтесна. 
 
 Хьона иза оьшу, ахьа хьай токенаш цхьам гучу яьхна елахь я хьан аккаунт йохийна елахь.',
+'resettokens-no-tokens' => 'Кхосса токенаш яц.',
 'resettokens-legend' => 'Токенаш кхоссар',
 'resettokens-tokens' => 'Токенаш:',
 'resettokens-token-label' => '$1 (карара маьӀна: $2)',
@@ -903,13 +918,18 @@ URL язъеш гӀалат даьлла хила мега.
 'showdiff' => 'Хlоттина болу хийцам',
 'anoneditwarning' => "'''Тергам бе''': Ахьа хьай цӀарца тадарш деш дац. Хьан IP-адрес дӀаяздина хира ду хӀокху агӀон истори чу.",
 'anonpreviewwarning' => "''Системин чу цагӀахь хьан IP-адрес агӀона истори чу дӀаяз лур ду.''",
+'missingcommenttext' => 'Дехар до дӀаязбе хайн хаам лахахь.',
 'summary-preview' => 'Цуьнах лаьцна хирду:',
+'subject-preview' => 'Коьрта могӀа хира бу:',
 'blockedtitle' => 'Декъашхочун блоктоьхана',
+'blockednoreason' => 'бахьана билгалдина дац',
+'whitelistedittext' => 'Ахьа да деза $1 агӀона хийцамаш бан.',
 'nosuchsectiontitle' => 'Дакъа каро йиш яц.',
 'nosuchsectiontext' => 'Хьо гӀерта доцу дакъа тадан.
 Хьо хӀокху агӀоне хьоьжучу хенахь иза кхечухьа деккхина я дӀадаьккхина хела тарло.',
 'loginreqtitle' => 'Хьай цӀарца чугӀо',
 'loginreqlink' => 'Логин',
+'loginreqpagetext' => 'Ахьа да деза $1, кхин агӀонаш хьажа.',
 'accmailtitle' => 'Пароль дlаяхьийтина.',
 'accmailtext' => "Пароль декъашхочуьна [[User talk:$1|$1]], йина ша шех хитта делла чу элпашах, дlаяхийтина хьокху $2 адрес тӀе.
 
@@ -980,18 +1000,19 @@ URL язъеш гӀалат даьлла хила мега.
 Лахахьа гойту хаамаш тlаьхьара бина болу хийцамна тептар чура:",
 'cascadeprotectedwarning' => '<div id="cascadeprotectedwarning" style="border:1px solid #ee0; padding:10px; background:#ffa; margin-bottom:1em">[[file:Padlock.svg|left|25px|ДовгӀа|link=]]
 ХӀара агӀо тада бакъо йолуш [[Project:Куьйгалхой|куьйгалхой]] бу, хӀунда аьлча и агӀо латийна кхечу агӀонашца хӀоттделлачу гӀаролле:</div>',
-'templatesused' => '{{PLURAL:$1|Кеп, лелийна|Кепаш, лелош ду}} хlокху агlон башхонца:',
-'templatesusedpreview' => '{{PLURAL:$1|Кеп, лелошдолу|Кепаш, лелошдолу}} оцу хьалх хьожучу агlонца:',
-'templatesusedsection' => 'ХӀокху декъан чохь {{PLURAL:$1|лелош йолу кеп|лелош йолу кепаш}}:',
+'templatesused' => '{{PLURAL:$1|1=Кеп, лелийна|Кепаш, лелош ду}} хlокху агlон башхонца:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Кеп, лелошдолу|Кепаш, лелошдолу}} оцу хьалх хьожучу агlонца:',
+'templatesusedsection' => 'ХӀокху декъан чохь {{PLURAL:$1|1=лелош йолу кеп|лелош йолу кепаш}}:',
 'template-protected' => '(гlароллийца)',
 'template-semiprotected' => '(дуьззина доцуш гlаролла)',
-'hiddencategories' => 'ХӀара агӀо чуйогӀуш ю оцу $1 {{PLURAL:$1|къайлаха категори чу|къайлаха категореш чу}}:',
+'hiddencategories' => 'ХӀара агӀо чуйогӀуш ю оцу $1 {{PLURAL:$1|1=къайлаха категори чу|къайлаха категореш чу}}:',
 'edittools' => '<!-- Кхузе буха диллина йоза гуш хир ду редоккхуче бухахь а хlума чуйоккхуче бухахь. -->',
+'nocreate-loggedin' => 'Хьан бакъо яц керла агӀонаш кхолла.',
 'sectioneditnotsupported-title' => 'Дакъош тадар ловш дац',
 'sectioneditnotsupported-text' => 'ХӀокху агӀорахь дакъош тадар ловш дац',
 'permissionserrors' => 'ТӀекхачаре бакъона гӀалат',
-'permissionserrorstext' => 'Хьан бакъо яц кхочуш хилийта хийцам оцу {{PLURAL:$1|шолгlа бахьанца|шолгlа бахьанашца}}:',
-'permissionserrorstext-withaction' => "Хьан бакъо яц хlумда «'''$2'''» оцу {{PLURAL:$1|шолгlа бахьанца|шолгlа бахьанашца}}:",
+'permissionserrorstext' => 'Хьан бакъо яц кхочуш хилийта хийцам оцу {{PLURAL:$1|1=шолгlа бахьанца|шолгlа бахьанашца}}:',
+'permissionserrorstext-withaction' => "Хьан бакъо яц хlумда «'''$2'''» оцу {{PLURAL:$1|1=шолгlа бахьанца|шолгlа бахьанашца}}:",
 'recreate-moveddeleted-warn' => "'''Тидам бе. Ахьа кхуллуш ю, хьалхо дӀаяьккхина йолу агӀо.'''
 
 Хьажа, билгалла оьши хьуна хӀара агӀо юха кхолла.
@@ -1014,6 +1035,8 @@ URL язъеш гӀалат даьлла хила мега.
 'content-not-allowed-here' => 'Чулацам "$1" [[$2]] агӀонгахь хилийта йиш яц',
 
 # Content models
+'content-model-wikitext' => 'вики-йоза',
+'content-model-text' => 'цхьалхе йоза',
 'content-model-javascript' => 'JavaScript',
 'content-model-css' => 'CSS',
 
@@ -1073,8 +1096,8 @@ URL язъеш гӀалат даьлла хила мега.
 'revdelete-nooldid-title' => 'Билгалйина яц Ӏалашонан верси',
 'revdelete-nooldid-text' => 'Ахьа хӀара функци кхочушъян билгалйина яц Ӏалашонан верси (я версеш).',
 'revdelete-show-file-submit' => 'Хlаъ',
-'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|къастина верси|къастина версеш}}:'''",
-'logdelete-selected' => "'''Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:'''",
+'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|1=къастина верси|къастина версеш}}:'''",
+'logdelete-selected' => "'''Тептар чура {{PLURAL:$1|1=хаьржина дӀаяздар|хаьржина дӀаяздарш}}:'''",
 'revdelete-text' => "'''ДӀаяхна агӀонашан версеш а хелларш а гуш хир ду агӀона истори а тептаран а чохь, амма цара чулацам куьйгалхошна бен тӀекхочу чохь хир бац.'''
 {{SITENAME}} проектан куьйгалхойн йиш хир ю хӀокху интерфейс чухула дӀааьхинарш меттахӀотта я.",
 'revdelete-confirm' => 'Дехар до, бакъдар ахьа деш дерг [[{{MediaWiki:Policy-url}}|бакъонашца]] деш хилар.',
@@ -1085,14 +1108,18 @@ URL язъеш гӀалат даьлла хила мега.
 'revdelete-hide-comment' => 'Хийцамах лаьцнарг',
 'revdelete-hide-user' => 'Къайлаяккха авторан цӀе',
 'revdelete-radio-same' => '(ма хийца)',
-'revdelete-radio-set' => 'Хlаъ',
-'revdelete-radio-unset' => 'Хlахlа',
+'revdelete-radio-set' => 'Къайлаяьккхина',
+'revdelete-radio-unset' => 'Гуш ерг',
+'revdelete-suppress' => 'Къайлабаха хаамаш куьйгалхойх а',
+'revdelete-unsuppress' => 'МеттахӀоьттина версешан дихкар къайладаккха',
 'revdelete-log' => 'Бахьан:',
-'revdelete-submit' => 'Кхочушде {{PLURAL:$1|къастина версин|къастина версешан}}',
+'revdelete-submit' => 'Кхочушде {{PLURAL:$1|1=къастина версин|къастина версешан}}',
 'revdelete-success' => "'''Версеш гуш хилар кхиамца хийцина.'''",
 'revdelete-failure' => "'''Версеш гуш хилар хийца йиш яц:'''
 $1",
 'logdelete-success' => 'Хиларг гуш хилар хийцина.',
+'logdelete-failure' => "'''Тептаран гуш хилар хӀоттина дац:'''
+$1",
 'revdel-restore' => 'Хийцам бе схьагарехь',
 'pagehist' => 'АгӀона истори',
 'deletedhist' => 'ДӀаяккхаран истори',
@@ -1105,9 +1132,20 @@ $1",
 'revdelete-otherreason' => 'Кхин бахьна/тӀетохар:',
 'revdelete-reasonotherlist' => 'Кхин бахьан',
 'revdelete-edit-reasonlist' => 'Бахьанин список нисяр',
+'revdelete-offender' => 'АгӀона версен автор:',
+
+# Suppression log
+'suppressionlog' => 'Хьулдаран тептар',
 
 # History merging
+'mergehistory' => 'Нисдарин истори цхьаьнатохар',
+'mergehistory-box' => 'Шин агӀона нисдарин истори цхьаьнатохар:',
 'mergehistory-from' => 'Дуьххьарлера агӀоно',
+'mergehistory-into' => 'Ӏалашонан агӀо:',
+'mergehistory-list' => 'Цхьаьнатухуш долу нисдарин истори',
+'mergehistory-go' => 'Гайта цхьаьнатухуш долу нисдарш',
+'mergehistory-submit' => 'Цхьаьнатоха нисдарш',
+'mergehistory-empty' => 'Цхьаьнатоха нисдарш цакарий.',
 'mergehistory-fail' => 'АгӀонийн истореш вовшахтоха цаделира, дехар до агӀона параметаршка а хене а хьажа.',
 'mergehistory-invalid-source' => 'Хьостан нийса корта хила еза.',
 'mergehistory-invalid-destination' => 'Юзийна агӀона нийса корта хила еза.',
@@ -1126,17 +1164,17 @@ $1",
 'showhideselectedversions' => 'Гайта/къайлаяха хаьржина башхонаш',
 'editundo' => 'цаоьшу',
 'diff-empty' => '(башхалла яц)',
-'diff-multi' => '({{PLURAL:$1|гайтина яц $1 юккъера верси|гайтина яц $1 юккъера версеш}} {{PLURAL:$2|$2 декъашхочун|$2 декъашхой}})',
+'diff-multi' => '({{PLURAL:$1|1=гайтина яц $1 юккъера верси|гайтина яц $1 юккъера версеш}} {{PLURAL:$2|1=$2 декъашхочун|$2 декъашхой}})',
 
 # Search results
 'searchresults' => 'Лахарна хилам',
 'searchresults-title' => 'Лаха «$1»',
 'notextmatches' => 'Агlонаш чура йозанашца цхьатера йогlуш яц',
-'prevn' => '{{PLURAL:$1|хьалхарниг $1|хьалхарнаш $1|хьалхарнаш $1}}',
-'nextn' => '{{PLURAL:$1|тlаьхьйогlург $1|тlаьхьйогlурш $1|тlаьхьйогlурш $1}}',
-'prevn-title' => '{{PLURAL:$1|Хьалхара $1 дӀаяздар|Хьалхара $1 дӀаяздарш}}',
-'nextn-title' => '{{PLURAL:$1|ТӀаьхьара $1 дӀаяздар|ТӀаьхьара $1 дӀаяздарш}}',
-'shown-title' => 'АгӀона чохь $1 {{PLURAL:$1|дӀаяздар|дӀаяздарш}} гайта',
+'prevn' => 'хьалхарнаш {{PLURAL:$1|$1}}',
+'nextn' => 'тӀаьхьйогӀурш {{PLURAL:$1|$1}}',
+'prevn-title' => '{{PLURAL:$1|1=Хьалхара $1 дӀаяздар|Хьалхара $1 дӀаяздарш}}',
+'nextn-title' => '{{PLURAL:$1|1=ТӀаьхьара $1 дӀаяздар|ТӀаьхьара $1 дӀаяздарш}}',
+'shown-title' => 'АгӀона чохь $1 {{PLURAL:$1|1=дӀаяздар|дӀаяздарш}} гайта',
 'viewprevnext' => 'Хьажа ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''ХӀокху вики чохь йолуш ю ишта агӀо «[[:$1]]»'''",
 'searchmenu-new' => "'''Кхолла ишта агlо «[[:$1]]» хlокху вики-кхолламашчохь!'''",
@@ -1151,7 +1189,7 @@ $1",
 'searchprofile-everything-tooltip' => 'Лаха массо агlонашкахь (дийцаре агlонашцани)',
 'searchprofile-advanced-tooltip' => 'Лаха дехарца хlокху ана цlерашкахь',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 дош|$2 дешнаш|$2 дешнаш}})',
-'search-result-category-size' => '$1 {{PLURAL:$1|юкъаяр}} ($2 {{PLURAL:$2|бухара категори|бухара категореш}}, $3 {{PLURAL:$3|файл|файлаш}}).',
+'search-result-category-size' => '$1 {{PLURAL:$1|юкъаяр}} ($2 {{PLURAL:$2|1=бухара категори|бухара категореш}}, $3 {{PLURAL:$3|1=файл|файлаш}}).',
 'search-redirect' => '(дlасахьажийна $1)',
 'search-section' => '(дакъа $1)',
 'search-suggest' => 'Хила мега ахьа лоьхарг: $1',
@@ -1162,7 +1200,7 @@ $1",
 'searchrelated' => 'хlоттаделларг',
 'searchall' => 'массо',
 'showingresults' => 'Лахахьа {{PLURAL:$1|гойта|гойту|гойту}} <strong>$1</strong> {{PLURAL:$1|хилам|хиламаш|хиламаш}}, дlаболало кху № <strong>$2</strong>.',
-'showingresultsheader' => "{{PLURAL:$5|Хилам '''$1''' кху '''$3'''|Хиламаш '''$1 — $2''' кху '''$3'''}} оцун '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|1=Хилам '''$1''' кху '''$3'''|Хиламаш '''$1 — $2''' кху '''$3'''}} оцун '''$4'''",
 'search-nonefound' => 'Дехаре терра цхьа хӀума ца карийна.',
 'powersearch-legend' => 'Шуьро лахар',
 'powersearch-ns' => 'Цlераши анахь лахар:',
@@ -1236,7 +1274,7 @@ $1",
 'youremail' => 'Кехат яздо зlе цlе:',
 'username' => '{{GENDER:$1|Декъашхочун цӀе}}:',
 'uid' => 'Декъашхочун {{GENDER:$1|код}}:',
-'prefs-memberingroups' => '{{GENDER:$2|Тобана|Тобана}} {{PLURAL:$1|декъашхо|декъашхо}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Тобана|Тобана}} {{PLURAL:$1|1=декъашхо|декъашхо}}:',
 'prefs-registration' => 'ДӀаяздар кхолийна хан:',
 'yourrealname' => 'Хьан бакъ цlе:',
 'yourlanguage' => 'Мотт:',
@@ -1251,7 +1289,7 @@ $1",
 И хаам массарна гуш хир бу.',
 'email' => 'Email',
 'prefs-help-email' => 'Электрони почтан адрес цахlоттийча аъ хlумма дац, амма иза оьшар ю, нагахь хьуна хьай пароль йицлахь.',
-'prefs-help-email-others' => 'Ð\9aÑ\85ин Ð´Ó\80а Ñ\86о ÐºÑ\85еÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88на Ð¹Ð¸Ñ\88 Ñ\85Ñ\83Ñ\8cлÑ\83Ñ\8cйÑ\82Ñ\83 Ñ\85Ñ\8cога Ñ\8dлекÑ\82Ñ\80онни ÐºÐµÑ\85аÑ\82 Ð´Ð°Ð¸Ð¹Ñ\82а Ñ\85Ñ\8cан Ð°Ð³Ó\80она Ñ\87оÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\85Ñ\8cажоÑ\80иган Ð³Ó\80онца.',
+'prefs-help-email-others' => 'Ð\9aÑ\85ин Ð´Ó\80а Ñ\86о ÐºÑ\85еÑ\87Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85оÑ\88на Ð¹Ð¸Ñ\88 Ñ\85Ñ\83Ñ\8cлÑ\83Ñ\8cйÑ\82Ñ\83 Ñ\85Ñ\8cога Ñ\8dлекÑ\82Ñ\80онан ÐºÐµÑ\85аÑ\82 Ð´Ð°Ð¸Ð¹Ñ\82а Ñ\85Ñ\8cан Ð°Ð³Ó\80она Ñ\87оÑ\85Ñ\8c Ð¹Ð¾Ð»Ñ\83 Ñ\85Ñ\8cажоÑ\80иган Ð³Ó\80оÑ\8cнца.',
 'prefs-info' => 'Коьрта хаам',
 'prefs-i18n' => 'Юкъардекъа мотт',
 'prefs-signature' => 'КуьгтаӀор',
@@ -1324,7 +1362,7 @@ $1",
 'right-move' => 'АгӀонашан цӀераш хийцар',
 'right-move-subpages' => 'АгӀонашан цӀераш хийцар цера бухара агӀонашцан',
 'right-move-rootuserpages' => 'декъашхочун ораман агӀонийн цӀераш хийцар',
-'right-movefile' => 'ФайланÑ\88и цӀе хийцар',
+'right-movefile' => 'Файлийн цӀе хийцар',
 'right-suppressredirect' => 'агӀона цӀе хуьйцуш ширчу цӀарах ма кхолла дӀасахьажаяр',
 'right-upload' => 'Файлаш чуйаьхар',
 'right-reupload' => 'йолуш йолу чера тӀехула файлаш дӀаязъяр',
@@ -1373,6 +1411,7 @@ $1",
 'right-import' => 'кхечу википедешкара агӀонаш импорт ян',
 'right-importupload' => 'файлаш чуяхарца агӀонаш импорт ян',
 'right-patrol' => 'нисдарш хьаьжна сана билгалдар',
+'right-autopatrol' => 'нисдарш хьаьжна сана автоматически билгалдан',
 'right-patrolmarks' => 'керла нисдарийн хьаьжна билгалонашка хьажар',
 'right-unwatchedpages' => 'тергамехь йоцу агӀонийн могӀане хьажар',
 'right-mergehistory' => 'агӀонаш вовшахтохар',
@@ -1490,7 +1529,7 @@ $1",
 Хьайгахь хӀара сурт дика барамехь делахь, дехар до, чудаккха и я файлан цӀе хийца.',
 'fileexists-forbidden' => 'Иштта цӀе йолу файл йолуш ю цундела тӀехула дӀаязян йиш яц.
 ТӀаккха а хьара файл чуяккха лууш делахь, дехар до, юха а гӀой файлан цӀе хийца а яй чуяккха файл. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'ХӀара файл лахарчу {{PLURAL:$1|файлан|файлийн}} дубликат ю:',
+'file-exists-duplicate' => 'ХӀара файл лахарчу {{PLURAL:$1|1=файлан|файлийн}} дубликат ю:',
 'file-deleted-duplicate' => 'Иштта файл ([[:$1]]) хӀинцале дӀаяьккхина хилла. Дехар до, юху файл чуяккхале файл дӀаяккхаран историга хьажа.',
 'uploadwarning' => 'Дlахьедар',
 'uploadwarning-text' => 'Дехар до, лахара файлах лаьцнарг хийца а дай юху а гӀорта файл чуяккха.',
@@ -1558,7 +1597,7 @@ PICT # тайп тайпан
 'filehist-filesize' => 'Файлан барам',
 'filehist-comment' => 'Билгалдаккхар',
 'imagelinks' => 'Файл лелор',
-'linkstoimage' => '{{PLURAL:$1|ТӀаьхьайогӀу $1 агӀо тӀетойжина|ТӀаьхьайогӀу $1 агӀонаш тӀетойжина|ТӀаьхьайогlу $1 агӀонаш тӀетойжина}} хӀокху файлан:',
+'linkstoimage' => '{{PLURAL:$1|ТӀаьхьайогӀу $1 агӀо тӀетойжина|ТӀаьхьайогlу $1 агӀонаш тӀетойжина|ТӀаьхьайогӀу $1 агӀонаш тӀетойжина}} хӀокху файлан:',
 'nolinkstoimage' => 'АгӀонашчохь файл лелош яц.',
 'sharedupload' => 'ХӀара хӀума оцун $1 чура ю иза хила мега лелош кхечу проекташкахь.',
 'sharedupload-desc-here' => 'ХӀара файл $1 чура ю и лело йиш ю массо проекташкахь.
@@ -1634,7 +1673,7 @@ PICT # тайп тайпан
 'statistics-edits-average' => 'Юккъера агӀонан нисдаран терахь',
 'statistics-users' => '[[ВП:Дlаязвалар|Дlаязбелларш]] шаберигге декъашхой чохь болу [[Special:ListUsers|(могlам)]]',
 'statistics-users-active' => 'Жигара декъашхой',
-'statistics-users-active-desc' => 'Декъашхой, муьлха цхьа хlум дина болу, кху {{PLURAL:$1|тlаьххьара $1 динахь|тlаьххьара $1 дийнахь}}',
+'statistics-users-active-desc' => 'Декъашхой, муьлха цхьа хlум дина болу, кху {{PLURAL:$1|1=тlаьххьара $1 динахь|тlаьххьара $1 дийнахь}}',
 
 'pageswithprop' => 'АгӀонаш цхьадолу къастамашца',
 'pageswithprop-legend' => 'АгӀонаш цхьадолу къастамашца',
@@ -1660,9 +1699,9 @@ PICT # тайп тайпан
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байт}}',
 'ncategories' => '$1 {{PLURAL:$1|категори|категореш|категореш}}',
-'ninterwikis' => '$1 {{PLURAL:$1|юкъарвики-хьажораг|юкъарвики-хьажорагаш}}',
-'nlinks' => '$1 {{PLURAL:$1|хьажораг|хьажорагаш}}',
-'nmembers' => '$1 {{PLURAL:$1|хӀума|хӀумнаш}}',
+'ninterwikis' => '$1 {{PLURAL:$1|1=юкъарвики-хьажораг|юкъарвики-хьажорагаш}}',
+'nlinks' => '$1 {{PLURAL:$1|1=хьажораг|хьажорагаш}}',
+'nmembers' => '$1 {{PLURAL:$1|1=хӀума|хӀумнаш}}',
 'nimagelinks' => 'Лелош ю $1 {{PLURAL:$1|агӀоначохь|агӀонашкахь|агӀонашкахь}}',
 'ntransclusions' => 'лелош ю $1 {{PLURAL:$1|агӀоначохь|агӀонашкахь|агӀонашкахь}}',
 'specialpage-empty' => 'Дехаро хӀумма ца елла.',
@@ -1700,7 +1739,7 @@ PICT # тайп тайпан
 'protectedtitles' => 'ГIаролла дина цIераш',
 'listusers' => 'Декъашхой могlам',
 'listusers-editsonly' => 'Цхаъ мукъане а хийцам бина декъашхой гайта',
-'listusers-creationsort' => 'Кхолларан хене хьаьжна нисъяр',
+'listusers-creationsort' => 'Кхоьллина хене хьаьжна нисъяр',
 'listusers-desc' => 'Харжа къезиг хиларца',
 'usercreated' => '{{GENDER:$3|дӀавазвелла|дӀаязелла}} $1 $2',
 'newpages' => 'Керла агlонаш',
@@ -1709,12 +1748,13 @@ PICT # тайп тайпан
 'move' => 'Цlе хийца',
 'movethispage' => 'Хlокху агlон цlе хийца',
 'unusedimagestext' => 'Дехар до, тидаме эца, кхин йолу дуьнана машан-меттигаш а лелош хила мега нийсса йогӀу хьажораг (URL) хӀокху хӀуман, хӀокху могӀаме йогӀуш ялахь яцахь а иза хила мега жигара лелош.',
+'unusedcategoriestext' => 'ХӀокху категорешан чохь агӀонаш я кхин категореш яц.',
 'notargettitle' => 'Ӏалашо билгал йина яц',
 'notargettext' => 'И кхочушдан ахьа билгал йина яц Ӏалашонан агӀо я декъашхо.',
 'nopagetitle' => 'Ишта агӀо яц',
 'nopagetext' => 'Ишта агӀо яц.',
-'pager-newer-n' => '{{PLURAL:$1|алсамо керла|алсамо керланаш|алсамо керлачарех}} $1',
-'pager-older-n' => '{{PLURAL:$1|алсамо шира|алсамо ширниш|алсамо ширачарех}} $1',
+'pager-newer-n' => '{{PLURAL:$1|алсамо керла 1|алсамо керланаш $1}}',
+'pager-older-n' => '{{PLURAL:$1|алсамо шира 1|алсамо ширниш $1}}',
 
 # Book sources
 'booksources' => 'Жайнан хьосташ',
@@ -1749,7 +1789,7 @@ PICT # тайп тайпан
 
 # Special:Categories
 'categories' => 'Категореш',
-'categoriespagetext' => '{{PLURAL:$1|Лахара категореш чохь ю|Лахара категореш чохь ю}} агӀонаш я медиа-файлаш.
+'categoriespagetext' => '{{PLURAL:$1|1=Лахара категореш чохь ю|Лахара категореш чохь ю}} агӀонаш я медиа-файлаш.
 Кхузахь гойтуш яц [[Special:UnusedCategories|лелош йоцу категореш]].
 Кхин дӀа [[Special:WantedCategories| хийла еза категореш]].',
 'categoriesfrom' => 'Гучé яха категореш, оцу:',
@@ -1765,7 +1805,7 @@ PICT # тайп тайпан
 'linksearch-ok' => 'Лаха',
 'linksearch-text' => 'Лело мега хӀоттош йолу символаш, масала, <code>*.wikipedia.org</code>.
 Лакхара даржан домен мукъа хила еза , масала<code>*.org</code><br />
-Ловш йолу {{PLURAL:$2|протокол|протоколаш}}: <code>$1</code> (Iад йитарца http://, протокол бакъалла язъен яцахь).',
+Ловш йолу {{PLURAL:$2|1=протокол|протоколаш}}: <code>$1</code> (Iад йитарца http://, протокол бакъалла язъен яцахь).',
 'linksearch-line' => '$2 — хьажораг кху $1',
 
 # Special:ListUsers
@@ -1775,8 +1815,8 @@ PICT # тайп тайпан
 
 # Special:ActiveUsers
 'activeusers' => 'Жигар декъашхой могlам',
-'activeusers-intro' => 'Лахахь гойтуш бу  {{PLURAL:$1|тӀаьхьара $1 динахь|тӀаьхьара $1 деношкахь}} хийцамаш бина декъашхой.',
-'activeusers-count' => '{{PLURAL:$3|тӀаьхьарчу $3 динахь|тӀаьхьара $3 деношкахь}} $1 {{PLURAL:$1|нисдар|нисдарш}} дина',
+'activeusers-intro' => 'Лахахь гойтуш бу  {{PLURAL:$1|1=тӀаьхьара $1 динахь|тӀаьхьара $1 деношкахь}} хийцамаш бина декъашхой.',
+'activeusers-count' => '{{PLURAL:$3|1=тӀаьхьарчу $3 динахь|тӀаьхьара $3 деношкахь}} $1 {{PLURAL:$1|1=нисдар|нисдарш}} дина',
 'activeusers-from' => 'Гучé баха декъашхой, болалуш болу тӀера:',
 'activeusers-hidebots' => 'Къайлабаха шабелхалой',
 'activeusers-hidesysops' => 'Къайлабаха куьйгалхой',
@@ -1784,9 +1824,15 @@ PICT # тайп тайпан
 
 # Special:ListGroupRights
 'listgrouprights' => 'Декъашхойн тобанаши бакъонаш',
+'listgrouprights-summary' => 'Лахахьа гойту декъашхошна яла йиш йолу бакъонаш. [[{{MediaWiki:Listgrouprights-helppage}}|хьажа кхин хааме]].',
+'listgrouprights-key' => 'Легенда:
+* <span class="listgrouprights-granted">Ела бакъонаш</span>
+* <span class="listgrouprights-revoked">ДӀаяьхна бакъонаш</span>',
 'listgrouprights-group' => 'Тоба',
+'listgrouprights-rights' => 'Бакъонаш',
 'listgrouprights-helppage' => 'Help:Тобан бакъонаш',
 'listgrouprights-members' => '(тобан могlам)',
+'listgrouprights-addgroup-all' => 'массо тобанийн юкъатоха йиш ю',
 
 # Email user
 'mailnologintext' => 'Электронан кехаташ кхехьийта йиш хилийта [[Special:UserLogin|системин чугӀо]] кхин декъашхошка хаамаш кхехьийта хьа [[Special:Preferences|гӀирса чохь]] бакъалла долу электронан почтан адрес хила деза.',
@@ -1866,7 +1912,7 @@ PICT # тайп тайпан
 'rollback' => 'Юхабаккха хийцам',
 'rollback_short' => 'Юхаяккхар',
 'rollbacklink' => 'юхаяккха',
-'rollbacklinkcount' => 'юхадаккха $1 {{PLURAL:$1|нисдар|нисдарш}}',
+'rollbacklinkcount' => 'юхадаккха $1 {{PLURAL:$1|1=нисдар|нисдарш}}',
 'rollbacklinkcount-morethan' => 'Юхадаккха $1 дукха {{PLURAL:$1|нисдар|нисдарш|нисдарш}}',
 'rollbackfailed' => 'Юхайоккхуш гӀалат ду',
 'alreadyrolled' => 'ТӀехьара [[User:$2|$2]] ([[User talk:$2|дийцаре]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) декъашхочо «[[:$1]]» агӀона  бина хийцамаш юхабаха цатарло,
@@ -1896,7 +1942,7 @@ PICT # тайп тайпан
 'protect-unchain-permissions' => 'Схьабелла кхин гӀорралин гӀирс',
 'protect-text' => "Кхузéхь хьо хьажало хийцалуш гӀароллин локхалла оцу агӀонашна '''$1'''.",
 'protect-locked-access' => "Хьан дlаязваларéхь тоъал бакъо яц гlароллийн локхаллéхь агlон хийцам бá. Дlадоьлху хlоттийнарш оцу агlонна '''$1''':",
-'protect-cascadeon' => 'Хlара агlо гlароллийца ю, хlунд аьлча иза латийна {{PLURAL:$1|лахахьа гойтучу агlонца, цуьнца хlоттийна|лахахьа гойтучу агlоншца, цаьрца хlоттийна}} чахчарийца гlаролла. Хьога хийцалур ю гlаролли локхалла хlокху агlон, амма оцо хийцам бийра бац чахчарехь йолучу гlароллийна.',
+'protect-cascadeon' => 'Хlара агlо гlароллийца ю, хlунд аьлча иза латийна {{PLURAL:$1|1=лахахьа гойтучу агlонца, цуьнца хlоттийна|лахахьа гойтучу агlоншца, цаьрца хlоттийна}} чахчарийца гlаролла. Хьога хийцалур ю гlаролли локхалла хlокху агlон, амма оцо хийцам бийра бац чахчарехь йолучу гlароллийна.',
 'protect-default' => 'Гlаролла йоцуш',
 'protect-fallback' => 'Бакъо оьшу «$1»',
 'protect-level-autoconfirmed' => 'Гlаролла дé оцу керла а дlабазбина боцучу декъашхойх',
@@ -1918,7 +1964,7 @@ PICT # тайп тайпан
 ** гӀараялл агӀо',
 'protect-edit-reasonlist' => 'Бахьанин список нисяр',
 'protect-expiry-options' => '1 сахьт:1 hour,1 де:1 day,1 кӀиран:1 week,2 кӀиран:2 weeks,1 бутт:1 month,3 бутт:3 months,6 бутт:6 months,1 шо:1 year,цlкъа:infinite',
-'restriction-type' => 'Бакъо:',
+'restriction-type' => 'Бакъонаш:',
 'restriction-level' => 'ТӀекхочаран локхалла:',
 'minimum-size' => 'Лаххара бараме',
 'maximum-size' => 'Лаккхара бараме:',
@@ -2009,7 +2055,7 @@ PICT # тайп тайпан
 'isredirect' => 'агlо-дlасахьажайар',
 'istemplate' => 'лата йe',
 'isimage' => 'Файлан хьажораг',
-'whatlinkshere-prev' => '{{PLURAL:$1|хьалхайодарг|хьалхайодарш}} $1',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=хьалхайодарг|хьалхайодарш}} $1',
 'whatlinkshere-next' => '{{PLURAL:$1|тlаьхьайогlург|тlаьхьайогlурш|тlаьхьайогlурш}} $1',
 'whatlinkshere-links' => '← хьажорагаш',
 'whatlinkshere-hideredirs' => '$1 дlасахьажйар',
@@ -2154,8 +2200,8 @@ PICT # тайп тайпан
 'movepage-page-moved' => 'АгӀона $1 цӀе хийцина → $2.',
 'movelogpage' => 'Цlераш хийцаран тептар',
 'movelogpagetext' => 'Лахахьа гойтуш ю цӀе хийцина агӀонаш.',
-'movesubpage' => '{{PLURAL:$1|Бухара агӀо|Бухара агӀонаш}}',
-'movesubpagetext' => 'ХӀокху агӀона $1 {{PLURAL:$1|бухара агӀо ю|бухара агӀонаш ю}}.',
+'movesubpage' => '{{PLURAL:$1|1=Бухара агӀо|Бухара агӀонаш}}',
+'movesubpagetext' => 'ХӀокху агӀона $1 {{PLURAL:$1|1=бухара агӀо ю|бухара агӀонаш ю}}.',
 'movenosubpage' => 'ХӀокху агӀона бухара агӀонаш яц.',
 'movereason' => 'Бахьан:',
 'revertmove' => 'юхаяккха',
@@ -2293,8 +2339,8 @@ PICT # тайп тайпан
 # Attribution
 'siteuser' => 'декъашхо {{grammar:genitive|{{SITENAME}}}} $1',
 'others' => 'кхин',
-'siteusers' => '{{PLURAL:$2|декъашхо|декъашхой}} {{grammar:genitive|{{SITENAME}}}} $1',
-'anonusers' => '{{PLURAL:$2|цӀе хьулйина декъашхо|цӀе хьулйина декъашхой}} {{grammar:genitive|{{SITENAME}}}} $1',
+'siteusers' => '{{PLURAL:$2|1=декъашхо|декъашхой}} {{grammar:genitive|{{SITENAME}}}} $1',
+'anonusers' => '{{PLURAL:$2|1=цӀе хьулйина декъашхо|цӀе хьулйина декъашхой}} {{grammar:genitive|{{SITENAME}}}} $1',
 'nocredits' => 'Бац декъашхойн могlам хlокху яззамца',
 
 # Spam protection
@@ -2335,13 +2381,13 @@ PICT # тайп тайпан
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|агlо|агlонаш|агlонаш}}',
 'file-info' => 'файлан барам: $1, MIME-тайп: $2',
 'file-info-size' => '$1 × $2 пиксель, файлан барам: $3, MIME-тайп: $4',
-'file-info-size-pages' => '$1 × $2 пиксель, файлан барам: $3, MIME-тайп: $4, $5 {{PLURAL:$5|агӀо|агӀонаш}}',
+'file-info-size-pages' => '$1 × $2 пиксель, файлан барам: $3, MIME-тайп: $4, $5 {{PLURAL:$5|1=агӀо|агӀонаш}}',
 'file-nohires' => 'Кхи йоккха гlоле башхо яц.',
 'svg-long-desc' => 'SVG-файл, лартӀахь ю $1 × $2 {{PLURAL:$2|пиксель|пикселш|пикселш}}, файлан барам: $3',
 'svg-long-desc-animated' => 'Анимироват йина SVG-файл, номиналан $1 × $2 пиксель, файлан барам: $3',
 'show-big-image' => 'Сурт цlанал лаккхара бакъонца',
 'show-big-image-preview' => 'Барам хьажале: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Кхин шоралла|Кхин шоралла}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Кхин шоралла|Кхин шоралла}}: $1.',
 'show-big-image-size' => '$1 × $2 пиксель',
 
 # Special:NewFiles
@@ -2474,6 +2520,7 @@ PICT # тайп тайпан
 'exif-sharpness-0' => 'Лартӏахь',
 
 'exif-dc-date' => 'Терахь(ш)',
+'exif-dc-rights' => 'Бакъонаш',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'массо',
@@ -2550,11 +2597,15 @@ PICT # тайп тайпан
 'version-parser-function-hooks' => 'Cинтаксисан къасторан функци схьалоцурш',
 'version-version' => '(Верси $1)',
 'version-license' => 'Бакъо',
+'version-ext-colheader-version' => 'Верси',
+'version-poweredby-credits' => "ХӀара вики болх беш ю '''[https://www.mediawiki.org/ MediaWiki]''' движок тӀехь, copyright © 2001-$1 $2.",
+'version-poweredby-others' => 'кхин',
 'version-license-info' => 'MediaWiki ю маьрша программин латораг, шу йиш ю фондас арахецна йолу GNU General Public License лицензица и яржо я хийца а.
 
 MediaWiki яржош ю и шуна пайдане хир яц те аьлла, амма  ЦХЬА ЮКЪАРАХИЛАР ДОЦУШ. Хь. кхин. лицензи мадарра GNU General Public License .
 
 Шоьга кхача езаш яра [{{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 еша и онлайнехь].',
+'version-software' => 'ДӀахӀоттийна программин латтор',
 'version-software-version' => 'Верси',
 
 # Special:Redirect
@@ -2600,7 +2651,7 @@ MediaWiki яржош ю и шуна пайдане хир яц те аьлла,
 'tags' => 'Болш болу хийцаман къастам',
 'tag-filter' => 'Къастам [[Special:Tags|хьажар]]:',
 'tag-filter-submit' => 'Литта',
-'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Билгало|Билгалонаш}}]]: $2)',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|1=Билгало|Билгалонаш}}]]: $2)',
 'tags-title' => 'Билгалонаш',
 'tags-intro' => 'ХӀокху агӀона чохь гойтуш бу билгалошан могӀам царца программин латторо билгал доху нисдарш, кхин билгалошан маьӀна а.',
 'tags-tag' => 'Билгалона цӀе',
@@ -2624,7 +2675,7 @@ MediaWiki яржош ю и шуна пайдане хир яц те аьлла,
 'dberr-problems' => 'Бехк ма бил! Хlинц машан меттиган хилла гlирсаца халонаш.',
 'dberr-again' => 'Хьажа карла йаккха агlо массех минот йаьлча.',
 'dberr-info' => '(аьтто ца хили зlе хlотта гlулкхдечуьнца бухара хаамашца: $1)',
-'dberr-usegoogle' => 'ЦӀачун хьо хьажа лаха гӀонца Google.',
+'dberr-usegoogle' => 'ЦӀачун хьо хьажа лаха гӀоьнца Google.',
 'dberr-outofdate' => 'Хьуна хаалахь, цуьна йолу меттиг хила мега тишйелла черахь.',
 
 # HTML forms
@@ -2636,12 +2687,12 @@ MediaWiki яржош ю и шуна пайдане хир яц те аьлла,
 # New logging system
 'logentry-delete-delete' => '$1 {{GENDER:$2|дӀаяьккхина}} агӀо $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|меттахӀоттайина|меттахӀоттайина}} агӀо $3',
-'logentry-delete-event' => '$1 {{GENDER:$2|хийцина}} гуш хилар {{PLURAL:$5|$5 дӀаяздаран|$5 дӀаяздаршан}} тептаран → $3: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2|хийцина}} {{PLURAL:$5|$5 верси|$5 версеш}} гуш хилар $3: $4 агӀорахь',
+'logentry-delete-event' => '$1 {{GENDER:$2|хийцина}} гуш хилар {{PLURAL:$5|1=$5 дӀаяздаран|$5 дӀаяздаршан}} тептаран → $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|хийцина}} {{PLURAL:$5|1=$5 верси|$5 версеш}} гуш хилар $3: $4 агӀорахь',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|хийцина}} $3 агӀона тептаран дӀаяздарш гуш хилар',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|хийцина}} $3 агӀона верси гуш хилар',
-'logentry-suppress-event' => '$1 къайлаха {{GENDER:$2|хийцина}} тептаран {{PLURAL:$5|$5 дӀаяздар|$5 дӀаяздарш}} гуш хилар $3: $4 чохь',
-'logentry-suppress-revision' => '$1 къайлаха {{GENDER:$2|хийцина}} {{PLURAL:$5|$5 верси|$5 версеш}} $3: $4 чохь гуш хилар',
+'logentry-suppress-event' => '$1 къайлаха {{GENDER:$2|хийцина}} тептаран {{PLURAL:$5|1=$5 дӀаяздар|$5 дӀаяздарш}} гуш хилар $3: $4 чохь',
+'logentry-suppress-revision' => '$1 къайлаха {{GENDER:$2|хийцина}} {{PLURAL:$5|1=$5 верси|$5 версеш}} $3: $4 чохь гуш хилар',
 'logentry-suppress-event-legacy' => '$1 къайлаха {{GENDER:$2|хийцина}} $3 тептар чура дӀаяздарш гуш хилар',
 'logentry-suppress-revision-legacy' => '$1 къайлаха {{GENDER:$2|хийцина}} $3 агӀона верси гуш хилар',
 'revdelete-content-hid' => 'чулацам къайлабаьккхина',
index 573e705..fc0ecf1 100644 (file)
@@ -624,7 +624,11 @@ $2',
 'userlogin-resetpassword-link' => 'تێپەڕوشە ڕیسێت بکەوە',
 'helplogin-url' => 'Help:چوونەژوورەوە',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|یارمەتی بۆ چوونەژوورەوە]]',
+'userlogin-loggedin' => 'تۆ ھەر ئێستا بە ناوی {{GENDER:$1|$1}} چوویتە ژوورەوە.
+فۆرمی ژێرەوە بەکاربھێنە بۆ چوونەژوورەوە وەک بەکارھێنەرێکی تر.',
+'userlogin-createanother' => 'ھەژمارێکی تر دروست بکە',
 'createacct-join' => 'زانیارییەکەت لە ژێرەوە بنووسە.',
+'createacct-another-join' => 'زانیارییەکانی ھەژمارە نوێکەت لە ژێرەوە بنووسە.',
 'createacct-emailrequired' => 'ناونیشانی ئیمەیل',
 'createacct-emailoptional' => 'ناونیشانی ئیمەیل (دڵخوازانە)',
 'createacct-email-ph' => 'ناونیشانی ئیمەیلەکەت بنووسە',
@@ -636,6 +640,7 @@ $2',
 'createacct-captcha' => 'تاوتوێی ئاسایشی',
 'createacct-imgcaptcha-ph' => 'دەقەکەی لە ژێرەوە دەیبینی بینووسە',
 'createacct-submit' => 'ھەژمارەکەت دروست بکە',
+'createacct-another-submit' => 'ھەژمارێکی تر دروست بکە',
 'createacct-benefit-heading' => '{{SITENAME}} لە لایەن کەسانێک وەکوو خۆت دروست کراوە.',
 'createacct-benefit-body1' => '{{PLURAL:$1|دەستکاری}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|پەڕە}}',
@@ -2805,8 +2810,9 @@ $1',
 'pageinfo-authors' => 'ژمارەی نووسەرە جیاوازەکان',
 'pageinfo-recent-edits' => 'ژمارەی دوایین دەستکارییەکان (لە $1ی ڕابردوودا)',
 'pageinfo-recent-authors' => 'ژمارەی دوایین نووسەرە جیاوازەکان',
+'pageinfo-magic-words' => '{{PLURAL:$1|وشەی|وشە}} {{PLURAL:$1|جادوویی|جادویییەکان}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|پۆلی شاردراوە|پۆلە شاردراوەکان}} ($1)',
-'pageinfo-templates' => 'داڕێژە{{PLURAL:$1|ی بەکارگیراو| بەکارگیراوەکان}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|داڕێژەی|داڕێژە}} {{PLURAL:$1|بەکارگیراو|بەکارگیراوەکان}} ($1)',
 'pageinfo-toolboxlink' => 'زانیاریی پەڕە',
 'pageinfo-redirectsto-info' => 'زانیاری',
 'pageinfo-contentpage' => 'ھەژمارکراو وەک پەڕەی بەناوەرۆک',
index 076968c..853c536 100644 (file)
@@ -11,6 +11,8 @@
  * @author Img (on co.wikipedia.org)
  */
 
+$fallback = 'it';
+
 $messages = array(
 'underline-always' => 'Sempre',
 'underline-never' => 'Mai',
index d16761f..b29a9e8 100644 (file)
@@ -120,7 +120,7 @@ $messages = array(
 'tog-editsection' => 'Болюклерни [денъиштир] багълантысы вастасынен денъиштирмеге рухсет бер',
 'tog-editsectiononrightclick' => 'Болюк серлевасына онъ баскъанда денъиштирюв пенджересини ач. (JavaScript)',
 'tog-showtoc' => 'Мундеридже джедвели косьтер (3 данеден зияде серлевасы олгъан саифелер ичюн)',
-'tog-rememberpassword' => 'Киришимни бу браузерде хатырла (энъ чокъ $1 {{PLURAL:$1|кунь|кунь}} ичюн)',
+'tog-rememberpassword' => 'Киришимни бу браузерде хатырла (энъ чокъ $1 {{PLURAL:$1|1=кунь|кунь}} ичюн)',
 'tog-watchcreations' => 'Яраткъан саифелеримни ве юклеген файлларымны козетюв джедвелиме кирсет',
 'tog-watchdefault' => 'Денъиштирген саифе ве файлларымны козетюв джедвелиме кирсет',
 'tog-watchmoves' => 'Адыны мен денъиштирген саифе ве файлларны козетюв джедвелиме кирсет',
@@ -212,19 +212,19 @@ $messages = array(
 'dec' => 'дек',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Саифенинъ категориясы|Саифенинъ категориялары}}',
+'pagecategories' => '{{PLURAL:$1|1=Саифенинъ категориясы|Саифенинъ категориялары}}',
 'category_header' => '"$1" категориясындаки саифелер',
 'subcategories' => 'Алт категориялар',
 'category-media-header' => '"$1" категориясындаки медиа файллары',
 'category-empty' => "''Ишбу категорияда ич бир саифе я да медиа файл ёкъ.''",
-'hidden-categories' => 'Гизли {{PLURAL:$1|категория|категориялар}}',
+'hidden-categories' => 'Гизли {{PLURAL:$1|1=категория|категориялар}}',
 'hidden-category-category' => 'Гизли категориялар',
-'category-subcat-count' => '{{PLURAL:$2|Бу категорияда тек бир ашагъыдаки алт категория бар.|Бу категориядаки топлам $2 алт категориядан ашагъыдаки $1 алт категория косьтерильген.}}',
-'category-subcat-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1|$1}} алт категория бар.',
-'category-article-count' => '{{PLURAL:$2|Бу категорияда тек бир ашагъыдаки саифе бар.|Бу категориядаки топлам $2 саифеден ашагъыдаки $1 саифе косьтерильген.}}',
-'category-article-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1|$1}} саифе бар.',
-'category-file-count' => '{{PLURAL:$2|Бу категорияда тек бир ашагъыдаки файл бар.|Бу категориядаки топлам $2 файлдан ашагъыдаки $1 файл косьтерильген.}}',
-'category-file-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1|$1}} файл бар.',
+'category-subcat-count' => '{{PLURAL:$2|1=Бу категорияда тек бир ашагъыдаки алт категория бар.|Бу категориядаки топлам $2 алт категориядан ашагъыдаки $1 алт категория косьтерильген.}}',
+'category-subcat-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1=1|$1}} алт категория бар.',
+'category-article-count' => '{{PLURAL:$2|1=Бу категорияда тек бир ашагъыдаки саифе бар.|Бу категориядаки топлам $2 саифеден ашагъыдаки $1 саифе косьтерильген.}}',
+'category-article-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1=1|$1}} саифе бар.',
+'category-file-count' => '{{PLURAL:$2|1=Бу категорияда тек бир ашагъыдаки файл бар.|Бу категориядаки топлам $2 файлдан ашагъыдаки $1 файл косьтерильген.}}',
+'category-file-count-limited' => 'Бу категорияда ашагъыдаки {{PLURAL:$1|1=1|$1}} файл бар.',
 'listingcontinuesabbrev' => ' (девам)',
 'index-category' => 'Индексли саифелер',
 'noindex-category' => 'Индекссиз саифелер',
@@ -289,8 +289,8 @@ $messages = array(
 'create-this-page' => 'Бу саифени ярат',
 'delete' => 'Ёкъ эт',
 'deletethispage' => 'Саифени ёкъ эт',
-'undelete_short' => '{{PLURAL:$1|1|$1}} денъиштирмени кери кетир',
-'viewdeleted_short' => '{{PLURAL:$1|бир ёкъ этильген денъиштирмени|$1 ёкъ этильген денъиштирмени}} косьтер.',
+'undelete_short' => '{{PLURAL:$1|1=1|$1}} денъиштирмени кери кетир',
+'viewdeleted_short' => '{{PLURAL:$1|1=бир ёкъ этильген денъиштирмени|$1 ёкъ этильген денъиштирмени}} косьтер.',
 'protect' => 'Къорчала',
 'protect_change' => 'денъиштир',
 'protectthispage' => 'Саифени къорчалав алтына ал',
@@ -318,7 +318,7 @@ $messages = array(
 'redirectedfrom' => '($1 саифесинден ёлланды)',
 'redirectpagesub' => 'Ёллама саифеси',
 'lastmodifiedat' => 'Бу саифе сонъки оларакъ $1, $2 тарихында янъарды.',
-'viewcount' => 'Бу саифе {{PLURAL:$1|1|$1}} дефа иришильген.',
+'viewcount' => 'Бу саифе {{PLURAL:$1|1=1|$1}} дефа иришильген.',
 'protectedpage' => 'Къорчалангъан саифе',
 'jumpto' => 'Бунъа бар:',
 'jumptonavigation' => 'къуллан',
@@ -351,7 +351,7 @@ $1',
 
 'badaccess' => 'Изин хатасы',
 'badaccess-group0' => 'Япаджакъ олгъан арекетинъизни япмагъа акъкъынъыз ёкъ.',
-'badaccess-groups' => 'Япаджакъ олгъан арекетинъизни тек ашагъыдаки {{PLURAL:$2|1|$2}} группагъа аза олгъан къулланыджылары япып олалар: $1.',
+'badaccess-groups' => 'Япаджакъ олгъан арекетинъизни тек ашагъыдаки {{PLURAL:$2|1=1|$2}} группагъа аза олгъан къулланыджылары япып олалар: $1.',
 
 'versionrequired' => 'MediaWiki-нинъ $1 версиясы керек',
 'versionrequiredtext' => 'Бу саифени къулланмакъ ичюн MediaWiki-нинъ $1 версиясы керек. [[Special:Version|Версия]] саифесине бакъ.',
@@ -359,10 +359,10 @@ $1',
 'ok' => 'Ок',
 'retrievedfrom' => 'Менба – "$1"',
 'youhavenewmessages' => 'Янъы $1 бар ($2).',
-'youhavenewmessagesfromusers' => '{{PLURAL:$3|Башкъа бир къулланыджыдан|$3 къулланыджыдан}} $1 бар. ($2)',
+'youhavenewmessagesfromusers' => '{{PLURAL:$3|1=Башкъа бир къулланыджыдан|$3 къулланыджыдан}} $1 бар. ($2)',
 'youhavenewmessagesmanyusers' => 'Бир къач къулланыджыдан $1 бар. ($2)',
-'newmessageslinkplural' => '{{PLURAL:$1|янъы беянатынъыз|янъы беянатларынъыз}}',
-'newmessagesdifflinkplural' => 'музакере саифенъизнинъ сонъки {{PLURAL:$1|денъиштирильмеси|денъиштирильмелери}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=янъы беянатынъыз|янъы беянатларынъыз}}',
+'newmessagesdifflinkplural' => 'музакере саифенъизнинъ сонъки {{PLURAL:$1|1=денъиштирильмеси|денъиштирильмелери}}',
 'youhavenewmessagesmulti' => '$1 саифесинде янъы беянатынъыз бар.',
 'editsection' => 'денъиштир',
 'editold' => 'денъиштир',
@@ -377,7 +377,7 @@ $1',
 'collapsible-expand' => 'Кенишлет',
 'thisisdeleted' => '$1 корьмеге я да кери кетирмеге истейсинъизми?',
 'viewdeleted' => '$1 корь?',
-'restorelink' => 'ёкъ этильген {{PLURAL:$1|1|$1}} денъиштирмеси',
+'restorelink' => 'ёкъ этильген {{PLURAL:$1|1=1|$1}} денъиштирмеси',
 'feedlinks' => 'Бу шекильде:',
 'feed-invalid' => 'Абуне каналынынъ чешити янълыштыр.',
 'feed-unavailable' => 'Синдикация ленталары къулланылып оламай.',
@@ -448,8 +448,8 @@ $1',
 Ич бир изаат берильмеди.',
 'badtitle' => 'Рухсетсиз серлева',
 'badtitletext' => 'Истенильген саифе ады догъру дегиль, о боштыр, яхут тиллерара багъланты я да викилерара багъланты догъру язылмагъан. Бельки саифе адында ясакълангъан ишаретлер бар.',
-'perfcached' => 'Ашагъыдаки малюмат кэштен алынды ве эскирген ола билир! Кэште энъ чокъ {{PLURAL:$1|бир нетидже|$1 нетидже}} сакъланып тура.',
-'perfcachedts' => 'Ашагъыдаки малюмат кэштен алынды, кэшнинъ сонъки янъартылгъан вакъты: $1. Кэште энъ чокъ {{PLURAL:$1|бир нетидже|$1 нетидже}} сакъланып тура.',
+'perfcached' => 'Ашагъыдаки малюмат кэштен алынды ве эскирген ола билир! Кэште энъ чокъ {{PLURAL:$1|1=бир нетидже|$1 нетидже}} сакъланып тура.',
+'perfcachedts' => 'Ашагъыдаки малюмат кэштен алынды, кэшнинъ сонъки янъартылгъан вакъты: $1. Кэште энъ чокъ {{PLURAL:$1|1=бир нетидже|$1 нетидже}} сакъланып тура.',
 'querypage-no-updates' => 'Бу саифени денъиштирмеге шимди изин ёкъ. Бу малюмат аман янъартылмайджакъ.',
 'viewsource' => 'менба кодуны косьтер',
 'viewsource-title' => '$1 саифесининъ менба коду',
@@ -459,7 +459,7 @@ $1',
 'viewsourcetext' => 'Саифенинъ кодуны козьден кечирип копиялай билесинъиз:',
 'protectedinterface' => 'Бу саифеде система интерфейсининъ метни бар. Онынъ ичюн мында бир хата чыкъмасын деп оны денъиштирмек ясакъ.',
 'editinginterface' => "'''Тенби''': MediaWiki системасынынъ интерфейс саифесини денъиштиреятасыз. Бу саифедеки денъиштирмелер интерфейснинъ корюнишини бу викининъ башкъа къулланыджылары ичюн де денъиштиреджек. Лютфен, вики интерфейсини терджиме этмек ичюн [//translatewiki.net/wiki/Main_Page?setlang=crh translatewiki.net] сайтыны (MediaWiki ресмий локализация лейхасы) къулланынъыз.",
-'cascadeprotected' => 'Бу саифени денъиштирип оламазсынъыз, чюнки каскад къорчалав алтында булунгъан {{PLURAL:$1|саифеге|саифелерге}} менсюптир:
+'cascadeprotected' => 'Бу саифени денъиштирип оламазсынъыз, чюнки каскад къорчалав алтында булунгъан {{PLURAL:$1|1=саифеге|саифелерге}} менсюптир:
 $2',
 'namespaceprotected' => "'''$1''' исим фезасында саифелер денъиштирмеге акъкъынъыз ёкъ.",
 'ns-specialprotected' => '{{ns:special}} исим фезасындаки саифелерни денъиштирмек ясакъ.',
@@ -478,7 +478,7 @@ $2',
 'yourname' => 'Къулланыджы адынъыз',
 'yourpassword' => 'Паролинъиз',
 'yourpasswordagain' => 'Парольни бир даа язынъыз:',
-'remembermypassword' => 'Киришимни бу компьютерде хатырла (энъ чокъ $1 {{PLURAL:$1|кунь|кунь}} ичюн)',
+'remembermypassword' => 'Киришимни бу компьютерде хатырла (энъ чокъ $1 {{PLURAL:$1|1=кунь|кунь}} ичюн)',
 'yourdomainname' => 'Домен адынъыз',
 'externaldberror' => 'Сайткъа киргенде бир хата олды. Бу тыш эсабынъызны денъиштирмек акъкъынъыз олмагъанындан себеп мейдангъа келип ола.',
 'login' => 'Кириш',
@@ -516,13 +516,13 @@ $2',
 'wrongpassword' => 'Кирсеткен паролинъиз янълыштыр. Лютфен, текрар этинъиз.',
 'wrongpasswordempty' => 'Кирсеткен паролинъиз боштыр.
 Лютфен, текрар этинъиз.',
-'passwordtooshort' => 'Паролинъизде энъ аз {{PLURAL:$1|1|$1}} ишарет олмалы.',
+'passwordtooshort' => 'Паролинъизде энъ аз {{PLURAL:$1|1=1|$1}} ишарет олмалы.',
 'password-name-match' => 'Паролинъиз къулланыджы адынъыздан фаркълы олмалы.',
 'password-login-forbidden' => 'Бу къулланыджы ады ве парольни къулланмакъ ясакътыр.',
 'mailmypassword' => 'Янъы пароль йибер',
 'passwordremindertitle' => '{{grammar:genitive|{{SITENAME}}}} къулланыджынынъ пароль хатырлатувы',
 'passwordremindertext' => 'Бирев (бельки де бу сизсинъиз, $1 IP адресинден) {{SITENAME}} сайты ичюн ($4) янъы къулланыджы паролини истеди.
-$2 къулланыджысына вакътынджа <code>$3</code> пароли яратылды. Эгер бу керчектен де сизинъ истегинъиз олгъан олса, отурым ачып янъы бир пароль яратманъыз керектир. Мувакъкъат паролинъизнинъ муддети {{PLURAL:$5|1 кунь|$5 кунь}} ичинде доладжакъ.
+$2 къулланыджысына вакътынджа <code>$3</code> пароли яратылды. Эгер бу керчектен де сизинъ истегинъиз олгъан олса, отурым ачып янъы бир пароль яратманъыз керектир. Мувакъкъат паролинъизнинъ муддети {{PLURAL:$5|1=1 кунь|$5 кунь}} ичинде доладжакъ.
 
 Эгер де янъы пароль талап этмеген олсанъыз я да эски паролинъизни хатырлап энди оны денъиштирмеге истемесенъиз, бу мектюпни дикъкъаткъа алмайып эски паролинъизни къулланмагъа девам этип оласынъыз.',
 'noemail' => '$1 адлы къулланыджы ичюн e-mail бильдирильмеди.',
@@ -530,9 +530,9 @@ $2 къулланыджысына вакътынджа <code>$3</code> паро
 'passwordsent' => 'Янъы пароль e-mail ёлунен къулланыджынынъ бильдирген $1 адресине йиберильди. Парольни алгъан сонъ текрар кириш япынъыз.',
 'blocked-mailpassword' => 'IP адресинъизден саифелер денъиштирюв ясакълы, пароль хатырлатув функциясы да блок этильди.',
 'eauthentsent' => 'Бильдирильген e-mail адресине ичинде тасдыкъ коду олгъан бир мектюп ёлланды. Сиз шу мектюпте язылгъан арекетлерни япып бу e-mail адресининъ саиби керчектен де сиз олгъанынъызны тасдыкълагъан сонъ башкъа мектюп ёлланып олур.',
-'throttled-mailpassword' => 'Пароль хатырлатув функциясы энди сонъки {{PLURAL:$1|1|$1}} саат девамында ишлетильген эди. {{PLURAL:$1|1|$1}} саат ичинде тек бир хатырлатув ишлетмек мумкюн.',
+'throttled-mailpassword' => 'Пароль хатырлатув функциясы энди сонъки {{PLURAL:$1|1=1|$1}} саат девамында ишлетильген эди. {{PLURAL:$1|1=1|$1}} саат ичинде тек бир хатырлатув ишлетмек мумкюн.',
 'mailerror' => 'Почта йиберильгенде бир хата мейдангъа кельди: $1',
-'acct_creation_throttle_hit' => 'Сизинъ IP адресинъизни къулланып бу викини зиярет эткенлер сонъки куньде {{PLURAL:$1|1 эсап|$1 эсап}} яратты. Бу вакъыт аралыгъында бир IP-ден даа чокъ эсап яратмакъ мумкюн дегиль.
+'acct_creation_throttle_hit' => 'Сизинъ IP адресинъизни къулланып бу викини зиярет эткенлер сонъки куньде {{PLURAL:$1|1=1 эсап|$1 эсап}} яратты. Бу вакъыт аралыгъында бир IP-ден даа чокъ эсап яратмакъ мумкюн дегиль.
 Нетиджеде, бу IP адресини къуллангъан зияретчилер шимди даа зияде эсап ачып оламазлар.',
 'emailauthenticated' => 'E-mail адресинъиз $2 $3 тарихында тасдыкъланды.',
 'emailnotauthenticated' => 'E-mail адресинъиз тасдыкъланмады, викининъ e-mail иле багълы функциялары чалышмайджакъ.',
@@ -705,23 +705,23 @@ $2 къулланыджысына вакътынджа <code>$3</code> паро
 Журналнынъ сонъки язысы ашагъыда берильген:",
 'semiprotectedpagewarning' => "'''Тенби''': Бу саифе тек къайдлы къулланыджылар тарафындан денъиштирилип олур.
 Журналнынъ сонъки язысы ашагъыда берильген:",
-'cascadeprotectedwarning' => "'''Тенби:''' Бу саифени тек «Идареджилер» группасына кирген къулланыджылар денъиштирип олалар, чюнки о каскад къорчалав алтында булунгъан {{PLURAL:$1|саифеге|саифелерге}} менсюптир:",
+'cascadeprotectedwarning' => "'''Тенби:''' Бу саифени тек «Идареджилер» группасына кирген къулланыджылар денъиштирип олалар, чюнки о каскад къорчалав алтында булунгъан {{PLURAL:$1|1=саифеге|саифелерге}} менсюптир:",
 'titleprotectedwarning' => "'''ТЕНБИ: Бу саифе къорчалав алтындадыр, тек [[Special:ListGroupRights|махсус акъларгъа]] саип къулланыджылар оны яратып ола.'''
 Журналнынъ сонъки язысы ашагъыда берильген:",
-'templatesused' => 'Бу саифеде къулланылгъан {{PLURAL:$1|шаблон|шаблонлар}}:',
-'templatesusedpreview' => 'Сиз бакъып чыкъкъан саифенъизде къулланылгъан {{PLURAL:$1|шаблон|шаблонлар}}:',
-'templatesusedsection' => 'Бу болюкте къулланылгъан {{PLURAL:$1|шаблон|шаблонлар}}:',
+'templatesused' => 'Бу саифеде къулланылгъан {{PLURAL:$1|1=шаблон|шаблонлар}}:',
+'templatesusedpreview' => 'Сиз бакъып чыкъкъан саифенъизде къулланылгъан {{PLURAL:$1|1=шаблон|шаблонлар}}:',
+'templatesusedsection' => 'Бу болюкте къулланылгъан {{PLURAL:$1|1=шаблон|шаблонлар}}:',
 'template-protected' => '(къорчалав алтында)',
 'template-semiprotected' => '(къысмен къорчалав алтында)',
-'hiddencategories' => 'Бу саифе {{PLURAL:$1|1|$1}} гизли категориягъа менсюптир:',
+'hiddencategories' => 'Бу саифе {{PLURAL:$1|1=1|$1}} гизли категориягъа менсюптир:',
 'nocreatetext' => '{{SITENAME}} сайтында янъы саифе яратув сынъырлыдыр.
 Кери къайтып мевджут олгъан саифени денъиштире, [[Special:UserLogin|отурым ача я да янъы бир эсап яратып оласынъыз]].',
 'nocreate-loggedin' => 'Янъы саифелер яратмагъа изининъиз ёкътыр.',
 'sectioneditnotsupported-title' => 'Болюклерни денъиштирмек мумкюн дегиль.',
 'sectioneditnotsupported-text' => 'Бу саифеде болюклерни денъиштирмек мумкюн дегиль.',
 'permissionserrors' => 'Иришим акъларынынъ хаталары',
-'permissionserrorstext' => 'Буны япмагъа изининъиз ёкътыр. {{PLURAL:$1|Себеп|Себеплер}}:',
-'permissionserrorstext-withaction' => 'Ашагъыдаки {{PLURAL:$1|себептен|себеплерден}} $2 рухсетинъиз ёкъ:',
+'permissionserrorstext' => 'Буны япмагъа изининъиз ёкътыр. {{PLURAL:$1|1=Себеп|Себеплер}}:',
+'permissionserrorstext-withaction' => 'Ашагъыдаки {{PLURAL:$1|1=себептен|себеплерден}} $2 рухсетинъиз ёкъ:',
 'recreate-moveddeleted-warn' => "'''Тенби: Эвельдже ёкъ этильген саифени янъыдан яратасынъыз.'''
 
 Саифени денъиштирмеге девам эткени уйгъун олып олмагъаныны тюшюнмелисинъиз.
@@ -771,7 +771,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'history-show-deleted' => 'Тек ёкъ этильгенлер',
 'histfirst' => 'Энъ эски',
 'histlast' => 'Энъ янъы',
-'historysize' => '({{PLURAL:$1|1 байт|$1 байт}})',
+'historysize' => '({{PLURAL:$1|1=1 байт|$1 байт}})',
 'historyempty' => '(бош)',
 
 # Revision feed
@@ -792,7 +792,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'revdelete-hide-comment' => 'Къыскъа тарифни косьтерме',
 'revdelete-hide-user' => 'Денъиштирмени япкъаннынъ къулланыджы адыны/IP-ни гизле',
 'revdelete-hide-restricted' => 'Малюматны адий къулланыджылардан киби идареджилерден де гизле',
-'revdelete-submit' => 'Сайлангъан {{PLURAL:$1|версиягъа|версияларгъа}} ишлет',
+'revdelete-submit' => 'Сайлангъан {{PLURAL:$1|1=версиягъа|версияларгъа}} ишлет',
 'revdel-restore' => 'корюнювни денъиштир',
 
 # Merge log
@@ -806,8 +806,8 @@ $3 мына бу себепни бильдирди: ''$2''",
 'compareselectedversions' => 'Сайлангъан версияларны тенъештир',
 'showhideselectedversions' => 'Сайлангъан версияларны косьтер/гизле',
 'editundo' => 'лягъу эт',
-'diff-multi' => '({{PLURAL:$2|Бир къулланыджы|$2 къулланыджы}}нынъ япкъан {{PLURAL:$1|бир ара версиясы|$1 ара версиясы}} косьтерильмей)',
-'diff-multi-manyusers' => '($2-ден зияде {{PLURAL:$2|къулланыджы|къулланыджы}}нынъ япкъан {{PLURAL:$1|бир ара версиясы|$1 ара версиясы}} косьтерильмей)',
+'diff-multi' => '({{PLURAL:$2|1=Бир къулланыджы|$2 къулланыджы}}нынъ япкъан {{PLURAL:$1|1=бир ара версиясы|$1 ара версиясы}} косьтерильмей)',
+'diff-multi-manyusers' => '($2-ден зияде {{PLURAL:$2|1=къулланыджы|къулланыджы}}нынъ япкъан {{PLURAL:$1|1=бир ара версиясы|$1 ара версиясы}} косьтерильмей)',
 
 # Search results
 'searchresults' => 'Къыдырув нетиджелери',
@@ -818,9 +818,9 @@ $3 мына бу себепни бильдирди: ''$2''",
 'notextmatches' => 'Ич бир саифеде тапыламады',
 'prevn' => 'эвельки {{PLURAL:$1|$1}}',
 'nextn' => 'сонъраки {{PLURAL:$1|$1}}',
-'prevn-title' => 'Эвельки $1 {{PLURAL:$1|нетидже|нетидже}}',
-'nextn-title' => 'Сонъраки $1 {{PLURAL:$1|нетидже|нетидже}}',
-'shown-title' => 'Саифе башына $1 {{PLURAL:$1|нетидже|нетидже}} косьтер',
+'prevn-title' => 'Эвельки $1 {{PLURAL:$1|1=нетидже|нетидже}}',
+'nextn-title' => 'Сонъраки $1 {{PLURAL:$1|1=нетидже|нетидже}}',
+'shown-title' => 'Саифе башына $1 {{PLURAL:$1|1=нетидже|нетидже}} косьтер',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "'''Бу викиде \"[[:\$1]]\" адлы бир саифе бар'''",
 'searchmenu-new' => "'''Бу викиде \"[[:\$1]]\" саифесини ярат!'''",
@@ -834,7 +834,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'searchprofile-images-tooltip' => 'Файлларны къыдыр',
 'searchprofile-everything-tooltip' => 'Бутюн саифелерде (музакере саифелеринде де) къыдыр',
 'searchprofile-advanced-tooltip' => 'Бельгиленген исим фезаларында къыдыр',
-'search-result-size' => '$1 ({{PLURAL:$2|1|$2}} сёз)',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1|$2}} сёз)',
 'search-result-score' => 'Уйгъунлыкъ: $1 %',
 'search-redirect' => '(ёллама $1)',
 'search-section' => '(болюк $1)',
@@ -846,8 +846,8 @@ $3 мына бу себепни бильдирди: ''$2''",
 'searcheverything-enable' => 'Бутюн исим фезаларында къыдыр',
 'searchrelated' => 'багълы',
 'searchall' => 'эписи',
-'showingresults' => "Ашагъыда №&nbsp;<strong>$2</strong>ден башлап {{PLURAL:$1|'''1''' нетидже|'''$1''' нетидже}} булуна.",
-'showingresultsnum' => "Ашагъыда №&nbsp;'''$2'''ден башлап {{PLURAL:$3|'''1''' нетидже|'''$3''' нетидже}} булуна.",
+'showingresults' => "Ашагъыда №&nbsp;<strong>$2</strong>ден башлап {{PLURAL:$1|1='''1''' нетидже|'''$1''' нетидже}} булуна.",
+'showingresultsnum' => "Ашагъыда №&nbsp;'''$2'''ден башлап {{PLURAL:$3|1='''1''' нетидже|'''$3''' нетидже}} булуна.",
 'search-nonefound' => 'Соратманен эшлешкен бир нетидже ёкъ.',
 'powersearch-legend' => 'Тафсилятлы къыдырув',
 'powersearch-ns' => 'Бу исим фезаларында къыдыр:',
@@ -870,7 +870,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'prefs-rc' => 'Сонъки денъиштирмелер',
 'prefs-watchlist' => 'Козетюв джедвели',
 'prefs-watchlist-days' => 'Козетюв джедвелинде косьтериледжек кунь сайысы:',
-'prefs-watchlist-days-max' => 'Энъ чокъ $1 {{PLURAL:$1|кунь|кунь}}',
+'prefs-watchlist-days-max' => 'Энъ чокъ $1 {{PLURAL:$1|1=кунь|кунь}}',
 'prefs-watchlist-edits' => 'Кенишлетилген козетюв джедвелинде косьтериледжек денъиштирмелер сайысы:',
 'prefs-watchlist-edits-max' => '(энъ чокъ 1000)',
 'prefs-watchlist-token' => 'Козетюв джедвели ишарети:',
@@ -886,7 +886,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'searchresultshead' => 'Къыдырув',
 'resultsperpage' => 'Саифеде косьтериледжек тапылгъан саифе сайысы',
 'recentchangesdays' => 'Сонъки денъиштирмелер саифесинде косьтериледжек кунь сайысы:',
-'recentchangesdays-max' => '(энъ чокъ $1 {{PLURAL:$1|кунь|кунь}})',
+'recentchangesdays-max' => '(энъ чокъ $1 {{PLURAL:$1|1=кунь|кунь}})',
 'recentchangescount' => 'Ог бельгиленген косьтериледжек денъиштирмелер сайысы:',
 'prefs-help-recentchangescount' => 'Бу, сонъки денъиштирмелер, саифе кечмиши ве журнал саифелеринде къулланыла.',
 'savedprefs' => 'Сазламаларынъыз сакъланды.',
@@ -917,7 +917,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'youremail' => 'E-mail адресинъиз:',
 'username' => 'Къулланыджы ады:',
 'uid' => 'Къайд номери:',
-'prefs-memberingroups' => 'Азасы олгъан {{PLURAL:$1|группа|группалар}}:',
+'prefs-memberingroups' => 'Азасы олгъан {{PLURAL:$1|1=группа|группалар}}:',
 'prefs-registration' => 'Къайд тарихы:',
 'yourrealname' => 'Керчек адынъыз:',
 'yourlanguage' => 'Интерфейс тили:',
@@ -925,7 +925,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'yournick' => 'Янъы имзанъыз:',
 'prefs-help-signature' => 'Музакере саифелериндеки тефсирлерни "<nowiki>~~~~</nowiki>" иле имзаламакъ керек, бу дёрт тильда ерине имзанъыз ве вакъыт косьтерилир.',
 'badsig' => 'Янълыш имза. HTML тэглерининъ догърулыгъыны бакъынъыз.',
-'badsiglength' => 'Къарардан зияде узун имзадыр, {{PLURAL:$1|1|$1}} зияде ишареттен ибарет олмасы мумкюн дегиль.',
+'badsiglength' => 'Къарардан зияде узун имзадыр, {{PLURAL:$1|1=1|$1}} зияде ишареттен ибарет олмасы мумкюн дегиль.',
 'yourgender' => 'Джынсынъыз:',
 'gender-unknown' => 'Бильдирильмеген',
 'gender-male' => 'Эркек',
@@ -1022,7 +1022,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'minoreditletter' => 'к',
 'newpageletter' => 'Я',
 'boteditletter' => 'б',
-'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|къулланыджы|къулланыджы}} козете]',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|1=къулланыджы|къулланыджы}} козете]',
 'rc_categories' => 'Тек категориялардан («|» иле айырыла)',
 'rc_categories_any' => 'Эр анги',
 'newsectionsummary' => '/* $1 */ янъы болюк',
@@ -1077,9 +1077,9 @@ $3 мына бу себепни бильдирди: ''$2''",
 'filetype-badmime' => '"$1" MIME чешитиндеки файллар юклеме ясакълыдыр.',
 'filetype-bad-ie-mime' => 'Бу файл юкленип оламаз, чюнки Internet Explorer оны "$1" яни рухсет берильмеген ве зарарлы ола бильген файл деп беллейджек.',
 'filetype-unwanted-type' => "'''\".\$1\"''' — истенильмеген файл чешити.
-Истенильген {{PLURAL:\$3|файл чешити|файл чешитлери}}: \$2.",
+Истенильген {{PLURAL:\$3|1=файл чешити|файл чешитлери}}: \$2.",
 'filetype-banned-type' => "'''\".\$1\"''' — ясакълы файл чешити.
-Истенильген {{PLURAL:\$3|файл чешити|файл чешитлери}}: \$2.",
+Истенильген {{PLURAL:\$3|1=файл чешити|файл чешитлери}}: \$2.",
 'filetype-missing' => 'Файлнынъ ич бир узантысы ёкъ (меселя «.jpg», «.gif» ве илх.).',
 'large-file' => 'Буюклиги $1 байттан зияде ибарет олмагъан ресимлер къулланув тевсие этиле (бу файлнынъ буюклиги $2 байт).',
 'largefileserver' => 'Бу файлнынъ узунлыгъы серверде изин берильгенден буюкчедир.',
@@ -1108,7 +1108,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'fileexists-shared-forbidden' => 'Файллар умумий тутулгъан еринде бу исимде бир файл энди бар.
 Эгер бу файлны эп бир юклемеге истесенъиз, кери къайтынъыз ве файл исмини денъиштирип янъыдан юкленъиз.
 [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Бу файл ашагъыдаки {{PLURAL:$1|файлнынъ|файлларнынъ}} дубликаты ола:',
+'file-exists-duplicate' => 'Бу файл ашагъыдаки {{PLURAL:$1|1=файлнынъ|файлларнынъ}} дубликаты ола:',
 'uploadwarning' => 'Тенби',
 'savefile' => 'Файлны сакъла',
 'uploadedimage' => 'Юкленген: "[[$1]]"',
@@ -1177,7 +1177,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'filehist-comment' => 'Изаат',
 'filehist-missing' => 'Файл ёкъ',
 'imagelinks' => 'Файл багълантылары',
-'linkstoimage' => 'Бу файлгъа багъланты олгъан {{PLURAL:$1|1|$1}} саифе:',
+'linkstoimage' => 'Бу файлгъа багъланты олгъан {{PLURAL:$1|1=1|$1}} саифе:',
 'nolinkstoimage' => 'Бу файлгъа багълангъан саифе ёкъ.',
 'sharedupload' => 'Бу файл $1 сайтындан ве дигер лейхаларда да къулланылып ола.',
 'uploadnewversion-linktext' => 'Файлнынъ янъысыны юкленъиз',
@@ -1209,7 +1209,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 
 # Random page
 'randompage' => 'Тесадюфий саифе',
-'randompage-nopages' => '"$1" {{PLURAL:$2|исим фезасында|исим фезаларында}} ич бир саифе ёкъ.',
+'randompage-nopages' => '"$1" {{PLURAL:$2|1=исим фезасында|исим фезаларында}} ич бир саифе ёкъ.',
 
 # Random redirect
 'randomredirect' => 'Тесадюфий ёллама саифеси',
@@ -1242,12 +1242,12 @@ $3 мына бу себепни бильдирди: ''$2''",
 'fewestrevisions' => 'Энъ аз денъиштирме япылгъан саифелер',
 
 # Miscellaneous special pages
-'nbytes' => '{{PLURAL:$1|1 байт|$1 байт}}',
-'ncategories' => '{{PLURAL:$1|1 категория|$1 категория}}',
-'nlinks' => '{{PLURAL:$1|1 багъланты|$1 багъланты}}',
-'nmembers' => '{{PLURAL:$1|1 аза|$1 аза}}',
-'nrevisions' => '{{PLURAL:$1|1 версия|$1 версия}}',
-'nviews' => '{{PLURAL:$1|1 корюнюв|$1 корюнюв}}',
+'nbytes' => '{{PLURAL:$1|1=1 байт|$1 байт}}',
+'ncategories' => '{{PLURAL:$1|1=1 категория|$1 категория}}',
+'nlinks' => '{{PLURAL:$1|1=1 багъланты|$1 багъланты}}',
+'nmembers' => '{{PLURAL:$1|1=1 аза|$1 аза}}',
+'nrevisions' => '{{PLURAL:$1|1=1 версия|$1 версия}}',
+'nviews' => '{{PLURAL:$1|1=1 корюнюв|$1 корюнюв}}',
 'specialpage-empty' => 'Бу соратма ичюн ич нетидже ёкъ.',
 'lonelypages' => 'Озюне ич багъланты олмагъан саифелер',
 'lonelypagestext' => 'Ашагъыдаки саифелерге {{SITENAME}} сайтындаки дигер саифелерден багъланты берильмеген, ондан да гъайры мезкюр саифелер дигер саиферлрге кирсетильмеген.',
@@ -1282,8 +1282,8 @@ $3 мына бу себепни бильдирди: ''$2''",
 'ancientpages' => 'Энъ эски саифелер',
 'move' => 'Адыны денъиштир',
 'movethispage' => 'Саифенинъ адыны денъиштир',
-'pager-newer-n' => '{{PLURAL:$1|даа янъы 1|даа янъы $1}}',
-'pager-older-n' => '{{PLURAL:$1|даа эски 1|даа эски $1}}',
+'pager-newer-n' => '{{PLURAL:$1|1=даа янъы 1|даа янъы $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=даа эски 1|даа эски $1}}',
 
 # Book sources
 'booksources' => 'Китаплар менбасы',
@@ -1314,7 +1314,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 
 # Special:Categories
 'categories' => 'Саифе категориялары',
-'categoriespagetext' => 'Ашагъыдаки {{PLURAL:$1|категорияда|категорияларда}} саифе я да медиа файллар бар.
+'categoriespagetext' => 'Ашагъыдаки {{PLURAL:$1|1=категорияда|категорияларда}} саифе я да медиа файллар бар.
 [[Special:UnusedCategories|Къулланылмагъан категориялар]] мында косьтерильмеген.
 Айрыджа [[Special:WantedCategories|талап этильген категорияларнынъ джедвелине]] де бакъынъыз.',
 'special-categories-sort-count' => 'сайыларына коре сырала',
@@ -1370,14 +1370,14 @@ $3 мына бу себепни бильдирди: ''$2''",
 'unwatch' => 'Козетме',
 'unwatchthispage' => 'Бу саифени козетме',
 'notanarticle' => 'Малюмат саифеси дегиль',
-'watchlist-details' => 'Музакере саифелерини эсапкъа алмайып, козетюв джедвелинъизде {{PLURAL:$1|1|$1}} саифе бар.',
+'watchlist-details' => 'Музакере саифелерини эсапкъа алмайып, козетюв джедвелинъизде {{PLURAL:$1|1=1|$1}} саифе бар.',
 'wlheader-enotif' => 'E-mail иле хабер берюв ачылды.',
 'wlheader-showupdated' => "Сонъки зияретинъизден сонъ денъиштирильген саифелер '''къалын арифлернен''' косьтерильди.",
 'watchmethod-recent' => 'сонъки денъиштирмелер арасында козеткен саифелеринъиз къыдырыла',
 'watchmethod-list' => 'козетюв джедвелиндеки саифелер тешкериле',
-'watchlistcontains' => 'Сизинъ козетюв джедвелинъизде {{PLURAL:$1|1|$1}} саифе бар.',
+'watchlistcontains' => 'Сизинъ козетюв джедвелинъизде {{PLURAL:$1|1=1|$1}} саифе бар.',
 'iteminvalidname' => '"$1" саифеси мунасебетинен проблема олып чыкъты, эльверишли олмагъан исимдир…',
-'wlnote' => "Ашагъыда саат $3, $4 ичюн сонъки {{PLURAL:$2|саат|'''$2''' саат}} ичинде япылгъан сонъки {{PLURAL:$1|денъиштирме|'''$1''' денъиштирме}} косьтериле.",
+'wlnote' => "Ашагъыда саат $3, $4 ичюн сонъки {{PLURAL:$2|1=саат|'''$2''' саат}} ичинде япылгъан сонъки {{PLURAL:$1|1=денъиштирме|'''$1''' денъиштирме}} косьтериле.",
 'wlshowlast' => 'Сонъки $1 саат ичюн, $2 кунь ичюн я да $3 косьтер',
 'watchlist-options' => 'Козетюв джедвели сазламалары',
 
@@ -1429,7 +1429,7 @@ $UNWATCHURL
 'exblank' => 'саифе метини бош',
 'delete-confirm' => '«$1» саифесини ёкъ этмектесинъиз',
 'delete-legend' => 'Ёкъ этюв',
-'historywarning' => "'''Тенби:''' Сиз ёкъ этмеге истеген саифенъизнинъ къарарнен $1 {{PLURAL:$1|версиялы|версиялы}} кечмиши бардыр:",
+'historywarning' => "'''Тенби:''' Сиз ёкъ этмеге истеген саифенъизнинъ къарарнен $1 {{PLURAL:$1|1=версиялы|версиялы}} кечмиши бардыр:",
 'confirmdeletetext' => 'Бир саифени я да ресимни бутюн кечмиши иле бирликте малюмат базасындан къалыджы оларакъ ёкъ этмек узьресинъиз.
 Лютфен, нетиджелерини анълагъанынъызны ве [[{{MediaWiki:Policy-url}}|ёкъ этюв политикасына]] уйгъунлыгъыны дикъкъаткъа алып, буны япмагъа истегенинъизни тасдыкъланъыз.',
 'actioncomplete' => 'Арекет тамамланды.',
@@ -1468,7 +1468,7 @@ $UNWATCHURL
 'protect_expiry_old' => 'Битиш заманы кечмиштедир.',
 'protect-text' => "'''[[$1]]''' саифесининъ къорчалав севиесини мындан корип олур ве денъиштирип оласынъыз.",
 'protect-locked-access' => "Къулланыджы эсабынъыз саифенинъ къорчалав севиелерини денъиштирме еткисине саип дегиль. '''$1''' саифесининъ шимдики сазламалары шуларыдыр:",
-'protect-cascadeon' => 'Бу саифе шимди къорчалав алтындадыр, чюнки ашагъыда джедвелленген ве каскадлы къорчалав алтындаки {{PLURAL:$1|1|$1}} саифеде къулланыла.
+'protect-cascadeon' => 'Бу саифе шимди къорчалав алтындадыр, чюнки ашагъыда джедвелленген ве каскадлы къорчалав алтындаки {{PLURAL:$1|1=1|$1}} саифеде къулланыла.
 Бу саифенинъ къорчалав севиесини денъиштирип оласынъыз, амма каскадлы къорчалав тесир этильмейджек.',
 'protect-default' => 'Бутюн къулланыджыларгъа рухсет бер',
 'protect-fallback' => 'Тек «$1» рухсети олгъан къулланыджылар ичюн',
@@ -1500,7 +1500,7 @@ $UNWATCHURL
 'undeletebtn' => 'Кери кетир!',
 'undeletelink' => 'косьтер/кери кетир',
 'undeletecomment' => 'Себеп:',
-'undeletedrevisions' => 'Топлам {{PLURAL:$1|1 къайд|$1 къайд}} кери кетирильди.',
+'undeletedrevisions' => 'Топлам {{PLURAL:$1|1=1 къайд|$1 къайд}} кери кетирильди.',
 'undelete-header' => 'Кеченлерде ёкъ этильген саифелерни корьмек ичюн [[Special:Log/delete|ёкъ этюв журналына]] бакъынъыз.',
 
 # Namespace form on various pages
@@ -1537,8 +1537,8 @@ $UNWATCHURL
 'isredirect' => 'Ёллама саифеси',
 'istemplate' => 'кирсетильме',
 'isimage' => 'файл багълантысы',
-'whatlinkshere-prev' => '{{PLURAL:$1|эвельки|эвельки $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|сонъраки|сонъраки $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=эвельки|эвельки $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=сонъраки|сонъраки $1}}',
 'whatlinkshere-links' => '← багълантылар',
 'whatlinkshere-hideredirs' => 'ёлламаларны $1',
 'whatlinkshere-hidetrans' => 'чапраз къошмаларны $1',
@@ -1621,8 +1621,8 @@ $UNWATCHURL
 'movepage-page-unmoved' => '$1 саифесининъ ады $2 оларакъ денъиштирилип оламай.',
 'movelogpage' => 'Ад денъиштирильмелери журналы',
 'movelogpagetext' => 'Ашагъыда булунгъан джедвель ады денъиштирильген саифелерни косьтере',
-'movesubpage' => '{{PLURAL:$1|Алт саифе|Алт саифелер}}',
-'movesubpagetext' => 'Бу саифенинъ ашагъыда косьтерильген $1 {{PLURAL:$1|алт саифеси|алт саифеси}} бар.',
+'movesubpage' => '{{PLURAL:$1|1=Алт саифе|Алт саифелер}}',
+'movesubpagetext' => 'Бу саифенинъ ашагъыда косьтерильген $1 {{PLURAL:$1|1=алт саифеси|алт саифеси}} бар.',
 'movenosubpage' => 'Бу саифенинъ алт саифеси ёкъ.',
 'movereason' => 'Себеп',
 'revertmove' => 'Кериге ал',
@@ -1735,14 +1735,14 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 'notacceptable' => 'Вики-сервер браузеринъиз окъуп оладжакъ форматында малюмат бералмай.',
 
 # Attribution
-'anonymous' => '{{SITENAME}} сайтынынъ  {{PLURAL:$1|1|$1}} къайдсыз (аноним) къулланыджысы',
+'anonymous' => '{{SITENAME}} сайтынынъ  {{PLURAL:$1|1=1|$1}} къайдсыз (аноним) къулланыджысы',
 'siteuser' => '{{SITENAME}} сайтынынъ къулланыджысы $1',
 'anonuser' => '{{SITENAME}} сайтынынъ къайдсыз (аноним) къулланыджысы $1',
 'lastmodifiedatby' => 'Саифе энъ сонъки $3 тарафындан $1, $2 тарихында денъиштирильди.',
 'othercontribs' => 'Бу саифени яраткъанда иштирак эткен: $1.',
 'others' => 'дигерлери',
-'siteusers' => '{{SITENAME}} сайтынынъ {{PLURAL:$2|1|$2}} къулланыджысы $1',
-'anonusers' => '{{SITENAME}} сайтынынъ къайдсыз (аноним) {{PLURAL:$2|къулланыджысы|къулланыджылары}} $1',
+'siteusers' => '{{SITENAME}} сайтынынъ {{PLURAL:$2|1=1|$2}} къулланыджысы $1',
+'anonusers' => '{{SITENAME}} сайтынынъ къайдсыз (аноним) {{PLURAL:$2|1=къулланыджысы|къулланыджылары}} $1',
 'creditspage' => 'Тешеккюрлер',
 'nocredits' => 'Бу саифе ичюн къулланыджылар джедвели ёкъ.',
 
@@ -1778,7 +1778,7 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 Файлны ишлетип ишлетим системанъызгъа зарар кетирип олурсынъыз.",
 'imagemaxsize' => "Ресим ольчюси сынъыры:<br />''(файл малюмат саифелери ичюн)''",
 'thumbsize' => 'Кичик ольчю:',
-'widthheightpage' => '$1 × $2, {{PLURAL:$3|1|$3}} саифе',
+'widthheightpage' => '$1 × $2, {{PLURAL:$3|1=1|$3}} саифе',
 'file-info' => 'файл буюклиги: $1, MIME чешити: $2',
 'file-info-size' => '$1 × $2 пиксель, файл буюклиги: $3, MIME чешити: $4',
 'file-nohires' => 'Даа юксек айырымлылыкъкъа саип версия ёкъ.',
@@ -1787,7 +1787,7 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 
 # Special:NewFiles
 'newimages' => 'Янъы ресимлер',
-'imagelisttext' => "Ашагъыдаки джедвельде $2 коре тизильген {{PLURAL:$1|'''1''' файлдыр|'''$1''' файлдыр}}.",
+'imagelisttext' => "Ашагъыдаки джедвельде $2 коре тизильген {{PLURAL:$1|1='''1''' файлдыр|'''$1''' файлдыр}}.",
 'newimages-summary' => 'Бу махсус саифе сонъки юкленген файлларны косьтере.',
 'newimages-legend' => 'Сюзгюч',
 'newimages-label' => 'Файл ады (я да онынъ бир парчасы):',
@@ -1969,18 +1969,18 @@ $5
 'livepreview-error' => 'Багъланамады: $1 «$2». Адий бакъып чыкъувны къулланып бакъынъыз.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => '{{PLURAL:$1|1|$1}} саниеден эвель ве ондан сонъ япылгъан денъишикликлер бу джедвельде косьтерильмейип олалар.',
-'lag-warn-high' => 'Малюмат базасындаки проблемалар себебинден {{PLURAL:$1|1|$1}} саниеден эвель ве ондан сонъ япылгъан денъишикликлер бу джедвельде косьтерильмейип олалар.',
+'lag-warn-normal' => '{{PLURAL:$1|1=1|$1}} саниеден эвель ве ондан сонъ япылгъан денъишикликлер бу джедвельде косьтерильмейип олалар.',
+'lag-warn-high' => 'Малюмат базасындаки проблемалар себебинден {{PLURAL:$1|1=1|$1}} саниеден эвель ве ондан сонъ япылгъан денъишикликлер бу джедвельде косьтерильмейип олалар.',
 
 # Watchlist editor
-'watchlistedit-numitems' => 'Музакере саифесини эсапкъа алмайып, козетюв джедвелинъизде {{PLURAL:$1|1|$1}} саифе бар.',
+'watchlistedit-numitems' => 'Музакере саифесини эсапкъа алмайып, козетюв джедвелинъизде {{PLURAL:$1|1=1|$1}} саифе бар.',
 'watchlistedit-noitems' => 'Козетюв джедвелинъизде ич бир саифе ёкъ.',
 'watchlistedit-normal-title' => 'Козетюв джевелинъизни денъиштиреятасыз',
 'watchlistedit-normal-legend' => 'Козетюв джедвелинден саифе ёкъ этилюви',
 'watchlistedit-normal-explain' => 'Козетюв джедвелинъиздеки саифелер ашагъыда косьтерильген.
 Бир саифе козетюв джедвелинден ёкъ этмек ичюн оны бельгилеп «{{int:Watchlistedit-normal-submit}}» дёгмесине басынъыз. Козетюв джедвелинъизни [[Special:EditWatchlist/raw|метин оларакъ да]] денъиштирип оласынъыз.',
 'watchlistedit-normal-submit' => 'Сайлангъан саифелерни козетюв джевелинден ёкъ эт',
-'watchlistedit-normal-done' => '{{PLURAL:$1|1 саифе|$1 саифе}} козетюв джедвелинъизден ёкъ этильди:',
+'watchlistedit-normal-done' => '{{PLURAL:$1|1=1 саифе|$1 саифе}} козетюв джедвелинъизден ёкъ этильди:',
 'watchlistedit-raw-title' => 'Козетюв джевелинъизни денъиштиреятасыз',
 'watchlistedit-raw-legend' => 'Козетюв джедвелини денъиштирилюви',
 'watchlistedit-raw-explain' => 'Козетюв джедвелинъиздеки саифелер ашагъыда косьтерильген. Эр сатырда бир саифе серлевасы олмакъ узере, серлеваларны кирсетип я да ёкъ этип джедвельни денъиштирип оласынъыз.
@@ -1989,8 +1989,8 @@ $5
 'watchlistedit-raw-titles' => 'Саифелер:',
 'watchlistedit-raw-submit' => 'Козетюв джедвелини янъарт',
 'watchlistedit-raw-done' => 'Козетюв джедвелинъиз янъарды.',
-'watchlistedit-raw-added' => '{{PLURAL:$1|1 саифе|$1 саифе}} иляве олунды:',
-'watchlistedit-raw-removed' => '{{PLURAL:$1|1 саифе|$1 саифе}} ёкъ этильди:',
+'watchlistedit-raw-added' => '{{PLURAL:$1|1=1 саифе|$1 саифе}} иляве олунды:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|1=1 саифе|$1 саифе}} ёкъ этильди:',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Денъишикликлерни косьтер',
@@ -2009,7 +2009,7 @@ $5
 'fileduplicatesearch-submit' => 'Къыдыр',
 'fileduplicatesearch-info' => '$1 × $2 пиксел<br />Файл буюклиги: $3<br />MIME чешити: $4',
 'fileduplicatesearch-result-1' => '«$1» файлынынъ ич копиясы ёкъ.',
-'fileduplicatesearch-result-n' => '«$1» файлынынъ {{PLURAL:$2|бир копиясы|$2 копиясы}} бар.',
+'fileduplicatesearch-result-n' => '«$1» файлынынъ {{PLURAL:$2|1=бир копиясы|$2 копиясы}} бар.',
 
 # Special:SpecialPages
 'specialpages' => 'Махсус саифелер',
index b1582da..c7c2641 100644 (file)
@@ -1839,7 +1839,7 @@ Pro vložení obrázku do stránky použijte jeden z následujících způsobů
 'filetype-mime-mismatch' => 'Přípona souboru „.$1“ neodpovídá rozpoznanému MIME typu souboru ($2).',
 'filetype-badmime' => 'Není povoleno načítat soubory MIME typu „$1“.',
 'filetype-bad-ie-mime' => 'Nelze načíst tento soubor, neboť Internet Explorer by ho považoval za „$1“, což je nedovolený a potenciálně nebezpečný typ souboru.',
-'filetype-unwanted-type' => "„.$1“''' je nežádoucí formát souborů. {{plural:$3|Upřednostňovaný formát souborů je|Upřednostňované formáty souborů jsou}} $2.",
+'filetype-unwanted-type' => "„.$1“''' je nežádoucí formát souborů. {{PLURAL:$3|Upřednostňovaný formát souborů je|Upřednostňované formáty souborů jsou}} $2.",
 'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|je nedovolený formát souborů|jsou nedovolené formáty souborů}}.
 {{PLURAL:$3|Povolený formát souborů je|Povolené formáty souborů jsou}} $2.",
 'filetype-missing' => 'Soubor nemá příponu (např. ".jpg").',
@@ -1879,6 +1879,8 @@ Pokud chcete přesto soubor načíst, vraťte se a zvolte jiný název.
 'fileexists-shared-forbidden' => 'Soubor s tímto názvem již existuje ve sdíleném úložišti. Pokud přesto chcete váš soubor načíst, vraťte se a zvolte jiný název. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Tento soubor je duplikát {{PLURAL:$1|následujícího souboru|následujících souborů}}:',
 'file-deleted-duplicate' => 'Identický soubor k tomuto ([[:$1]]) byl již dříve smazán. Před tím, než soubor znovu nahrajete, byste měli zkontrolovat záznamy o předchozím smazání.',
+'file-deleted-duplicate-notitle' => 'Identický soubor k tomuto byl již dříve smazán a název byl utajen.
+Před tím, než soubor znovu nahrajete, byste měli požádat někoho, kdo může prohlížet utajené soubory, aby situaci zkontroloval.',
 'uploadwarning' => 'Upozornění k načítání',
 'uploadwarning-text' => 'Prosíme, upravte popis souboru níže a zkuste to znovu.',
 'savefile' => 'Uložit soubor',
@@ -2082,7 +2084,7 @@ Můžete si prohlédnout [[Special:WhatLinksHere/$2|úplný seznam]].',
 'nolinkstoimage' => 'Na tento soubor neodkazuje žádná stránka.',
 'morelinkstoimage' => 'Zobrazit [[Special:WhatLinksHere/$1|další odkazy]] na tento soubor.',
 'linkstoimage-redirect' => '$1 (přesměrování) $2',
-'duplicatesoffile' => '{{plural:$1|Následující soubor je duplikát|Následující $1 soubory jsou duplikáty|Následujících $1 souborů jsou duplikáty}} tohoto souboru ([[Special:FileDuplicateSearch/$2|podrobnosti]]):',
+'duplicatesoffile' => '{{PLURAL:$1|Následující soubor je duplikát|Následující $1 soubory jsou duplikáty|Následujících $1 souborů jsou duplikáty}} tohoto souboru ([[Special:FileDuplicateSearch/$2|podrobnosti]]):',
 'sharedupload' => 'Tento soubor pochází z {{grammar:2sg|$1}} a mohou ho používat ostatní projekty.',
 'sharedupload-desc-there' => 'Tento soubor pochází z {{grammar:2sg|$1}} a mohou ho používat ostatní projekty.
 Více informací obsahuje jeho [$2 tamější stránka s popisem souboru].',
@@ -2181,7 +2183,7 @@ Vstup: <code>typ obsahu/podtyp</code>, např. <code>image/jpeg</code>.',
 'statistics-views-peredit' => 'Počet zobrazení na editaci',
 'statistics-users' => 'Registrovaní [[Special:ListUsers|uživatelé]]',
 'statistics-users-active' => 'Aktivní uživatelé',
-'statistics-users-active-desc' => 'Uživatelé, kteří v {{plural:$1|posledním dni|posledních $1 dnech}} provedli nějakou operaci',
+'statistics-users-active-desc' => 'Uživatelé, kteří v {{PLURAL:$1|posledním dni|posledních $1 dnech}} provedli nějakou operaci',
 'statistics-mostpopular' => 'Nejčtenější stránky',
 
 'pageswithprop' => 'Stránky s vlastností',
@@ -2257,6 +2259,7 @@ Každý řádek obsahuje odkaz na první a druhé přesměrování a k tomu cíl
 'protectedpages' => 'Zamčené stránky',
 'protectedpages-indef' => 'Pouze zámky na neurčito',
 'protectedpages-cascade' => 'Pouze kaskádové zámky',
+'protectedpages-noredirect' => 'Skrýt přesměrování',
 'protectedpagesempty' => 'Žádná stránka není zamčena s těmito parametry.',
 'protectedtitles' => 'Zamčené názvy stránek',
 'protectedtitlesempty' => 'S těmito parametry nejsou zamčeny žádné názvy.',
@@ -2354,7 +2357,7 @@ Povinná je přinejmenším doména nejvyššího řádu, např. „*.org“.<br
 
 # Special:ActiveUsers
 'activeusers' => 'Seznam aktivních uživatelů',
-'activeusers-intro' => 'Toto je seznam uživatelů, kteří byli nějak aktivní v {{plural:$1|posledním dni|posledních $1 dnech}}.',
+'activeusers-intro' => 'Toto je seznam uživatelů, kteří byli nějak aktivní v {{PLURAL:$1|posledním dni|posledních $1 dnech}}.',
 'activeusers-count' => '$1 {{PLURAL:$1|akce|akce|akcí}} během {{PLURAL:$3|posledního dne|posledních $3 dnů}}',
 'activeusers-from' => 'Zobrazit uživatele počínaje od:',
 'activeusers-hidebots' => 'Skrýt roboty',
@@ -2508,7 +2511,7 @@ Rady a kontakt:
 'exblank' => 'stránka byla prázdná',
 'delete-confirm' => 'Smazání stránky „$1“',
 'delete-legend' => 'Smazat',
-'historywarning' => "'''Varování:''' Stránka, kterou chcete smazat, má historii se zhruba $1 {{plural:$1|revizí|revizemi}}:",
+'historywarning' => "'''Varování:''' Stránka, kterou chcete smazat, má historii se zhruba $1 {{PLURAL:$1|revizí|revizemi}}:",
 'confirmdeletetext' => 'Chystáte se smazat stránku s celou její historií. Prosím potvrďte, že to opravdu chcete učinit, že si uvědomujete důsledky a že je to v souladu s [[{{MediaWiki:Policy-url}}|pravidly]].',
 'actioncomplete' => 'Provedeno',
 'actionfailed' => 'Operace se nezdařila',
@@ -2527,8 +2530,8 @@ Rady a kontakt:
 ** Na žádost autora
 ** Rozbité přesměrování',
 'delete-edit-reasonlist' => 'Editovat důvody smazání',
-'delete-toobig' => 'Tato stránka má velkou historii editací, přes $1 {{plural:$1|verzi|verze|verzí}}. Mazání takových stránek je omezeno, aby se předešlo nechtěnému narušení {{grammar:2sg|{{SITENAME}}}}.',
-'delete-warning-toobig' => 'Tato stránka má velkou historii editací, přes $1 {{plural:$1|verzi|verze|verzí}}. Mazání takových stránek může narušit databázové operace {{grammar:2sg|{{SITENAME}}}}; postupujte opatrně.',
+'delete-toobig' => 'Tato stránka má velkou historii editací, přes $1 {{PLURAL:$1|verzi|verze|verzí}}. Mazání takových stránek je omezeno, aby se předešlo nechtěnému narušení {{grammar:2sg|{{SITENAME}}}}.',
+'delete-warning-toobig' => 'Tato stránka má velkou historii editací, přes $1 {{PLURAL:$1|verzi|verze|verzí}}. Mazání takových stránek může narušit databázové operace {{grammar:2sg|{{SITENAME}}}}; postupujte opatrně.',
 'deleting-backlinks-warning' => "'''Upozornění:''' Na stránku, kterou se chystáte smazat, odkazují jiné stránky.",
 
 # Rollback
@@ -2915,7 +2918,7 @@ V těchto případech musíte přesunout nebo sloučit stránky manuálně, jest
 'movelogpage' => 'Kniha přesunů',
 'movelogpagetext' => 'Toto je záznam všech přesunů stránek.',
 'movesubpage' => '{{PLURAL:$1|Podstránka|Podstránky}}',
-'movesubpagetext' => 'Tato stránka má $1 {{plural:$1|podstránku uvedenou|podstránky vypsané|podstránek vypsaných}} níže.',
+'movesubpagetext' => 'Tato stránka má $1 {{PLURAL:$1|podstránku uvedenou|podstránky vypsané|podstránek vypsaných}} níže.',
 'movenosubpage' => 'Tato stránka nemá žádné podstránky.',
 'movereason' => 'Důvod:',
 'revertmove' => 'vrátit',
@@ -3299,7 +3302,7 @@ Otevřením souboru můžete ohrozit svůj počítač.",
 
 # Special:NewFiles
 'newimages' => 'Galerie nových souborů',
-'imagelisttext' => "Níže je {{plural:$1|jeden soubor|seznam '''$1'''&nbsp;souborů seřazených $2|seznam '''$1'''&nbsp;souborů seřazených $2}}.",
+'imagelisttext' => "Níže je {{PLURAL:$1|jeden soubor|seznam '''$1'''&nbsp;souborů seřazených $2|seznam '''$1'''&nbsp;souborů seřazených $2}}.",
 'newimages-summary' => 'Na této speciální stránce se zobrazují poslední načtené soubory.',
 'newimages-legend' => 'Filtr',
 'newimages-label' => 'Název souboru (nebo jeho část):',
@@ -3994,7 +3997,17 @@ Seznam editovaných stránek můžete také [[Special:EditWatchlist|editovat ve
 'version-hook-name' => 'Název přípojného bodu',
 'version-hook-subscribedby' => 'Volán z',
 'version-version' => '(Verze $1)',
-'version-license' => 'Licence',
+'version-license' => 'Licence MediaWiki',
+'version-ext-license' => 'Licence',
+'version-ext-colheader-name' => 'Rozšíření',
+'version-ext-colheader-version' => 'Verze',
+'version-ext-colheader-license' => 'Licence',
+'version-ext-colheader-description' => 'Popis',
+'version-ext-colheader-credits' => 'Autoři',
+'version-license-title' => 'Licence pro $1',
+'version-license-not-found' => 'Pro toto rozšíření nebyly nalezeny podrobnější informace o licenci.',
+'version-credits-title' => 'Autoři $1',
+'version-credits-not-found' => 'Pro toto rozšíření nebyly nalezeny podrobnější informace o autorech.',
 'version-poweredby-credits' => "Tato wiki běží na '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001–$1 $2.",
 'version-poweredby-others' => 'další',
 'version-poweredby-translators' => 'překladatelé na translatewiki.net',
@@ -4215,6 +4228,7 @@ Jinak můžete využít jednoduchý formulář níže. Váš komentář bude př
 'api-error-overwrite' => 'Není dovoleno přepsat existující soubor.',
 'api-error-stashfailed' => 'Vnitřní chyba: Serveru se nepodařilo uložit dočasný soubor.',
 'api-error-publishfailed' => 'Vnitřní chyba: Serveru se nepodařilo zveřejnit dočasný soubor.',
+'api-error-stasherror' => 'Při načítání souboru do skrýše došlo k chybě.',
 'api-error-timeout' => 'Server neodpověděl v očekávaném čase.',
 'api-error-unclassified' => 'Došlo k neznámé chybě',
 'api-error-unknown-code' => 'Neznámá chyba: „$1“',
index c18808d..4d52199 100644 (file)
@@ -57,7 +57,7 @@ $messages = array(
 'tog-editsection' => '«Тӳрлет» ссылкăна кашни пайра кăтартмалла',
 'tog-editsectiononrightclick' => 'Шăшин сылтăм пускăчне пуссан статья пайне тӳрлетмелле (JavaScript)',
 'tog-showtoc' => 'Тупмаллине кăтартмалла (3, е ытларах заголовок пулсан)',
-'tog-rememberpassword' => 'Мана ку компьютер çинче астуса хăвармалла (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'tog-rememberpassword' => 'Мана ку компьютер çинче астуса хăвармалла (for a maximum of $1 {{PLURAL:$1|1=day|days}})',
 'tog-watchcreations' => 'Эпĕ тунă страницăсене сăнав списокне кĕртмелле',
 'tog-watchdefault' => 'Тӳрлетнĕ страницăсене сăнав списокне кĕртмелле',
 'tog-watchmoves' => 'Страница ятне эпĕ улаштарсан вĕсене сăнав списокне кĕртмелле',
@@ -138,18 +138,18 @@ $messages = array(
 'dec' => 'раш',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категори|Категорисем}}',
+'pagecategories' => '{{PLURAL:$1|1=Категори|Категорисем}}',
 'category_header' => '«$1» категорири статьясем',
 'subcategories' => 'Подкатегорисем',
 'category-media-header' => '«$1» категорири файлсем',
 'category-empty' => "''Хальхи вăхăтра ку категори пушă.''",
-'hidden-categories' => '{{PLURAL:$1|Пытарнă категори|Пытарнă категорисем}}',
+'hidden-categories' => '{{PLURAL:$1|1=Пытарнă категори|Пытарнă категорисем}}',
 'hidden-category-category' => 'Пытарнă категорисем',
 'category-subcat-count' => '{{PLURAL:$2|Ку категоринче çак айри категори пур.|$2-ран(-рен,-тан,-тен) {{PLURAL:$1|$1 айри категорине кăтартнă|$1 айри категорине кăтартнă|$1 айри категорине кăтартнă}}.}}',
 'category-subcat-count-limited' => 'Ку категоринче {{PLURAL:$1|$1 айри категори|$1 айри категори|$1 айри категори}}.',
-'category-article-count' => '{{PLURAL:$2|Ку категоринче пĕр страница кăна.|Ку категорири $2 страницăран $1 кăтартнă.}}',
+'category-article-count' => '{{PLURAL:$2|1=Ку категоринче пĕр страница кăна.|Ку категорири $2 страницăран $1 кăтартнă.}}',
 'category-article-count-limited' => 'Ку категоринче $1 страница.',
-'category-file-count' => '{{PLURAL:$2|Ку категоринче пĕр файл кăна.|Ку категоринчи $2 файлтан $1 кăтартнă.}}',
+'category-file-count' => '{{PLURAL:$2|1=Ку категоринче пĕр файл кăна.|Ку категоринчи $2 файлтан $1 кăтартнă.}}',
 'category-file-count-limited' => 'Ку категоринче $1 файл.',
 'listingcontinuesabbrev' => '(малалли)',
 
@@ -337,8 +337,8 @@ $1',
 'cannotdelete' => 'Эсир кăтартнă страницăна е файла кăларса пăрахаймастпăр. Ăна, тен, урăххи кăларса пăрахнă?',
 'badtitle' => 'Ку ят килĕшмест',
 'badtitletext' => 'Эсир кăтартнă статья ячĕ тĕрĕс мар, пушă, е чĕлхе хушшинчипе интервики ячĕ тĕрĕс мар. Ятра усă курма юраман паллăсене çырнинче пулма пултарать.',
-'perfcached' => 'Ку даннăйсене кэшран илнĕ, çавна май унта юлашки улшăнусем палăрмасăр пултараççĕ. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Ку даннăйсене кэшран илнĕ, юлашки хут вăл $1 вăхăтра çĕнелнĕ. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Ку даннăйсене кэшран илнĕ, çавна май унта юлашки улшăнусем палăрмасăр пултараççĕ. A maximum of {{PLURAL:$1|1=one result is|$1 results are}} available in the cache.',
+'perfcachedts' => 'Ку даннăйсене кэшран илнĕ, юлашки хут вăл $1 вăхăтра çĕнелнĕ. A maximum of {{PLURAL:$4|1=one result is|$4 results are}} available in the cache.',
 'querypage-no-updates' => 'Ку страницăна хальхи вăхăтра улăштарма чарнă. Ку даннăйсене хальхи вăхăтра çĕнетме май çук.',
 'viewsource' => 'Курăм',
 'actionthrottled' => 'Хăвăртлăха чакарнă',
@@ -364,7 +364,7 @@ $1',
 'yourname' => 'Сирĕн ят',
 'yourpassword' => 'Вăрттăн сăмах:',
 'yourpasswordagain' => 'Вăрттăн сăмах тепре çырăр:',
-'remembermypassword' => 'Ку компьютер çинче мана астуса хăвармалла (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'remembermypassword' => 'Ку компьютер çинче мана астуса хăвармалла (for a maximum of $1 {{PLURAL:$1|1=day|days}})',
 'yourdomainname' => 'Сирĕн домен',
 'login' => 'Сайта кĕр',
 'nav-login-createaccount' => 'Сайта кĕр / регистрацилен',
@@ -557,9 +557,9 @@ $1 хутшăнакан патне, е ытти [[{{MediaWiki:Grouppage-sysop}}|
 'textmatches' => 'Статьясенчи текст пĕрпеклĕхĕ',
 'prevn' => 'малтанхи {{PLURAL:$1|$1}}',
 'nextn' => 'малалли {{PLURAL:$1|$1}}',
-'search-result-size' => '$1 ({{PLURAL:$2|1 сăмах|$2 сăмах}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1 сăмах|$2 сăмах}})',
 'showingresults' => 'Аяларах эсир <b>#$2</b> пуçласа кăтартнă <b>$1</b> йĕркене куратăр.',
-'showingresultsheader' => "{{PLURAL:$5|Результат '''$1'''  '''$3''' хушшинчен|Результатсем'''$1 - $2''' '''$3''' хушшинчен}}  '''$4''' валли",
+'showingresultsheader' => "{{PLURAL:$5|1=Результат '''$1'''  '''$3''' хушшинчен|Результатсем'''$1 - $2''' '''$3''' хушшинчен}}  '''$4''' валли",
 'powersearch-legend' => 'Анлă шырав',
 
 # Preferences page
@@ -776,8 +776,8 @@ $1 хутшăнакан патне, е ытти [[{{MediaWiki:Grouppage-sysop}}|
 'fewestrevisions' => 'Сахал тӳрлетнĕ статьясем',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байт}}',
-'nlinks' => '$1 {{PLURAL:$1|каçă|каçă}}',
+'nbytes' => '$1 {{PLURAL:$1|1=байт|байт}}',
+'nlinks' => '$1 {{PLURAL:$1|1=каçă|каçă}}',
 'nviews' => '$1 хут пăхнă',
 'specialpage-empty' => 'Ку страница пушă',
 'lonelypages' => 'Тăлăх страницăсем',
index bfac832..890ac1b 100644 (file)
@@ -972,7 +972,9 @@ Cafodd yr argiau hyn eu hepgor.",
 'cantcreateaccount-text' => "Rhwystrwyd y gallu i greu cyfrif ar gyfer y cyfeiriad IP hwn, ('''$1'''), gan [[User:$3|$3]].
 
 Y rheswm a roddwyd dros y bloc gan $3 yw ''$2''.",
-'cantcreateaccount-range-text' => "Gosododd [[User:$3|$3]] floc ar agor cyfrifon o gyfeiriadau IP yn yr ystod '''$1''', sy'n cynnwys eich cyfeiriad IP chi ('''$4''').",
+'cantcreateaccount-range-text' => "Gosododd [[User:\$3|\$3]] floc ar agor cyfrifon o gyfeiriadau IP yn yr ystod '''\$1''', sy'n cynnwys eich cyfeiriad IP chi ('''\$4''').
+
+Y rheswm a roddwyd gan \$3 yw \"\$2\"",
 
 # History pages
 'viewpagelogs' => "Dangos logiau'r dudalen hon",
@@ -1998,6 +2000,7 @@ Gosodwyd <del>llinell</del> drwy'r eitemau sydd eisoes wedi eu datrys.",
 'protectedpages' => 'Tudalennau wedi eu diogelu',
 'protectedpages-indef' => 'A ddiogelwyd yn ddi-derfyn yn unig',
 'protectedpages-cascade' => 'A sgydol-ddiogelwyd yn unig',
+'protectedpages-noredirect' => 'Cuddio ailgyfeiriadau',
 'protectedpagesempty' => "Does dim tudalennau wedi eu diogelu gyda'r paramedrau hyn.",
 'protectedtitles' => 'Teitlau wedi eu diogelu',
 'protectedtitlesempty' => "Ar hyn o bryd nid oes unrhyw deitlau wedi eu diogelu a'r paramedrau hyn.",
@@ -2275,6 +2278,7 @@ Gwelwch y $2 am gofnod o\'r dileuon diweddar.',
 Cyfyngwyd ar y gallu i ddileu tudalennau sydd wedi eu golygu cymaint â hyn, er mwyn osgoi amharu ar weithrediad databas {{SITENAME}} yn ddamweiniol.",
 'delete-warning-toobig' => "Cafwyd dros $1 {{PLURAL:$1|o olygiadau}} i'r dudalen hon.
 Gallai dileu tudalen, gyda hanes golygu cymaint â hyn iddi, beri dryswch i weithrediadau'r databas ar {{SITENAME}}; ewch ati'n ofalus.",
+'deleting-backlinks-warning' => "'''Rhybudd:''' Mae tudalennau eraill yn cysylltu i'r dudalen yr ydych ar fin ei dileu.",
 
 # Rollback
 'rollback' => 'Gwrthdroi golygiadau',
@@ -3667,7 +3671,17 @@ Gallwch hefyd [[Special:EditWatchlist|ddefnyddio\'r rhestr arferol]].',
 'version-hook-name' => "Enw'r bachyn",
 'version-hook-subscribedby' => 'Tanysgrifwyd gan',
 'version-version' => '(Fersiwn $1)',
-'version-license' => 'Trwydded',
+'version-license' => 'Trwydded MediaWiki',
+'version-ext-license' => 'Trwydded',
+'version-ext-colheader-name' => 'Estyniad',
+'version-ext-colheader-version' => 'Fersiwn',
+'version-ext-colheader-license' => 'Trwydded',
+'version-ext-colheader-description' => 'Disgrifiad',
+'version-ext-colheader-credits' => 'Awduron',
+'version-license-title' => 'Trwydded $1',
+'version-license-not-found' => 'Ni chafwyd hyd i wybodaeth manwl am drwydded yr estyniad hwn.',
+'version-credits-title' => 'Tadogi $1',
+'version-credits-not-found' => "Ni chafwyd hyd i wybodaeth fanwl ar dadogi'r estyniad hwn.",
 'version-poweredby-credits' => "Mae'r wici hwn wedi'i nerthu gan '''[https://www.mediawiki.org/ MediaWiki]''', hawlfraint © 2001 - $1 $2.",
 'version-poweredby-others' => 'eraill',
 'version-poweredby-translators' => 'cyfieithwyr translatewiki.net',
@@ -3887,6 +3901,7 @@ Defnydd:
 'api-error-overwrite' => 'Ni chaniateir trosysgrifo ffeil sydd eisoes yn bod.',
 'api-error-stashfailed' => "Gwall mewnol: methodd y gweinydd â rhoi'r ffeil dros dro ar gadw.",
 'api-error-publishfailed' => "Gwall mewnol: methodd y gweinydd â chyhoeddi'r ffeil dros dro.",
+'api-error-stasherror' => "Cafwyd gwall wrth uwchlwytho'r ffeil i'w gelcio.",
 'api-error-timeout' => 'Ni chafwyd ymateb gan y gweinydd mewn da bryd.',
 'api-error-unclassified' => 'Cafwyd gwall anhysbys',
 'api-error-unknown-code' => 'Gwall anhysbys: "$1"',
index 8ac8ff4..1078bd4 100644 (file)
@@ -559,9 +559,9 @@ Den kan være blevet slettet af en anden.',
 'delete-hook-aborted' => 'Sletningen blev afbrudt af en programfunktion.
 Der var ikke nogen forklaring.',
 'no-null-revision' => 'Kunne ikke oprette nye tom revision for side "$1"',
-'badtitle' => 'Forkert titel',
-'badtitletext' => 'Den ønskede sides titel var ikke tilladt, tom eller siden er forkert henvist fra en {{SITENAME}} på et andet sprog.
-Den kan indeholde et eller flere tegn, som ikke kan anvendes i titler.',
+'badtitle' => 'Ugyldig titel',
+'badtitletext' => 'Den ønskede sides titel var ikke tilladt, tom eller siden er forkert henvist fra {{SITENAME}} på et andet sprog.
+Den kan indeholde et eller flere tegn, som ikke  anvendes i titler.',
 'perfcached' => 'Følgende data er gemt i cachen, der muligvis ikke er helt opdateret. Der gemmes højst {{PLURAL:$1|ét resultat|$1 resultater}} i cachen.',
 'perfcachedts' => 'Disse data stammer fra cachen, som senest blev opdateret $1. Der gemmes højst {{PLURAL:$4|ét resultat|$4 resultater}} i cachen.',
 'querypage-no-updates' => "'''Opdateringer til denne side er deaktiveret for øjeblikket. Dataene bliver indtil videre ikke fornyet.'''",
@@ -704,7 +704,7 @@ kan du bare ignorere denne e-mail og fortsætte med at bruge din gamle adgangsko
 'noemailcreate' => 'Du skal angive en gyldig e-mailadresse',
 'passwordsent' => 'En ny adgangskode er sendt til e-mailadressen, som er registreret for "$1".
 Du bør logge på og ændre din adgangskode straks efter du har modtaget e-mailen.',
-'blocked-mailpassword' => 'Din IP-adresse er spærret for ændring af sider. For at forhindre misbrug, er det heller ikke muligt, at bestille en ny adgangskode.',
+'blocked-mailpassword' => 'Din IP-adresse er blokeret fra at redigere sider. For at forhindre misbrug, er det heller ikke muligt, at bestille en ny adgangskode.',
 'eauthentsent' => 'En e-mailbekræftelse er sendt til den angivne e-mailadresse.
 
 Før flere e-mails bliver sendt til kontoen, skal du følge instruktionerne i e-mailen, for at bekræfte at kontoen rent faktisk er din.',
@@ -853,7 +853,7 @@ Du bør gøre det, hvis du ved et uheld deler dem med nogen, eller hvis din kont
 'missingcommentheader' => "'''Bemærk:''' Du har ikke angivet en overskrift/emne for denne kommentar. Hvis du trykker \"{{int:savearticle}}\" én gang til, gemmes dine ændringer uden overskrift/emne.",
 'summary-preview' => 'Forhåndsvisning af beskrivelsen:',
 'subject-preview' => 'Forhåndsvisning af emnet:',
-'blockedtitle' => 'Brugeren er blokeret',
+'blockedtitle' => 'Du eller din IP-adresse er blokeret',
 'blockedtext' => "'''Dit brugernavn eller din IP-adresse er blevet blokeret.'''
 
 Blokeringen er foretaget af $1.
@@ -1057,7 +1057,9 @@ Kontroller venligst sammenligningen herunder for at bekræfte at det er hvad du
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Brugerkontoen kan ikke oprettes.',
-'cantcreateaccount-text' => "Oprettelsen af en brugerkonto fra IP-adressen <b>$1</b> er spærret af [[User:$3|$3]]. Årsagen til blokeringen er angivet som ''$2''",
+'cantcreateaccount-text' => "Oprettelsen af en brugerkonto fra IP-adressen ('''$1''') er blevet blokeret af [[User:$3|$3]].
+
+Årsagen til blokeringen er angivet af $3 som ''$2''",
 'cantcreateaccount-range-text' => "Oprettelsen af en brugerkonto fra IP-adresser i intervallet '''$1''', som omfatter din IP-adresse ('''$4'''), er blevet blokeret af [[User:$3|$3]].
 
 Årsagen angivet af $3 er ''$2''",
@@ -1347,7 +1349,7 @@ Hvis andre kender den, man vil være i stand til at læse din overvågningsliste
 'timezoneregion-europe' => 'Europa',
 'timezoneregion-indian' => 'Indiske Ocean',
 'timezoneregion-pacific' => 'Stillehavet',
-'allowemail' => 'Tillad e-mails fra andre brugere',
+'allowemail' => 'Tillad e-mail fra andre brugere',
 'prefs-searchoptions' => 'Søg',
 'prefs-namespaces' => 'Navnerum',
 'defaultns' => 'Ellers søg i disse navnerum:',
@@ -1370,8 +1372,8 @@ Det kan ikke gøres om.',
 'prefs-help-variant' => 'Den sprogvariant eller retskrivning, som du foretrækker, at denne wikis indholdssider vises i.',
 'yournick' => 'Signatur:',
 'prefs-help-signature' => 'Kommentarer på diskussionssider bør signeres med "<nowiki>~~~~</nowiki>" som vil blive konverteret til din signatur og et tidsstempel.',
-'badsig' => 'Syntaksen i underskriften er ugyldig; kontroller venligst den brugte HTML.',
-'badsiglength' => 'Din signatur er for lang. Den må højst indeholde {{PLURAL:$1|}}$1 tegn.',
+'badsig' => 'Syntaksen i signaturen er ugyldig; kontroller venligst den brugte HTML.',
+'badsiglength' => 'Din signatur er for lang. Den må højst indeholde $1 {{PLURAL:$1|tegn}}.',
 'yourgender' => 'Hvordan foretrækker du at blive beskrevet?',
 'gender-unknown' => 'Jeg foretrækker ikke at specificere',
 'gender-male' => 'Han redigerer wikisider',
@@ -1909,7 +1911,7 @@ For optimal sikkerhed er img_auth.php deaktiveret.",
 'filehist-comment' => 'Kommentar',
 'filehist-missing' => 'Fil mangler',
 'imagelinks' => 'Filanvendelse',
-'linkstoimage' => '{{Plural:$1|Den følgende side|De følgende $1 sider}} henviser til denne fil:',
+'linkstoimage' => '{{PLURAL:$1|Den følgende side|De følgende $1 sider}} henviser til denne fil:',
 'linkstoimage-more' => 'Flere end $1 {{PLURAL:$1|side|sider}} henviser til denne fil.
 Den følgende liste viser kun {{PLURAL:$1|den første henvisning|de $1 første henvisninger}}.
 En [[Special:WhatLinksHere/$2|komplet liste]] er tilgængelig.',
@@ -2036,7 +2038,7 @@ Hver linje indeholder henvisninger til den første og den anden omdirigering, s
 
 'brokenredirects' => 'Defekte omdirigeringer',
 'brokenredirectstext' => 'Følgende omdirigeringer peger på en side der ikke eksisterer:',
-'brokenredirects-edit' => 'rediger',
+'brokenredirects-edit' => 'redigér',
 'brokenredirects-delete' => 'slet',
 
 'withoutinterwiki' => 'Sider uden henvisninger til andre sprog',
@@ -2089,8 +2091,9 @@ Hver linje indeholder henvisninger til den første og den anden omdirigering, s
 'deadendpages' => 'Blindgydesider',
 'deadendpagestext' => 'De følgende sider henviser ikke til andre sider i denne wiki.',
 'protectedpages' => 'Skrivebeskyttede sider',
-'protectedpages-indef' => 'Kun beskyttelser uden udløbadato',
+'protectedpages-indef' => 'Kun beskyttelser på ubestemt tid',
 'protectedpages-cascade' => 'Kun nedarvende beskyttelser',
+'protectedpages-noredirect' => 'Skjul omdirigeringer',
 'protectedpagesempty' => 'I øjeblikket er ingen sider beskyttet på denne måde.',
 'protectedtitles' => 'Beskyttede sidenavne',
 'protectedtitlesempty' => 'Der er ingen sidetitler der er beskyttet med disse parametre.',
@@ -2364,6 +2367,7 @@ Bekræft venligst at du virkelig vil gøre dette, at du forstår konsekvenserne,
 'delete-edit-reasonlist' => 'Rediger sletningsårsager',
 'delete-toobig' => 'Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}}. Sletning af sådanne sider er begrænset, for at forhindre utilsigtet forstyrrelse af {{SITENAME}}.',
 'delete-warning-toobig' => 'Denne side har en stor historik, over {{PLURAL:$1|en version|$1 versioner}} versioner, slettes den kan det forstyrre driften af {{SITENAME}}, gå forsigtigt frem.',
+'deleting-backlinks-warning' => "'''Advarsel:''' Andre sider linker til den side, du er ved at slette.",
 
 # Rollback
 'rollback' => 'Fjern redigeringer',
@@ -2409,7 +2413,8 @@ Se [[Special:ProtectedPages|listen over beskyttede sider]] for listen over sideb
 'protect_expiry_old' => 'Udløbstiden ligger i fortiden.',
 'protect-unchain-permissions' => 'Lås yderligere beskyttelsesindstillinger op',
 'protect-text' => "Her kan beskyttelsesstatus for siden '''$1''' ses og ændres.",
-'protect-locked-blocked' => "Du kan ikke ændre sidens status, da din brugerkonto er spærret. Her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
+'protect-locked-blocked' => "Du kan ikke ændre sidens status, da din brugerkonto er blokeret.
+Her er de aktuelle beskyttelsesindstillinger for siden '''$1''':",
 'protect-locked-dblock' => "Databasen er spærret, sidebeskyttelsen kan derfor ikke ændres. her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
 'protect-locked-access' => "Den brugerkonto har ikke de nødvendige rettigheder til at ændre sidebeskyttelsen. Her er de aktuelle beskyttelsesindstillinger for siden '''„$1“:'''",
 'protect-cascadeon' => 'Denne side er del af en nedarvet skrivebeskyttelse. Wen er indeholdt i nedenstående {{PLURAL:$1|side|sider}}, som er skrivebeskyttet med tilvalg af "nedarvende sidebeskyttelse" Sidebeskyttelsen kan ændres for denne side, det påvirker dog ikke kaskadespærringen:',
@@ -2442,10 +2447,10 @@ Se [[Special:ProtectedPages|listen over beskyttede sider]] for listen over sideb
 'pagesize' => '(bytes)',
 
 # Restrictions (nouns)
-'restriction-edit' => 'Redigér',
-'restriction-move' => 'flytte',
+'restriction-edit' => 'Redigering',
+'restriction-move' => 'Flytning',
 'restriction-create' => 'oprette',
-'restriction-upload' => 'oplægge',
+'restriction-upload' => 'Oplægning',
 
 # Restriction levels
 'restriction-level-sysop' => 'fuldt beskyttet',
@@ -2594,7 +2599,9 @@ Angiv en konkret begrundelse herunder (for eksempel med angivelse af sider der h
 'badipaddress' => 'IP-adressen/brugernavnet er udformet forkert eller eksistere ikke.',
 'blockipsuccesssub' => 'Blokeringen er gennemført.',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] er blevet blokeret.<br />
-Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.',
+Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.
+
+[[User:$1|$1]] ([[User talk:$1|diskussion]] | [[Special:Contributions/$1|bidrag]]) er blevet blokeret. <br />Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.',
 'ipb-blockingself' => 'Du er ved at blokere dig selv! Er du sikker på, du vil gøre det?',
 'ipb-confirmhideuser' => 'Du er ved at blokere en bruger med "skjul bruger" aktiveret. Dette vil skjule brugerens navn på alle lister og logposter. Er du sikker på du vil gøre det?',
 'ipb-edit-dropdown' => 'Rediger blokeringsbegrundelser',
@@ -2619,7 +2626,7 @@ Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.',
 'blocklist-target' => 'Mål',
 'blocklist-expiry' => 'Udløber',
 'blocklist-by' => 'Blokerende administrator',
-'blocklist-params' => 'Block parametre',
+'blocklist-params' => 'Parametre for blokeringen',
 'blocklist-reason' => 'Årsag',
 'ipblocklist-submit' => 'Søg',
 'ipblocklist-localblock' => 'Lokal blokering',
@@ -2627,8 +2634,8 @@ Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.',
 'infiniteblock' => 'udløber ikke',
 'expiringblock' => 'udløber $1 $2',
 'anononlyblock' => 'kun anonyme',
-'noautoblockblock' => 'Autoblok deaktiveret',
-'createaccountblock' => 'Oprettelse af brugerkonti spærret',
+'noautoblockblock' => 'automatisk blokering slået fra',
+'createaccountblock' => 'oprettelse af konto deaktiveret',
 'emailblock' => 'e-mail blokeret',
 'blocklist-nousertalk' => 'kan ikke redigere egen diskussionsside',
 'ipblocklist-empty' => 'Blokeringslisten er tom.',
@@ -2641,22 +2648,22 @@ Se [[Special:BlockList|blokeringslisten]] for alle blokeringer.',
 'autoblocker' => 'Du er automatisk blokeret, fordi du deler IP-adresse med "[[User:$1|$1]]".
 Begrundelse: "$2".',
 'blocklogpage' => 'Blokeringslog',
-'blocklog-showlog' => 'Denne bruger er tidligere blevet blokeret.
+'blocklog-showlog' => 'Denne bruger har tidligere været blokeret.
 Blokeringsloggen vises nedenfor som reference:',
 'blocklog-showsuppresslog' => 'Denne bruger har tidligere været blokeret og skjult.
 Skjulningsloggen vises nedenfor som reference:',
-'blocklogentry' => 'blokerede [[$1]] med en varighed på $2 $3',
-'reblock-logentry' => 'ændrede blokeringsindstillinger for [[$1]] med en varighed $2 $3',
+'blocklogentry' => 'blokerede [[$1]] med $2 som udløbstid $3',
+'reblock-logentry' => 'ændrede blokeringsindstillinger for [[$1]] med $2 som udløbstid $3',
 'blocklogtext' => 'Dette er en liste med blokerede brugere og ophævede blokeringer af brugere.
 Automatisk blokerede IP-adresser er ikke anført her.
 Se [[Special:BlockList|blokeringslisten]] for den nuværende liste med aktuelle blokeringer.',
 'unblocklogentry' => 'ophævede blokering af "$1"',
 'block-log-flags-anononly' => 'kun anonyme',
-'block-log-flags-nocreate' => 'Oprettelse af brugerkonti blokeret',
-'block-log-flags-noautoblock' => 'Autoblok deaktiveret',
+'block-log-flags-nocreate' => 'oprettelse af konto deaktiveret',
+'block-log-flags-noautoblock' => 'automatisk blokering slået fra',
 'block-log-flags-noemail' => 'e-mail blokeret',
 'block-log-flags-nousertalk' => 'kan ikke redigere egen diskussionsside',
-'block-log-flags-angry-autoblock' => 'udvidet automatisk blokering slået tilenhanced autoblock enabled',
+'block-log-flags-angry-autoblock' => 'udvidet automatisk blokering slået til',
 'block-log-flags-hiddenname' => 'brugernavnet er skjult',
 'range_block_disabled' => 'Sysop-muligheden for at oprette blokeringsklasser er slået fra.',
 'ipb_expiry_invalid' => 'Udløbstiden er ugyldig.',
@@ -2741,7 +2748,7 @@ I disse tilfælde er du nødt til at flytte eller sammenflette siden manuelt.",
 'movepage-moved' => 'Siden \'\'\'"$1" er flyttet til "$2"\'\'\'',
 'movepage-moved-redirect' => 'En omdirigering er oprettet.',
 'movepage-moved-noredirect' => 'Der oprettedes ikke en omdirigering.',
-'articleexists' => 'En side med det navn eksisterer allerede, eller det
+'articleexists' => 'En side med dette navn eksisterer allerede, eller det
 navn du har valgt er ikke gyldigt. Vælg et andet navn.',
 'cantmove-titleprotected' => 'Du kan ikke omdøbe en side til dette navn. Det nye navn er beskyttet mod oprettelse.',
 'movetalk' => 'Flyt også "diskussionssiden", hvis den eksisterer.',
@@ -2834,7 +2841,7 @@ $2',
 'djvu_no_xml' => 'XML-data kan ikke hentes til DjVu-filen',
 'thumbnail-temp-create' => 'Kunne ikke oprette midlertidig miniaturefil',
 'thumbnail-dest-create' => 'Kunne ikke gemme miniaturebillede til destinationen',
-'thumbnail_invalid_params' => 'Ugyldige thumbnail-parametre',
+'thumbnail_invalid_params' => 'Ugyldige parametre for miniaturebillede',
 'thumbnail_dest_directory' => 'Kataloget kan ikke oprettes.',
 'thumbnail_image-type' => 'Billedtypen understøttes ikke',
 'thumbnail_gd-library' => 'Ufuldstændig konfiguration af GD-biblioteket: funktionen $1 mangler',
@@ -3137,9 +3144,9 @@ Du kan beskadige dit system hvis du udfører den.",
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
 'hours-abbrev' => '$1t',
 'seconds' => '{{PLURAL: $1|$1 sekund|$1 sekunder}}',
-'minutes' => '{{PLURAL: $1|$1 minut|$1 minutter}}',
-'hours' => '{{PLURAL: $1|$1 time|$1 timer}}',
-'days' => '{{PLURAL: $1|$1 dag|$1 dage}}',
+'minutes' => '{{PLURAL:$1|$1 minut|$1 minutter}}',
+'hours' => '{{PLURAL:$1|$1 time|$1 timer}}',
+'days' => '{{PLURAL:$1|$1 dag|$1 dage}}',
 'weeks' => '{{PLURAL:$1|$1 uge|$1 uger}}',
 'months' => '{{PLURAL:$1|$1 måned|$1 måneder}}',
 'years' => '{{PLURAL:$1|$1 år}}',
@@ -3690,9 +3697,9 @@ Bekræft venligst, at du virkelig vil oprette denne side igen.",
 
 # Auto-summaries
 'autosumm-blank' => 'Tømmer siden for indhold',
-'autosumm-replace' => "Sidens indhold blev erstattet med: '$1'",
+'autosumm-replace' => 'Erstatter sidens indhold med "$1"',
 'autoredircomment' => 'Omdirigering til [[$1]] oprettet',
-'autosumm-new' => "Oprettede siden med '$1'",
+'autosumm-new' => 'Oprettede siden med "$1"',
 
 # Live preview
 'livepreview-loading' => 'Indlæser …',
@@ -3754,7 +3761,14 @@ Du kan også [[Special:EditWatchlist|bruge standard editoren]].',
 'version-hook-name' => 'Navn',
 'version-hook-subscribedby' => 'Brugt af',
 'version-version' => '(Version $1)',
-'version-license' => 'Licens',
+'version-license' => 'MediaWiki Licens',
+'version-ext-license' => 'Licens',
+'version-ext-colheader-name' => 'Udvidelse',
+'version-ext-colheader-license' => 'Licens',
+'version-ext-colheader-description' => 'Beskrivelse',
+'version-ext-colheader-credits' => 'Forfattere',
+'version-license-title' => 'Licens for $1',
+'version-license-not-found' => 'Ingen detaljerede licensoplysninger blev fundet for denne udvidelse.',
 'version-poweredby-credits' => "Denne wiki er drevet af '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'andre',
 'version-poweredby-translators' => 'translatewiki.net oversættere',
index 312d7d4..fed416f 100644 (file)
@@ -1948,6 +1948,8 @@ Wenn du diese Datei trotzdem hochladen möchtest, gehe bitte zurück und ändere
 [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Diese Datei ist ein Duplikat der folgenden {{PLURAL:$1|Datei|$1 Dateien}}:',
 'file-deleted-duplicate' => 'Eine mit dieser identische Datei ([[:$1]]) wurde früher gelöscht. Sieh das Lösch-Logbuch ein, bevor du sie hochlädst.',
+'file-deleted-duplicate-notitle' => 'Eine identische Datei wurde kürzlich gelöscht und der Titel wurde unterdrückt.
+Du solltest jemanden fragen, der die Möglichkeit hat, die unterdrückten Dateidaten anzusehen, um die Situation vor dem erneuten Hochladen zu überprüfen.',
 'uploadwarning' => 'Warnung',
 'uploadwarning-text' => 'Bitte ändere unten die Dateibeschreibung und versuche es erneut.',
 'savefile' => 'Datei speichern',
@@ -2328,6 +2330,7 @@ Jede Zeile enthält Links zur ersten und zweiten Weiterleitung sowie dem Ziel de
 'protectedpages' => 'Geschützte Seiten',
 'protectedpages-indef' => 'Nur unbeschränkt geschützte Seiten zeigen',
 'protectedpages-cascade' => 'Nur Seiten mit Kaskadenschutz',
+'protectedpages-noredirect' => 'Weiterleitungen ausblenden',
 'protectedpagesempty' => 'Aktuell sind keine Seiten mit diesen Parametern geschützt.',
 'protectedtitles' => 'Geschützte Seitennamen',
 'protectedtitlesempty' => 'Zurzeit sind mit den angegebenen Parametern keine Seiten zur Neuerstellung gesperrt.',
@@ -2827,6 +2830,7 @@ Bitte gib den Grund für die Sperre an.',
 Zur Aufhebung der Sperre siehe die [[Special:BlockList|Liste aller aktiven Sperren]].',
 'ipb-blockingself' => 'Du bist gerade dabei, dich selbst zu sperren! Möchtest du das wirklich tun?',
 'ipb-confirmhideuser' => 'Du bist gerade dabei, einen Benutzer im Modus „Benutzer verstecken“ zu sperren. Dies führt dazu, dass der Benutzername in allen Listen und Logbüchern unterdrückt wird. Möchtest du das wirklich tun?',
+'ipb-confirmaction' => 'Wenn du dir sicher bist, dass du dies wirklich tun möchtest, überprüfe bitte unten das Feld „{{int:ipb-confirm}}“.',
 'ipb-edit-dropdown' => 'Sperrgründe bearbeiten',
 'ipb-unblock-addr' => '„$1“ freigeben',
 'ipb-unblock' => 'IP-Adresse/Benutzer freigeben',
@@ -3754,8 +3758,8 @@ Weitere werden standardmäßig nicht angezeigt.
 'exif-gpslongitude-w' => 'westl. Länge',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{plural:$1|Meter}} über dem Meeresspiegel',
-'exif-gpsaltitude-below-sealevel' => '$1 {{plural:$1|Meter}} unter dem Meeresspiegel',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|Meter}} über dem Meeresspiegel',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|Meter}} unter dem Meeresspiegel',
 
 'exif-gpsstatus-a' => 'Messung läuft',
 'exif-gpsstatus-v' => 'Interoperabilität von Messungen',
@@ -4030,7 +4034,17 @@ Du kannst auch die [[Special:EditWatchlist|Standardseite]] zum Bearbeiten benutz
 'version-hook-subscribedby' => 'Aufruf von',
 'version-version' => '(Version $1)',
 'version-svn-revision' => '(Version $2)',
-'version-license' => 'Lizenz',
+'version-license' => 'MediaWiki-Lizenz',
+'version-ext-license' => 'Lizenz',
+'version-ext-colheader-name' => 'Erweiterung',
+'version-ext-colheader-version' => 'Version',
+'version-ext-colheader-license' => 'Lizenz',
+'version-ext-colheader-description' => 'Beschreibung',
+'version-ext-colheader-credits' => 'Autoren',
+'version-license-title' => 'Lizenz für $1',
+'version-license-not-found' => 'Es wurden keine detaillierten Lizenzinformationen für diese Erweiterung gefunden.',
+'version-credits-title' => 'Danksagungen für $1',
+'version-credits-not-found' => 'Es wurden keine detaillierten Danksagungsinformationen für diese Erweiterung gefunden.',
 'version-poweredby-credits' => "Diese Website nutzt '''[https://www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
 'version-poweredby-others' => 'andere',
 'version-poweredby-translators' => 'Übersetzer von translatewiki.net',
@@ -4253,6 +4267,7 @@ Anderenfalls kannst du auch das untenstehende einfache Formular nutzen. Dein Kom
 'api-error-overwrite' => 'Das Überschreiben einer vorhandenen Datei ist nicht erlaubt.',
 'api-error-stashfailed' => 'Interner Fehler: Der Server konnte keine temporäre Datei speichern.',
 'api-error-publishfailed' => 'Interner Fehler: Der Server konnte die temporäre Datei nicht veröffentlichen.',
+'api-error-stasherror' => 'Beim Hochladen der Datei gab es einen Fehler.',
 'api-error-timeout' => 'Der Server hat nicht innerhalb der erwarteten Zeit reagiert.',
 'api-error-unclassified' => 'Ein unbekannter Fehler ist aufgetreten.',
 'api-error-unknown-code' => 'Unbekannter Fehler: „$1“',
index 9039dc3..2b6e780 100644 (file)
@@ -786,9 +786,9 @@ Wexta ke verhafızayê cıgerayoxê şıma pak beno no benate de taye peli de he
 'gotaccount' => "Hesabê şıma esto? '''$1'''.",
 'gotaccountlink' => 'Dekewtış',
 'userlogin-resetlink' => 'Melumatê cıkewtışi xo vira kerdê?',
-'userlogin-resetpassword-link' => 'Şıma parola ke ğo vira?',
+'userlogin-resetpassword-link' => 'Parola xo kerda xo vira?',
 'helplogin-url' => 'Help:Qeydbiyayış',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Desteg be qeydbiyayış ra]]',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Peşti be qeydbiyayış ra]]',
 'userlogin-loggedin' => 'Tı xora namey {{GENDER:$1|$1}} ra kewtê/kewtay cı.
 Formê cêrêni bıgureyne ke namey karberio bin ra cı kewê.',
 'userlogin-createanother' => 'Zewbi hesab vıraz',
@@ -1434,7 +1434,7 @@ Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}
 'prefs-labs' => 'Xacetê labs',
 'prefs-user-pages' => 'Pela Karberi',
 'prefs-personal' => 'Pela karberi',
-'prefs-rc' => 'Vırnayışé bahdoyéni',
+'prefs-rc' => 'Vurnayışê peyêni',
 'prefs-watchlist' => 'Lista seyrkerdışi',
 'prefs-watchlist-days' => 'Rocê ke lista seyrkerdışi de bêrê ramocnaene',
 'prefs-watchlist-days-max' => 'tewr vêşi $1 {{PLURAL:$1|roci|roci}}',
@@ -1714,7 +1714,7 @@ Eka tu wazene ke nameyo raşt xo bide, ma nameyo raşt ti iştirakanê ti de moc
 'nchanges' => '$1 {{PLURAL:$1|fın vurna|fıni vurna}}',
 'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|ra yok wazino}}',
 'enhancedrc-history' => 'verenayış',
-'recentchanges' => 'Vırnayışé bahdoyéni',
+'recentchanges' => 'Vurnayışê peyêni',
 'recentchanges-legend' => 'Tercihê vurnayışanê peyênan',
 'recentchanges-summary' => 'Ena perer de wiki sero vurnayışanê peyênan teqib ke.',
 'recentchanges-noresult' => 'Zey kiterandé şıma vırnayış névineya',
@@ -3218,7 +3218,7 @@ Ney '''Mefiyé de'''!",
 'markaspatrolledtext' => 'Ena pele nişan bike ke devriye biyo',
 'markedaspatrolled' => 'Nişan biyo ke verni de devriye biyo',
 'markedaspatrolledtext' => 'Versiyone weçinaye [[:$1]] nişan biyo ke devriye biyo',
-'rcpatroldisabled' => 'Dewriyaya vırnayışé bahdoyéni devrera vıciyayé',
+'rcpatroldisabled' => 'Dewriyaya vurnayışê peyêni nêxebetiyena',
 'rcpatroldisabledtext' => 'Devriyeyê vurnayışê peyêni inke kefilnaye biyo u nihebitiyeno',
 'markedaspatrollederror' => 'Nişan nibeno ke devriye biyo',
 'markedaspatrollederrortext' => 'Ti gani revizyon işaret bike ke Nişanê devriye biyo',
@@ -4340,7 +4340,7 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 'duration-minutes' => '$1 {{PLURAL:$1|deqa|deqey}}',
 'duration-hours' => '($1 {{PLURAL:$1|seate|seati}})',
 'duration-days' => '($1 {{PLURAL:$1|roce|roci}})',
-'duration-weeks' => '$1 {{PLURAL: $1|hefte|heftey}}',
+'duration-weeks' => '$1 {{PLURAL:$1|hefte|heftey}}',
 'duration-years' => '$1 {{PLURAL:$1|serre|serri}}',
 'duration-decades' => '$1 {{PLURAL:$1|dades|dadesi}}',
 'duration-centuries' => '$1 {{PLURAL:$1|seserre|seserri}}',
index 6764614..d5b679c 100644 (file)
@@ -1649,6 +1649,7 @@ Jolic maš toś ten wobraz w połnem rozeznaśu, nagraj jen, howac změń pšosy
 [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Toś ta dataja jo duplikat {{PLURAL:$1|slědujuceje dataje|slědujuceju datajow|slědujucych datajow|slědujucych datajow}}:',
 'file-deleted-duplicate' => 'Dataja, kótaraž jo identiska z toś teju dataju ([[:$1]]) jo se pjerwjej wulašowała. Ty měł stawizny wulašowanja toś teje dataje pśeglědaś, pjerwjej až pokšacujoš z jeje zasejnagrawanjom.',
+'file-deleted-duplicate-notitle' => 'Z toś teju dataju identiska dataja jo se do togo wulašowała, a titel jo so pódtłocył. Ty by měł se někogo pšašaś, kótaryž ma móžnosć, se pódtłocone daty woglědaś, aby situaciju pśeglědał, nježli až nagrajoš ju znowego.',
 'uploadwarning' => 'Warnowanje',
 'uploadwarning-text' => 'Pšosym změń slědujuce datajowe wopisanje a wopytaj hyšći raz.',
 'savefile' => 'Dataju składowaś',
@@ -2022,6 +2023,7 @@ Kužda smužka wopśimjejo wótkaze na prědne a druge dalejpósrědnjenje a tek
 'protectedpages' => 'Šćitane boki',
 'protectedpages-indef' => 'Jano boki pokazaś, kótarež su na njewěsty cas šćitane',
 'protectedpages-cascade' => 'Jano boki z kaskadowym šćitom',
+'protectedpages-noredirect' => 'Dalejpósrědnjenja schowaś',
 'protectedpagesempty' => 'Z toś tymi parametrami njejsu tuchylu žedne boki šćitane.',
 'protectedtitles' => 'Šćitane titele',
 'protectedtitlesempty' => 'Tuchylu njejsu žedne boki z pódanych parametrami šćitane.',
@@ -3681,7 +3683,17 @@ Móžoš teke [[Special:EditWatchlist|standardny wobźěłowański bok wužywaś
 'version-hook-name' => 'Mě kokule',
 'version-hook-subscribedby' => 'Aboněrowany wót',
 'version-version' => '(Wersija $1)',
-'version-license' => 'Licenca',
+'version-license' => 'Licenca MediaWiki',
+'version-ext-license' => 'Licenca',
+'version-ext-colheader-name' => 'Rozšyrjenje',
+'version-ext-colheader-version' => 'Wersija',
+'version-ext-colheader-license' => 'Licenca',
+'version-ext-colheader-description' => 'Wopisanje',
+'version-ext-colheader-credits' => 'Awtory',
+'version-license-title' => 'Licenca za $1',
+'version-license-not-found' => 'Za toś to rozšyrjenje njejsu se žedne nadrobne licencne informacije namakali.',
+'version-credits-title' => 'Źěkowanja za $1',
+'version-credits-not-found' => 'Za toś to rozšyrjenje njejsu žedne źěkowańske informacije namakali.',
 'version-poweredby-credits' => "Toś ten wiki spěchujo se wót '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'druge',
 'version-poweredby-translators' => 'Pśełožowarje na translatewiki.net',
@@ -3901,6 +3913,7 @@ Hować móžoš slědujucy jadnory formular wužywaś. Twój komentar pśidajo s
 'api-error-overwrite' => 'Pśepisowanje eksistujuceje dataje njejo dowólone.',
 'api-error-stashfailed' => 'Nutśikowna zmólka: Serwer njejo mógał temporernu dataju składowaś.',
 'api-error-publishfailed' => 'Nutśkowna zmólka: Serwer njejo mógł nachylnu dataju wozjawiś.',
+'api-error-stasherror' => 'Pśi nagrawanju dataje do chowanki jo zmólka nastała.',
 'api-error-timeout' => 'Serwer njejo we wócakanem casu wótgronił.',
 'api-error-unclassified' => 'Njeznata zmólka jo nastała.',
 'api-error-unknown-code' => 'Njeznata zmólka: "$1"',
@@ -3915,8 +3928,8 @@ Hować móžoš slědujucy jadnory formular wužywaś. Twój komentar pśidajo s
 'duration-minutes' => '$1 {{PLURAL:$1|minuta|minuśe|minuty|minutow}}',
 'duration-hours' => '$1 {{PLURAL:$1|góźina|góźinje|góźiny|góźinow}}',
 'duration-days' => '$1 {{PLURAL:$1|źeń|dnja|dny|dnjow}}',
-'duration-weeks' => '$1 {{PLURAL: $1|tyźeń|tyźenja|tyźenje|tyźenjow}}',
-'duration-years' => '$1 {{PLURAL: $1|lěto|lěśe|lěta|lět}}',
+'duration-weeks' => '$1 {{PLURAL:$1|tyźeń|tyźenja|tyźenje|tyźenjow}}',
+'duration-years' => '$1 {{PLURAL:$1|lěto|lěśe|lěta|lět}}',
 'duration-decades' => '$1 {{PLURAL:$1|lětźasetk|lětźasetka|lětźasetki|lětźastkow}}',
 'duration-centuries' => '$1 {{PLURAL:$1|stolěśe|stolěśi|stolěśa|stolěśow}}',
 'duration-millennia' => '$1 {{PLURAL:$1|lěttysac|lěttysaca|lěttysace|lěttysacow}}',
index dabb137..ad0665c 100644 (file)
@@ -17,7 +17,7 @@ $messages = array(
 # User preference toggles
 'tog-underline' => "Tîra 'na rîga sòta i colegamèint.",
 'tog-hideminor' => "Lōga 'l mudéfichi pió céchi int al j ûltmi mudéfichi.",
-'tog-hidepatrolled' => "Lōga 'l mudéfichi verifichêdi int al j ûltmi modéfichi",
+'tog-hidepatrolled' => "Lōga 'l mudéfichi verifichêdi int al j ûltmi mudéfichi",
 'tog-newpageshidepatrolled' => "Lōga al pàgini verifichêdi da l'elèinch dal pàgini pió nōvi.",
 'tog-extendwatchlist' => "Fà vèder tót' al mudéfichi fât a i tgnû sòt ôc, mìa sōl l'ûltma.",
 'tog-usenewrc' => "Unés al mudéfichi per pàgina int al j ûltmi mudéfichi e in quî tgnû sòt' ôc.",
@@ -83,9 +83,14 @@ $messages = array(
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoréia!Categoréi}}',
 'category_header' => "Pàgini 'd la categoréia $1",
+'subcategories' => 'Sòt-categoréi',
+'category-media-header' => "File int la categoréia ''$1''",
+'category-empty' => '"Al mumèint la categoréia l\'an ghà mìa nisóna pàgina o file multimediêl."',
 'hidden-categories' => '{{PLURAL:$1|Categoréia lughêda|Categoréi lughêdi}}',
 'category-subcat-count' => "{{PLURAL:$2|In cla categoréia ché a gh'é sōl 'n'ónica sòt-categoréia.| In cla categoréia ché a gh'é {{PLURAL:$1|la sòt-categoréia sgnêda|al $1 sòt-categoréi sgnêdi}} ed sègvit, só 'n totêl ed $2.}}",
 'category-article-count' => "{{PLURAL:$2|In cla categoréia ché a gh'é sōl 'na pàgina, sgnêda ché.|In cla categoréia ché gh'é{{PLURAL:$1|la pàgina sgnêda| al pàgini $1 sgnêdi}} ed sègvit, in un totêl ed $2.}}",
+'category-file-count' => "{{PLURAL:$2|In cla categoréia ché a gh'é sōl un file, sgnê ché.|In cla categoréia ché gh'é{{PLURAL:$1|un file sgnê ché| i file $1, sgnê}} ed sègvit, in un totêl ed $2.}}",
+'listingcontinuesabbrev' => 'cunt.',
 
 'about' => 'Infumasiòun',
 'newwindow' => "(a s'arvés 'na fnèstra nōva)",
@@ -116,6 +121,7 @@ $messages = array(
 'variants' => 'Mudéfichi',
 
 'errorpagetitle' => 'Erōr',
+'returnto' => 'Tōrna a $1',
 'tagline' => 'Da {{SITENAME}}',
 'help' => 'Ajót',
 'search' => 'Sèirca',
@@ -127,12 +133,12 @@ $messages = array(
 'printableversion' => "Stâmpa la pàgina ch' ét vèd.",
 'permalink' => 'Colegamèint fés',
 'print' => 'Stâmpa',
-'view' => 'Guardêr',
+'view' => 'Guêrda',
 'edit' => 'Mudéfichi',
 'create' => 'Invèinta',
 'delete' => 'Scanşéla',
 'deletethispage' => 'Scanşéla cla pàgina ché',
-'undelete_short' => "Recóper ed {{PLURAL:$1|'na revisiòun|$1 revisiòun}}",
+'undelete_short' => "Recóper ed {{PLURAL:$1|'na revişiòun|$1 revişiòun}}",
 'viewdeleted_short' => "Guèrda {{PLURAL:$1|'na mudéficha scanşlêda|$1 mudéfichi scanşlêdi}}",
 'protect' => 'Prutēz',
 'protect_change' => 'Câmbia',
@@ -190,6 +196,7 @@ $messages = array(
 
 'ok' => 'Va bèin',
 'retrievedfrom' => 'Tôt da "$1".',
+'youhavenewmessages' => "{{PLURAL:$3|T'ê}} $1 ($2)",
 'editsection' => 'Mudéfica',
 'editold' => 'mudéfica',
 'viewsourceold' => 'guêrda la surzéia',
@@ -224,18 +231,20 @@ $messages = array(
 'nstab-image' => "'File'",
 'nstab-mediawiki' => 'Mesâg',
 'nstab-template' => 'Mudèl',
-'nstab-help' => 'Ajót',
+'nstab-help' => 'Per quî rivê da pôch',
 'nstab-category' => 'Categoréia',
 
 # General errors
 'error' => 'Erōr',
 'databaseerror' => "Erōr dal 'database'",
 'readonly' => "'Database' bluchê",
-'missing-article' => "Al datebêş an n'à mìa catê al tèst ed 'na pàgina ch' l' aré duvû catêres sòt' al nòm \"\$1\" \$2. Ed sôlit còst a sucēd quând a vîn arciamê, a partîr da la stòria dal mudéfichi o dal cunfrûnt tra revisiòun, un colegamèint a 'na pàgina scanşlêda, a un cunfrûnt tra revisiòun che gh'în mìa o a un cunfrûnt tra revisiòun cun la stòria dal mudéfichi scanşlêda. In chês cuntrâri, a s'é pubabilmèint catê un erōr int al prugrâma ed Media Wiki. A se dmânda al piaşèir ed comunichêr còl ch'é sucès a un [[Special:ListUsers/sysop|amministadōr]] e comunichêregh l'indirés (URL) in quistiòun.",
-'missingarticle-rev' => '(revisiòun n°: $1)',
+'missing-article' => "Al datebêş an n'à mìa catê al tèst ed 'na pàgina ch' l' aré duvû catêres sòt' al nòm \"\$1\" \$2. Ed sôlit còst a sucēd quând a vîn arciamê, a partîr da la stòria dal mudéfichi o dal cunfrûnt tra revişiòun, un colegamèint a 'na pàgina scanşlêda, a un cunfrûnt tra revişiòun che gh'în mìa o a un cunfrûnt tra revişiòun cun la stòria dal mudéfichi scanşlêda. In chês cuntrâri, a s'é pubabilmèint catê un erōr int al prugrâma ed Media Wiki. A se dmânda al piaşèir ed comunichêr còl ch'é sucès a un [[Special:ListUsers/sysop|amministadōr]] e comunichêregh l'indirés (URL) in quistiòun.",
+'missingarticle-rev' => '(revişiòun n°: $1)',
 'missingarticle-diff' => '(Diff: $1, $2)',
 'internalerror' => 'Erōr intêren',
 'internalerror_info' => 'Erōr intêren: $1',
+'badtitle' => 'Tétol mìa curèt.',
+'badtitletext' => "Al tétol ed la pàgina serchêda l'é vōd, şbaliê opór al deşvîn da 'n erōr int i colegamèint di côdis o int i colegamèint druvê in wiki. In pió al pré avèir ûn o pió carâter ch'an pōlen mìa èser druvê int i tétol.",
 'viewsource' => 'Guêrda la surzéia',
 'viewsource-title' => "Guêrda la surzéia 'd $1",
 
@@ -243,19 +252,23 @@ $messages = array(
 'yourname' => 'Nòm utèint:',
 'yourpassword' => "Cêva 'd ingrès:",
 'yourpasswordagain' => "Scrév incòra la cêva 'd ingrès:",
+'remembermypassword' => "Tîn a mèint la cêva 'd ingrès insém a cól navigadōr ché (per un mâsim ed $1{{PLURAL:$1|dé}}).",
 'login' => 'Và dèinter',
 'nav-login-createaccount' => 'Và dèinter / Fà la tó inscrisiòun',
+'loginprompt' => "Per andêr dèinter a {{SITENAME}} l'é necesâri permèter i cookie.",
 'userlogin' => 'Và dèinter / Fà la tó inscrisiòun',
 'userloginnocreate' => 'Và dèinter',
 'logout' => 'Và fōra',
 'userlogout' => 'Và fōra',
 'notloggedin' => "An t'é mìa gnû dèinter",
+'nologin' => "An gh'èt mìa incòra un ingrès? $1",
 'nologinlink' => 'Fà la tó inscrisiòun',
 'createaccount' => 'Fà la tó inscrisiòun',
 'gotaccountlink' => 'Và dèinter',
 'createaccountmail' => "Drōva 'na cêva 'd ingrès a chêş pruvişôria e spidésla a l'indirés ed pôsta eletrônica sgnê.",
 'createaccountreason' => 'Mutîv:',
 'loginerror' => "Erōr 'd ingrès",
+'mailmypassword' => "Tōrna mèter la cêva 'd ingrès",
 'accountcreated' => 'Ingrès fât',
 'loginlanguagelabel' => 'Léngva: $1',
 
@@ -302,23 +315,35 @@ $messages = array(
 'anoneditwarning' => "'''Atensiòun:''' Ingrès mìa fât. Al tó indirés IP al srà sgnê int la stòria ed cla pàgina chè.",
 'blockedtitle' => 'Utèint bluchê',
 'newarticle' => '(Nōv)',
+'newarticletext' => "Al colegamèint apèina fât al cumbîna cun 'na pàgina ch' an n'é mìa incòra stêda fâta. S'ét vō fêr la pàgina adès, l'é asê cumincêr a scréver al tèst int la caşèla ché sòt (per vedèr infurmasiòun pió precîşi guêrda la [[{{MediaWiki:Helppage}}|pàgina 'd ajót]]). Se al colegamèint  l'é stê avêrt per erōr, l'é asê clichêr al pulsânt \"Indrē\" dal tó navigadōr.",
 'noarticletext' => 'In cól mumèint ché la pàgina serchêda l\'é vōda. L\'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] opór  [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichêr la pàgina adèsa]</span>.',
 'noarticletext-nopermission' => "In cól mumèint ché la pàgina serchêda l'é vōda. L'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît o<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] <span>, mó an 't gh'ê mìa al permès ed fêr cla pàgina ché.",
 'note' => "'''Nôta:'''",
+'previewnote' => "'''Ricôrdet che còsta l'é sōl 'na guardêda préma 'd salvêr.'''
+Al tō mudéfichi în MIA incòra stêdi salvêdi.",
 'editing' => 'Mudéfica ed $1',
 'editingsection' => 'Mudéfica ed $1 (sesiòun)',
 'editingcomment' => 'Mudéfica e $1 (sesiòun nōva)',
 'editconflict' => "Cuntrâst 'd edisiòun só $1",
 'yourtext' => 'Al tó tèst',
 'yourdiff' => 'Diferèinsi',
+'templatesused' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina ché:',
 'template-protected' => '(prutèt)',
 'template-semiprotected' => '(mèz-prutèt)',
+'hiddencategories' => "Cla pàgina ché l' é 'd {{PLURAL:$1|'na categoréia lughêda|$1 categoréi lughêdi}}:",
+'recreate-moveddeleted-warn' => "'''Atensiòun: a s'é drē serchêr ed fêr 'na pàgina bèle scanşlêda tèimp fa'''. 
+
+Asicurêres che sìa dabòun necesâri cuntinvêr a mudifichêr cla pàgina ché.
+Per cumditê còst l'é l'èlèinch dal scanşladûri e di spustamèint relatîv a la pàgina.",
+'moveddeleted-notice' => "Cla pàgina ché l'é stêda scanşlêda. Per infurmasiòun  còst l'é l'èlèinch relatîv dal scanşladûri e di spustemèint fât.",
 'log-fulllog' => 'Guêrda la stòria dal registrasiòun',
 'edit-conflict' => "Cuntrâst 'd edisiòun",
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Atensiòun:''' la grandèsa di mudē més dèinter l'é trôp grôsa. Soquânt mudē gnirâ mìa més dèinter.",
 'post-expand-template-inclusion-category' => "Pàgini in dó la grandèsa di mudē més dèinter la và d'ed sōver dal lémit permés.",
+'post-expand-template-argument-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à ûn o pió argumèint ed mudē trôp grôs per èser şlarghê. Chi argomèint ché a gnirân saltê.",
+'post-expand-template-argument-category' => 'Pàgini cun mudē sèinsa argumèint.',
 
 # History pages
 'viewpagelogs' => "Guêrda la stòria 'd cla pàgina ché",
@@ -334,6 +359,11 @@ $messages = array(
 'last' => 'Còl préma',
 'page_first' => 'préma',
 'page_last' => 'ûltem',
+'histlegend' => "Cunfrûnt tra 'l revişiòun:  sernés al caşèli cumpâgni al revişiòun vrûdi e schésa Invio o al ptòun in bâs. Spiegasiòun: : '''({{int:cur}})''' = diferèinsi cun la revişiòun d' adèsa, '''({{int:last}})''' = diferèinsi cun la revişiòun ed préma, '''{{int:minoreditletter}}''' = mudéfica céca.",
+'history-fieldset-title' => "Nâviga int la stòria 'd la pàgina",
+'history-show-deleted' => 'Sōl quî scanşlê',
+'histfirst' => 'préma',
+'histlast' => 'ûltma',
 
 # Revision feed
 'history-feed-item-nocomment' => '$1 al $2',
@@ -349,9 +379,11 @@ $messages = array(
 'revertmerge' => "Scanşèla l'uniòun",
 
 # Diffs
+'history-title' => '$1 stòria dal mudéfichi',
 'lineno' => 'Rîga $1:',
-'compareselectedversions' => 'Cunfrûnta al revisiòun sernîdi.',
+'compareselectedversions' => 'Cunfrûnta al revişiòun sernîdi.',
 'editundo' => 'scanşèla',
+'diff-multi' => "({{PLURAL:$2|'Na revişion ed mèz|$1 revişiòun ed mèz}} di {{PLURAL:$2|un utèint|$2 utèint}} mìa {{PLURAL:$1|fâta vèder|fâti vèder}})",
 
 # Search results
 'searchresults' => "Rişultê 'd la sērca",
@@ -362,6 +394,8 @@ $messages = array(
 'nextn-title' => '{{PLURAL:$1|Al rişultêt ed préma|$1 i rişultêt ed préma}}',
 'shown-title' => 'Fà vèder {{PLURAL:$1|un rişultêt|$1 di rişultêt}}',
 'viewprevnext' => 'Guêrda ($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''Int al sît a gh'é 'na pàgina cun al nòm [[:$1]].'''
+{{PLURAL:$2|0=|Guêrda ânca chiêter ch'în stê catê.}}",
 'searchmenu-new' => "'''Şvilópa la pàgina \"[[:\$1]]\" insém a cól sît ché! '''{{PLURAL:\$2|0=|Guêrda ânch i rişultêt catê}}.",
 'searchprofile-articles' => "Pàgini 'd j argumèint",
 'searchprofile-project' => "Pàgini 'd ajót e relatîvi al prugèt.",
@@ -380,6 +414,7 @@ $messages = array(
 'search-interwiki-caption' => 'Prugèt fradē',
 'search-interwiki-default' => 'Rişultêt da $1:',
 'search-interwiki-more' => '(êter)',
+'searchrelated' => 'coleghê',
 'searchall' => 'tót',
 'showingresultsheader' => "{{PLURAL:$5|Al risultêt '''$1''' ed '''$3'''|I risultêt '''$1 - $2''' ed '''$3'''}} per '''$4'''",
 'search-nonefound' => "La sērca an n'à mìa dê di rişultê.",
@@ -444,6 +479,9 @@ $messages = array(
 'right-read' => 'Al lēş al pàgini',
 'right-edit' => 'Mudéfica pàgini',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Utèint nōv',
+
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'lēzer cla pàgina ché',
 'action-edit' => 'Mudifichêr cla pàgina ché',
@@ -454,12 +492,16 @@ $messages = array(
 'action-delete' => 'scanşlêr cla pàgina ché',
 
 # Recent changes
+'nchanges' => '$1
+{{PLURAL:$1|mudéfica|mudéfichi}}',
 'recentchanges' => 'Ûltmi mudéfichi',
 'recentchanges-legend' => 'Siēlti ûltmi mudéfichi.',
+'recentchanges-feed-description' => "Cól feed ché 'l arpôrta al mudéfichi piô frèschi a còl che gh'é dèinter al sît.",
 'recentchanges-label-newpage' => "Cun cla mudéfica ché t'é fât 'na pàgina nōva.",
 'recentchanges-label-minor' => "Còsta l'é 'na mudéfica céca",
 'recentchanges-label-bot' => "Cla mudéfica ché l'é stêda fâta da un bot.",
 'recentchanges-label-unpatrolled' => "Cla mudéfica ché an n'é mìa incòra stêda verifichêda.",
+'rcnotefrom' => "Ché sòt a gh'é la lésta dal mudéfichi fâti a partîr da '''$2''' (fîn a '''$1''').",
 'rclistfrom' => 'Fà vèder al mudéfichi fâti a partîr da $1.',
 'rcshowhideminor' => '$1 al mudéfichi céchi',
 'rcshowhidebots' => '$1 i bot',
@@ -489,7 +531,9 @@ $messages = array(
 
 # Upload
 'upload' => "Cârga un 'file'",
+'uploadlogpage' => 'Fil carghê',
 'filedesc' => 'Sûnt.',
+'uploadedimage' => 'l\'à carghê "[[$1]]"',
 
 'license' => 'Licèinsa:',
 'license-header' => 'Licèinsa',
@@ -504,15 +548,17 @@ $messages = array(
 'file-anchor-link' => "'File'",
 'filehist' => "Stòria 'd la pàgina",
 'filehist-help' => "Fà cléch insém a 'n gróp dâta/ōra per vèder al file cm'é l'ēra int al mumèint e-sgnê",
+'filehist-revert' => 'armèt',
 'filehist-current' => '(adès)',
 'filehist-datetime' => 'Dâta/Ōra',
 'filehist-thumb' => 'Miniadûra',
-'filehist-thumbtext' => 'Miniadûra ed la revisiòun dal $1.',
+'filehist-thumbtext' => 'Miniadûra ed la revişiòun dal $1.',
 'filehist-user' => 'Utèint',
 'filehist-dimensions' => 'Amzûri',
 'filehist-comment' => 'Cumèint',
 'imagelinks' => "Ûş dal 'file'",
 'linkstoimage' => "{{PLURAL:$1|Int la pàgina seguèint a gh'é|Int al seguèinti $1 pàgini a gh'é}} colegamèint al file:",
+'nolinkstoimage' => "Nisóna pàgina la gh'à colegamèint al file",
 'sharedupload-desc-here' => "Cól file ché al deşvîn da $1 e al pōl èser druvê da êter prugèt. Ed sègvit a vîn fât vèder la spiegasiòun che gh'é int la [$2 pàgina de spiegasiòun dal file].",
 
 # File deletion
@@ -521,29 +567,47 @@ $messages = array(
 # Random page
 'randompage' => "'Na pàgina a chêş",
 
+# Statistics
+'statistics' => 'Statéstichi',
+
 'brokenredirects-edit' => 'Mudéfica',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|byte}}',
 'nmembers' => '$1 {{PLURAL:$1|elemèint}}',
+'prefixindex' => 'Elèinch per lètri dal pàgini',
+'usercreated' => '{{GENDER:$3|Fât/fâta}} al $1 a $2',
 'newpages' => 'Pàgini pió nōvi',
 'move' => 'Spôsta',
+'pager-newer-n' => '{{PLURAL:$1|1 còl pió frèsch|$1 i pió frèsch}}',
+'pager-older-n' => '{{PLURAL:$1|1 al pió vèc|$1 i pió vèc}}',
 
 # Book sources
+'booksources' => 'Tèst o documèint da léber.',
+'booksources-search-legend' => "Sērca 'd documèint insém a di léber",
 'booksources-go' => 'Và',
 
+# Special:Log
+'log' => 'Regéster',
+
 # Special:AllPages
+'allpages' => 'Tót al pàgini.',
 'alphaindexline' => 'da $1 a $2',
+'allarticles' => 'Tót al pàgini.',
 'allpagessubmit' => 'Và',
 
 # Special:Categories
 'categories' => 'Categoréi',
 
+# Special:LinkSearch
+'linksearch-line' => '$1 preşèint int la pàgina $2',
+
 # Special:ListUsers
 'listusers-submit' => 'Fà vèder',
 
 # Special:ListGroupRights
 'listgrouprights-group' => 'Gróp:',
+'listgrouprights-members' => "(elèinch 'd j inscrét)",
 
 # Email user
 'emailfrom' => 'Da:',
@@ -552,12 +616,15 @@ $messages = array(
 'emailmessage' => 'Mesâg',
 
 # Watchlist
+'watchlist' => 'Sòt uservasiòun',
 'mywatchlist' => 'Sòt uservasiòun',
 'watchlistfor2' => "Da l'utèint $1 $2",
 'watchnologin' => "An t'é mìa gnû dèinter",
 'watch' => 'Và adrē',
 'watchthispage' => 'Và adrē a cla pàgina ché',
 'unwatch' => 'Andêr mìa adrē',
+'wlshowlast' => 'Fà vèder al j ûltmi $1 ōri $2 dé $3',
+'watchlist-options' => 'Siēlti di tgnû sòt ôc specêl.',
 
 'created' => 'creät',
 'changed' => 'mudifegat',
@@ -565,6 +632,9 @@ $messages = array(
 # Delete
 'delete-confirm' => 'Scanşela "$1"',
 'delete-legend' => 'Scanşela',
+'actioncomplete' => 'Asiòun cumpîda',
+'actionfailed' => 'Asiòun falîda',
+'dellogpage' => 'Scanşladûri',
 
 # Rollback
 'rollback_short' => 'Tōrna a préma dal mudéfichi',
@@ -572,6 +642,8 @@ $messages = array(
 'rollbackfailed' => "An t'é mia turnê indrē",
 
 # Protect
+'protectlogpage' => 'Al prutesiòun',
+'protectedarticle' => 'l\'à prutèt "[[$1]]"',
 'pagesize' => '(byte)',
 
 # Restrictions (nouns)
@@ -596,17 +668,35 @@ $messages = array(
 'mycontris' => 'I mē lavōr',
 'contribsub2' => 'Per {{GENDER:$3|$1}}($2)',
 'uctop' => '(adès)',
-
+'month' => 'Dal mèiş (e quî préma):',
+'year' => "Da l'ân (e quî préma):",
+
+'sp-contributions-newbies' => 'Fà vèder sōl i lavōr fât da j utèint nōv.',
+'sp-contributions-blocklog' => 'blôch',
+'sp-contributions-uploads' => 'fil carghê',
+'sp-contributions-logs' => 'Regéster',
+'sp-contributions-talk' => 'discusiòun',
+'sp-contributions-search' => 'Sērca i lavōr fât',
+'sp-contributions-username' => 'Indirés IP o nòm utèint',
+'sp-contributions-toponly' => "Fà vèder sōl i lavōr ch' în al j ûltmi revişiòun per la pàgina.",
 'sp-contributions-submit' => 'Sērca',
 
 # What links here
 'whatlinkshere' => 'A pûnten ché',
-'whatlinkshere-title' => 'Pàgini che pûnet a "$1"',
+'whatlinkshere-title' => 'Pàgini che pûnten a "$1"',
 'whatlinkshere-page' => 'Pàgina:',
+'linkshere' => "Al pàgini segvèinti a gh'àn di colegamèint a '''[[:$1]]'''.",
+'nolinkshere' => "Nisóna pàgina la gh'à dèinter colegamèint che pûnten a '''[[$1]]'''.",
+'isredirect' => 'Pàgina redirect',
+'istemplate' => 'uniòun',
 'isimage' => "Colegamèint vêrs al 'file'",
+'whatlinkshere-prev' => '{{PLURAL:$1|còl préma|quî préma $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|còl dôp|quî dôp $1}}',
 'whatlinkshere-links' => '← colegamèint',
+'whatlinkshere-hideredirs' => '$1redirect',
 'whatlinkshere-hidetrans' => '$1 uniòun',
 'whatlinkshere-hidelinks' => '$1 colegamèint',
+'whatlinkshere-hideimages' => '$1 colegamèint da file',
 'whatlinkshere-filters' => 'Fîlter',
 
 # Block/unblock
@@ -625,6 +715,8 @@ $messages = array(
 'unblocklink' => 'şblôca',
 'change-blocklink' => 'câmbia blôch',
 'contribslink' => 'lavōr',
+'blocklogpage' => 'Blôch',
+'blocklogentry' => "t'é bluchê [[$1]] per un peréiod ed $2 $3",
 'unblocklogentry' => "l'à şbluchê $1",
 
 # Move page
@@ -640,12 +732,15 @@ $messages = array(
 'export-submit' => 'Pôrta fōra',
 
 # Namespace 8 related
+'allmessagesname' => 'Nòm.',
+'allmessagesdefault' => 'Tèst pre-stabilî',
 'allmessages-filter-all' => 'Tót',
 'allmessages-language' => 'Léngua:',
 'allmessages-filter-submit' => 'Và',
 
 # Thumbnails
 'thumbnail-more' => 'Ingrandés',
+'thumbnail_error' => 'Erōr mèinter ét fêv la miniadûra:$1',
 
 # Special:Import
 'import-upload-filename' => "Nòm dal 'file':",
@@ -656,7 +751,7 @@ $messages = array(
 'tooltip-pt-userpage' => 'La tó pàgina utèint',
 'tooltip-pt-mytalk' => "La tó pàgina 'd discusiòun.",
 'tooltip-pt-preferences' => 'Al mē preferèinsi.',
-'tooltip-pt-watchlist' => "Elèinch dal pàgini che t'é drē tgnîr sòta uservasiòun.",
+'tooltip-pt-watchlist' => "Elèinch dal pàgini che t'é drē tgnîr sòt ôc.",
 'tooltip-pt-mycontris' => 'Elèinch di tō lavōr.',
 'tooltip-pt-login' => "A 's cunsélia 'd fêr la registrasiòun, ânca s' an n'é mia ubligatôri.",
 'tooltip-pt-logout' => 'Và fōra',
@@ -665,6 +760,8 @@ $messages = array(
 'tooltip-ca-addsection' => "Cumîncia 'na sesiòun nōva.",
 'tooltip-ca-viewsource' => "Cla pàgina ché l'é sòta prutesiòun, mó 't pō vèder al só côdis surzéia.",
 'tooltip-ca-history' => 'Revişiòun fâti a cla pàgina ché.',
+'tooltip-ca-protect' => 'Prutēz cla pàgina ché',
+'tooltip-ca-delete' => 'Scanşéla cla pàgina ché',
 'tooltip-ca-move' => 'Spôsta cla pàgina ché (câmbia tétol)',
 'tooltip-ca-watch' => "Zûnta cla pàgina ché a la tó lésta di tgnû 'd ôc specêl.",
 'tooltip-ca-unwatch' => "Tó via cla pàgina ché da la tó lésta di tgnû 'd ôc specêl.",
@@ -683,21 +780,25 @@ $messages = array(
 'tooltip-t-recentchangeslinked' => 'Elèinch dal j ûltmi mudéfichi al pàgini coleghêdi a còsta.',
 'tooltip-feed-atom' => 'Feed Atom per cla pàgina ché.',
 'tooltip-t-contributions' => "Lèsta di lavōr fât da cl'utèint ché.",
+'tooltip-t-emailuser' => "Mânda un mesâg cun la pòsta eletrônica a cl'utèint ché",
 'tooltip-t-upload' => "Cârga un 'file'",
 'tooltip-t-specialpages' => 'Elèinch ed tót al pàgini specêli',
 'tooltip-t-print' => 'Per stampêr cla pàgina ché.',
-'tooltip-t-permalink' => "Colegamèint fés a cla rervişiòun ché 'd  la pàgina.",
+'tooltip-t-permalink' => "Colegamèint fés a cla revişiòun ché 'd  la pàgina.",
 'tooltip-ca-nstab-main' => 'Guêrda la pàgina',
 'tooltip-ca-nstab-user' => 'Guêrda la pàgina utèint',
+'tooltip-ca-nstab-special' => "Còsta ché l'é 'na pàgina specêlal l'an pōl mìa èser mudifichêda",
 'tooltip-ca-nstab-project' => 'Guêrda la pàgina dal prugèt',
 'tooltip-ca-nstab-image' => "Guêrda la pàgina dal 'file'",
 'tooltip-ca-nstab-template' => "Guêrda 'l template",
 'tooltip-ca-nstab-help' => "Guêrda la pàgina d'ajót",
 'tooltip-ca-nstab-category' => "Guêrda la pàgina 'd la categoréia",
+'tooltip-minoredit' => "Sègna cme 'na mudéfica céca",
 'tooltip-save' => 'Sêlva al mudéfichi',
 'tooltip-preview' => "Guêrda al mudéfichi préma 'd salvêr (cunsiliê préma 'd salvêr)",
 'tooltip-diff' => "Guêrda 'l mudéfichi fâti al tèst",
-'tooltip-compareselectedversions' => "Guêrda al diferèinsi tr' al dō revisiòun sernîdi ed cla pàgina ché.",
+'tooltip-compareselectedversions' => "Guêrda al diferèinsi tr' al dō revişiòun sernîdi ed cla pàgina ché.",
+'tooltip-watch' => "Zûnta cla pàgina ché a la tó lésta di tgnû 'd ôc specêl.",
 'tooltip-rollback' => "\"Rollback\" al scanşèla cun un cléch tót' al mudéfichi fâti a cla pàgina ché da l'ûltem ch' al gh'à més al mân.",
 'tooltip-undo' => '"Scanşèla" al permèt de scanşlêr cla mudéfica ché e l\'arvés al mudèl ed mudéfica in môd "Guerda préma". E al permèt ed mèter dèinter \'na spiegasiòun int l\' elemèint ed la mudéfica.',
 'tooltip-summary' => 'Mèt dèinter un sût cèch.',
@@ -718,6 +819,8 @@ $messages = array(
 
 # Media information
 'file-info-size' => '$1 × $2 pixel, amzûra dal file:$3, gèner MIME: $4',
+'file-nohires' => "An gh'é mìa la manēra ed vèder pió cêr de csé.",
+'svg-long-desc' => 'file in furmê SVG, grandèsa teôrica $1 x $2 pixel, grandèsa dal file: $3',
 'show-big-image' => 'File uriginêl',
 'file-info-gif-looped' => 'A ripetisiòun',
 'file-info-png-looped' => 'A ripetisiòun',
@@ -739,6 +842,20 @@ a vînen cunsidrê sōl j elèinch puntê (ríghi che cumîncen cun al carâter
 # Metadata
 'metadata' => 'Metadati',
 'metadata-help' => "In cól file ché agh'é dal j infurmasiòun zuntêdi, prubabilmèint zuntêdi da la mâchina fotogrâfica o dal scàner druvê per fotografêrel o per fêrel dvintêr digitêl. Se al file l'é stê mudfifichê, soquânt particulêr a prén cumbinêr mìa cun la realtê.",
+'metadata-fields' => "I câmp relatîv a i metadati ed la figûra, in lésta in cól mesâg ché, a gnirân més int la pàgina ed la figûra quând la tabèla di metadati l'é mustrêda int la fōrma cûrta. Per impustasiòun pre-stabilîda, chiêter câmp a gnirân lughê. 
+* make 
+* model 
+* datetimeoriginal 
+* exposuretime 
+* fnumber 
+* isospeedratings 
+* focallength 
+* artist 
+* copyright 
+* imagedescription 
+* gpslatitude 
+* gpslongitude 
+* gpsaltitude",
 
 # Exif tags
 'exif-exposuretime-format' => '$1 s ($2)',
@@ -778,12 +895,17 @@ a vînen cunsidrê sōl j elèinch puntê (ríghi che cumîncen cun al carâter
 # Watchlist editor
 'watchlistedit-raw-titles' => 'Tétol:',
 
+# Watchlist editing tools
+'watchlisttools-view' => 'Guêrda al mudéfichi relatîvi.',
+'watchlisttools-edit' => "Fa vèder e mudéfica la lést quî di tgnû 'd ôc specêl.",
+'watchlisttools-raw' => 'Mudéfica la lésta in furmê tèst.',
+
 # Special:Version
 'version' => 'Versiòun',
 'version-specialpages' => 'Pàgina specêla',
 'version-other' => 'Êter',
 'version-version' => '(Versiòun $1)',
-'version-license' => 'Licèinsa',
+'version-license' => 'Licèinsa Media Wiki',
 'version-poweredby-others' => 'êter',
 
 # Special:FileDuplicateSearch
@@ -793,6 +915,16 @@ a vînen cunsidrê sōl j elèinch puntê (ríghi che cumîncen cun al carâter
 # Special:SpecialPages
 'specialpages' => 'Pàgini specêli',
 
+# External image whitelist
+'external_image_whitelist' => "#Lasêr cla pàgina ché acsé cme l'é<pre>
+#Mèter dèinter i pès dal j espresiòun regolêri (sōl la pêrta cla va fra //) ed sègvit
+#Còsti gnirân més a cunfrûnt cun j indirés URL dal figûri d'ed fōra (hotlinked) 
+#Al cunbinasiòun asrân fât vèder cme figûri, se no a gnirà fât vèder sōl al colegamèint
+#Al rîghi che cumîncen cun # în cunsidrêdi di cumèint
+#La diferèinsa tr' al lètri grândi e al lètri céchi an gh'à mìa impurtânsa
+
+#Mèter sōver cla rîga ché tót i pès di regex. Lasêr cla rîga ché acsé cme l'é</pre>",
+
 # Special:Tags
 'tag-filter' => 'Fîlta per  [[Special:Tags|etichèta]]',
 'tags-edit' => 'mudéfica',
index 177c8c6..1889368 100644 (file)
@@ -1234,6 +1234,7 @@ No email will be sent for any of the following features.',
 Please enter a well-formatted address or empty that field.',
 'cannotchangeemail'               => 'Account email addresses cannot be changed on this wiki.',
 'emaildisabled'                   => 'This site cannot send emails.',
+'emailsender'                     => '{{SITENAME}}', # do not translate or duplicate this message to other languages
 'accountcreated'                  => 'Account created',
 'accountcreatedtext'              => 'The user account for [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) has been created.',
 'createaccount-title'             => 'Account creation for {{SITENAME}}',
@@ -2327,6 +2328,8 @@ If you still want to upload your file, please go back and use a new name.
 'file-exists-duplicate'       => 'This file is a duplicate of the following {{PLURAL:$1|file|files}}:',
 'file-deleted-duplicate'      => "A file identical to this file ([[:$1]]) has previously been deleted.
 You should check that file's deletion history before proceeding to re-upload it.",
+'file-deleted-duplicate-notitle' => "A file identical to this file has previously been deleted, and the title has been suppressed.
+You should ask someone with the ability to view suppressed file data to review the situation before proceeding to re-upload it.",
 'uploadwarning'               => 'Upload warning',
 'uploadwarning-text'          => 'Please modify the file description below and try again.',
 'savefile'                    => 'Save file',
@@ -2753,6 +2756,7 @@ It now redirects to [[$2]].',
 'protectedpages-indef'            => 'Indefinite protections only',
 'protectedpages-summary'          => '', # do not translate or duplicate this message to other languages
 'protectedpages-cascade'          => 'Cascading protections only',
+'protectedpages-noredirect'       => 'Hide redirects',
 'protectedpagesempty'             => 'No pages are currently protected with these parameters.',
 'protectedtitles'                 => 'Protected titles',
 'protectedtitles-summary'         => '', # do not translate or duplicate this message to other languages
@@ -3303,6 +3307,7 @@ Fill in a specific reason below (for example, citing particular pages that were
 See the [[Special:BlockList|block list]] to review blocks.',
 'ipb-blockingself'                => 'You are about to block yourself! Are you sure you want to do that?',
 'ipb-confirmhideuser'             => 'You are about to block a user with "hide user" enabled. This will suppress the user\'s name in all lists and log entries. Are you sure you want to do that?',
+'ipb-confirmaction'               => 'If you are sure you really want to do it, please check the "{{int:ipb-confirm}}" field at the bottom.',
 'ipb-edit-dropdown'               => 'Edit block reasons',
 'ipb-unblock-addr'                => 'Unblock $1',
 'ipb-unblock'                     => 'Unblock a username or IP address',
@@ -4819,10 +4824,20 @@ You can also [[Special:EditWatchlist|use the standard editor]].',
 'version-parser-function-hooks'         => 'Parser function hooks',
 'version-hook-name'                     => 'Hook name',
 'version-hook-subscribedby'             => 'Subscribed by',
-'version-version'                       => '(Version $1)',
-'version-svn-revision'                  => '(r$2)', # only translate this message to other languages if you have to change it
-'version-license'                       => 'License',
-'version-poweredby-credits'             => "This wiki is powered by '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
+'version-version'                       => '($1)',
+'version-svn-revision'                  => 'r$1', # only translate this message to other languages if you have to change it
+'version-license'                       => 'MediaWiki License',
+'version-license-title'                 => 'License for $1',
+'version-license-not-found'             => 'No detailed license information was found for this extension.',
+'version-credits-title'                 => 'Credits for $1',
+'version-credits-not-found'             => 'No detailed credits information was found for this extension.',
+'version-ext-license'                   => 'License',
+'version-ext-colheader-name'            => 'Extension',
+'version-ext-colheader-version'         => 'Version',
+'version-ext-colheader-license'         => 'License',
+'version-ext-colheader-description'     => 'Description',
+'version-ext-colheader-credits'         => 'Authors',
+'version-poweredby-credits'             => "This wiki is powered by '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others'              => 'others',
 'version-poweredby-translators'         => 'translatewiki.net translators',
 'version-credits-summary'               => 'We would like to recognize the following persons for their contribution to [[Special:Version|MediaWiki]].',
@@ -5082,6 +5097,7 @@ Otherwise, you can use the easy form below. Your comment will be added to the pa
 'api-error-unknownerror'                  => 'Unknown error: "$1".',
 'api-error-uploaddisabled'                => 'Uploading is disabled on this wiki.',
 'api-error-verification-error'            => 'This file might be corrupt, or have the wrong extension.',
+'api-error-stasherror'                    => 'There was an error while uploading the file to stash.',
 
 # Durations
 'duration-seconds'   => '$1 {{PLURAL:$1|second|seconds}}',
index 8848512..26af794 100644 (file)
@@ -1893,7 +1893,7 @@ Se la problemo kontinuas, kontaku [[Special:ListUsers/sysop|administranton]].',
 'backend-fail-closetemp' => 'Ne povis fermi provizoran dosieron.',
 'backend-fail-read' => 'Ne povas legi dosieron "$1".',
 'backend-fail-create' => 'Ne povas skribi dosieron $1.',
-'backend-fail-maxsize' => 'Ne povis skribi la dosieron "$1," ĉar ĝi estas pli granda ol {{plural: $2|bitoko|$2 bitokoj}}.',
+'backend-fail-maxsize' => 'Ne povis skribi la dosieron "$1," ĉar ĝi estas pli granda ol {{PLURAL:$2|bitoko|$2 bitokoj}}.',
 'backend-fail-readonly' => 'La interna konservujo "$1" nune estas nurlega. La indikata kialo estas: "\'\'$2\'\'"',
 'backend-fail-synced' => 'La dosiero "$1" estas en nekohera stato kun la internaj konservujoj',
 'backend-fail-connect' => 'Ne eblis konekti la internan konservujon "$1".',
index a87c9de..319f077 100644 (file)
@@ -4222,7 +4222,7 @@ En otro caso, puedes usar el siguiente formulario. Tu comentario será añadido
 'duration-hours' => '$1 {{PLURAL:$1|hora|horas}}',
 'duration-days' => '$1 {{PLURAL:$1|día|días}}',
 'duration-weeks' => '$1 {{PLURAL:$1|semana|semanas}}',
-'duration-years' => '$1 {{PLURAL: $1|año|años}}',
+'duration-years' => '$1 {{PLURAL:$1|año|años}}',
 'duration-decades' => '$1 {{PLURAL:$1|década|décadas}}',
 'duration-centuries' => '$1 {{PLURAL:$1|siglo|siglos}}',
 'duration-millennia' => '$1 {{PLURAL:$1|milenio|milenios}}',
index 3c3e02b..8b5db5b 100644 (file)
@@ -2956,7 +2956,7 @@ Zure sisteman exekutatzea arriskutsua izan liteke.",
 'hours' => '{{PLURAL:$1|ordu $1|$1 ordu}}',
 'days' => '{{PLURAL:$1|egun $1|$1 egun}}',
 'weeks' => '{{PLURAL: $1|aste $1|$1 aste}}',
-'months' => '{{PLURAL: $1|hilabete $1|$1 hilabete}}',
+'months' => '{{PLURAL:$1|hilabete $1|$1 hilabete}}',
 'years' => '{{PLURAL: $1|urte $1|$1 urte}}',
 'ago' => 'Duela $1',
 'just-now' => 'orain',
@@ -3761,7 +3761,7 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'limitreport-cputime' => 'CPU denbora erabilpena',
 'limitreport-cputime-value' => '{{PLURAL:$1|Segundu $1|$1 segundu}}',
 'limitreport-walltime' => 'Denbora errealeko erabilpena',
-'limitreport-walltime-value' => '{{plural:$1|Segundu $1|$1 segundu}}',
+'limitreport-walltime-value' => '{{PLURAL:$1|Segundu $1|$1 segundu}}',
 'limitreport-ppvisitednodes' => 'Preprozesadoreak bisitatu du nodo kontua',
 'limitreport-ppgeneratednodes' => 'Preprozesadoreak sortu du nodo kontua',
 'limitreport-postexpandincludesize' => 'Espantsioaren ondoko inklusio tamaina',
index c1d0869..87fb9a5 100644 (file)
@@ -2009,6 +2009,8 @@ $1",
 'file-exists-duplicate' => 'به نظر می‌رسد این پرونده نسخه‌ای تکراری از {{PLURAL:$1|پروندهٔ|پرونده‌های}} زیر باشد:',
 'file-deleted-duplicate' => 'یک پرونده نظیر این پرونده ([[:$1]]) قبلاً حذف شده‌است.
 شما باید تاریخچهٔ حذف آن پرونده را قبل از بارگذاری مجدد آن ببینید.',
+'file-deleted-duplicate-notitle' => 'یک پرونده یکسان بااین پرونده قبلا حذف شده است و عنوان متوقف شده‌است.
+شما باید از کسی که دسترسی مشاهدهٔ فایل متوقف شده را دارد، درخواست کنید تا شرایط را قبل از بارگذاری مجدد بررسی کند.',
 'uploadwarning' => 'هشدار بارگذاری',
 'uploadwarning-text' => 'لطفاً توضیحات پرونده را در زیر تغییر دهید و دوباره تلاش کنید.',
 'savefile' => 'ذخیرهٔ پرونده',
@@ -2383,6 +2385,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization را ببینید.',
 'protectedpages' => 'صفحه‌های محافظت‌شده',
 'protectedpages-indef' => 'فقط محافظت‌های بی‌پایان',
 'protectedpages-cascade' => 'فقط محافظت‌های آبشاری',
+'protectedpages-noredirect' => 'پنهان‌کردن تغییر مسیرها',
 'protectedpagesempty' => 'در حال حاضر هیچ‌صفحه‌ای محافظت نشده‌است.',
 'protectedtitles' => 'عنوان‌های محافظت‌شده',
 'protectedtitlesempty' => 'در حال حاضر هیچ عنوانی با این پارامترها محافظت نشده‌است.',
@@ -3113,7 +3116,7 @@ $1',
 'exportcuronly' => 'فقط نسخهٔ فعلی شامل شود، نه کل تاریخچه',
 'exportnohistory' => "----
 '''توجه:''' امکان برون‌بری تاریخچهٔ کامل صفحه‌ها از طریق این صفحه به دلایل اجرایی از کار انداخته شده‌است.",
-'exportlistauthors' => 'محتوی لیست کامل مشارکت‌کنندگان هر صفحه',
+'exportlistauthors' => 'شامل فهرست کامل مشارکت‌کنندگان هر صفحه',
 'export-submit' => 'برون‌بری',
 'export-addcattext' => 'افزودن صفحه‌ها از رده:',
 'export-addcat' => 'افزودن',
@@ -3457,9 +3460,9 @@ $1',
 'hours-abbrev' => '$1 ساعت',
 'days-abbrev' => '$1 روز',
 'seconds' => '{{PLURAL:$1|$1ثانیه| $1  ثانیه}}',
-'minutes' => '{{PLURAL: $1|دقیقه|دقیقه}}',
-'hours' => '{{PLURAL: $1|ساعت|ساعت}}',
-'days' => '{{PLURAL: $1|روز|روز}}',
+'minutes' => '{{PLURAL:$1|دقیقه|دقیقه}}',
+'hours' => '{{PLURAL:$1|ساعت|ساعت}}',
+'days' => '{{PLURAL:$1|روز|روز}}',
 'weeks' => '{{PLURAL:$1|$1 هفته|$1 هفته}}',
 'months' => '{{PLURAL:$1|$1 ماه|}}',
 'years' => '{{PLURAL:$1|$1 سال|}}',
@@ -4147,7 +4150,17 @@ $5
 'version-hook-subscribedby' => 'وارد شده توسط',
 'version-version' => '(نسخه $1)',
 'version-svn-revision' => '(&رلم;r$2)',
-'version-license' => 'اجازه‌نامه',
+'version-license' => 'اجازه‌نامهٔ مدیاویکی',
+'version-ext-license' => 'مجوزها',
+'version-ext-colheader-name' => 'گستره‌ها',
+'version-ext-colheader-version' => 'نسخه',
+'version-ext-colheader-license' => 'مجوز',
+'version-ext-colheader-description' => 'توصیفات',
+'version-ext-colheader-credits' => 'مؤلفان',
+'version-license-title' => 'مجوز برای $1',
+'version-license-not-found' => 'هیچ جزئیاتی از اطلاعات مجوز برای این گستره پیدا نشد.',
+'version-credits-title' => 'اعتبارها برای $1',
+'version-credits-not-found' => 'هیچ جزئیاتی از اطلاعات اعتبارها برای این گستره پیدا نشد.',
 'version-poweredby-credits' => "این ویکی توسط '''[https://www.mediawiki.org/ مدیاویکی]''' پشتیبانی می‌شود، کلیهٔ حقوق محفوظ است © 2001-$1 $2.",
 'version-poweredby-others' => 'دیگران',
 'version-poweredby-translators' => 'مترجمان translatewiki.net',
@@ -4368,6 +4381,7 @@ $5
 'api-error-overwrite' => 'جای نوشتن یک پرونده موجود مجاز نیست.',
 'api-error-stashfailed' => 'خطای داخلی: کارساز نمی‌تواند پرونده موقت را ذخیره کند.',
 'api-error-publishfailed' => 'خطای داخلی: کارساز نمی‌تواند پرونده موقت را ذخیره کند.',
+'api-error-stasherror' => 'هنگام انتقال پوشه برای ذخیره خطایی بود.',
 'api-error-timeout' => 'کارساز در زمان انتظار هیچ پاسخی نداد.',
 'api-error-unclassified' => 'یک خطای ناشناخته رخ داد.',
 'api-error-unknown-code' => 'خطای ناشناخته: " $1 "',
index 6bffffb..034cc40 100644 (file)
@@ -15,6 +15,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Diidtol jokke',
index 0475e13..c1fbe77 100644 (file)
@@ -2409,7 +2409,7 @@ Ota yhteyttä muokkaajaan:
 sähköposti: $PAGEEDITOR_EMAIL
 wiki: $PAGEEDITOR_WIKI
 
-Uusia ilmoituksia tästä sivusta ei tule kunnes vierailet sivulla. Voit myös nollata ilmoitukset kaikille tarkkailemillesi sivuille tarkkailulistallasi.
+Uusia ilmoituksia tästä sivusta ei tule kunnes vierailet sivulla sisään kirjautuneena. Voit myös nollata ilmoitukset kaikille tarkkailemillesi sivuille tarkkailulistallasi.
 
              {{GRAMMAR:genitive|{{SITENAME}}}} ilmoitusjärjestelmä
 
index 2001a39..481a358 100644 (file)
@@ -132,6 +132,11 @@ $namespaceAliases = array(
        'Discussion_Catégorie' => NS_CATEGORY_TALK
 );
 
+$namespaceGenderAliases = array(
+       NS_USER => array( 'male' => 'Utilisateur', 'female' => 'Utilisatrice' ),
+       NS_USER_TALK => array( 'male' => 'Discussion_utilisateur', 'female' => 'Discussion_utilisatrice' ),
+);
+
 $specialPageAliases = array(
        'Activeusers'               => array( 'Utilisateurs_actifs', 'UtilisateursActifs' ),
        'Allmessages'               => array( 'Messages_système', 'Messages_systeme', 'Messagessystème', 'Messagessysteme' ),
@@ -1399,8 +1404,8 @@ Vérifiez les journaux.",
 'revdelete-offender' => 'Auteur de la révision :',
 
 # Suppression log
-'suppressionlog' => 'Journal des suppressions',
-'suppressionlogtext' => 'Voici la liste des suppressions et des blocages qui portent sur du contenu caché aux administrateurs.
+'suppressionlog' => 'Journal des masquages',
+'suppressionlogtext' => 'Voici la liste des masquages et des blocages qui portent sur du contenu caché aux administrateurs.
 Voir la [[Special:BlockList|liste des blocages]] pour la liste des bannissements et des blocages actuellement opérationnels.',
 
 # History merging
@@ -1927,6 +1932,8 @@ Si vous voulez toujours importer votre fichier, veuillez revenir en arrière et
 Si vous voulez toujours importer votre fichier, veuillez revenir en arrière et utiliser un autre nom. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Ce fichier est un doublon {{PLURAL:$1|du fichier suivant|des fichiers suivants}} :',
 'file-deleted-duplicate' => "Un fichier identique à celui-ci ([[:$1]]) a déjà été supprimé. Vous devriez vérifier le journal des suppressions de ce fichier avant de l'importer à nouveau.",
+'file-deleted-duplicate-notitle' => "Un fichier identique à ce fichier a déjà été supprimé ainsi que le titre. 
+Vous devriez demander à quelqu'un la possibilité de vérifier le journal de ce fichier supprimé afin d'examiner la situation  avant de l'importer à nouveau.",
 'uploadwarning' => 'Attention !',
 'uploadwarning-text' => 'Modifiez la description du fichier et essayez de nouveau.',
 'savefile' => 'Sauvegarder le fichier',
@@ -2310,6 +2317,7 @@ Les entrées <del>barrées</del> ont été résolues.',
 'protectedpages' => 'Pages protégées',
 'protectedpages-indef' => 'Uniquement les protections permanentes',
 'protectedpages-cascade' => 'Uniquement les protections en cascade',
+'protectedpages-noredirect' => 'Masquer les redirections',
 'protectedpagesempty' => "Aucune page n'est protégée de cette façon.",
 'protectedtitles' => 'Titres protégés',
 'protectedtitlesempty' => "Aucun titre n'est actuellement protégé avec ces paramètres.",
@@ -4094,7 +4102,14 @@ Vous pouvez aussi [[Special:EditWatchlist|utiliser l'éditeur normal]].",
 'version-hook-name' => 'Nom du greffon',
 'version-hook-subscribedby' => 'Abonnés :',
 'version-version' => '(version $1)',
-'version-license' => 'Licence',
+'version-license' => 'Licence MediaWiki',
+'version-ext-license' => 'Licence',
+'version-ext-colheader-license' => 'Licence',
+'version-ext-colheader-credits' => 'Auteurs',
+'version-license-title' => 'Licence pour $1',
+'version-license-not-found' => "Aucune information détaillée de la licence n'a été trouvée pour cette extension.",
+'version-credits-title' => 'Remerciements pour $1',
+'version-credits-not-found' => "Aucune information détaillée des remerciements n'a été trouvée pour cette extension.",
 'version-poweredby-credits' => "Ce wiki fonctionne grâce à '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'autres',
 'version-poweredby-translators' => 'traducteurs de translatewiki.net',
@@ -4315,6 +4330,7 @@ Sinon, vous pouvez utiliser le formulaire simplifié ci-dessous. Votre commentai
 '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-stasherror' => "Une erreur s'est produite lors du téléchargement du fichier pour le dissimuler.",
 'api-error-timeout' => "Le serveur n'a pas répondu dans le délai imparti.",
 'api-error-unclassified' => "Une erreur inconnue s'est produite",
 'api-error-unknown-code' => 'Erreur inconnue : « $1 »',
index 263a033..479e4a2 100644 (file)
@@ -52,6 +52,9 @@ $namespaceAliases = array(
        'Discussion_Catègorie'  => NS_CATEGORY_TALK
 );
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $specialPageAliases = array(
        'Activeusers'               => array( 'Usanciérs_actifs', 'UsanciérsActifs' ),
        'Allmessages'               => array( 'Mèssâjos_sistèmo', 'MèssâjosSistèmo' ),
index b17c93f..b1cba05 100644 (file)
@@ -309,8 +309,8 @@ Seall air [[Special:Version|duilleag an tionndaidh]].',
 'youhavenewmessages' => 'Tha $1 ($2) agad.',
 'youhavenewmessagesfromusers' => 'Tha $1 o {{PLURAL:$3|aon chleachdaiche|$3 chleachdaiche|$3 cleachdaichean|$3 cleachdaiche}} agad ($2).',
 'youhavenewmessagesmanyusers' => 'Tha $1 agad o iomadh cleachdaiche ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|aon teachdaireachd ùr|$1 theachdaireachd ùr|$1 teachdaireachdan ùra|$1 teachdaireachd ùr}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|am mùthadh|an $1 mhùthadh|na $1 mùthaidhean|na $1 mùthadh}} mu dheireadh',
+'newmessageslinkplural' => '{{PLURAL:$1|teachdaireachd ùr|theachdaireachd ùr|theachdaireachdan ùra|teachdaireachd ùr}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|mhùthadh|mhùthadh|mùthaidhean|mùthadh}} mu dheireadh',
 'youhavenewmessagesmulti' => 'Tha teachdaireachdan ùra agad ann an $1',
 'editsection' => 'deasaich',
 'editold' => 'deasaich',
@@ -438,7 +438,7 @@ Thug an rianaire a ghlais e seachad an t-adhbhar a leanas: "$3".',
 'invalidtitle-knownnamespace' => 'Tiotal mì-dhligheach leis an namespace "$2" agus an teacsa "$3"',
 'invalidtitle-unknownnamespace' => 'Tiotal mì-dhligheach leis an àireamh namespace $1 agus an teacsa "$2"',
 'exception-nologin' => 'Chan eil thu air clàradh a-steach',
-'exception-nologin-text' => 'Feumaidh tu clàradh a-steach air an uicipeid seo mus urrainn dhut seo a dhèanamh.',
+'exception-nologin-text' => 'Feumaidh tu [[Special:Userlogin|clàradh a-steach]] mus fhaic thu an duilleag seo no mus urrainn dhut seo a dhèanamh.',
 
 # Virus scanner
 'virus-badscanner' => "Droch cho-dhealbhachd: sganair bhìorasan neo-aithnichte: ''$1''",
@@ -542,7 +542,7 @@ Feuch ris a-rithist.',
 'passwordtooshort' => "Feumaidh faclan-faire a bhith {{PLURAL:$1|$1 charactar|$1 charactar|$1 caractaran|$1 caractar}} a dh'fhaid air a' char as lugha.",
 'password-name-match' => "Chan fhaod am facal-faire 's an t-ainm-cleachdaiche agad a bhith co-ionnann.",
 'password-login-forbidden' => "Tha an t-ainm-cleachdaiche 's am facal-faire seo toirmisgte.",
-'mailmypassword' => "Cuir facal-faire ùr thugam air a' phost-dealain",
+'mailmypassword' => 'Ath-shuidhich am facal-faire',
 'passwordremindertitle' => 'Facal-faire sealach ùr airson {{SITENAME}}',
 'passwordremindertext' => 'Dh\'iarr cuideigin (\'s mathaid gun do dh\'iarr thusa seo on t-seòladh IP $1) facal-faire ùr airson {{SITENAME}} ($4). Chaidh facal-faire sealach a chruthachadh airson "$2" a tha \'na "$3".
 Ma bha sin fa-near dhut, bidh agad ri clàradh a-steach agus facal-faire ùr a thaghadh
@@ -614,7 +614,7 @@ Saoil an do dh'atharraich thu am facal-faire agad mu thràth no an do dh'iarr th
 # Special:PasswordReset
 'passwordreset' => 'Ath-shuidhich am facal-faire',
 'passwordreset-text-one' => 'Lìon am foirm seo gus am facal-faire agad ath-shuidheachadh.',
-'passwordreset-text-many' => '{{PLURAL:$1|Lìon aon dhe na raointean gus am facal-faire agad ath-shuidheachadh.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Lìon aon dhe na raointean gus facal-faire sealach fhaighinn ann am post-d.}}',
 'passwordreset-legend' => 'Ath-shuidhich am facal-faire',
 'passwordreset-disabled' => 'Chaidh ath-shuidheachadh nam faclan-faire a chur à comas air an uicipeid seo.',
 'passwordreset-emaildisabled' => "Chaidh feartan a' phuist-d a chur à comas san uicipeid seo.",
@@ -1013,8 +1013,8 @@ Gheibh rianairean eile air {{SITENAME}} greim fhathast air an t-susbaint fhalaic
 'revdelete-hide-user' => 'Ainm-cleachdaiche/seòladh IP an deasaiche',
 'revdelete-hide-restricted' => 'Mùch dàta o rianairean agus càch',
 'revdelete-radio-same' => '(na atharraich)',
-'revdelete-radio-set' => 'Ri fhaicinn',
-'revdelete-radio-unset' => 'Falaichte',
+'revdelete-radio-set' => 'Falaichte',
+'revdelete-radio-unset' => 'Ri fhaicinn',
 'revdelete-suppress' => 'Mùch dàta o rianairean agus càch',
 'revdelete-unsuppress' => 'Thoir air falbh na bacaidhean air mùthaidhean a chaidh aiseag',
 'revdelete-log' => 'Adhbhar:',
@@ -1322,7 +1322,7 @@ Chan fhaicear an seòladh fhèin nuair a chuireas cuideigin post-dealain thugad.
 'rclistfrom' => 'Seall na mùthaidhean ùra a-mach o $1',
 'rcshowhideminor' => '$1 mùthaidhean beaga',
 'rcshowhidebots' => '$1 botaichean',
-'rcshowhideliu' => '$1 neach-cleachdaidh air logadh a-steach',
+'rcshowhideliu' => '$1 neach-cleachdaidh clàraichte',
 'rcshowhideanons' => '$1 luchd-cleachdaidh gun ainm',
 'rcshowhidepatr' => '$1 na deasachaidhean fo aire freiceadain',
 'rcshowhidemine' => '$1 na mùthaidhean agam',
@@ -1758,6 +1758,9 @@ Tadhail air [https://www.mediawiki.org/wiki/Localisation Ionadaileadh MediaWiki]
 'others' => 'eile',
 'siteusers' => '{{PLURAL:$2|cleachdaiche|cleachdaichean}} {{SITENAME}} $1',
 
+# Info page
+'pageinfo-toolboxlink' => 'Fiosrachadh mun duilleag',
+
 # Browsing diffs
 'previousdiff' => '← Mùthadh nas sine',
 'nextdiff' => 'Deasachadh nas ùire →',
@@ -1766,7 +1769,7 @@ Tadhail air [https://www.mediawiki.org/wiki/Localisation Ionadaileadh MediaWiki]
 'file-info-size' => '$1 × $2 pixel, meud an fhaidhle: $3, seòrsa MIME: $4',
 'file-nohires' => 'Chan eil dùmhlachd-bhreacaidh nas fhearr ri fhaighinn.',
 'svg-long-desc' => 'Faidhle SVG, a-rèir ainm $1 × $2 pixel, meud faidhle: $3',
-'show-big-image' => 'Dùmhlachd-bhreacaidh shlàn',
+'show-big-image' => 'Am faidhle tùsail',
 
 # Special:NewFiles
 'ilsubmit' => 'Rannsaich',
index e60ca20..59bf178 100644 (file)
@@ -2228,6 +2228,7 @@ As entradas <del>riscadas</del> xa foron resoltas.',
 'protectedpages' => 'Páxinas protexidas',
 'protectedpages-indef' => 'Só as proteccións indefinidas',
 'protectedpages-cascade' => 'Só as proteccións en serie',
+'protectedpages-noredirect' => 'Agochar as redireccións',
 'protectedpagesempty' => 'Actualmente non hai ningunha páxina protexida con eses parámetros.',
 'protectedtitles' => 'Títulos protexidos',
 'protectedtitlesempty' => 'Actualmente non hai ningún título protexido con eses parámetros.',
@@ -2506,6 +2507,7 @@ Limitouse a eliminación destas páxinas para previr problemas de funcionamento
 'delete-warning-toobig' => 'Esta páxina conta cun historial de edicións longo, de máis {{PLURAL:$1|dunha revisión|de $1 revisións}}.
 Ao eliminala pódense provocar problemas de funcionamento nas operacións da base de datos de {{SITENAME}};
 proceda con coidado.',
+'deleting-backlinks-warning' => "'''Atención:''' Outras páxinas ligan á páxina que vostede quere borrar.",
 
 # Rollback
 'rollback' => 'Reverter as edicións',
@@ -4159,6 +4161,7 @@ En caso contrario, pode empregar o formulario sinxelo inferior. O seu comentario
 'api-error-overwrite' => 'Non está permitido sobrescribir un ficheiro existente.',
 'api-error-stashfailed' => 'Erro interno: O servidor non puido almacenar o ficheiro temporal.',
 'api-error-publishfailed' => 'Erro interno: O servidor non puido publicar o ficheiro temporal.',
+'api-error-stasherror' => 'Houbo un erro mentras se subía o ficheiro a stash.',
 'api-error-timeout' => 'O servidor non respondeu no tempo esperado.',
 'api-error-unclassified' => 'Houbo un erro descoñecido.',
 'api-error-unknown-code' => 'Erro descoñecido: "$1"',
index 56cf651..f4146a0 100644 (file)
@@ -3296,8 +3296,8 @@ Andri wäre standardmäßig nit aazeigt.
 'exif-gpslongitude-w' => 'weschtl. Längi',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{plural:$1|Meter|Meter}} iber em Meeresspiegel',
-'exif-gpsaltitude-below-sealevel' => '$1 {{plural:$1|Meter|Meter}} unter em Meeresspiegel',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|Meter|Meter}} iber em Meeresspiegel',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|Meter|Meter}} unter em Meeresspiegel',
 
 'exif-gpsstatus-a' => 'Mässig lauft',
 'exif-gpsstatus-v' => 'Interoperabilität vu Mässige',
index 240f7aa..debfc59 100644 (file)
@@ -3815,12 +3815,12 @@ $5
 'logentry-delete-delete' => '$1 દ્વારા પાનું $3 {{GENDER:$2|દૂર કરવામાં આવ્યું}}',
 'logentry-delete-restore' => '$1 {{GENDER:$2|પુનઃસંગ્રહ}} પાનું $3',
 'logentry-delete-event' => '$1 એ {{PLURAL:$5|લૉગ ઘટના|$5 લૉગ ઘટનાઓ}} ની દ્રશ્યતા $3 પર {{GENDER:$2|બદલેલ}} છે: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2|બદલેલ}} બદલાઈ ના દૃશ્યતા {{PLURAL: $5 | સુધારણા | $5 આવૃત્તિઓ}} $3 પાનાં પર: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|બદલેલ}} બદલાઈ ના દૃશ્યતા {{PLURAL:$5 | સુધારણા | $5 આવૃત્તિઓ}} $3 પાનાં પર: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|બદલેલ}} બદલાઈ $3 પર લોગ ઘટનાઓ દૃશ્યતા',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|બદલેલ}} બદલાઈ પાનાં પર આવૃત્તિઓની દૃશ્યતા $3',
 'logentry-suppress-delete' => '$1 એ $3 પાનું {{GENDER:$2|દબાવ્યું}}',
-'logentry-suppress-event' => '$1  (છાની માહિતી) {{GENDER:$2|બદલેલ}} બદલાઈ {{PLURAL: $5 | લોગ ઘટના | $5 લોગ}} ની દ્રશ્યતા $3 : $4',
-'logentry-suppress-revision' => '$1 છાની માહિતી {{GENDER:$2|બદલેલ}} બદલાઈ ના દૃશ્યતા {{PLURAL: $5 | આવૃત્તિ એ | $5 આવૃત્તિઓ}}: $4 $3 પાનાં પર',
+'logentry-suppress-event' => '$1  (છાની માહિતી) {{GENDER:$2|બદલેલ}} બદલાઈ {{PLURAL:$5 | લોગ ઘટના | $5 લોગ}} ની દ્રશ્યતા $3 : $4',
+'logentry-suppress-revision' => '$1 છાની માહિતી {{GENDER:$2|બદલેલ}} બદલાઈ ના દૃશ્યતા {{PLURAL:$5 | આવૃત્તિ એ | $5 આવૃત્તિઓ}}: $4 $3 પાનાં પર',
 'logentry-suppress-event-legacy' => '$1 ગુપ્ત {{GENDER:$2|બદલેલ}} બદલો $3 પર લોગ ઘટનાઓ દૃશ્યતા',
 'logentry-suppress-revision-legacy' => '$1 ગુપ્ત {{GENDER:$2|બદલેલ}} બદલાઈ પાનાં પર આવૃત્તિઓની દૃશ્યતા $3',
 'revdelete-content-hid' => 'સામગ્રી છુપાયેલા',
index 1d35baa..fe97a41 100644 (file)
@@ -376,7 +376,7 @@ $messages = array(
 'tog-showtoolbar' => 'הצגת סרגל העריכה',
 'tog-editondblclick' => 'עריכת דפים בלחיצה כפולה',
 'tog-editsection' => 'עריכת פסקאות באמצעות קישורי [עריכה]',
-'tog-editsectiononrightclick' => 'ער×\99×\9bת ×¤×¡×§×\90×\95ת ×¢×\9c ×\99×\93×\99 לחיצה ימנית על כותרות הפסקאות',
+'tog-editsectiononrightclick' => 'ער×\99×\9bת ×¤×¡×§×\90×\95ת ×\91×\90×\9eצע×\95ת לחיצה ימנית על כותרות הפסקאות',
 'tog-showtoc' => 'הצגת תוכן עניינים (עבור דפים עם יותר מ־3 כותרות)',
 'tog-rememberpassword' => 'שמירת הכניסה שלי בדפדפן זה ({{PLURAL:$1|ליום אחד|ליומיים|ל־$1 ימים}} לכל היותר)',
 'tog-watchcreations' => 'מעקב אחרי דפים שיצרתי וקבצים שהעליתי',
@@ -1138,7 +1138,7 @@ $2
 
 '''אם זהו ניסיון עריכה לגיטימי, אנא נסו שוב.'''
 אם זה לא עוזר, נסו [[Special:UserLogout|לצאת מהחשבון]] ולהיכנס אליו שנית.",
-'token_suffix_mismatch' => "'''ער×\99×\9bת×\9b×\9d × ×\93×\97ת×\94 ×\9b×\99×\95×\95×\9f ×©×\94×\93פ×\93פ×\9f ×©×\9c×\9b×\9d מחק את תווי הפיסוק באסימון העריכה.'''
+'token_suffix_mismatch' => "'''ער×\99×\9bת×\9a × ×\93×\97ת×\94 ×\9b×\99×\95×\95×\9f ×©×\94×\93פ×\93פ×\9f ×©×\9c×\9a מחק את תווי הפיסוק באסימון העריכה.'''
 העריכה נדחתה כדי למנוע בעיות כאלה בטקסט של הדף.
 לעתים התקלה מתרחשת עקב שימוש בשירות פרוקסי אנונימי פגום.",
 'edit_form_incomplete' => "'''כמה חלקים מטופס העריכה לא הגיעו לשרת; בדקו היטב שעריכותיכם לא נפגעו ונסו שוב.'''",
@@ -1532,7 +1532,7 @@ $1",
 'timezonelegend' => 'אזור זמן:',
 'localtime' => 'זמן מקומי:',
 'timezoneuseserverdefault' => 'ברירת המחדל של האתר ($1)',
-'timezoneuseoffset' => '×\90×\97ר (× ×\90 ×¦×\99×\99× ×\95 את ההפרש)',
+'timezoneuseoffset' => '×\90×\97ר (×\99ש ×\9cצ×\99×\99×\9f את ההפרש)',
 'servertime' => 'השעה הנוכחית בשרת:',
 'guesstimezone' => 'קבלה מהדפדפן',
 'timezoneregion-africa' => 'אפריקה',
@@ -1916,6 +1916,8 @@ $1",
 'file-exists-duplicate' => 'קובץ זה זהה {{PLURAL:$1|לקובץ הבא|לקבצים הבאים}}:',
 'file-deleted-duplicate' => 'קובץ זהה לקובץ זה ([[:$1]]) נמחק בעבר.
 אנא בדקו את היסטוריית המחיקה של הקובץ לפני שתעלו אותו מחדש.',
+'file-deleted-duplicate-notitle' => 'קובץ זהה לקובץ זה נמחק בעבר, והכותרת שלו הוסתרה.
+אנא בקשו ממישהו שיכול לראות מידע על קבצים שהוסתרו לבדוק את המצב לפני שתעלו אותו מחדש.',
 'uploadwarning' => 'אזהרת העלאת קבצים',
 'uploadwarning-text' => 'אנא שנו את תיאור הקובץ שלמטה ונסו שוב.',
 'savefile' => 'שמירת קובץ',
@@ -2300,6 +2302,7 @@ $1',
 'protectedpages' => 'דפים מוגנים',
 'protectedpages-indef' => 'הגנות לזמן בלתי מוגבל בלבד',
 'protectedpages-cascade' => 'הגנות מדורגות בלבד',
+'protectedpages-noredirect' => 'הסתרת הפניות',
 'protectedpagesempty' => 'אין כרגע דפים מוגנים עם הפרמטרים הללו.',
 'protectedtitles' => 'כותרות מוגנות',
 'protectedtitlesempty' => 'אין כרגע כותרות מוגנות עם הפרמטרים האלה.',
@@ -2469,7 +2472,7 @@ $1',
 'watchlistfor2' => 'עבור $1 $2',
 'nowatchlist' => 'אין דפים ברשימת המעקב.',
 'watchlistanontext' => 'עליכם $1 כדי לצפות או לערוך פריטים ברשימת המעקב.',
-'watchnologin' => 'לא נכנסתם לחשבון',
+'watchnologin' => 'לא נכנסת לחשבון',
 'watchnologintext' => 'עליכם [[Special:UserLogin|להיכנס לחשבון]] כדי לערוך את רשימת המעקב.',
 'addwatch' => 'הוספה לרשימת המעקב',
 'addedwatchtext' => 'הדף [[:$1]] נוסף ל[[Special:Watchlist|רשימת המעקב]].
@@ -2484,7 +2487,7 @@ $1',
 'notvisiblerev' => 'הגרסה האחרונה שנוצרה על־ידי משתמש אחר נמחקה',
 'watchlist-details' => 'ברשימת המעקב יש {{PLURAL:$1|דף אחד|$1 דפים}} (לא כולל דפי שיחה).',
 'wlheader-enotif' => 'הודעות דוא"ל מאופשרות.',
-'wlheader-showupdated' => "×\93פ×\99×\9d ×©×\94שתנ×\95 ×\9e×\90×\96 ×\91×\99ק×\95ר×\9b×\9d האחרון בהם מוצגים ב'''הדגשה'''.",
+'wlheader-showupdated' => "×\93פ×\99×\9d ×©×\94שתנ×\95 ×\9e×\90×\96 ×\91×\99ק×\95ר×\9a האחרון בהם מוצגים ב'''הדגשה'''.",
 'watchmethod-recent' => 'בודק את הדפים שברשימת המעקב לשינויים אחרונים.',
 'watchmethod-list' => 'בודק את העריכות האחרונות בדפים שברשימת המעקב',
 'watchlistcontains' => 'רשימת המעקב כוללת {{PLURAL:$1|דף אחד|$1 דפים}}.',
@@ -2812,6 +2815,7 @@ $1',
 ראו את [[Special:BlockList|רשימת החסומים]] כדי לצפות בחסימות.',
 'ipb-blockingself' => 'אתם עומדים לחסום את עצמכם! האם אתם באמת רוצים לעשות את זה?',
 'ipb-confirmhideuser' => 'אתם עומדים לחסום משתמש עם האפשרות "הסתרת משתמש". פעולה זו תסתיר את שם המשתמש בכל הרשימות ופעולות היומן. האם אתם בטוחים שברצונכם לעשות זאת?',
+'ipb-confirmaction' => 'אם באמת רצית לעשות את זה, נא לסמן את השדה "{{int:ipb-confirm}}" בתחתית.',
 'ipb-edit-dropdown' => 'עריכת סיבות החסימה',
 'ipb-unblock-addr' => 'הסרת חסימה של $1',
 'ipb-unblock' => 'הסרת חסימה של שם משתמש או כתובת IP',
@@ -2856,8 +2860,10 @@ $1',
 'autoblocker' => 'נחסמתם באופן אוטומטי משום שאתם חולקים את כתובת ה־IP שלכם עם [[User:$1|$1]].
 הסיבה שניתנה לחסימת $1 היא "\'\'\'$2\'\'\'"',
 'blocklogpage' => 'יומן חסימות',
-'blocklog-showlog' => 'משתמש זה נחסם בעבר. יומן החסימות מוצג למטה:',
-'blocklog-showsuppresslog' => 'משתמש זה נחסם והוסתר בעבר. יומן ההסתרות מוצג למטה:',
+'blocklog-showlog' => 'משתמש זה נחסם בעבר.
+יומן החסימות מוצג להלן:',
+'blocklog-showsuppresslog' => 'משתמש זה נחסם והוסתר בעבר.
+יומן ההסתרות מוצג להלן:',
 'blocklogentry' => 'חסם את [[$1]] למשך $2 $3',
 'reblock-logentry' => 'שינה את הגדרות החסימה של [[$1]] עם זמן פקיעה של $2 $3',
 'blocklogtext' => 'זהו יומן פעולות החסימה והשחרור של משתמשים.
@@ -3144,8 +3150,8 @@ $2',
 'tooltip-ca-talk' => 'שיחה על דף זה',
 'tooltip-ca-edit' => 'באפשרותכם לערוך דף זה. אנא השתמשו בלחצן "תצוגה מקדימה" לפני השמירה',
 'tooltip-ca-addsection' => 'הוספת פסקה חדשה',
-'tooltip-ca-viewsource' => '×\94×\93×£ ×\94זה מוגן.
\91×\90פשר×\95ת×\9b×\9d לצפות בטקסט המקור שלו',
+'tooltip-ca-viewsource' => '×\93×£ זה מוגן.
\91×\90פשר×\95ת×\9a לצפות בטקסט המקור שלו',
 'tooltip-ca-history' => 'גרסאות קודמות של דף זה',
 'tooltip-ca-protect' => 'הגנה על דף זה',
 'tooltip-ca-unprotect' => 'שינוי ההגנה על דף זה',
@@ -3160,7 +3166,7 @@ $2',
 'tooltip-p-logo' => 'ביקור בעמוד הראשי',
 'tooltip-n-mainpage' => 'ביקור בעמוד הראשי',
 'tooltip-n-mainpage-description' => 'ביקור בעמוד הראשי',
-'tooltip-n-portal' => '×\90×\95×\93×\95ת ×\94×\9e×\99×\96×\9d, ×\90×\99×\9a ×ª×\95×\9b×\9c×\95 ×\9c×¢×\96×\95ר, ×\90×\99פ×\94 למצוא דברים',
+'tooltip-n-portal' => '×\90×\95×\93×\95ת ×\94×\9e×\99×\96×\9d, ×\9b×\99צ×\93 ×ª×\95×\9b×\9c×\95 ×\9c×¢×\96×\95ר, ×\94×\99×\9b×\9f למצוא דברים',
 'tooltip-n-currentevents' => 'מציאת מידע רקע על האירועים האחרונים',
 'tooltip-n-recentchanges' => 'רשימת השינויים האחרונים באתר',
 'tooltip-n-randompage' => 'צפייה בדף תוכן אקראי',
@@ -4075,7 +4081,17 @@ $5
 'version-hook-name' => 'שם ה־Hook',
 'version-hook-subscribedby' => 'הפונקציה הרושמת',
 'version-version' => '(גרסה $1)',
-'version-license' => 'רישיון',
+'version-license' => 'רישיון עבור מדיה־ויקי',
+'version-ext-license' => 'רישיון',
+'version-ext-colheader-name' => 'הרחבה',
+'version-ext-colheader-version' => 'גרסה',
+'version-ext-colheader-license' => 'רישיון',
+'version-ext-colheader-description' => 'תיאור',
+'version-ext-colheader-credits' => 'מחברים',
+'version-license-title' => 'רישיון עבור $1',
+'version-license-not-found' => 'לא נמצא מידע מפורט על הרישיון עבור הרחבה זו.',
+'version-credits-title' => 'תורמים ל{{grammar:תחילית|$1}}',
+'version-credits-not-found' => 'לא נמצא מידע מפורט על התורמים להרחבה זו.',
 'version-poweredby-credits' => "אתר הוויקי הזה מופעל על ידי '''[https://www.mediawiki.org/ מדיה־ויקי]''', © 2001–$1 $2.",
 'version-poweredby-others' => 'אחרים',
 'version-poweredby-translators' => 'מתרגמי translatewiki.net',
@@ -4294,6 +4310,7 @@ $5
 'api-error-overwrite' => 'לא מותרת החלפת קובץ קיים.',
 'api-error-stashfailed' => 'שגיאה פנימית: השרת נכשל באחסון הקובץ הזמני.',
 'api-error-publishfailed' => 'שגיאה פנימית: השרת נכשל בפרסום הקובץ הזמני.',
+'api-error-stasherror' => 'הייתה שגיאה בהעלאת הקובץ למאגר.',
 'api-error-timeout' => 'השרת לא השיב בזמן המצופה.',
 'api-error-unclassified' => 'אירעה שגיאה בלתי ידועה.',
 'api-error-unknown-code' => 'שגיאה בלתי ידועה: "$1".',
index 0390568..877cdcb 100644 (file)
@@ -26,6 +26,7 @@
  * @author Meno25
  * @author Mvrban
  * @author Nemo bis
+ * @author Phidrho
  * @author Roberta F.
  * @author SpeedyGonsales
  * @author Tivek
@@ -3847,7 +3848,12 @@ Također možete koristiti [[Special:EditWatchlist|standardni editor]].',
 'version-hook-name' => 'Ime kuke',
 'version-hook-subscribedby' => 'Pretplaćeno od',
 'version-version' => '(Inačica $1)',
-'version-license' => 'Licencija',
+'version-license' => 'Licenca',
+'version-ext-license' => 'Licenca',
+'version-ext-colheader-version' => 'Verzija',
+'version-ext-colheader-license' => 'Licenca',
+'version-ext-colheader-description' => 'Opis',
+'version-ext-colheader-credits' => 'Autori',
 'version-poweredby-credits' => "Ovaj wiki pogoni '''[https://www.mediawiki.org/ MediaWiki]''', autorska prava © 2001-$1 $2.",
 'version-poweredby-others' => 'ostali',
 'version-credits-summary' => 'Željeli bismo zahvaliti sljedećim suradnicima na njihovom doprinosu [[Special:Version|MediaWikiju]].',
@@ -3867,6 +3873,7 @@ Trebali ste primiti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopiju GNU opće javne lic
 'redirect-submit' => 'Idi',
 'redirect-value' => 'Vrijednost:',
 'redirect-user' => 'ID suradnika',
+'redirect-page' => 'ID stranice',
 'redirect-file' => 'Datotečno ime',
 
 # Special:FileDuplicateSearch
index f1803bc..b6f0e13 100644 (file)
@@ -1654,6 +1654,7 @@ Jeli maš tutón wobraz z połnym rozeznaćom, nahraj tutón, hewak změń proš
 'fileexists-shared-forbidden' => 'Dataja z tutym mjenom hižo eksistuje w zhromadnej chowarni. Jeli hišće chceš swoju dataju nahrać,  dźi prošu wróćo a wužij nowe mjeno. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Tuta dataja je duplikat {{PLURAL:$1|slědowaceje dataje|slědowaceju datajow|slědowacych datajow|slědowacych datajow}}:',
 'file-deleted-duplicate' => 'Dataja, kotraž je identiska z tutej dataju ([[:$1]]), je so prjedy zničiła. Ty měł stawizny zničenja tuteje dataje přepruwować, prjedy pokročuješ z jeje zasonahrawanjom.',
+'file-deleted-duplicate-notitle' => 'Z tutej dataju identiska dataja je so prjedy zhašała, a titul je so potłóčił. Ty měł so někoho prašeć, kotryž ma móžnosć, sej potłóčene daty wobhladać, zo by situaciju přepruwował, prjedy hač ju znowa nahraješ.',
 'uploadwarning' => 'Warnowanje',
 'uploadwarning-text' => 'Prošu změń slědowace datajowe wopisanje a spytaj hišće raz.',
 'savefile' => 'Dataju składować',
@@ -2027,6 +2028,7 @@ Kóžda rjadka wobsahuje wotkazy k prěnjemu a druhemu daleposrědkowanju kaž t
 'protectedpages' => 'Škitane strony',
 'protectedpages-indef' => 'Jenož strony z njewobmjezowanym škitom',
 'protectedpages-cascade' => 'Jenož strony z kaskadowym škitom',
+'protectedpages-noredirect' => 'Dalesposrědkowanja schować',
 'protectedpagesempty' => 'Tuchwilu žane.',
 'protectedtitles' => 'Škitane titule',
 'protectedtitlesempty' => 'Žane titule njejsu tuchwilu z tutymi parametrami škitane.',
@@ -3671,7 +3673,17 @@ Móžeš tež [[Special:EditWatchlist|standardnu wobdźěłowansku stronu]] wuž
 'version-hook-name' => 'Mjeno hoki',
 'version-hook-subscribedby' => 'Abonowany wot',
 'version-version' => '(Wersija $1)',
-'version-license' => 'Licenca',
+'version-license' => 'Licenca MediaWiki',
+'version-ext-license' => 'Licenca',
+'version-ext-colheader-name' => 'Rozšěrjenje',
+'version-ext-colheader-version' => 'Wersija',
+'version-ext-colheader-license' => 'Licenca',
+'version-ext-colheader-description' => 'Wopisanje',
+'version-ext-colheader-credits' => 'Awtorojo',
+'version-license-title' => 'Licenca za $1',
+'version-license-not-found' => 'Za tute rozšěrjenje njejsu so žane nadrobne licencne informacije namakali.',
+'version-credits-title' => 'Dźakprajenja za $1',
+'version-credits-not-found' => 'Za tute rozšěrjenje njejsu žane dźakprajenske informacije namakali.',
 'version-poweredby-credits' => "Tutón wiki so wot  '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2 podpěruje.",
 'version-poweredby-others' => 'druzy',
 'version-poweredby-translators' => 'Přełožowarjo na translatewiki.net',
@@ -3891,6 +3903,7 @@ Hewak móžeš slědowacy jednory formular wužiwać. Twój komentar přida so s
 'api-error-overwrite' => 'Přepisowanje eksistowaceje dataje njeje dowolene.',
 'api-error-stashfailed' => 'Nutřkowny zmylk: Serwer njemóžeše nachwilnu dataju składować.',
 'api-error-publishfailed' => 'Nutřkowny zmylk: Serwer njemóžeše nachwilnu dataju wozjewić.',
+'api-error-stasherror' => 'Při nahrawanju dataje do chowanki je zmylk wusutpił.',
 'api-error-timeout' => 'Serwer njeje znutřka wočakowaneho časa wotmołwił.',
 'api-error-unclassified' => 'Njeznaty zmylk je wustupił.',
 'api-error-unknown-code' => 'Njeznaty zmylk: "$1"',
@@ -3905,8 +3918,8 @@ Hewak móžeš slědowacy jednory formular wužiwać. Twój komentar přida so s
 'duration-minutes' => '$1 {{PLURAL:$1|mjeńšina|mjeńšinje|mjeńšiny|mjeńšin}}',
 'duration-hours' => '$1 {{PLURAL:$1|hodźina|hodźinje|hodźiny|hodźin}}',
 'duration-days' => '$1 {{PLURAL:$1|dźeń|dnjej|dny|dnjow}}',
-'duration-weeks' => '$1 {{PLURAL: $1|tydźeń|njedźeli|njedźele|njedźel}}',
-'duration-years' => '$1 {{PLURAL: $1|lěto|lěće|lěta|lět}}',
+'duration-weeks' => '$1 {{PLURAL:$1|tydźeń|njedźeli|njedźele|njedźel}}',
+'duration-years' => '$1 {{PLURAL:$1|lěto|lěće|lěta|lět}}',
 'duration-decades' => '$1 {{PLURAL:$1|lětdźesatk|lětdźesatkaj|lětdźesatki|lětdźesatkow}}',
 'duration-centuries' => '$1 {{PLURAL:$1|lětstotk|lětstotkaj|lětstotki|lětstotkow}}',
 'duration-millennia' => '$1 {{PLURAL:$1|lěttysac|lěttysacaj|lěttysacy|lěttysacow}}',
index 0dc4397..6fb69f7 100644 (file)
@@ -40,6 +40,9 @@ $namespaceAliases = array(
        'Diskisyon_Imaj' => NS_USER_TALK,
 );
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $specialPageAliases = array(
        'Activeusers'               => array( 'ItilizatèAktif' ),
        'Allmessages'               => array( 'ToutMesaj' ),
index 6739043..2ad4809 100644 (file)
@@ -3218,7 +3218,7 @@ A futtatása során kárt tehet a számítógépedben.",
 
 # Human-readable timestamps
 'hours-ago' => '$1 {{PLURAL:$1|órával|órával}} ezelőtt',
-'minutes-ago' => '$1 {{PLURAL: $1|perce|perce}}',
+'minutes-ago' => '$1 {{PLURAL:$1|perce|perce}}',
 'seconds-ago' => '$1 {{PLURAL:$1|másodperce|másodperce}}',
 'monday-at' => '$1 (hétfő)',
 'tuesday-at' => '$1 (kedd)',
@@ -4046,12 +4046,12 @@ A MediaWikit abban a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉ
 'api-error-verification-error' => 'A fájl feltehetőleg sérült, vagy hibás a kiterjesztése.',
 
 # Durations
-'duration-seconds' => '{{PLURAL: $1|másodperc|másodperc}}',
-'duration-minutes' => '$1 {{PLURAL: $1|perc|perc}}',
+'duration-seconds' => '{{PLURAL:$1|másodperc|másodperc}}',
+'duration-minutes' => '$1 {{PLURAL:$1|perc|perc}}',
 'duration-hours' => '{{PLURAL:$1|egy|$1}} óra',
 'duration-days' => '{{PLURAL:$1|egy|$1}} nap',
 'duration-weeks' => '$1 {{PLURAL:$1|hét|hét}}',
-'duration-years' => '{{PLURAL: $1|Egy év|$1 év}}',
+'duration-years' => '{{PLURAL:$1|Egy év|$1 év}}',
 'duration-decades' => '{{PLURAL:$1|egy|$1}} évtized',
 'duration-centuries' => '{{PLURAL:$1|egy|$1}} évszázad',
 'duration-millennia' => '{{PLURAL:$1|egy|$1}} évezred',
index 2ced315..103713b 100644 (file)
@@ -1715,6 +1715,7 @@ Si tu vole ancora incargar iste file, per favor retorna e usa un nove nomine. [[
 Si tu vole totevia incargar iste file, per favor retorna e usa un nove nomine. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Iste file es un duplicato del sequente {{PLURAL:$1|file|files}}:',
 'file-deleted-duplicate' => 'Un file identic a iste file ([[:$1]]) esseva ja delite anteriormente. Tu deberea verificar le registro de deletiones concernente iste file ante de re-incargar lo.',
+'file-deleted-duplicate-notitle' => 'Un file identic a iste file ha essite delite anteriormente, e le titulo ha essite supprimite. Tu deberea demandar a un persona con le privilegio de vider datos de files supprimite a examinar le situation ante de incargar lo de novo.',
 'uploadwarning' => 'Advertimento de incargamento',
 'uploadwarning-text' => 'Per favor modifica le description del file ci infra e reproba.',
 'savefile' => 'Salveguardar file',
@@ -2100,6 +2101,7 @@ Le entratas <del>cancellate</del> ha essite resolvite.',
 'protectedpages' => 'Paginas protegite',
 'protectedpages-indef' => 'Solmente protectiones infinite',
 'protectedpages-cascade' => 'Protectiones in cascada solmente',
+'protectedpages-noredirect' => 'Celar redirectiones',
 'protectedpagesempty' => 'Nulle paginas es actualmente protegite con iste parametros.',
 'protectedtitles' => 'Titulos protegite',
 'protectedtitlesempty' => 'Nulle titulos es actualmente protegite con iste parametros.',
@@ -3020,6 +3022,7 @@ Per favor usa le previsualisation ante de publicar.',
 Es possibile adder un motivo in le summario.',
 'tooltip-preferences-save' => 'Confirmar preferentias',
 'tooltip-summary' => 'Entra un curte summario',
+'interlanguage-link-title' => '$1 (in $2)',
 
 # Stylesheets
 'common.css' => '/* Le CSS placiate hic se applicara a tote le stilos */',
@@ -3818,7 +3821,17 @@ Tu pote etiam [[Special:EditWatchlist|usar le editor standard]].',
 'version-hook-name' => 'Nomine del uncino',
 'version-hook-subscribedby' => 'Subscribite per',
 'version-version' => '(Version $1)',
-'version-license' => 'Licentia',
+'version-license' => 'Licentia pro MediaWiki',
+'version-ext-license' => 'Licentia',
+'version-ext-colheader-name' => 'Extension',
+'version-ext-colheader-version' => 'Version',
+'version-ext-colheader-license' => 'Licentia',
+'version-ext-colheader-description' => 'Description',
+'version-ext-colheader-credits' => 'Autores',
+'version-license-title' => 'Licentia pro $1',
+'version-license-not-found' => 'Nulle information detaliate de licentia ha essite trovate pro iste extension.',
+'version-credits-title' => 'Recognoscentias pro $1',
+'version-credits-not-found' => 'Nulle information detaliate de recognoscentia ha essite trovate pro iste extension.',
 'version-poweredby-credits' => "Iste wiki es actionate per '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'alteres',
 'version-poweredby-translators' => 'Traductores de translatewiki.net',
@@ -4039,6 +4052,7 @@ Si non, tu pote usar le formulario facile hic infra. Tu commento essera addite a
 'api-error-overwrite' => 'Superscriber un file existente non es permittite.',
 'api-error-stashfailed' => 'Error interne: le servitor non poteva immagazinar le file temporari.',
 'api-error-publishfailed' => 'Error interne: le servitor non poteva publicar le file temporari.',
+'api-error-stasherror' => 'Un error ha occurrite durante le incargamento del file in "stash".',
 'api-error-timeout' => 'Le servitor non ha respondite intra le tempore expectate.',
 'api-error-unclassified' => 'Un error incognite ha occurrite.',
 'api-error-unknown-code' => 'Error incognite: "$1"',
index 59d01d3..edb09b9 100644 (file)
@@ -1561,7 +1561,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'prefs-tokenwatchlist' => 'Tanda',
 'prefs-diffs' => 'Beda',
 'prefs-help-prefershttps' => 'Preferensi ini akan diaktifkan kali berikutnya Anda masuk log.',
-'prefs-tabs-navigation-hint' => 'Tip: Anda dapat menggunakan tomboh panah kiri dan kanan untuk bernavigasi antartab di dalam daftar tab.',
+'prefs-tabs-navigation-hint' => 'Tip: Anda dapat menggunakan tombol panah kiri dan kanan untuk bernavigasi antartab di dalam daftar tab.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Alamat surel tampaknya sah',
@@ -1590,7 +1590,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'userrights-changeable-col' => 'Kelompok yang dapat Anda ubah',
 'userrights-unchangeable-col' => 'Kelompok yang tidak dapat Anda ubah',
 'userrights-irreversible-marker' => '$1*',
-'userrights-conflict' => 'Konflik perubahan hak pengguna! Silakan tinjau ulang dan konfirmasi perubahan anda.',
+'userrights-conflict' => 'Konflik perubahan hak pengguna! Silakan tinjau ulang dan konfirmasi perubahan Anda.',
 'userrights-removed-self' => 'Anda berhasil mencabut hak-hak Anda. Anda tidak bisa lagi mengakses halaman ini.',
 
 # Groups
@@ -4299,8 +4299,8 @@ Jika tidak, Anda dapat menggunakan formulir mudah di bawah ini. Komentar Anda ak
 'duration-minutes' => '{{PLURAL:$1||}}$1 menit',
 'duration-hours' => '{{PLURAL:$1||}}$1 jam',
 'duration-days' => '{{PLURAL:$1||}}$1 hari',
-'duration-weeks' => '{{PLURAL: $1||}}$1 minggu',
-'duration-years' => '{{PLURAL: $1||}}$1 tahun',
+'duration-weeks' => '{{PLURAL:$1||}}$1 minggu',
+'duration-years' => '{{PLURAL:$1||}}$1 tahun',
 'duration-decades' => '{{PLURAL:$1||}}$1 dekade',
 'duration-centuries' => '{{PLURAL:$1||}}$1 abad',
 'duration-millennia' => '{{PLURAL:$1||}}$1 milenium',
index 9709cf1..09e7fb7 100644 (file)
@@ -11,6 +11,7 @@
  * @author Kaganer
  * @author Makuba
  * @author Malafaya
+ * @author Minisarm
  * @author Reedy
  * @author Remember the dot
  * @author Renan
@@ -640,7 +641,7 @@ Tis argumentes have esset omisset.",
 'next' => 'prox',
 'last' => 'ant',
 'page_first' => 'prim',
-'page_last' => 'ultim',
+'page_last' => 'ultima',
 'histlegend' => "Diferenties de selection: marca li buxes de radio de li revisiones por comparar e batte \"intrar\" o li buton in li funde.<br />
 Legende: '''({{int:cur}})''' = diferenties che ultim revision, '''({{int:last}})''' = diferenties que antecede li revision, '''{{int:minoreditletter}}''' = redaction minori.",
 'history-fieldset-title' => 'Historie de navigation',
index a54b20f..d28d94f 100644 (file)
@@ -32,7 +32,7 @@ $messages = array(
 'tog-editsection' => 'ХӀара дакъа "хувца" яха Ӏинк хьахьокха',
 'tog-editsectiononrightclick' => 'Декъам хувца кертмугӀа аьтта цлицака я (JavaScript)',
 'tog-showtoc' => 'Кортанче хьокха (кхьаннена дукхагӀа кертмугӀанаш йoлa оагӀувна)',
-'tog-rememberpassword' => '(укх $1 {{PLURAL:$1|ден|деношк}}) мара са чувалара/ялара дагалоаца дезаш дац',
+'tog-rememberpassword' => '(укх $1 {{PLURAL:$1|1=ден|деношк}}) мара са чувалара/ялара дагалоаца дезаш дац',
 'tog-watchcreations' => 'Аз яь йола оагӀувнаш теркама дагарле йолач чуяьккха',
 'tog-watchdefault' => 'Аз хийца йола оагӀувнаш теркама дагарле йолач чуяьккха',
 'tog-watchmoves' => 'Аз цӀи хийца йола оагӀувнаш теркама дагарле йолач чуяьккха',
@@ -119,19 +119,19 @@ $messages = array(
 'dec' => 'Чант.',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Катаг|Катагаш}}',
+'pagecategories' => '{{PLURAL:$1|1=Катаг|Катагаш}}',
 'category_header' => '"$1" Катагачар оагӀувнаш',
 'subcategories' => 'Чуракатагаш',
 'category-media-header' => '"$1" Катагачар паьлаш',
 'category-empty' => "''Укх катагчоа цхьаккха оагӀувнаш е паьлаш яц.''",
-'hidden-categories' => '{{PLURAL:$1|Къайла катаг|Къайла катагаш}}',
+'hidden-categories' => '{{PLURAL:$1|1=Къайла катаг|Къайла катагаш}}',
 'hidden-category-category' => 'Къайла катагаш',
-'category-subcat-count' => '{{PLURAL:$2|Йола катаг тӀехьара бухкатаг чулоаца.|{{PLURAL:$1|$1 бухкатаг хьахьекха я|$1 бухкатагаш хьахьекха я}} $2 йолачара.}}',
-'category-subcat-count-limited' => 'Укх катагий {{PLURAL:$1|$1 кӀалкатаг|$1 кӀалкатагаш}}.',
-'category-article-count' => '{{PLURAL:$2|Йола цатег цхьа оагӀув мара чулоацац.|{{PLURAL:$1|$1 оагӀув хьахекха я|$1 оагӀувнаш хьахекха я}} укх цатега $2 йолачарах.}}',
-'category-article-count-limited' => 'Укх катагач {{PLURAL:$1|$1 оагӀув|$1 оагӀувнаш|}}.',
-'category-file-count' => '{{PLURAL:$2|Укх цатего ца паьла мара чулоацац.|{{PLURAL:$1|$1 паьла хьахьекха я|$1 паьлаш хьахьекха я}} укх цатегий $2 долачаьрахь.}}',
-'category-file-count-limited' => 'Укх катагач {{PLURAL:$1|$1 паьл|$1 паьлаш}}.',
+'category-subcat-count' => '{{PLURAL:$2|Йола катаг тӀехьара бухкатаг чулоаца.|{{PLURAL:$1|1=$1 бухкатаг хьахьекха я|$1 бухкатагаш хьахьекха я}} $2 йолачара.}}',
+'category-subcat-count-limited' => 'Укх катагий {{PLURAL:$1|1=$1 кӀалкатаг|$1 кӀалкатагаш}}.',
+'category-article-count' => '{{PLURAL:$2|Йола цатег цхьа оагӀув мара чулоацац.|{{PLURAL:$1|1=$1 оагӀув хьахекха я|$1 оагӀувнаш хьахекха я}} укх цатега $2 йолачарах.}}',
+'category-article-count-limited' => 'Укх катагач {{PLURAL:$1|1=$1 оагӀув|$1 оагӀувнаш}}.',
+'category-file-count' => '{{PLURAL:$2|Укх цатего ца паьла мара чулоацац.|{{PLURAL:$1|1=$1 паьла хьахьекха я|$1 паьлаш хьахьекха я}} укх цатегий $2 долачаьрахь.}}',
+'category-file-count-limited' => 'Укх катагач {{PLURAL:$1|1=$1 паьл|$1 паьлаш}}.',
 'listingcontinuesabbrev' => 'дӀахо',
 'index-category' => 'ДIахьожаман оагӀувнаш',
 'noindex-category' => 'ДIахьожаманза оагӀувнаш',
@@ -195,8 +195,8 @@ $messages = array(
 'create-this-page' => 'Ep oагӀув хьае',
 'delete' => 'ДӀадаккха',
 'deletethispage' => 'Ер оагӀув дӀаяьккха',
-'undelete_short' => 'Меттаоттае {{PLURAL:$1|хувцам|$1 хувцамаш}}',
-'viewdeleted_short' => 'БӀаргтасса {{PLURAL:$1|дӀадаьккха хувцам тӀа|$1 дӀадаьккха хувцамаш тӀа}}',
+'undelete_short' => 'Меттаоттае {{PLURAL:$1|1=хувцам|$1 хувцамаш}}',
+'viewdeleted_short' => 'БӀаргтасса {{PLURAL:$1|1=дӀадаьккха хувцам тӀа|$1 дӀадаьккха хувцамаш тӀа}}',
 'protect' => 'Лораде',
 'protect_change' => 'хувца',
 'protectthispage' => 'Лорае ер оагӀув',
@@ -224,7 +224,7 @@ $messages = array(
 'redirectedfrom' => '($1 тӀера хьадейта да)',
 'redirectpagesub' => 'ДӀа-хьа дайта оагӀув',
 'lastmodifiedat' => 'Укх оагӀув тӀехьара  хувцам: $2, $1.',
-'viewcount' => 'Укх оагӀув тӀа бӀаргтасса хиннад {{PLURAL:$1|цхьазза|$1 шозза}}.',
+'viewcount' => 'Укх оагӀув тӀа бӀаргтасса хиннад {{PLURAL:$1|1=цхьазза|$1 шозза}}.',
 'protectedpage' => 'Лорама оагӀув',
 'jumpto' => 'Укхаза дехьа гӀо:',
 'jumptonavigation' => 'никътохкарг',
@@ -254,7 +254,7 @@ $messages = array(
 
 'badaccess' => 'Чуваларa гӀалат',
 'badaccess-group0' => 'Оаш хьадийха дулархIам шун де йишяц.',
-'badaccess-groups' => 'Дахта кхоачашдар {{PLURAL:$2|тоабачара|тоабашкара}} $1 дакъалаьцархой мара де бокъо яц.',
+'badaccess-groups' => 'Дахта кхоачашдар {{PLURAL:$2|1=тоабачара|тоабашкара}} $1 дакъалаьцархой мара де бокъо яц.',
 
 'versionrequired' => '$1 MediaWiki доржам эша',
 'versionrequiredtext' => 'Укх оагӀув бeлха MediaWiki доржамаш эша $1. Хьажа [[Special:Version|version page]].',
@@ -276,7 +276,7 @@ $messages = array(
 'collapsible-expand' => 'хьадоаржаде',
 'thisisdeleted' => '$1 бӀаргтасса е юхаметтаоттаде?',
 'viewdeleted' => '$1 бӀаргтасса?',
-'restorelink' => '{{PLURAL:$1|дӀаяьккха хувцам|$1 дӀаяьккха хувцамаш}}',
+'restorelink' => '{{PLURAL:$1|1=дӀаяьккха хувцам|$1 дӀаяьккха хувцамаш}}',
 'feedlinks' => 'Цу тайпара:',
 'site-rss-feed' => '$1 RSS мугӀ',
 'site-atom-feed' => '$1 Atom мугӀ',
@@ -325,7 +325,7 @@ $messages = array(
 'yourname' => 'Дакъалаьцархочунна цӀи:',
 'yourpassword' => 'КъайладIоагӀа:',
 'yourpasswordagain' => 'КъайладIоагӀа юха Ӏоязаде:',
-'remembermypassword' => '(укх $1 {{PLURAL:$1|ден|деношкахь}}) мара са чувалара/чуялара дагалоаца дезаш дац',
+'remembermypassword' => '(укх $1 {{PLURAL:$1|1=ден|деношкахь}}) мара са чувалара/чуялара дагалоаца дезаш дац',
 'yourdomainname' => 'Шун цӀеноагӀув:',
 'login' => 'Чувала/яла',
 'nav-login-createaccount' => 'ЦӀи яьккха/Ший oагӀув ела',
@@ -420,12 +420,12 @@ $messages = array(
 Наггахь санна шоай яздамаш пурам доацаш мала волашву саго хувца е кхы дола моттиге яздердолаш, безам беци, укхаз Ӏочуцаяздеча, дикаьгӀа да.<br />
 Оаш дош лу, даь дола хувцама да волга/йолга, е оаш пурам долаш Ӏочуяздеш да кхычера меттигара шоай яздамаш/хоамаш.
 '''Яздархой бокъоца лорадеш дола хӀамаш, цара пурам доацаш, Ӏочумаязаде!'''",
-'templatesused' => 'Укх бӀаргоагӀувни оагӀув тӀа лелаяь {{PLURAL:$1|Куцкеп|Куцкепаш}}:',
-'templatesusedpreview' => 'Хьалхе бӀаргтассама оагӀув тӀа леладеш дола {{PLURAL:$1|Куцкеп|Куцкепаш}}:',
+'templatesused' => 'Укх бӀаргоагӀувни оагӀув тӀа лелаяь {{PLURAL:$1|1=Куцкеп|Куцкепаш}}:',
+'templatesusedpreview' => 'Хьалхе бӀаргтассама оагӀув тӀа леладеш дола {{PLURAL:$1|1=Куцкеп|Куцкепаш}}:',
 'template-protected' => '(лорам лаьца)',
 'template-semiprotected' => '(дакъа-лорам)',
-'hiddencategories' => 'Ер оагӀув укх {{PLURAL:$1|къайла цатегаца|къайла цатегашца}} дакъа лоаца:',
-'permissionserrorstext-withaction' => '$2 де бокъо яц {{PLURAL:$1|из бахьан долаш|из бахьанаш долаш}}:',
+'hiddencategories' => 'Ер оагӀув укх {{PLURAL:$1|1=къайла цатегаца|къайла цатегашца}} дакъа лоаца:',
+'permissionserrorstext-withaction' => '$2 де бокъо яц {{PLURAL:$1|1=из бахьан долаш|из бахьанаш долаш}}:',
 'recreate-moveddeleted-warn' => "'''Зем бе! Шо хьалххе дIайоаккхаш хинна оагӀув хьае гӀерта.'''
 
 Хьажа, бокъонцахь езаш йолга.
@@ -495,7 +495,7 @@ $messages = array(
 'lineno' => 'МугI $1:',
 'compareselectedversions' => 'Хьаржа доржамаша тарона тIа хьажа',
 'editundo' => 'юхавала/яла',
-'diff-multi' => '({{PLURAL:$1|$1 юкъара доржам хьахьекха дац|$1 юкъара доржамаш хьахьекха дац}} {{PLURAL:$2|$2 дакъалаьцархочунна|$2 дакъалаьцархоший}})',
+'diff-multi' => '({{PLURAL:$1|1=$1 юкъара доржам хьахьекха дац|$1 юкъара доржамаш хьахьекха дац}} {{PLURAL:$2|1=$2 дакъалаьцархочунна|$2 дакъалаьцархоший}})',
 
 # Search results
 'searchresults' => 'Тохкама гIулакхахилар',
@@ -503,9 +503,9 @@ $messages = array(
 'notextmatches' => 'ОагIувнаша яздамий вIашагIакхетараш дац',
 'prevn' => '{{PLURAL:$1|хьалхйоаг|ар $1|хьалхйоаг|араш $1|хьалхйоаг|араш $1}}',
 'nextn' => '{{PLURAL:$1|тlехьайоагlар $1|тlехьайоагlараш $1|тlехьайоагlараш $1}}',
-'prevn-title' => '{{PLURAL:$1|$1 хьалхара йоазув|$1 хьалхара йоазувнаш}}',
-'nextn-title' => '{{PLURAL:$1|$1 тIехьара йоазув|$1 тIехьара йоазувнаш}}',
-'shown-title' => 'Укх оагIувни $1 {{PLURAL:$1|йоазув|йоазувнаш}} хьахьокха',
+'prevn-title' => '{{PLURAL:$1|1=$1 хьалхара йоазув|$1 хьалхара йоазувнаш}}',
+'nextn-title' => '{{PLURAL:$1|1=$1 тIехьара йоазув|$1 тIехьара йоазувнаш}}',
+'shown-title' => 'Укх оагIувни $1 {{PLURAL:$1|1=йоазув|йоазувнаш}} хьахьокха',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) хьажа',
 'searchmenu-exists' => "'''Укх масса-хьахьоадайтамач ер оаг|ув \"[[:\$1]]\" я'''",
 'searchmenu-new' => "'''Укх \"[[:\$1]]\" масса-хьахоадайтамач оагIув хьае!'''",
@@ -519,8 +519,8 @@ $messages = array(
 'searchprofile-images-tooltip' => 'Паьлий лахар',
 'searchprofile-everything-tooltip' => 'Массадола оагIувний лахар (дувцама оагIувнаш чулоацаш)',
 'searchprofile-advanced-tooltip' => 'Iочуязаяь цIераренашках лаха',
-'search-result-size' => ' $1 ({{PLURAL:$2|1 дош|$2 дешаш}})',
-'search-result-category-size' => '{{PLURAL:$1|$1 дакъа|$1 дакъаш}} ({{PLURAL:$2|$2 кIалцатег|$2 кIалцатегаш}}, {{PLURAL:$3|$3 паьла|$3 паьлий|$3 паьлий}})',
+'search-result-size' => ' $1 ({{PLURAL:$2|1=1 дош|$2 дешаш}})',
+'search-result-category-size' => '{{PLURAL:$1|1=$1 дакъа|$1 дакъаш}} ({{PLURAL:$2|1=$2 кIалцатег|$2 кIалцатегаш}}, {{PLURAL:$3|1=$3 паьла|$3 паьлий}})',
 'search-redirect' => '($1 дехьачуяьккхар)',
 'search-section' => ' (дакъа $1)',
 'search-suggest' => 'Iа лохар из хила мега: $1',
@@ -530,7 +530,7 @@ $messages = array(
 'search-relatedarticle' => 'шоайл дола',
 'searchrelated' => 'гаргара',
 'searchall' => 'деррига',
-'showingresultsheader' => "{{PLURAL:$5|'''$1''' толамче укх '''$3''' долачарах|'''$1 — $2''' толамчаш укх '''$3''' долачарах}} '''$4'''а",
+'showingresultsheader' => "{{PLURAL:$5|1='''$1''' толамче укх '''$3''' долачарах|'''$1 — $2''' толамчаш укх '''$3''' долачарах}} '''$4'''а",
 'search-nonefound' => 'ДIахаттама нийсамаш корадаьдац.',
 'powersearch-legend' => ' Доккха тахкар',
 'powersearch-ns' => ' ЦIерий аренашкахь лахар',
@@ -620,7 +620,7 @@ $messages = array(
 'action-edit' => 'Ер оагIув хувца',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|хувцам|хувцамаш}}',
+'nchanges' => '$1 {{PLURAL:$1|1=хувцам|хувцамаш}}',
 'recentchanges' => 'Керда хувцамаш',
 'recentchanges-legend' => 'Керда хувцамий оттамаш',
 'recentchanges-summary' => 'КIалхагIа лоарамий доаламе тIехьара оагIувний хувцамаш дIаязадаь да{{grammar:genitive|{{SITENAME}}}}.',
@@ -695,7 +695,7 @@ $messages = array(
 'filehist-comment' => 'ХIамоалар',
 'filehist-missing' => 'Паьла йоацаш я',
 'imagelinks' => 'Паьлий пайда эца',
-'linkstoimage' => '{{PLURAL:$1|ТIехьайоагIа $1 оагIув Iинк ду|ТIехьайоагIа $1 оагIувнаш Iинкаш ду}} укх паьла тIа:',
+'linkstoimage' => '{{PLURAL:$1|1=ТIехьайоагIа $1 оагIув Iинк ду|ТIехьайоагIа $1 оагIувнаш Iинкаш ду}} укх паьла тIа:',
 'nolinkstoimage' => 'Йола паьла тIа  Iинк ю оагIувнаш дац',
 'sharedupload' => 'Ер паьла $1чера я, кхыча хьахьоадайтамча хьахайраде йийшайолаш я.',
 'sharedupload-desc-here' => 'Ер паьл $1чара я, кхыдола хьахьоадайтамача хайрамбе йийш йолаш да.
@@ -729,8 +729,8 @@ $messages = array(
 'withoutinterwiki-submit' => 'Хьахьокха',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|бIат|бIаташ}}',
-'nmembers' => '$1 {{PLURAL:$1|дакъалаьцархо|дакъалаьцархой}}',
+'nbytes' => '$1 {{PLURAL:$1|1=бIат|бIаташ}}',
+'nmembers' => '$1 {{PLURAL:$1|1=дакъалаьцархо|дакъалаьцархой}}',
 'prefixindex' => 'ОагIувнаший хьалхера цIи хьагойтар',
 'shortpages' => 'Лоаца оагIувнаш',
 'longpages' => 'Доккхий оагIувнаш',
@@ -738,8 +738,8 @@ $messages = array(
 'newpages' => 'Керда оагIувнаш',
 'move' => 'ЦIи хувца',
 'movethispage' => 'Укх оагIува цIи хувца',
-'pager-newer-n' => '{{PLURAL:$1|кеÑ\80дагIа Ð´Ð°Ñ\80а|кеÑ\80дагIа Ð´Ð°Ñ\80аÑ\88|кеÑ\80дагIа Ð´Ð¾Ð»Ð°Ñ\87аÑ\8cÑ\80аÑ\85Ñ\8c}} $1',
-'pager-older-n' => '{{PLURAL:$1|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð°Ñ\80а|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð°Ñ\80аÑ\88|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð¾Ð»aÑ\87аÑ\8cÑ\80аÑ\85Ñ\8c}} $1',
+'pager-newer-n' => '{{PLURAL:$1|кеÑ\80дагIа Ð´Ð°Ñ\80а|кеÑ\80дагIа Ð´Ð¾Ð»Ð°Ñ\87аÑ\8cÑ\80аÑ\85Ñ\8c|кеÑ\80дагIа Ð´Ð°Ñ\80аÑ\88}} $1',
+'pager-older-n' => '{{PLURAL:$1|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð°Ñ\80а|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð¾Ð»aÑ\87аÑ\8cÑ\80аÑ\85Ñ\8c|кÑ\8aаÑ\8cнаÑ\80а Ð´Ð°Ñ\80аÑ\88}} $1',
 
 # Book sources
 'booksources' => 'Китабий гIувам',
@@ -782,7 +782,7 @@ $messages = array(
 'watch' => 'Тохкам бе',
 'watchthispage' => 'Укх оагIува теркам бе',
 'unwatch' => 'Лора ма де',
-'watchlist-details' => 'Шун теркама дагарченгахь йола  $1 {{PLURAL:$1|оагIув|оагIувнаш}}, дувцама оагIувнаш ца лоархIаш.',
+'watchlist-details' => 'Шун теркама дагарченгахь йола  $1 {{PLURAL:$1|1=оагIув|оагIувнаш}}, дувцама оагIувнаш ца лоархIаш.',
 'wlshowlast' => 'Тlехьара $1 сахьаташ $2 денош $3 хьахьокха',
 'watchlist-options' => 'Зем баккха дагарена хувцамаш',
 
@@ -816,7 +816,7 @@ $messages = array(
 'protect_expiry_old' => 'Чакхайоала ха - яха зама я.',
 'protect-text' => "'''$1''' укхаз шоана шоай оагIув лорамлагIа хувца a бIаргтасса a йийш хургья.",
 'protect-locked-access' => "Шун лархIама йоазуви нидза кхоачаш бац оагIувни лорама лагIа хувца. '''$1''' оагIувни дIаоттамаш:",
-'protect-cascadeon' => '{{PLURAL:$1|КIалхахь хьагойташ йола оагIувчу|КIалхахь хьагойташ йола оагIувнашчу}} ер оагIув чуяккха халарахь, лорам Iоттая я, хурхала лорам Iоттая я. Укх оагIувни лорама лагIа хувца йийш йолаш я, амма хурхала лорам хувцлургдац.',
+'protect-cascadeon' => '{{PLURAL:$1|1=КIалхахь хьагойташ йола оагIувчу|КIалхахь хьагойташ йола оагIувнашчу}} ер оагIув чуяккха халарахь, лорам Iоттая я, хурхала лорам Iоттая я. Укх оагIувни лорама лагIа хувца йийш йолаш я, амма хурхала лорам хувцлургдац.',
 'protect-default' => 'Лорамза',
 'protect-fallback' => '"$1" пурам эша',
 'protect-level-autoconfirmed' => 'Керда а, дакъалаьцабоацачаьрахь а лораде',
@@ -871,8 +871,8 @@ $messages = array(
 'isredirect' => 'дIа-хьа оагIув',
 'istemplate' => 'чудаккхар',
 'isimage' => 'паьла Iинк',
-'whatlinkshere-prev' => '{{PLURAL:$1|хьалхайоагIа|хьалхайоагIараш}} $1',
-'whatlinkshere-next' => '{{PLURAL:$1|тIехьайоагIа|тIехьайоагIараш}} $1',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=хьалхайоагIа|хьалхайоагIараш}} $1',
+'whatlinkshere-next' => '{{PLURAL:$1|1=тIехьайоагIа|тIехьайоагIараш}} $1',
 'whatlinkshere-links' => '← Iинкаш',
 'whatlinkshere-hideredirs' => '$1 дIа-хьа чуяьккхамаш',
 'whatlinkshere-hidetrans' => '$1 чуяьккхамаш',
@@ -1123,7 +1123,7 @@ $messages = array(
 'tags-tag' => 'Йоазон цIи',
 'tags-hitcount-header' => 'Белгалаяь хувцамаш',
 'tags-edit' => 'хувца',
-'tags-hitcount' => '$1 {{PLURAL:$1|хувцам|хувцамаш}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|1=хувцам|хувцамаш}}',
 
 # Special:ComparePages
 'compare-page1' => '1. ОагIув',
index 20f7fce..dd85f75 100644 (file)
@@ -720,7 +720,7 @@ Athugaðu hvort um innsláttavillu er að ræða eða [[Special:UserLogin/signup
 'login-userblocked' => 'Þessi notandi hefur verið settur í bann.  Innskráning ekki leyfð.',
 'wrongpassword' => 'Uppgefið lykilorð er rangt. Vinsamlegast reyndu aftur.',
 'wrongpasswordempty' => 'Lykilorðsreiturinn var auður. Vinsamlegast reyndu aftur.',
-'passwordtooshort' => 'Lykilorð skal vera að minnsta kosti {{plural: $1 |einn stafur|$1 stafir}}.',
+'passwordtooshort' => 'Lykilorð skal vera að minnsta kosti {{PLURAL:$1 |einn stafur|$1 stafir}}.',
 'password-name-match' => 'Þarf að lykilorð þitt sé öðruvísi notandanafni þínu',
 'password-login-forbidden' => 'Notkun þessa notendanafns og lykilorðs er ekki leyfileg.',
 'mailmypassword' => 'Endurstilla lykilorð',
@@ -2789,7 +2789,7 @@ Vinsamlegast veldu annan titil.',
 'movepage-max-pages' => 'Hámarkinu, $1 {{PLURAL:$1|síða|síður}}, hefur verið náð og verða engar fleiri færðar sjálfvirkt.',
 'movelogpage' => 'Flutningaskrá',
 'movelogpagetext' => 'Þetta er listi yfir síður sem nýlega hafa verið færðar.',
-'movesubpage' => '{{Plural:$1|Undirsíða|Undirsíður}}',
+'movesubpage' => '{{PLURAL:$1|Undirsíða|Undirsíður}}',
 'movesubpagetext' => 'Þessi síða hefur {{PLURAL:$1|eina undirsíðu|$1 undirsíður}} sem {{PLURAL:$1|er sýnd|eru sýndar}} hér fyrir neðan.',
 'movenosubpage' => 'Þessi síða hefur engar undirsíður.',
 'movereason' => 'Ástæða:',
index 9c26841..a27c70c 100644 (file)
@@ -944,7 +944,7 @@ Dovresti farlo se le hai accidentalmente condivise con qualcuno o se la tua uten
 'preview' => 'Anteprima',
 'showpreview' => 'Visualizza anteprima',
 'showlivepreview' => "Funzione ''Live preview''",
-'showdiff' => 'Mostra cambiamenti',
+'showdiff' => 'Mostra modifiche',
 'anoneditwarning' => "'''Attenzione:''' Accesso non effettuato. Nella cronologia della pagina verrà registrato il tuo indirizzo IP.",
 'anonpreviewwarning' => "''Non è stato eseguito il login. Salvando la pagina, il proprio indirizzo IP sarà registrato nella cronologia.''",
 'missingsummary' => "'''Attenzione:''' non è stato specificato l'oggetto di questa modifica. Premendo di nuovo \"{{int:savearticle}}\" la modifica verrà salvata con l'oggetto vuoto.",
@@ -2167,6 +2167,7 @@ I redirect <del>cancellati</del> sono stati corretti.',
 'protectedpages' => 'Pagine protette',
 'protectedpages-indef' => 'Solo protezioni infinite',
 'protectedpages-cascade' => 'Solo protezioni ricorsive',
+'protectedpages-noredirect' => 'Nascondi redirect',
 'protectedpagesempty' => 'Al momento non vi sono pagine protette',
 'protectedtitles' => 'Titoli protetti',
 'protectedtitlesempty' => 'Al momento non esistono titoli protetti con i parametri specificati.',
@@ -2440,6 +2441,7 @@ Consultare il log delle $2 per un elenco delle pagine cancellate di recente.',
 'delete-edit-reasonlist' => 'Modifica i motivi di cancellazione',
 'delete-toobig' => 'La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|revisione|revisioni}}). La sua cancellazione è stata limitata per evitare di creare accidentalmente dei problemi di funzionamento al database di {{SITENAME}}.',
 'delete-warning-toobig' => 'La cronologia di questa pagina è molto lunga (oltre $1 {{PLURAL:$1|revisione|revisioni}}). La sua cancellazione può creare dei problemi di funzionamento al database di {{SITENAME}}; procedere con cautela.',
+'deleting-backlinks-warning' => "'''Attenzione:''' altre pagine contengono collegamenti alla pagina che stai per cancellare.",
 
 # Rollback
 'rollback' => 'Annulla le modifiche',
@@ -4071,6 +4073,7 @@ Esempi: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page
 'api-error-overwrite' => 'Sovrascrivere un file esistente non è consentito.',
 'api-error-stashfailed' => 'Errore interno: il server non è riuscito a memorizzare il documento temporaneo.',
 'api-error-publishfailed' => 'Errore interno: il server non è riuscito a pubblicare il documento temporaneo.',
+'api-error-stasherror' => 'Si è verificato un errore durante il caricamento del file in stash.',
 'api-error-timeout' => 'Il server non ha risposto entro il tempo previsto.',
 'api-error-unclassified' => 'Si è verificato un errore sconosciuto.',
 'api-error-unknown-code' => 'Errore sconosciuto: "$1"',
index ae88906..9c4ad60 100644 (file)
@@ -1085,7 +1085,7 @@ $2
 
 $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロックについて問い合わせることができます。
 
-ただし、[[Special:Preferences|個人設定]]に正しいメールアドレスが登録されていない場合、またはメール送信がブロックされている場合、「{{int:emailuser}}」機能を使用できないことに注意してください。
+ただし、[[Special:Preferences|個人設定]]に正しいメールアドレスが登録されていない場合、またはメール送信がブロックされている場合、「この利用者にメールを送信」機能を使用できないことに注意してください。
 
 現在ご使用中のIPアドレスは$3 、このブロックIDは#$5です。
 お問い合わせの際は、上記の情報を必ず書いてください。",
@@ -1954,6 +1954,8 @@ $1 {{PLURAL:$1|文字}}以下である必要があります。',
 'file-exists-duplicate' => 'このファイルは以下の{{PLURAL:$1|ファイル|ファイル群}}と重複しています:',
 'file-deleted-duplicate' => 'このファイル ([[:$1]]) と同一のファイルが以前に削除されています。
 再度アップロードをする前に、以前削除されたファイルの削除記録を確認してください。',
+'file-deleted-duplicate-notitle' => 'このファイルと同一のファイルが、以前に削除されページ名が秘匿されました。
+You should ask someone with the ability to view suppressed file data to review the situation before proceeding to re-upload it.',
 'uploadwarning' => 'アップロード警告',
 'uploadwarning-text' => '下記のファイル解説を修正して再試行してください。',
 'savefile' => 'ファイルを保存',
@@ -2344,6 +2346,7 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 'protectedpages' => '保護されているページ',
 'protectedpages-indef' => '無期限保護のみ',
 'protectedpages-cascade' => 'カスケード保護のみ',
+'protectedpages-noredirect' => 'リダイレクトを隠す',
 'protectedpagesempty' => '指定した条件で保護中のページは現在ありません。',
 'protectedtitles' => '作成保護されているページ名',
 'protectedtitlesempty' => 'これらの引数で現在保護されているページはありません。',
@@ -4101,8 +4104,8 @@ $5
 通常のプレビューを試してください。',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => 'この一覧には、$1 {{PLURAL:$1|秒}}より前の変更が表示されていない可能性があります。',
-'lag-warn-high' => 'データベースサーバー遅延のため、この一覧には、$1 {{PLURAL:$1|秒}}より前の変更が表示されていない可能性があります。',
+'lag-warn-normal' => 'この一覧には $1 {{PLURAL:$1|秒}}前以降の変更内容が表示されていないおそれがあります。',
+'lag-warn-high' => 'データベースサーバーの大幅な遅延のため、この一覧には $1 {{PLURAL:$1|秒}}前以降の変更内容が表示されていないおそれがあります。',
 
 # Watchlist editor
 'watchlistedit-numitems' => 'ウォッチリストには {{PLURAL:$1|$1 件のページ}}が登録されています (トークページを除く)。',
@@ -4211,8 +4214,18 @@ $5
 'version-parser-function-hooks' => 'パーサー関数フック',
 'version-hook-name' => 'フック名',
 'version-hook-subscribedby' => '使用個所',
-'version-version' => '(バージョン $1)',
-'version-license' => 'ライセンス',
+'version-version' => '($1)',
+'version-license' => 'MediaWiki のライセンス',
+'version-ext-license' => 'ライセンス',
+'version-ext-colheader-name' => '拡張機能',
+'version-ext-colheader-version' => 'バージョン',
+'version-ext-colheader-license' => 'ライセンス',
+'version-ext-colheader-description' => '説明',
+'version-ext-colheader-credits' => '作者',
+'version-license-title' => '$1 のライセンス',
+'version-license-not-found' => 'この拡張機能には詳細なライセンス情報がありません。',
+'version-credits-title' => '$1 への貢献者情報',
+'version-credits-not-found' => 'この拡張機能には詳細な貢献者情報がありません。',
 'version-poweredby-credits' => "このウィキは、'''[https://www.mediawiki.org/ MediaWiki]''' (copyright © 2001-$1 $2) で動作しています。",
 'version-poweredby-others' => 'その他',
 'version-poweredby-translators' => 'translatewiki.net の翻訳者たち',
@@ -4433,6 +4446,7 @@ MediaWikiは、有用であることを期待して配布されていますが
 'api-error-overwrite' => '既存のファイルへの上書きは許可されていません。',
 'api-error-stashfailed' => '内部エラー: サーバーは一時ファイルを格納できませんでした。',
 'api-error-publishfailed' => '内部エラー: サーバーは一時ファイルを発行できませんでした。',
+'api-error-stasherror' => 'ファイルをスタッシュにアップロードする際にエラーが発生しました。',
 'api-error-timeout' => 'サーバーが決められた時間内に応答しませんでした。',
 'api-error-unclassified' => '不明なエラーが発生しました。',
 'api-error-unknown-code' => '不明なエラー:「$1」',
index 5905dbb..80b2cd5 100644 (file)
@@ -59,7 +59,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Dhelikaké suntingan kapanto ing owah-owahan pungkasan',
 'tog-newpageshidepatrolled' => 'Dhelikaké kaca kapanto saka daptar kaca anyar',
 'tog-extendwatchlist' => 'Jembaraké daptar pangawasan kanggo nuduhaké kabèh owahan, ora mung sing paling anyar',
-'tog-usenewrc' => 'Owah-owahané paguyuban miturut kaca nèng owah-owahan anyar lan daptar panto (mbutuhaké JavaScript)',
+'tog-usenewrc' => 'Owah-owahané paguyuban miturut kaca nèng owah-owahan anyar lan daptar panto',
 'tog-numberheadings' => 'Wènèhana nomer judul secara otomatis',
 'tog-showtoolbar' => 'Tuduhna <em>toolbar</em> (batang piranti) panyuntingan (mbutuhaké JavaScript)',
 'tog-editondblclick' => 'Sunting kaca nganggo klik ping loro (mbutuhaké JavaScript)',
@@ -94,6 +94,7 @@ $messages = array(
 'tog-showhiddencats' => 'Tuduhna kategori sing didelikaké',
 'tog-norollbackdiff' => 'Lirwaaké prabédan sawusé nglakokaké sawijining pambalikan.',
 'tog-useeditwarning' => 'Èlingaké kula yèn kula ninggalaké suntingan sing durung kasimpen',
+'tog-prefershttps' => 'Nganggo sambungan sing aman rikala mlebet log',
 
 'underline-always' => 'Tansah',
 'underline-never' => 'Ora',
@@ -157,8 +158,16 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Des',
+'january-date' => 'Januari $1',
+'february-date' => 'Februari $1',
+'march-date' => 'Maret $1',
+'april-date' => 'April $1',
 'may-date' => '$1 Mèi',
+'june-date' => 'Juni $1',
+'july-date' => 'Juli $1',
+'august-date' => 'Agustus $1',
 'september-date' => '$1 Sèptèmber',
+'october-date' => 'Oktober $1',
 'november-date' => '$1 Novèmber',
 'december-date' => '$1 Dèsèmber',
 
@@ -258,7 +267,7 @@ $messages = array(
 'articlepage' => 'nDeleng artikel',
 'talk' => 'Dhiskusi',
 'views' => 'Tampilan',
-'toolbox' => 'Kothak piranti',
+'toolbox' => 'Piranti',
 'userpage' => 'Ndeleng kaca panganggo',
 'projectpage' => 'Ndeleng kaca proyèk',
 'imagepage' => 'Deleng kaca berkas',
@@ -316,8 +325,8 @@ $1',
 'youhavenewmessages' => 'Panjenengan kagungan $1 ($2).',
 'youhavenewmessagesfromusers' => 'Sampéyan nduwé $1 saka  {{PLURAL:$3|panganggo liya|$3 panganggo}} ($2).',
 'youhavenewmessagesmanyusers' => 'Sampéyang nduwé $1 saka akèh panganggo ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|layang anyar|layang anyar}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|owahan|owahan}} pungkasan',
+'newmessageslinkplural' => '{{PLURAL:$1|layang anyar|999=layang anyar}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|owahan|999=owahan}} pungkasan',
 'youhavenewmessagesmulti' => 'Panjenengan olèh pesen-pesen anyar $1',
 'editsection' => 'sunting',
 'editold' => 'sunting',
@@ -367,6 +376,13 @@ Iki manawa uga nuduhaké anané kesalahan ing piranti alus sing dipigunakaké d
 # General errors
 'error' => 'Kasalahan',
 'databaseerror' => 'Kasalahan database',
+'databaseerror-text' => 'Ana kerusakan ing basis data (query error).
+
+Mungkin ana masalah ing software-e.',
+'databaseerror-textcl' => 'Ana kerusakan ing basis data (query error).',
+'databaseerror-query' => 'Query: $1',
+'databaseerror-function' => 'Function: $1',
+'databaseerror-error' => 'Error: $1',
 'laggedslavemode' => 'Pènget: Kaca iki mbokmenawa isiné dudu pangowahan pungkasan.',
 'readonly' => 'Database dikunci',
 'enterlockreason' => 'Lebokna alesan panguncèn, kalebu uga prakiran kapan kunci bakal dibuka',
@@ -395,6 +411,7 @@ Manawa wis dibusak déning wong liya.',
 'cannotdelete-title' => 'Ora bisa mbusak kaca "$1"',
 'delete-hook-aborted' => "Pambusakan dibatalaké déning ''hook''.
 Ora ana alesané.",
+'no-null-revision' => 'Ora isa nggawe revisi \'null\' anyar kanggo kaca "$1"',
 'badtitle' => 'Judhulé ora sah',
 'badtitletext' => 'Judhul kaca sing panjenengan ora bisa dituduhaké, kosong, utawa dadi judhul antar-basa utawa judhul antar-wiki. Iku bisa uga ana  sawijining utawa luwih aksara sing ora bisa didadèkaké judhul.',
 'perfcached' => 'Data iki mung dijupuk saka papan singgahan lan mungkin ora kaanyaran. Maksimum {{PLURAL:$1|sak asil|$1 asil}} sumadhiya nèng papan singgahan.',
@@ -418,6 +435,9 @@ $2',
 'customcssprotected' => 'Sampéyan ora dililakaké nyunting kaca CSS iki amarga kaisi pangaturan pribadi saka panganggo liya.',
 'customjsprotected' => 'Sampéyan ora dililakaké nyunting kaca JavaScript iki amarga kaisi pangaturan pribadi saka panganggo liya.',
 'mycustomcssprotected' => 'Sampèyan ora duwé idin kanggo ngowah kaca CSS iki.',
+'mycustomjsprotected' => 'Sampèyan ora duwé idin kanggo ngowah kaca JavaScript iki.',
+'myprivateinfoprotected' => 'Sampèyan ora duwé idin kanggo ngowah informasi privat sampèyan.',
+'mypreferencesprotected' => 'Sampèyan ora duwé idin kanggo ngowah preferensi sampèyan.',
 'ns-specialprotected' => 'Kaca ing bilik nama astaméwa utawa kusus, ora bisa disunting.',
 'titleprotected' => "Irah-irahan iki direksa ora olèh digawé déning [[User:$1|$1]].
 Alesané yaiku ''$2''.",
@@ -427,7 +447,8 @@ Pangurus sing ngopèni kuwi ngawedharaké: "$3".',
 'invalidtitle-knownnamespace' => 'Irah-irahan ora sah mawa bilik jeneng "$2" lan tèks "$3"',
 'invalidtitle-unknownnamespace' => 'Judhul ora sah mawa angka $1 lan tèks "$2" bilik jeneng sing ora dingertèni',
 'exception-nologin' => 'Durung mlebu log',
-'exception-nologin-text' => 'Kaca utawa kelakon iki mbutuhaké mlebu log nèng wiki iki dhisik.',
+'exception-nologin-text' => 'Tulung [[Special:Userlogin|mlebu log]] dhisik kanggo ngakses kaca utawa kelakon iki.',
+'exception-nologin-text-manual' => 'Tulung $1 kanggo ngakses kaca utawa kelakon iki.',
 
 # Virus scanner
 'virus-badscanner' => "Kasalahan konfigurasi: pamindai virus ora dikenal: ''$1''",
@@ -437,17 +458,23 @@ Pangurus sing ngopèni kuwi ngawedharaké: "$3".',
 # Login and logout pages
 'logouttext' => "'''Sampéyan wis metu log'''
 
-Sampéyan isa nganggo {{SITENAME}} sacara anonim, utawa isa <span class='plainlinks'>[$1 mlebu log manèh]</span> kanthi jeneng panganggo sing padha utawa beda.
-
 Cathet yèn sapérangan kaca mungkin isih nampilaké kayata sampéyan isih mlebu log, kuwi bisa ilang yèn sampéyan ngresiki ''cache'' pramban sampéyan.",
 'welcomeuser' => 'Sugeng Rawuh, $1!',
 'welcomecreation-msg' => 'Akun panjenengan wis kacipta. Aja lali nata konfigurasi [[Special:Preferences|preferensi {{SITENAME}}]] panjenengan.',
 'yourname' => 'Asma pangangeman',
 'userlogin-yourname' => 'Jeneng panganggo',
 'userlogin-yourname-ph' => 'Lebokaké jenengné panganggo',
+'createacct-another-username-ph' => 'Lebokna jeneng panganggo:',
 'yourpassword' => 'Tembung sandhi:',
+'userlogin-yourpassword' => 'Tembung sandhi',
+'userlogin-yourpassword-ph' => 'Lebokna tembung sandhi',
+'createacct-yourpassword-ph' => 'Lebokna tembung sandhi',
 'yourpasswordagain' => 'Balènana tembung sandhi',
+'createacct-yourpasswordagain' => 'Konfirmasi tembung sandhi',
+'createacct-yourpasswordagain-ph' => 'Lebokna tembung sandhi maneh',
 'remembermypassword' => 'Émut tembung sandi kula (salebeting $1 {{PLURAL:$1|dinten|dinten}})',
+'userlogin-remembermypassword' => 'Gawe supaya aku tetep mlebet log terus',
+'userlogin-signwithsecure' => 'Nganggo koneksi aman',
 'yourdomainname' => 'Dhomain panjenengan',
 'password-change-forbidden' => 'Sampéyan ora bisa ngganti tembung sandhi nèng wiki iki.',
 'externaldberror' => 'Ana kasalahan otèntikasi basis dhata èksternal utawa panjenengan ora pareng nglakoni pemutakhiran marang akun èksternal panjenengan.',
@@ -459,18 +486,44 @@ Cathet yèn sapérangan kaca mungkin isih nampilaké kayata sampéyan isih mlebu
 'logout' => 'Oncat',
 'userlogout' => 'Metu log',
 'notloggedin' => 'Durung mlebu log',
+'userlogin-noaccount' => 'Durung kagungan akun?',
+'userlogin-joinproject' => 'Gabung {{SITENAME}}',
 'nologin' => "Durung kagungan asma panganggo? '''$1'''.",
 'nologinlink' => 'Ndaftaraké akun anyar',
 'createaccount' => 'Nggawé akun anyar',
 'gotaccount' => "Wis kagungan akun? '''$1'''.",
 'gotaccountlink' => 'Mlebu',
 'userlogin-resetlink' => 'Lali rincian mlebu log Sampéyan?',
+'userlogin-resetpassword-link' => 'Sampéyan kélangan tembung sandhi?',
+'helplogin-url' => 'Help:Mlebet log',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pitulung kangge mlebet log]]',
+'userlogin-loggedin' => 'Sampeyan sampun mlebet log dadi {{GENDER:$1|$1}}.
+Gunakna formulir ing ngisor iki kanggo mlebet log dadi panganggo liyane.',
+'userlogin-createanother' => 'Gawé akun anyar',
+'createacct-join' => 'Lebokna informasi sampeyan ing ngisor iki.',
+'createacct-another-join' => 'Lebokna informasi akun anyar ing ngisor iki.',
+'createacct-emailrequired' => 'Alamat layang èlèktronik',
+'createacct-emailoptional' => 'Alamat layang èlèktronik (ora kudu)',
+'createacct-email-ph' => 'Lebokna alamat layang èlèktronik sampeyan',
+'createacct-another-email-ph' => 'Lebokna alamat layang èlèktronik',
 'createaccountmail' => 'Nganggoa sandi sauntara sembarang lan kirimna liwat layang e-mail ing ngisor iki',
+'createacct-realname' => 'Jeneng asli (ora kudu)',
 'createaccountreason' => 'Alesan:',
+'createacct-reason' => 'Alesan',
+'createacct-reason-ph' => 'Kenapa sampeyan nggawe akun liyane',
+'createacct-captcha' => 'Periksa kamanan',
+'createacct-imgcaptcha-ph' => 'Lebokna tulisan ing dhuwur',
+'createacct-submit' => 'Gawé akun',
+'createacct-another-submit' => 'Gawé akun anyar',
+'createacct-benefit-heading' => '{{SITENAME}} digawe karo wong-wong kaya sampeyan.',
+'createacct-benefit-body1' => '{{PLURAL:$1|owahan|owahan}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|kaca|kaca}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|kontributor|kontributor}} keri dhewe',
 'badretype' => 'Sandhi panjenengan ora gathuk',
 'userexists' => 'Jeneng panganggo sing dilebokaké lagi dianggo.
 Mangga pilih jeneng liya.',
 'loginerror' => 'Kasalahan mlebu log',
+'createacct-error' => 'Ora isa nggawe akun',
 'createaccounterror' => 'Ora bisa nyipta akun: $1',
 'nocookiesnew' => "Rékening utawa akun panganggo panjenengan wis digawé, nanging panjenengan durung mlebu log. {{SITENAME}} nggunakaké ''cookies'' kanggo  log panganggo. ''Cookies'' ing panjlajah wèb panjengengan dipatèni. Mangga diaktifaké lan mlebu log manèh mawa jeneng panganggo lan tembung sandhi panjenengan.",
 'nocookieslogin' => "{{SITENAME}} nggunakaké ''cookies'' kanggo log panganggoné. ''Cookies'' ing panjlajah wèb panjenengan dipatèni. Mangga ngaktifaké manèh lan coba manèh.",
@@ -499,31 +552,38 @@ Yèn wong liya sing nglakoni panyuwunan iki, utawa panjenengan éling tembung sa
 'noemailcreate' => 'Panjenengan kudu maringi alamat e-mail sing absah',
 'passwordsent' => 'Tembung sandhi anyar wis dikirim menyang alamat layang e-mail panjenengan sing wis didaftar kanggo "$1". Mangga mlebu log manèh sawisé nampa e-mail iku.',
 'blocked-mailpassword' => "Alamat IP panjenengan diblokir saka panyuntingan, mulané panjenengan ora olèh nganggo fungsi pèngetan tembung sandhi kanggo ''mencegah penyalahgunaan''.",
-'eauthentsent' => 'Sawijining layang élèktronik (e-mail) kanggo ndhedhes (konfirmasi) wis dikirim menyang alamat layang élèktronik panjenengan. Panjenengan kudu nuruti instruksi sajroning layang iku kanggo ndhedhes yèn alamat iku bener kagungané panjenengan. {{SITENAME}} ora bakal ngaktifaké fitur layang élèktronik yèn langkah iki durung dilakoni.',
+'eauthentsent' => 'Sawijining layang élèktronik (e-mail) kanggo ndhedhes (konfirmasi) wis dikirim menyang alamat layang élèktronik sampeyan. 
+
+Sadhurunge layang élèktronik liyane dikirim menyang akun kuwi, sampeyan kudu melu parentah ing layang kuwi, kanggo mastikne yen alamat layang kuwi bener-bener dhuweke sampeyan.',
 'throttled-mailpassword' => 'Layang kanggo mbalèkaké tembung sandhi wis dikirim sasuwené ing {{PLURAL:$1|jam|$1 jam}}.
 Kanggo nyegah ananing tumindhak culika, namung sak layang kanggo mbalèkaké tembung sandhi sing bakal dikirim sasuwéné ing {{PLURAL:$1|jam|$1 jam}}.',
 'mailerror' => 'Kasalahan ing ngirimaké layang e-mail: $1',
 'acct_creation_throttle_hit' => 'Tamu ing wiki iki kanthi alamat IP sing padha karo panjenengan wis gawé {{PLURAL:$1|1 akun|$1 akun}} ing sadina pungkasan, nganti cacah maksimum sing diidinaké.
 Amarga saka kuwi., tamu kanthi alamat IP iki ora bisa gawé akun manèh kanggo sauntara iki.',
-'emailauthenticated' => 'Alamat layang élèktronik (e-mail) panjenengan wis didhedhes (dikonfirmasi) ing $3, $2.',
-'emailnotauthenticated' => 'Alamat layang élèktronik panjenengan durung didhedhes (dikonfirmasi). Sadurungé didhedhes, panjenengan ora bisa nganggo fitur layang élèktronik (e-mail).',
+'emailauthenticated' => 'Alamat layang élèktronik (e-mail) panjenengan wis didhedhes (dikonfirmasi) ing tanggal $2, jam $3.',
+'emailnotauthenticated' => 'Alamat layang élèktronik panjenengan durung didhedhes (dikonfirmasi). 
+
+Sadurungé didhedhes, panjenengan ora bisa nganggo fitur layang élèktronik (e-mail) ing ngisor iki.',
 'noemailprefs' => 'Panjenengan kudu milih alamat e-mail supaya bisa nganggo fitur iki.',
 'emailconfirmlink' => 'Ndhedhes (konfirmasi) alamat e-mail panjenengan',
 'invalidemailaddress' => 'Alamat e-mail iki ora bisa ditampa amarga formaté ora bener. Tulung lebokna alamat mawa format sing bener utawa kosongaké waé isèn kasebut.',
 'cannotchangeemail' => 'Alamat layang èlèktronik akun ora bisa diganti nèng wiki iki.',
 'emaildisabled' => 'Situs iki ora bisa ngirim layang èlèktronik.',
 'accountcreated' => 'Akun wis kacipta.',
-'accountcreatedtext' => 'Akun panganggo kanggo $1 wis digawé.',
+'accountcreatedtext' => 'Akun panganggo kanggo  [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|wicara]]) wis digawé.',
 'createaccount-title' => 'Gawé rékening kanggo {{SITENAME}}',
 'createaccount-text' => 'Ana wong sing nggawé sawijining akun utawa rékening kanggo alamat e-mail panjenengan ing {{SITENAME}} ($4) mawa jeneng "$2" lan tembung sandi "$3". Panjenengan disaranaké kanggo mlebu log lan ngganti tembung sandi panjenengan saiki.
 
 Panjenengan bisa nglirwakaké pesen iki yèn akun utawa rékening iki digawé déné sawijining kaluputan.',
 'usernamehasherror' => 'Jeneng panganggo ora bisa ngandhut tandha pager',
 'login-throttled' => 'Panjenengan wis kakèhan njajal mlebu log.
-Tulung nunggu dhisik sadurungé njajal manèh.',
+Tulung nunggu dhisik $1 sadurungé njajal manèh.',
 'login-abort-generic' => 'Sampéyan ora suksès mlebu log - Dibatalaké',
 'loginlanguagelabel' => 'Basa: $1',
 'suspicious-userlogout' => 'Panjaluk panjenengan supaya metu ditolak amarga katoné panjlajah internt utawa proksi panyinggah.',
+'createacct-another-realname-tip' => 'Jeneng asli ora kudu dilebokake.
+
+Yen sampeyan milih nglebokake jeneng asli, jeneng kuwi bakal dinggo ngwenehi atribusi kanggo karya-karyane.',
 
 # Email sending
 'php-mail-error-unknown' => 'Kasalahan ora dingertèni nèng piguna mail() PHP.',
@@ -539,7 +599,7 @@ Tulung nunggu dhisik sadurungé njajal manèh.',
 'newpassword' => 'Tembung sandi anyar:',
 'retypenew' => 'Ketik ulang tembung sandi anyar:',
 'resetpass_submit' => 'Nata tembung sandhi lan mlebu log',
-'changepassword-success' => 'Tembung sandhi panjenengan wis suksès diowahi! Saiki mrosès mlebu log panjenengan...',
+'changepassword-success' => 'Tembung sandhi panjenengan wis suksès diowahi!',
 'resetpass_forbidden' => 'Tembung sandhi ora bisa diganti',
 'resetpass-no-info' => 'Panjenengan kudu mlebu log kanggo ngaksès kaca iki sacara langsung.',
 'resetpass-submit-loggedin' => 'Ganti tembung sandi',
@@ -551,8 +611,11 @@ Panjengen manawa wis kasil ganti tembung sandi utawa nyuwun tembung sandi saunta
 
 # Special:PasswordReset
 'passwordreset' => 'Balèni setèl tembung sandhi',
+'passwordreset-text-one' => 'Lengkapana formulir iki kanggo nampa tembung sandhi sementara lewat layang elektronik.',
+'passwordreset-text-many' => '{{PLURAL:$1|Isinen salah sijine kotak ing ngisor iki kanggo nampa tembung sandhi sementara lewat layang elektronik.}}',
 'passwordreset-legend' => 'Balèni setèl tembung sandhi',
 'passwordreset-disabled' => 'Piranti kanggo mbalèni nyetèl tembung sandhi dipatèni nèng wiki iki.',
+'passwordreset-emaildisabled' => 'Fitur layang elektronik wis dipateni ing wiki iki.',
 'passwordreset-username' => 'Jeneng panganggo:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Delok layang èlèktronik sing diasilaké?',
@@ -575,7 +638,7 @@ Sampéyan kudu mlebu log lan milih siji tembung sandhi anyar saiki. Yèn wong li
 Tembung sandhi sawetara: $2',
 'passwordreset-emailsent' => 'Layang èlèktronik kanggo mbalèkaké tembung sandhi wis dikirim.',
 'passwordreset-emailsent-capture' => 'Layang èlèktronik kanggo mbalèkaké tembung sandhi wis dikirim, bisa didelok ngisor iki.',
-'passwordreset-emailerror-capture' => 'Layang èlèktronik kanggo mbalèkaké tembung sandhi wis ditokaké, bisa didelok ngisor iki, nanging gagal nalika dikirim menyang panganggoné: $1',
+'passwordreset-emailerror-capture' => 'Layang èlèktronik pangèling tembung sandhi wis digawe, yaiku sing ditampilaké nèng ngisor iki, nanging ora kasil dikirim ing {{GENDER:$2|panganggo}}: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Ganti alamat layang èlèktronik',
@@ -589,6 +652,19 @@ Tembung sandhi sawetara: $2',
 'changeemail-submit' => 'Ganti layang èlèktronik',
 'changeemail-cancel' => 'Batal',
 
+# Special:ResetTokens
+'resettokens' => 'Reset token',
+'resettokens-text' => 'Anda dapat me-reset Token yang memungkinkan akses ke data pribadi tertentu yang terkait dengan akun Anda di sini.
+
+Anda harus melakukannya jika Anda secara tidak sengaja berbagi dengan seseorang atau jika akun Anda telah disusupi.',
+'resettokens-no-tokens' => 'Ora ana token sing bisa direset.',
+'resettokens-legend' => 'Reset token',
+'resettokens-tokens' => 'Token:',
+'resettokens-token-label' => '$1 (nilai saiki: $2)',
+'resettokens-watchlist-token' => 'Token kangge sindikasi web (Atom/RSS) saking [[Special:Watchlist|pangowahan ing daptar pangawasan sampeyan]]',
+'resettokens-done' => 'Reset token.',
+'resettokens-resetbutton' => 'Reset token sing dipilih',
+
 # Edit page toolbar
 'bold_sample' => 'Tèks iki bakal dicithak kandel',
 'bold_tip' => 'Cithak kandel',
@@ -773,12 +849,15 @@ Tanpa ana katrangan.',
 Katoné kaca iki wis dibusak.',
 'edit-conflict' => 'Konflik panyuntingan.',
 'edit-no-change' => 'Suntingan panjenengan dilirwakaké amerga panjenengan ora nglakoni pangowahan apa-apa ing tèks.',
+'postedit-confirmation' => 'Pangowahan sampéyan wis disimpen!',
 'edit-already-exists' => 'Ora bisa nggawé kaca anyar.
 Amerga wis ana.',
 'defaultmessagetext' => 'Tèks layang gawan',
 'content-failed-to-parse' => 'Gagal menjabarkan konten $2 untuk model $1: $3',
 'invalid-content-data' => 'Data konten ora sah',
 'content-not-allowed-here' => 'Konten "$1" ora oleh ing kaca [[$2]]',
+'editwarning-warning' => 'Yen sampeyan ninggalake kaca niki, pangowahan sampeyan bakal ilang.
+Yen sampeyan wis mlebet log, sampeyan saged mateni peringatan niki lewat preferensi "Panyuntingan" sampeyan.',
 
 # Content models
 'content-model-wikitext' => 'teks wiki',
@@ -812,12 +891,16 @@ Sawetara cithakan bakal dilirwakaké.',
 'undo-failure' => 'Suntingan iki ora bisa dibatalakén amerga ana konflik panyuntingan antara.',
 'undo-norev' => 'Suntingan iki ora bisa dibatalaké amerga ora ana utawa wis dibusak.',
 'undo-summary' => '←Mbatalaké revisi $1 déning [[Special:Contributions/$2|$2]] ([[User talk:$2|Dhiskusi]])',
+'undo-summary-username-hidden' => 'Batalna revisi $1 saking panganggo kang didhelikake',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Akun ora bisa digawé',
 'cantcreateaccount-text' => "Saka alamat IP iki ('''$1''') ora diparengaké nggawé akun utawa rékening. Sing mblokir utawa ora marengaké iku [[User:$3|$3]].
 
 Alesané miturut $3 yaiku ''$2''",
+'cantcreateaccount-range-text' => 'Nggawe akun saking alamat IP "$1", sing termasuk IP sampeyan (\'\'\'$4\'\'\'), sampun diblokir kaliyan [[User:$3|$3]].
+
+Alesan pamblokiran yaiku "$2"',
 
 # History pages
 'viewpagelogs' => 'Mirsani log kaca iki',
@@ -892,18 +975,19 @@ Sampéyan isih bisa ndelok prabédan iki; rincian bisa ditemokaké nèng [{{full
 Pangurus {{SITENAME}} liyané bakal tetep bisa ngaksès isi sing kadhelikaké iku lan bisa mbatalaké pambusakan ngliwati antarmuka sing padha, kajaba ana pawatesan liya saka operator situs.",
 'revdelete-confirm' => 'Mangga pesthèkaké yèn Sampéyan pancèn kudu nglakoni iki, yèn Sampéyan ngerti akibaté, lan yèn Sampéyan ngakoni iki cocok karo [[{{MediaWiki:Policy-url}}|kawicakan]].',
 'revdelete-suppress-text' => "Pandhelikan révisi '''mung''' bisa dipigunakaké kanggo kasus ing ngisor:
+* Informasi sing kagolong pitnah
 * Informasi pribadi sing kurang pantes
-*: ''alamat omah lan nomer telepon, nomer kartu idhèntitas, lan sapanunggalané.''",
+*: ''alamat omah lan nomer telepon, nomer kartu idhèntitas, lsp..''",
 'revdelete-legend' => 'Atur watesan:',
-'revdelete-hide-text' => 'Dhelikna tèks revisi',
+'revdelete-hide-text' => 'Tèks revisi',
 'revdelete-hide-image' => 'Dhelikna isi berkas',
 'revdelete-hide-name' => 'Dhelikna tindhakan lan targèt',
-'revdelete-hide-comment' => 'Tudhuhna/dhelikan ringkesan suntingan',
-'revdelete-hide-user' => 'Dhelikan jeneng panganggo/IP penyunting',
+'revdelete-hide-comment' => 'Ringkesan suntingan',
+'revdelete-hide-user' => 'Jeneng panganggo/alamat IP',
 'revdelete-hide-restricted' => 'Uga dhelikna data saka pangurus lan panganggo liyané',
 'revdelete-radio-same' => '(Aja diowahi)',
-'revdelete-radio-set' => 'Ya',
-'revdelete-radio-unset' => 'Ora',
+'revdelete-radio-set' => 'Kadhelikake',
+'revdelete-radio-unset' => 'Kethok',
 'revdelete-suppress' => 'Uga dhelikan saka pangurus',
 'revdelete-unsuppress' => 'Busak watesan ing revisi sing dibalèkaké',
 'revdelete-log' => 'Alesan:',
@@ -982,6 +1066,7 @@ Gunakna tombol radio kanggo nggabungaké révisi-révisi sing digawé sadurungé
 'compareselectedversions' => 'Bandhingna vèrsi kapilih',
 'showhideselectedversions' => 'Tampilaké/dhelikaké révisi kapilih',
 'editundo' => 'batalna',
+'diff-empty' => '(Ora ana bedane)',
 'diff-multi' => '({{PLURAL:$1Siji rèvisi sedhengan|$1 rèvisi sedhengan}} déning {{PLURAL:$2|sak panganggo|$2 panganggo}} ora dituduhaké)',
 'diff-multi-manyusers' => '({{PLURAL:$1Siji rèvisi sedhengan|$1 rèvisi sedhengan}} déning luwih saka $2 {{PLURAL:$2|panganggo|panganggo}} ora dituduhaké)',
 'difference-missing-revision' => '{{PLURAL:$2|Sak pambenahan|$2 pambenahan}} saka prabédan iki ($1) {{PLURAL:$2|ora ditemokaké|ora ditemokaké}}.
@@ -1039,11 +1124,13 @@ Rinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'powersearch-togglenone' => 'Ora ana',
 'search-external' => 'Panggolèkan èkstèrnal',
 'searchdisabled' => 'Sawetara wektu iki panjenengan ora bisa nggolèk mawa fungsi golèk {{SITENAME}}. Kanggo saiki mangga panjenengan bisa golèk nganggo Google. Nanging isi indèks Google kanggo {{SITENAME}} bisa waé lawas lan durung dianyari.',
+'search-error' => 'Ana kasalahan wektu nggoleki: $1',
 
 # Preferences page
 'preferences' => 'Preferensi (pilihan)',
 'mypreferences' => 'Préferènsi',
 'prefs-edits' => 'Gunggungé suntingan:',
+'prefsnologintext2' => 'Tulung $1 kanggo ngganti preferensi sampeyan.',
 'prefs-skin' => 'Kulit',
 'skin-preview' => 'Pratilik',
 'datedefault' => 'Ora ana préferènsi',
@@ -1078,6 +1165,9 @@ Rinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'recentchangesdays-max' => '(maksimum $1 {{PLURAL:$1|dina|dina}})',
 'recentchangescount' => 'Cacahé suntingan sing ditampilaké:',
 'prefs-help-recentchangescount' => 'Iki klebu owah-owahan pungkasan, kaca sajarah, lan log.',
+'prefs-help-watchlist-token2' => 'Ini adalah kunci rahasia (token) ke web feed dari daftar pantauan Anda.
+Siapa saja yang tahu akan dapat melihat daftar pantauan Anda, jadi jangan dibagikan.
+[[Special:ResetTokens|Klik di sini jika Anda perlu menyetel ulang]].',
 'savedprefs' => 'Préferènsi Panjenengan wis disimpen',
 'timezonelegend' => 'Zona wektu:',
 'localtime' => 'Wektu saenggon:',
@@ -1139,6 +1229,8 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'prefs-dateformat' => 'Format tanggal',
 'prefs-timeoffset' => 'Format wektu',
 'prefs-advancedediting' => 'Pilihan sabanjuré',
+'prefs-editor' => 'Panyunting',
+'prefs-preview' => 'Pratayang',
 'prefs-advancedrc' => 'Opsi lanjutan',
 'prefs-advancedrendering' => 'Opsi lanjutan',
 'prefs-advancedsearchoptions' => 'Opsi lanjutan',
@@ -1146,7 +1238,10 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'prefs-displayrc' => 'Opsi tampilan',
 'prefs-displaysearchoptions' => 'Opsi tampilan',
 'prefs-displaywatchlist' => 'Opsi tampilan',
+'prefs-tokenwatchlist' => 'Token',
 'prefs-diffs' => 'Prabédan',
+'prefs-help-prefershttps' => 'Preferensi niki bakal diaktifne yen sampeyan mlebet log sabanjure.',
+'prefs-tabs-navigation-hint' => 'Tip: Sampeyan isa nganggo dapat menggunakan tombol panah kiwa lan tengen kanggo navigasi tab-tab ing daftar tab.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Alamat layang èlèktronik kayané sah',
@@ -1173,6 +1268,8 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'userrights-notallowed' => 'Sampéyan ora nduwé idin kanggo nambah utawa nyuda hak-hak panganggo.',
 'userrights-changeable-col' => 'Grup sing bisa panjenengan owahi',
 'userrights-unchangeable-col' => 'Grup sing ora bisa diowahi panjenengan',
+'userrights-conflict' => 'Konflik pangowahan hak-hak panganggo! Tulung ditinjau maneh lan konfirmasi Pangowahan sampeyan.',
+'userrights-removed-self' => 'Sampeyan wis berhasil ngilangake hak-hak sampeyan. Nuli, sampeyan ora isa ngakses kaca niki malih.',
 
 # Groups
 'group' => 'Kelompok:',
@@ -1239,10 +1336,18 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'right-unblockself' => 'Bukak blokirané dhéwéké',
 'right-protect' => 'Ganti undhaking pangreksan lan owah kaca-kaca sing direksa',
 'right-editprotected' => 'Owah kaca-kaca sing direksa (tanpa pangreksan runtun)',
+'right-editsemiprotected' => 'Owah kaca-kaca sing direksa dadi "{{int:protect-level-autoconfirmed}}"',
 'right-editinterface' => 'Sunting interface (antarmuka) panganggo',
 'right-editusercssjs' => 'Sunting berkas-berkas CSS lan JS panganggo liya',
 'right-editusercss' => 'Sunting berkas-berkas CSS panganggo liya',
 'right-edituserjs' => 'Sunting berkas-berkas JS panganggo liya',
+'right-editmyusercss' => 'Owahi berkas CSS panganggo sampeyan',
+'right-editmyuserjs' => 'Owahi berkas JavaScript panganggo sampeyan',
+'right-viewmywatchlist' => 'Dheleng daftar pangawasan sampeyan',
+'right-editmywatchlist' => 'Owahi daftar pangawasan sampeyan. Cathetan: ana cara liyane kanggo nambahi kaca menyang daftar, sanadyan ora duwe hak iki.',
+'right-viewmyprivateinfo' => 'Dheleng data pribadi sampeyan (kayata alamat layang elektronik, jeneng asli)',
+'right-editmyprivateinfo' => 'Owahi data pribadi sampeyan (kayata alamat layang elektronik, jeneng asli)',
+'right-editmyoptions' => 'Owahi preferensi sampeyan',
 'right-rollback' => 'Sacara gelis mbalèkaké panganggo pungkasan sing nyunting kaca tartamtu',
 'right-markbotedits' => 'Tandhanana suntingan pambalèkan minangka suntingan bot',
 'right-noratelimit' => 'Ora dipengaruhi déning wates cacahing suntingan.',
@@ -1304,23 +1409,33 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'action-userrights-interwiki' => 'ngowahi hak aksès saka panganggo ing wiki liya',
 'action-siteadmin' => 'ngunci utawa mbukak kunci basis data',
 'action-sendemail' => 'kirim layang èlèktronik',
+'action-editmywatchlist' => 'owahi daftar pantauan sampeyan',
+'action-viewmywatchlist' => 'dheleng daftar pantauan sampeyan',
+'action-viewmyprivateinfo' => 'dheleng informasi pribadi sampeyan',
+'action-editmyprivateinfo' => 'owahi informasi pribadi sampeyan',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|pangowahan|owah-owahan}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|saka keri dhewe mrene}}',
+'enhancedrc-history' => 'sajarah',
 'recentchanges' => 'Owah-owahan',
 'recentchanges-legend' => 'Pilihan owah-owahan pungkasan',
 'recentchanges-summary' => 'Runutna owah-owahan pungkasan ing wiki iki ing kaca iki.',
+'recentchanges-noresult' => 'Ora ana pangowahan ing periode sing diwiwiti kriteria iki.',
 'recentchanges-feed-description' => "Urutna owah-owahan anyar ing wiki ing ''feed'' iki.",
 'recentchanges-label-newpage' => 'Suntingan iki gawé kaca anyar',
 'recentchanges-label-minor' => 'Iki suntingan sithik',
 'recentchanges-label-bot' => 'Suntingan iki diayahi déning bot',
 'recentchanges-label-unpatrolled' => 'Suntingan iki durung dipatroli',
-'recentchanges-legend-newpage' => '$1 - kaca anyar',
+'recentchanges-label-plusminus' => 'Gedhene kaca wis diowahi segede niki.',
+'recentchanges-legend-heading' => "'''Katrangan:'''",
+'recentchanges-legend-newpage' => '(dhelengen uga: [[Special:NewPages|daftar kaca anyar]])',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => 'Ing ngisor iki owah-owahan wiwit <strong>$2</strong> (kapacak nganti <strong>$1</strong> owah-owahan).',
 'rclistfrom' => 'Saiki nuduhaké owah-owahan wiwit tanggal $1',
 'rcshowhideminor' => '$1 suntingan sithik',
 'rcshowhidebots' => '$1 bot',
-'rcshowhideliu' => '$1 panganggo mlebu log',
+'rcshowhideliu' => '$1 panganggo sing wis ndaptar',
 'rcshowhideanons' => '$1 panganggo anonim',
 'rcshowhidepatr' => '$1 suntingan sing dipatroli',
 'rcshowhidemine' => '$1 suntinganku',
@@ -1356,7 +1471,7 @@ Alamat layang èlèktronik Sampéyan ora dituduhaké nalika wong liya ngubungi S
 'reuploaddesc' => 'Bali ing formulir pamotan',
 'upload-tryagain' => 'Kirim déskripsi berkas sing wis diowah',
 'uploadnologin' => 'Durung mlebu log',
-'uploadnologintext' => 'Sampéyan kudu [[Special:UserLogin|mlebu log]] supaya bisa ngunggah berkas.',
+'uploadnologintext' => 'Sampéyan kudu $1 supaya bisa ngunggah berkas.',
 'upload_directory_missing' => 'Direktori pamunggahan ($1) ora ditemokaké lan ora bisa digawé déning server wèb.',
 'upload_directory_read_only' => 'Dirèktori pangunggahan ($1) ora bisa ditulis déning server wèb.',
 'uploaderror' => 'Kaluputan pangunggahan berkas',
@@ -1597,6 +1712,10 @@ Yèn disaring déning panganggo, namung berkas mawa vèrsi paling anyar waé sin
 'listfiles_size' => 'Ukuran (bita)',
 'listfiles_description' => 'Dèskripsi',
 'listfiles_count' => 'Vèrsi',
+'listfiles-show-all' => 'Termasuk gambar versi lawas',
+'listfiles-latestversion' => 'Versi saiki',
+'listfiles-latestversion-yes' => 'Iya',
+'listfiles-latestversion-no' => 'Ora',
 
 # File description page
 'file-anchor-link' => 'Gambar',
@@ -1692,6 +1811,13 @@ Priksanen dhisik pranala-pranala menyang cithakan iki sadurungé mbusak.',
 'randompage' => 'Sembarang kaca',
 'randompage-nopages' => 'Ora ana kaca ing {{PLURAL:$2||}}bilik jeneng iki:$1.',
 
+# Random page in category
+'randomincategory' => 'Sembarang kaca ing kategori',
+'randomincategory-invalidcategory' => '"$1" dudu jeneng kategori sing apik.',
+'randomincategory-nopages' => 'Ora ana kaca ing kategori [[:Category:$1|$1]].',
+'randomincategory-selectcategory' => 'Dheleng kaca sembarang saking kategori: $1 $2.',
+'randomincategory-selectcategory-submit' => 'Golèk',
+
 # Random redirect
 'randomredirect' => 'Pangalihan sembarang',
 'randomredirect-nopages' => 'Ora ana pangalihan ing bilik jeneng "$1".',
@@ -1722,6 +1848,8 @@ Priksanen dhisik pranala-pranala menyang cithakan iki sadurungé mbusak.',
 'pageswithprop-text' => 'Kaca iki njlèntèhaké kaca-kaca sing nganggo ubarampé astamiwa.',
 'pageswithprop-prop' => 'Arané ubarampé:',
 'pageswithprop-submit' => 'Nuju',
+'pageswithprop-prophidden-long' => 'nilai properti teks dawa didhelikake ($1 kilobita)',
+'pageswithprop-prophidden-binary' => 'nilai properti biner didhelikake ($1 kilobita)',
 
 'doubleredirects' => 'Pangalihan dobel',
 'doubleredirectstext' => 'Kaca iki ngandhut daftar kaca sing ngalih ing kaca pangalihan liyané.
@@ -1749,6 +1877,7 @@ Jeneng sing wis <del>dicorèk</del> tegesé wis rampung didandani.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|pranala|pranala}}',
 'nmembers' => '$1 {{PLURAL:$1|anggota|anggota}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|anggota|anggota}}',
 'nrevisions' => '$1 {{PLURAL:$1|revisi|revisi}}',
 'nviews' => 'Wis kaping $1 {{PLURAL:$1|dituduhaké|dituduhaké}}',
 'nimagelinks' => 'Kanggo nèng {{PLURAL:$1|kaca|kaca}}',
@@ -1779,6 +1908,7 @@ Jeneng sing wis <del>dicorèk</del> tegesé wis rampung didandani.',
 'mostrevisions' => 'Kaca mawa pangowahan sing akèh dhéwé',
 'prefixindex' => 'Kabèh kaca mawa ater-ater',
 'prefixindex-namespace' => 'Kabèh kaca mawa ater-ater (bilik jeneng $1)',
+'prefixindex-strip' => 'Hapus awalan saking daftar',
 'shortpages' => 'Kaca cendhak',
 'longpages' => 'Kaca dawa',
 'deadendpages' => 'Kaca-kaca buntu (tanpa pranala)',
@@ -1786,12 +1916,14 @@ Jeneng sing wis <del>dicorèk</del> tegesé wis rampung didandani.',
 'protectedpages' => 'Kaca sing direksa',
 'protectedpages-indef' => 'Namung pangreksan ora langgeng waé',
 'protectedpages-cascade' => 'Amung kaca rineksan kang runtut',
+'protectedpages-noredirect' => 'Dhelikna alihan',
 'protectedpagesempty' => 'Saat ini tidak ada halaman yang sedang dilindungi.',
 'protectedtitles' => 'Irah-irahan sing direksa',
 'protectedtitlesempty' => 'Ora ana irah-irahan utawa judhul sing direksa karo paramèter-paramèter iki.',
 'listusers' => 'Daftar panganggo',
 'listusers-editsonly' => 'Tampilaké mung panganggo sing nduwèni kontribusi',
 'listusers-creationsort' => 'Urut miturut tanggal digawé',
+'listusers-desc' => 'Urutna mudhun',
 'usereditcount' => '$1 {{PLURAL:$1|suntingan|suntingan}}',
 'usercreated' => '{{GENDER:$3|Digawé}} $1 wanci $2',
 'newpages' => 'Kaca anyar',
@@ -1965,7 +2097,7 @@ Owah-owahan sing dumadi ing tembé ing kaca iku lan kaca dhiskusi sing kagandhè
 'notanarticle' => 'Dudu kaca artikel',
 'notvisiblerev' => 'Révisi wis dibusak',
 'watchlist-details' => 'Ngawasaké {{PLURAL:$1|$1 kaca|$1 kaca}}, ora kalebu kaca-kaca dhiskusi.',
-'wlheader-enotif' => 'Notifikasi e-mail diaktifaké.',
+'wlheader-enotif' => 'Notifikasi layang elektronik diaktifaké.',
 'wlheader-showupdated' => "Kaca-kaca sing wis owah wiwit ditiliki panjenengan kaping pungkasan, dituduhaké mawa '''aksara kandel'''",
 'watchmethod-recent' => 'priksa daftar owah-owahan anyar kanggo kaca sing diawasi',
 'watchmethod-list' => 'priksa kaca sing diawasi kanggo owah-owahan anyar',
@@ -2043,15 +2175,18 @@ Umpan balik lan pitulung sabanjuré:
 'deleteotherreason' => 'Alesan liya utawa tambahan:',
 'deletereasonotherlist' => 'Alesan liya',
 'deletereason-dropdown' => '*Alesan pambusakan
-** Disuwun sing nulis
+** Spam
+** Vandalisme
 ** Nglanggar hak cipta
-** Vandalisme',
+** Disuwun sing nulis
+** Pangalihan rusak',
 'delete-edit-reasonlist' => 'Sunting alesan pambusakan',
 'delete-toobig' => 'Kaca iki ndarbèni sajarah panyuntingan sing dawa, yaiku ngluwihi $1 {{PLURAL:$1|revision|révisi}}.
 Pambusakan kaca sing kaya mangkono mau wis ora diparengaké kanggo menggak anané karusakan ing {{SITENAME}}.',
 'delete-warning-toobig' => 'Kaca iki duwé sajarah panyuntingan sing dawa, luwih saka $1 {{PLURAL:$1|révisi|révisi}}.
 Mbusak kaca iki bisa ngrusak operasi basis data ing {{SITENAME}};
 kudu ngati-ati.',
+'deleting-backlinks-warning' => "'''Awas:''' Kaca liyane mungkin ana sing nautake ing kaca sing arep sampeyan busak.",
 
 # Rollback
 'rollback' => 'Mbalèkaké suntingan',
@@ -2066,7 +2201,7 @@ kudu ngati-ati.',
 Suntingan pungkasan dilakoni déning [[User:$3|$3]] ([[User talk:$3|Wicara]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Ringkesan suntingan yaiku: \"''\$1''\".",
 'revertpage' => 'Suntingan [[Special:Contributions/$2|$2]] ([[User talk:$2|dhiskusi]]) dipunwangsulaken dhateng ing vèrsi pungkasan déning [[User:$1|$1]]',
-'revertpage-nouser' => 'Suntingan dibalèkaké déning (jeneng panganggo dibusak) nèng benahan pungkasan déning [[User:$1|$1]]',
+'revertpage-nouser' => 'Suntingan déning panganggo sing didhelikake, dibalèkaké nèng benahan pungkasan déning [[User:$1|$1]]',
 'rollback-success' => 'Suntingan dibalèkaké déning $1;
 diowahi bali menyang vèrsi pungkasan déning $2.',
 
@@ -2208,7 +2343,7 @@ $1',
 'contributions' => 'Sumbangan {{GENDER:$1|panganggo}}',
 'contributions-title' => 'Kontribusi panganggo kanggo $1',
 'mycontris' => 'Kontribusi',
-'contribsub2' => 'Kanggo $1 ($2)',
+'contribsub2' => 'Kanggo {{GENDER:$3|$1}} ($2)',
 'nocontribs' => 'Ora ditemokaké owah-owahan sing cocog karo kritéria kasebut iku.',
 'uctop' => '(saiki)',
 'month' => 'Wiwit sasi (lan sadurungé):',
@@ -2366,6 +2501,7 @@ Mangga mirsani [[Special:BlockList|daftar panganggo sing diblokir]] kanggo dafta
 Mangga ngubungi sing nyedyakaké dines internèt panjenengan utawa pitulungan tèknis lan aturana masalah kaamanan sérius iki.",
 'sorbsreason' => "Alamat IP panjenengan didaftar minangka ''open proxy'' ing DNSBL.",
 'sorbs_create_account_reason' => "Alamat IP panjenengan didaftar minangka ''open proxy'' ing DNSBL. Panjenengan ora bisa nggawé akun utawa rékening.",
+'xffblockreason' => 'Sebuah alamat IP di kepala X-Forwarded-For, entah milik Anda atau server proxy yang Anda pakai, telah diblokir. Alasan pemblokirannya adalah: $1',
 'cant-see-hidden-user' => 'Panganggo sing Sampéyan coba blokir wis kablokir lan didhelikaké.
 Amarga Sampéyan ora nduwé hak ndhelikaké panganggo, Sampéyan ora bisa ndelok utawa nyunting blokiran panganggo.',
 'ipbblocked' => 'Sampéyan ora bisa mblokir utawa mbukak blokiran panganggo liya amarga Sampéyan dhéwé diblokir',
@@ -2519,6 +2655,8 @@ Mangga pirsani [https://www.mediawiki.org/wiki/Localisation MediaWiki Localisati
 'thumbnail-more' => 'Gedhèkna',
 'filemissing' => 'Berkas ora ditemokaké',
 'thumbnail_error' => "Kaluputan nalika nggawé gambar cilik (''thumbnail''): $1",
+'thumbnail_error_remote' => 'Peringatan kasalahan saka $1:
+$2',
 'djvu_page_error' => "Kaca DjVu ana ing sajabaning ranggèhan (''range'')",
 'djvu_no_xml' => 'Ora bisa njupuk XML kanggo berkas DjVu',
 'thumbnail-temp-create' => 'Ora bisa nggawé berkas gambar mini sawetara',
@@ -2690,7 +2828,7 @@ Mbokmanawa iki disebabaké anané pranala jaba sing klebu daftar ireng.',
 'spam_blanking' => 'Kabèh révisi sing duwé pranala menyang $1, pangosongan',
 'spam_deleting' => 'Kabèh benahan sing nduwé pranala nèng $1, dibusaki',
 'simpleantispam-label' => "Pamariksan anti-spam.
-'''Aja''' diisèkaké!",
+'''AJA''' diisèkaké!",
 
 # Info page
 'pageinfo-title' => 'Inpormasi kanggo "$1"',
@@ -2704,13 +2842,14 @@ Mbokmanawa iki disebabaké anané pranala jaba sing klebu daftar ireng.',
 'pageinfo-length' => 'Panjang halaman (dalam bita)',
 'pageinfo-article-id' => 'ID kaca',
 'pageinfo-language' => 'Bahasa isi halaman',
-'pageinfo-robot-policy' => 'Status mesin pencari',
-'pageinfo-robot-index' => 'Dapat diindeks',
-'pageinfo-robot-noindex' => 'Tidak dapat diindeks',
+'pageinfo-content-model' => 'Model isi kaca',
+'pageinfo-robot-policy' => 'Diindeks karo robot',
+'pageinfo-robot-index' => 'Entuk',
+'pageinfo-robot-noindex' => 'Ora entuk',
 'pageinfo-views' => 'Cacahing delokan',
 'pageinfo-watchers' => 'Cacahé pangawas kaca',
 'pageinfo-few-watchers' => 'Kurang seka $1 {{PLURAL:$1|wong tilik|wong tilik}}',
-'pageinfo-redirects-name' => 'Pengalihan ke halaman ini',
+'pageinfo-redirects-name' => 'Jumlah pangalihan menyang kaca iki',
 'pageinfo-subpages-name' => 'Subhalaman halaman ini',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|pengalihan|pengalihan}}; $3 {{PLURAL:$3|non-pengalihan|non-pengalihan}})',
 'pageinfo-firstuser' => 'Pembuat halaman',
@@ -2784,7 +2923,7 @@ Yèn dilakokaké, sistem Sampéyan bisa kaserang.",
 'svg-long-desc' => 'Berkas SVG, nominal $1 × $2 piksel, gedhené berkas: $3',
 'svg-long-desc-animated' => 'Berkas SVG, nominal $1 × $2 piksel, gedhené berkas: $3',
 'svg-long-error' => 'Berkas SVG ora sah: $1',
-'show-big-image' => 'Résolusi kebak',
+'show-big-image' => 'Berkas asli',
 'show-big-image-preview' => 'Gedhéné pratayang iki: $1',
 'show-big-image-other' => '{{PLURAL:$2|Résolusi|Résolusi}} liya: $1.',
 'show-big-image-size' => '$1 × $2 piksel',
@@ -2813,11 +2952,25 @@ Yèn dilakokaké, sistem Sampéyan bisa kaserang.",
 'minutes' => '{{PLURAL:$1|$1 menit|$1 menit}}',
 'hours' => '{{PLURAL:$1|$1 jam|$1 jam}}',
 'days' => '{{PLURAL:$1|$1 dina|$1 dina}}',
+'weeks' => '{{PLURAL: $1|minggu|minggu}}',
 'months' => '{{PLURAL:$1|$1 sasi|$1 sasi}}',
 'years' => '{{PLURAL:$1|$1 taun|$1 taun}}',
 'ago' => '$1 kapungkur',
 'just-now' => 'baru saja',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|jam|jam}} kapungkur',
+'minutes-ago' => '$1 {{PLURAL:$1|menit|menit}} kapungkur',
+'seconds-ago' => '$1 {{PLURAL:$1|detik|detik}} kapungkur',
+'monday-at' => 'Senin jam $1',
+'tuesday-at' => 'Selasa jam $1',
+'wednesday-at' => 'Rabu jam $1',
+'thursday-at' => 'Kemis jam $1',
+'friday-at' => 'Jumuah jam $1',
+'saturday-at' => 'Septu jam $1',
+'sunday-at' => 'Minggu jam $1',
+'yesterday-at' => 'Dhek wingi jam $1',
+
 # Bad image list
 'bad_image_list' => "Formaté kaya mengkéné:
 
@@ -3029,7 +3182,7 @@ Pranala-pranala sabanjuré ing baris sing padha dianggep minangka ''pengecualian
 'exif-compression-4' => 'CCITT Group 4 fax encoding',
 
 'exif-copyrighted-true' => 'Mawa hak cipta',
-'exif-copyrighted-false' => 'Domain umum',
+'exif-copyrighted-false' => 'Status hak cipta durung ditemtokake',
 
 'exif-unknowndate' => 'Tanggal ora dingertèni',
 
@@ -3315,12 +3468,20 @@ Mangga didhedhes (dikonfirmasi) menawa panjenengan kersa nggawé ulang kaca iki.
 'confirm-unwatch-button' => 'Oké',
 'confirm-unwatch-top' => 'Singkiraké kaca iki saka daptar pangawasan Sampéyan?',
 
+# Separators for various lists, etc.
+'quotation-marks' => '"$1"',
+
 # Multipage image navigation
 'imgmultipageprev' => '&larr; kaca sadurungé',
 'imgmultipagenext' => 'kaca sabanjuré →',
 'imgmultigo' => 'Golèk!',
 'imgmultigoto' => 'Lungaa menyang kaca $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(basa gawan)',
+'img-lang-info' => 'Dadekna gambar iki ing $1, $2',
+'img-lang-go' => 'Nuju',
+
 # Table pager
 'ascending_abbrev' => 'unggah',
 'descending_abbrev' => 'mudhun',
@@ -3399,9 +3560,20 @@ Panjenengan uga bisa [[Special:EditWatchlist|nganggo éditor standar panjenengan
 'version-hook-name' => 'Jeneng canthèlan',
 'version-hook-subscribedby' => 'Dilanggani déning',
 'version-version' => '(Vèrsi $1)',
-'version-license' => 'Lisènsi',
+'version-license' => 'Lisènsi MediaWiki',
+'version-ext-license' => 'Lisènsi',
+'version-ext-colheader-name' => 'Ekstensi',
+'version-ext-colheader-version' => 'Vèrsi',
+'version-ext-colheader-license' => 'Lisènsi',
+'version-ext-colheader-description' => 'Dèskripsi',
+'version-ext-colheader-credits' => 'Pangarang',
+'version-license-title' => 'Lisensi kanggo $1',
+'version-license-not-found' => 'Ora ana info lisensi kanggo ekstensi iki.',
+'version-credits-title' => 'Kredit kanggo $1',
+'version-credits-not-found' => 'Ora ana info kredit kanggo ekstensi iki.',
 'version-poweredby-credits' => "Wiki iki disengkuyung déning '''[https://www.mediawiki.org/ MediaWiki]''', hak cipta © 2001-$1 $2.",
 'version-poweredby-others' => 'liyané',
+'version-poweredby-translators' => 'panerjemah translatewiki.net',
 'version-credits-summary' => 'Kami ingin mengakui orang-orang berikut atas kontribusinya terhadap [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki adalah perangkat lunak bebas; Anda diperbolehkan untuk mendistribusikan dan/atau memodfikasinya dengan persyaratan Lisensi Publik Umum GNU yang diterbitkan oleh Free Software Foundation; versi 2 atau terbaru.
 
@@ -3415,6 +3587,19 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'version-entrypoints-header-entrypoint' => 'Tithik lebon',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect' => 'Dialihake dening gambar, panganggo, kaca, utawa ID revisi',
+'redirect-legend' => 'Dialihake menyang gambar utawa kaca',
+'redirect-summary' => 'Kaca astamiwa iki dialihake menyang gambar (jeneng gambar diwenehi), kaca (ID revisi utama ID kaca diwenehi), utawa kaca panganggo (ID panganggo diwenehi). Cara nganggo: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
+'redirect-submit' => 'Nuju',
+'redirect-lookup' => 'Golek:',
+'redirect-value' => 'Aji:',
+'redirect-user' => 'ID panganggo',
+'redirect-page' => 'ID kaca',
+'redirect-revision' => 'Revisi kaca',
+'redirect-file' => 'Jeneng berkas',
+'redirect-not-exists' => 'Nilai ora ditemokaké',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Golèk berkas duplikat',
 'fileduplicatesearch-summary' => 'Golèk duplikat berkas adhedhasar biji hash-é.',
@@ -3428,6 +3613,7 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 
 # Special:SpecialPages
 'specialpages' => 'Kaca istiméwa',
+'specialpages-note-top' => 'Katrangan',
 'specialpages-note' => '* Kaca astamiwa biasa.
 * <span class="mw-specialpagerestricted">Kaca astamiwa kawatesan.</span>',
 'specialpages-group-maintenance' => 'Lapuran pangopènan',
@@ -3460,12 +3646,16 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'tags' => 'Tag pangowahan sing absah',
 'tag-filter' => 'Filter [[Special:Tags|Tag]]:',
 'tag-filter-submit' => 'Penyaring',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Tag|Tag}}]]: $2)',
 'tags-title' => 'Tag',
 'tags-intro' => 'Kaca iki ndhaptar tag sing bisa ditandhani déning piranti alus tumrap sawijining suntingan lan maknané.',
 'tags-tag' => 'Jeneng tag',
 'tags-display-header' => 'Tampilan ing dhaptar owah-owahan',
 'tags-description-header' => 'Dhèskripsi pepak saka makna',
+'tags-active-header' => 'Aktif?',
 'tags-hitcount-header' => 'Owah-owahan mawa tag',
+'tags-active-yes' => 'Iya',
+'tags-active-no' => 'Ora',
 'tags-edit' => 'sunting',
 'tags-hitcount' => '$1 {{PLURAL:$1|pangowahan|pangowahan}}',
 
@@ -3485,6 +3675,7 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'dberr-problems' => 'Nyuwun ngapura! Situs iki ngalami masalah tèknis.',
 'dberr-again' => 'Coba nunggu sawetara menit lan unggahna manèh.',
 'dberr-info' => '(Ora bisa nyambung menyang peladèn basis data: $1)',
+'dberr-info-hidden' => '(Ora bisa nyambung menyang peladèn basis data)',
 'dberr-usegoogle' => 'Panjenengan bisa nyoba nggolèki nganggo Google kanggo sauntara wektu.',
 'dberr-outofdate' => 'Perlu diweruhi yèn indhèks isi kita manawa wis kadaluwarsa.',
 'dberr-cachederror' => 'Iki sawijining salinan kasimpen kaca sing dijaluk, lan manawa dudu sing paling anyar.',
@@ -3500,6 +3691,9 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'htmlform-submit' => 'Kirim',
 'htmlform-reset' => 'Batalna pangowahan',
 'htmlform-selectorother-other' => 'Liya',
+'htmlform-no' => 'Ora',
+'htmlform-yes' => 'Iya',
+'htmlform-chosen-placeholder' => 'Pilih pilihan',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 mawa sengkuyungan golèkan tèks jangkep',
@@ -3509,14 +3703,14 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'logentry-delete-delete' => '$1 {{GENDER:$2|mbusak}} kaca $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|mbalèkaké}} kaca $3',
 'logentry-delete-event' => '$1 {{GENDER:$2|ngganti}} parupané {{PLURAL:$5|sak prastawa log|$5 prastawa log}} ana ing $3: $4',
-'logentry-delete-revision' => '$1 ngganti patampilan {{PLURAL:$5|sak pambenahan|$5 pambenahan}} nèng kaca $3: $4',
-'logentry-delete-event-legacy' => '$1 ngganti patampilan saka kadadéan log nèng $3',
-'logentry-delete-revision-legacy' => '$1 ngganti patampilan saka pambenahan nèng kaca $3',
-'logentry-suppress-delete' => '$1 neken kaca $3',
-'logentry-suppress-event' => '$1 ndhelik-ndhelik ngganti patampilan saka {{PLURAL:$5|sak kadadéan log|$5 kadadéan log}} nèng $3: $4',
-'logentry-suppress-revision' => '$1 ndhelik-ndhelik ngganti patampilan saka {{PLURAL:$5|sak pambenahan|$5 pambenahan}} nèng kaca $3: $4',
-'logentry-suppress-event-legacy' => '$1 ndhelik-ndhelik ngganti patampilan saka kadadéan log nèng $3',
-'logentry-suppress-revision-legacy' => '$1 ndhelik-ndhelik ngganti patampilan saka pambenahan nèng kaca $3',
+'logentry-delete-revision' => '$1 {{GENDER:$2|ngganti}} patampilan {{PLURAL:$5|sak pambenahan|$5 pambenahan}} nèng kaca $3: $4',
+'logentry-delete-event-legacy' => '$1 {{GENDER:$2|ngganti}} patampilan saka kadadéan log nèng $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ngganti}} patampilan saka pambenahan nèng kaca $3',
+'logentry-suppress-delete' => '$1 {{GENDER:$2|neken}} kaca $3',
+'logentry-suppress-event' => '$1 ndhelik-ndhelik {{GENDER:$2|ngganti}} patampilan saka {{PLURAL:$5|sak kadadéan log|$5 kadadéan log}} nèng $3: $4',
+'logentry-suppress-revision' => '$1 ndhelik-ndhelik {{GENDER:$2|ngganti}} patampilan saka {{PLURAL:$5|sak pambenahan|$5 pambenahan}} nèng kaca $3: $4',
+'logentry-suppress-event-legacy' => '$1 ndhelik-ndhelik {{GENDER:$2|ngganti}} patampilan saka kadadéan log nèng $3',
+'logentry-suppress-revision-legacy' => '$1 ndhelik-ndhelik {{GENDER:$2|ngganti}} patampilan saka pambenahan nèng kaca $3',
 'revdelete-content-hid' => 'kontèn didhelikaké',
 'revdelete-summary-hid' => 'ringkesan suntingan didhelikaké',
 'revdelete-uname-hid' => 'jeneng panganggo didhelikaké',
@@ -3525,20 +3719,20 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'revdelete-uname-unhid' => 'jeneng panganggo dituduhaké',
 'revdelete-restricted' => 'rèstriksi ditrapaké marang para opsis',
 'revdelete-unrestricted' => 'rèstriksi marang para opsis dijabel',
-'logentry-move-move' => '$1 mindhahaké kaca $3 nèng $4',
-'logentry-move-move-noredirect' => '$1 mindhahaké kaca $3 nèng $4 tanpa nginggalaké pangalihan',
-'logentry-move-move_redir' => '$1 mindhahaké kaca $3 nèng $4 ngliwati pangalihan',
-'logentry-move-move_redir-noredirect' => '$1 mindhahaké kaca $3 nèng $4 ngliwati pangalihan tanpa nginggalaké pangalihan',
+'logentry-move-move' => '$1 {{GENDER:$2|mindhahaké}} kaca $3 nèng $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|mindhahaké}} kaca $3 nèng $4 tanpa ninggalaké pangalihan',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|mindhahaké}} kaca $3 nèng $4 nindesi pangalihan liyane',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|mindhahaké}} kaca $3 nèng $4 nindesi pangalihan liyane tanpa nginggalaké pangalihan',
 'logentry-patrol-patrol' => '$1 {{GENDER:$2|nengeri}} rèvisi $4 saka kaca $3 sing diawasi',
-'logentry-patrol-patrol-auto' => '$1 otomatis nandhai benahan $4 saka kaca $3 kaawasai',
-'logentry-newusers-newusers' => 'Akun panganggo $1 digawé',
-'logentry-newusers-create' => 'Akun panganggo $1 digawé',
-'logentry-newusers-create2' => 'Akun panganggo $3 digawé déning $1',
-'logentry-newusers-byemail' => 'Akun pengguna $3 dibuat oleh $1 dan kata sandi dikirim melalui e-mail',
-'logentry-newusers-autocreate' => 'Akun $1 digawé otomatis',
+'logentry-patrol-patrol-auto' => '$1 otomatis {{GENDER:$2|nandhani}} benahan $4 saka kaca $3 kaawasake',
+'logentry-newusers-newusers' => 'Akun panganggo $1 {{GENDER:$2|digawé}}',
+'logentry-newusers-create' => 'Akun panganggo $1 {{GENDER:$2|digawé}}',
+'logentry-newusers-create2' => 'Akun panganggo $3 {{GENDER:$2|digawé}} déning $1',
+'logentry-newusers-byemail' => 'Akun panganggo $3 {{GENDER:$2|digawé}} déning $1 lan tembung sandhine dikirim lewat layang elektronik',
+'logentry-newusers-autocreate' => 'Akun $1 {{GENDER:$2|digawé}} otomatis',
 'logentry-rights-rights' => '$1 {{GENDER:$2|ngganti}} kaanggotan kelompok kanggo $3 saka $4 dadi $5',
-'logentry-rights-rights-legacy' => '$1 mengubah keanggotaan grup $3',
-'logentry-rights-autopromote' => 'otomatis ditawakaké saka $4 nèng $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|ngganti}} kanggotaan grup kanggo $3',
+'logentry-rights-autopromote' => '$1 otomatis {{GENDER:$2|dipromosikne}} saka $4 nèng $5',
 'rightsnone' => '(ora ana)',
 
 # Feedback
@@ -3594,6 +3788,7 @@ Utawa, Sampéyan bisa nganggo pormulir gampang ngisor. Tanggepan Sampéyan bakal
 'api-error-overwrite' => 'Nibani berkas sing wis ana ora dililakaké.',
 'api-error-stashfailed' => 'Kasalahan njero: Sasana gagal nyèlèhaké berkas sawetara.',
 'api-error-publishfailed' => 'Kasalahan njero: Sasana gagal nyèlèhaké berkas sawetara.',
+'api-error-stasherror' => 'Ana kasalahan wektu ngunggah berkas.',
 'api-error-timeout' => 'Sasana ora nanggepi nèng wektu sing karepaké.',
 'api-error-unclassified' => 'Ana masalah sing ora dingertèni.',
 'api-error-unknown-code' => 'Kasalahan ora dingertèni: "$1".',
@@ -3617,21 +3812,37 @@ Utawa, Sampéyan bisa nganggo pormulir gampang ngisor. Tanggepan Sampéyan bakal
 # Image rotation
 'rotate-comment' => 'Gambar diubengaké $1 {{PLURAL:$1|drajat|drajat}} sak arah domé jam',
 
+# Limit report
+'limitreport-title' => 'Parser profiling data:',
+'limitreport-cputime' => 'CPU time usage',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|detik|detik}}',
+'limitreport-walltime' => 'Penggunaan waktu riil',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|detik|detik}}',
+'limitreport-ppvisitednodes' => 'Preprocessor visited node count',
+'limitreport-ppgeneratednodes' => 'Preprocessor generated node count',
+'limitreport-postexpandincludesize' => 'Post-expand include size',
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|bita|bita}}',
+'limitreport-templateargumentsize' => 'Template argument size',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|bita|bita}}',
+'limitreport-expansiondepth' => 'Highest expansion depth',
+'limitreport-expensivefunctioncount' => 'Expensive parser function count',
+
 # Special:ExpandTemplates
 'expandtemplates' => 'Cithakan dikembangaké',
 'expand_templates_intro' => 'Kaca astaméwa iki njupuk sawetara tèks lan ngembangaké kabèh cithakan sajroning iku sacara rékursif.
 Kaca iki uga ngembangaké fungsi parser kaya ta
 <nowiki>{{</nowiki>#language:…}}, lan variabel kaya ta
-<nowiki>{{</nowiki>CURRENTDAY}}&mdash;sajatiné mèh kabèh sing ana ing antara rong tandha kurung akolade.
-Perkara iki dilakokaké caranémawa nyeluk tahapan parser sing rélévan saka MediaWiki dhéwé.',
+<nowiki>{{</nowiki>CURRENTDAY}}&mdash;sajatiné mèh kabèh sing ana ing antara rong tandha kurung akolade.',
 'expand_templates_title' => 'Irah-irahan kontèks, kanggo {{FULLPAGENAME}} lan sabanjuré:',
 'expand_templates_input' => 'Tèks sumber:',
 'expand_templates_output' => 'Pituwas (kasil)',
 'expand_templates_xml_output' => 'Pituwas XML',
+'expand_templates_html_output' => 'Raw HTML output',
 'expand_templates_ok' => 'OK',
 'expand_templates_remove_comments' => 'Busaken komentar',
 'expand_templates_remove_nowiki' => 'Brèdèl tag <nowiki> nèng asilé',
 'expand_templates_generate_xml' => 'Tuduhna uwit parser XML',
+'expand_templates_generate_rawhtml' => 'Show raw HTML',
 'expand_templates_preview' => 'Pratayang',
 
 );
index 93edd7f..6b12886 100644 (file)
@@ -1558,6 +1558,7 @@ $1",
 'recentchanges-label-bot' => 'ეს არის ბოტის რედაქტირება',
 'recentchanges-label-unpatrolled' => 'ეს რედაქტირება გადაუმოწმებელია',
 'recentchanges-label-plusminus' => 'ცვლილებების ზომა ბაიტებში',
+'recentchanges-legend-heading' => "'''ლეგენდა:'''",
 'recentchanges-legend-newpage' => '(იხ. აგრეთვე [[Special:NewPages|ახალი გვერდების სია]])',
 'rcnotefrom' => "ქვემოთ მოყვანილია ცვლილებები '''$2'''-დან (ნაჩვენებია '''$1''').",
 'rclistfrom' => 'ახალი ცვლილებების ჩვენება დაწყებული $1-დან',
index 6f2770b..06a0898 100644 (file)
@@ -136,9 +136,9 @@ $messages = array(
 'hidden-category-category' => 'کھوشت زمرہ جات',
 'category-subcat-count' => '{{PLURAL:$2|اِس زمرہ میں صرف درج ذیل ذیلی زمرہ ہے.|اِس زمرہ میں درج ذیل {{PLURAL:$1|ذیلی زمرہ|$1 ذیلی زمرہ جات}}, کل $2 میں سے.}}',
 'category-subcat-count-limited' => 'ھیہ زمرا درج ذیل {{PLURAL:$1|ذیلی زمرہ ہے|$1 ذیلی زمرہ جات شینی}}.',
-'category-article-count' => '{{Plural:$2|مضمون شینی|{{Plural:$1|صفحا|صفحا}} $2 ھیہ زمرا مضمون شینی}}',
+'category-article-count' => '{{PLURAL:$2|مضمون شینی|{{PLURAL:$1|صفحا|صفحا}} $2 ھیہ زمرا مضمون شینی}}',
 'category-article-count-limited' => 'The following {{PLURAL:$1|صفحا|$1 صفحات}} in the current category.',
-'category-file-count' => '{{Plural:$2|مضمون شینی|{{Plural:$1|صفحا|صفحا}} $2 ھیہ زمرا مضمون شینی}}',
+'category-file-count' => '{{PLURAL:$2|مضمون شینی|{{PLURAL:$1|صفحا|صفحا}} $2 ھیہ زمرا مضمون شینی}}',
 'category-file-count-limited' => 'The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'listingcontinuesabbrev' => 'جاری',
 'index-category' => 'نو انڈیکس صفحات',
index 640ebf2..76b06b2 100644 (file)
@@ -3746,7 +3746,7 @@ $5
 'duration-minutes' => '$1 {{PLURAL:$1|នាទី|នាទី}}',
 'duration-hours' => '$1 {{PLURAL:$1|ម៉ោង|ម៉ោង}}',
 'duration-days' => '$1 {{PLURAL:$1|ថ្ងៃ|ថ្ងៃ}}',
-'duration-weeks' => '$1 {{PLURAL: $1|សប្តាហ៍|សប្តាហ៍}}',
+'duration-weeks' => '$1 {{PLURAL:$1|សប្តាហ៍|សប្តាហ៍}}',
 'duration-years' => '$1 {{PLURAL:$1|ឆ្នាំ|ឆ្នាំ}}',
 'duration-decades' => '$1 {{PLURAL:$1|ទសវត្សរ៍|ទសវត្សរ៍}}',
 'duration-centuries' => '$1 {{PLURAL:$1|សតវត្សរ៍|សតវត្សរ៍}}',
index 3ebb231..15e08e7 100644 (file)
@@ -1579,16 +1579,14 @@ HTML 태그를 확인하세요.',
 'badsiglength' => '서명이 너무 깁니다.
 서명은 $1 {{PLURAL:$1|글자}}보다 짧아야 합니다.',
 'yourgender' => '어떻게 성별을 알려주고 싶습니까?',
-'gender-unknown' => '자세히 알려주기 싫습니다',
+'gender-unknown' => '밝히고 싶지 않습니다.',
 'gender-male' => '위키 문서를 편집하는 남자입니다',
 'gender-female' => '위키 문서를 편집하는 여자입니다',
-'prefs-help-gender' => '이 사용자 환경 설정을 설정하는 것은 선택 사항입니다.
-소프트웨어는 다른 사용자에게 화면을 보여주어 당신을 언급할 때 적절한 성별 문법을 사용하는 데 이 값을 사용합니다.
-이 정보는 공개됩니다.',
+'prefs-help-gender' => '이 사용자 환경 설정은 선택 사항입니다. 소프트웨어에서 이 설정을 사용해 사용자를 가리키고 다른 사용자에게 자신을 언급하는데 적절한 문법적 성별을 사용합니다. 이 정보는 공개됩니다.',
 'email' => '이메일',
 'prefs-help-realname' => '실명은 선택 사항입니다.
 실명을 입력하면 문서 기여에 자신의 이름이 들어가게 됩니다.',
-'prefs-help-email' => '이메일 주소 입력은 선택 사항입니다. 다만 비밀번호를 잊었을 때 비밀번호 바꾸기를 위해 필요합니다.',
+'prefs-help-email' => '이메일 주소 입력은 선택 사항입니다. 다만 비밀번호를 잊었을 때 비밀번호를 재설정하기 위해 필요합니다.',
 'prefs-help-email-others' => '자신의 문서나 토론 문서에 있는 이메일 보내기 링크로 다른 사용자가 연락할 수 있게 할 수도 있습니다.
 이 경우에도 이메일 주소는 다른 사용자가 연락할 때 공개되지 않습니다.',
 'prefs-help-email-required' => '이메일 주소가 필요합니다.',
@@ -1798,7 +1796,7 @@ HTML 태그를 확인하세요.',
 'recentchanges-label-unpatrolled' => '아직 검토하지 않은 편집',
 'recentchanges-label-plusminus' => '바이트로 표기된 바뀐 문서 크기',
 'recentchanges-legend-heading' => "'''범례:'''",
-'recentchanges-legend-newpage' => '([[Special:NewPages|새 문서 목록]]도 참고하세요)',
+'recentchanges-legend-newpage' => '([[Special:NewPages|새 문서 목록]]도 세요)',
 'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "다음은 '''$2'''에서부터 바뀐 문서 '''$1'''개입니다.",
 'rclistfrom' => '$1 이래로 새로 바뀐 문서 보기',
@@ -4053,7 +4051,7 @@ $5
 'version-hook-name' => '훅 이름',
 'version-hook-subscribedby' => '훅이 사용된 위치',
 'version-version' => '(버전 $1)',
-'version-license' => '라이선스',
+'version-license' => '미ë\94\94ì\96´ì\9c\84í\82¤ ë\9d¼ì\9d´ì\84 ì\8a¤',
 'version-poweredby-credits' => "이 위키는 '''[https://www.mediawiki.org/ MediaWiki]'''(미디어위키)를 기반으로 작동합니다. Copyright © 2001-$1 $2.",
 'version-poweredby-others' => '그 외 다른 개발자',
 'version-poweredby-translators' => 'translatewiki.net 번역자',
index 51cf21f..94720b8 100644 (file)
@@ -124,7 +124,7 @@ $messages = array(
 'tog-editsection' => 'Хар бёлюмге «тюрлендир» джибериуню кёргюз',
 'tog-editsectiononrightclick' => 'Бёлюмлени бёлюм башлыкъгъа басханлай тюрлендириу бетин ач',
 'tog-showtoc' => 'Башларын кёргюз (3-ден кёб бёлюм башлыгъы болгъан бетлеге)',
-'tog-rememberpassword' => 'Бу компьютерде мени тергеў джазыўуму сакъла (эм кёб $1 {{PLURAL:$1|кюн|кюн}})',
+'tog-rememberpassword' => 'Бу компьютерде мени тергеў джазыўуму сакъла (эм кёб $1 {{PLURAL:$1|1=кюн|кюн}})',
 'tog-watchcreations' => 'Мен къурагъан (башлагъан) бетлени эм мен джюклеген файлланы кёзюмде тургъан тизмеме къош',
 'tog-watchdefault' => 'Мен тюрлендирген бетлени эм файлланы кёзюмде тургъан тизмеме къош',
 'tog-watchmoves' => 'Мен атларын ауушдургъан бетлени эм файлланы кёзюмде тургъан тизмеме къош',
@@ -229,16 +229,16 @@ $messages = array(
 'december-date' => '$1 декабрь',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категорияла}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категорияла}}',
 'category_header' => '«$1» категориядагъы бетле',
 'subcategories' => 'Тюбкатегорияла',
 'category-media-header' => '«$1» категориядагъы файлла',
 'category-empty' => "''Бу категория бусагъатда бошду.''",
-'hidden-categories' => '{{PLURAL:$1|Джашырылгъан категория|Джашырылгъан категорияла}}',
+'hidden-categories' => '{{PLURAL:$1|1=Джашырылгъан категория|Джашырылгъан категорияла}}',
 'hidden-category-category' => 'Джашыртын категорияла',
-'category-subcat-count' => '{{PLURAL:$2|Бу категориягъа къуру баргъан тюбкатегория киреди.|$2 тюбкатегориядан $1 киреди бу категориягъа.}}',
+'category-subcat-count' => '{{PLURAL:$2|1=Бу категориягъа къуру баргъан тюбкатегория киреди.|$2 тюбкатегориядан $1 киреди бу категориягъа.}}',
 'category-subcat-count-limited' => 'Бу категорияда {{PLURAL:$1|$1 тюбкатегория}} барды.',
-'category-article-count' => '{{PLURAL:$2|Бу категорияда къуру бир бет барды.|Бу категориядагъы $2 бетден $1 кёргюзюлгенди.}}',
+'category-article-count' => '{{PLURAL:$2|1=Бу категорияда къуру бир бет барды.|Бу категориядагъы $2 бетден $1 кёргюзюлгенди.}}',
 'category-article-count-limited' => 'Бу категорияда {{PLURAL:$1|$1 бет}} барды.',
 'category-file-count' => '{{PLURAL:$2|Бу категорияда къуру бир файл барды.|Категориядагъы $2 файлдан {{PLURAL:$1|$1 файлы кёргюзюлгенди}}.}}',
 'category-file-count-limited' => 'Бу категория да {{PLURAL:$1|$1 файл}} барды.',
@@ -308,7 +308,7 @@ $messages = array(
 'delete' => 'Кетер',
 'deletethispage' => 'Бу бетни кетер',
 'undelete_short' => '$1 {{PLURAL:$1|тюрлендириуню}} къайтар',
-'viewdeleted_short' => '{{PLURAL:$1|1|$1}} кетерилген тюрлендириуге къарау',
+'viewdeleted_short' => '{{PLURAL:$1|1=1|$1}} кетерилген тюрлендириуге къарау',
 'protect' => 'Джакъла',
 'protect_change' => 'тюрлендир',
 'protectthispage' => 'Бу бетни джакъла',
@@ -336,7 +336,7 @@ $messages = array(
 'redirectedfrom' => '(«$1» бетден джиберилгенди)',
 'redirectpagesub' => 'Башха бетге джибериучю бет',
 'lastmodifiedat' => 'Бу бетни ахыр тюрленнгени: $2, $1.',
-'viewcount' => 'Бу бетге {{PLURAL:$1|1|$1}} кере киргендиле.',
+'viewcount' => 'Бу бетге {{PLURAL:$1|1=1|$1}} кере киргендиле.',
 'protectedpage' => 'Джакъланнган бет',
 'jumpto' => 'Бери кёчерге:',
 'jumptonavigation' => 'навигация',
@@ -371,7 +371,7 @@ $1',
 
 'badaccess' => 'Кириуню халаты',
 'badaccess-group0' => 'Сизни соргъан амалны этерге эркинлигигиз джокъду.',
-'badaccess-groups' => 'Сиз соргъан амалны къуру $1 {{PLURAL:$2|группаны|группаланы}} къошулуучуларыны этерге мадарлары барды.',
+'badaccess-groups' => 'Сиз соргъан амалны къуру $1 {{PLURAL:$2|1=группаны|группаланы}} къошулуучуларыны этерге мадарлары барды.',
 
 'versionrequired' => 'MediaWiki-ни $1 версиясы керекди',
 'versionrequiredtext' => 'Бу бетде ишлер ючюн MediaWiki-ни $1 версиясы керекди.  [[Special:Version|Хайырладырылгъан программаны версияларыны юсюнден информациягъа]] къара.',
@@ -379,9 +379,9 @@ $1',
 'ok' => 'ОК',
 'retrievedfrom' => 'Чыкъгъаны — «$1»',
 'youhavenewmessages' => 'Сизге $1 келдиле ($2).',
-'youhavenewmessagesfromusers' => '{{PLURAL:$3|Башха бир къошулуучудан|$3 къошулуучудан}} сеннге $1 келди ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$3|1=Башха бир къошулуучудан|$3 къошулуучудан}} сеннге $1 келди ($2).',
 'youhavenewmessagesmanyusers' => 'Талай къошулуучудан $1 барды. ($2)',
-'newmessageslinkplural' => '{{PLURAL:$1|джангы билдириу|джангы билдириуле}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=джангы билдириу|джангы билдириуле}}',
 'newmessagesdifflinkplural' => 'ахыр {{PLURAL:$1|тюрлениу}}',
 'youhavenewmessagesmulti' => '$1 бетде джангы билдириуле бардыла.',
 'editsection' => 'тюрлендир',
@@ -397,7 +397,7 @@ $1',
 'collapsible-expand' => 'кёргюз',
 'thisisdeleted' => '$1 къараргъа неда къайтарыргъа (тургъузтургъа)?',
 'viewdeleted' => '$1 къараймыса?',
-'restorelink' => 'кетерилген {{PLURAL:$1|1|$1}} тюрлендириу',
+'restorelink' => 'кетерилген {{PLURAL:$1|1=1|$1}} тюрлендириу',
 'feedlinks' => 'Бу кёрюмде:',
 'feed-invalid' => 'Джазылыу каналны типи терсди.',
 'feed-unavailable' => 'Синдикация лентала табылынмайла бусагъатда',
@@ -469,7 +469,7 @@ $1',
 'badtitle' => 'Джарамагъан ат',
 'badtitletext' => 'Сорулгъан бетни аты терсди, бошду, неда интервики аты терс джазылгъанды. Келишмеген (хайырланыргъа болмагъан) символла хайырланыргъада боллукъдула атында.',
 'perfcached' => 'Бу информация кэшден алыннганды, ахыр тюрлениулени кёргюзмезге боллукъду. Кэшде максимум {{PLURAL:$1|джазыу}} сакъланады.',
-'perfcachedts' => 'Бу кэшден алыннган информацияды, ахыр кере ол $1 джангыртылыннганды. Кэшде эм кёбю бла  {{PLURAL:$4|джазыу|джазыу}} сакъланады.',
+'perfcachedts' => 'Бу кэшден алыннган информацияды, ахыр кере ол $1 джангыртылыннганды. Кэшде эм кёбю бла  {{PLURAL:$4|1=джазыу|джазыу}} сакъланады.',
 'querypage-no-updates' => 'Бу бетни бусагъатда джангыртыргъа болмайды.
 Мында келтирилген информация къабыл этилинник тюйюлдю.',
 'viewsource' => 'Къарау',
@@ -482,7 +482,7 @@ $1',
 'protectedinterface' => 'Бу бетде программаны интерфейс билдириую барды.
 Бютеу викиледе да бу билдириуню кёчюрмесин къошар неда тюрлендирир ючюн MediaWiki-ни локализациясыны сайты [//translatewiki.net/ translatewiki.net]-ни хайырландырыгъыз.',
 'editinginterface' => "'''Эс бёл:''' Сен системаны интерфейс бетин тюрлендире тураса. Бу, викини башха къошулуучуларына да тиерик затды. Кёчюрюр ючюн неда кёчюрмелени тюрлендирир ючюн, MediaWiki-ни локализация этиу проекти [//translatewiki.net/ translatewiki.net]-ни хайырландырыгъыз.",
-'cascadeprotected' => 'Бу бет тюрлениуледен джакъланыбды, ол каскадлы джакълау къабыл этилиннген  {{PLURAL:$1|бетге|бетлеге}} киргени ючюндю:
+'cascadeprotected' => 'Бу бет тюрлениуледен джакъланыбды, ол каскадлы джакълау къабыл этилиннген  {{PLURAL:$1|1=бетге|бетлеге}} киргени ючюндю:
 $2',
 'namespaceprotected' => '«$1» ат аламда бетлени тюрлендирирге эркинлигигиз джокъду.',
 'customcssprotected' => 'Бу CSS-бетни тюрлендирирге эркинлигигиз джокъду, бу бетде башха къошулуучуну энчи джарашдырыулары барды.',
@@ -521,7 +521,7 @@ $2',
 'yourpasswordagain' => 'Паролну джангыдан джаз:',
 'createacct-yourpasswordagain' => 'Паролну бегит',
 'createacct-yourpasswordagain-ph' => 'Паролну энтда бир кере джаз',
-'remembermypassword' => 'Бу компьютерде мени тергеў джазыўуму унутма (эм кёб $1 {{PLURAL:$1|кюн|кюн}})',
+'remembermypassword' => 'Бу компьютерде мени тергеў джазыўуму унутма (эм кёб $1 {{PLURAL:$1|1=кюн|кюн}})',
 'userlogin-remembermypassword' => 'Системада туруу',
 'userlogin-signwithsecure' => 'Джакъланнган байлам',
 'yourdomainname' => 'Сизни доменигиз:',
@@ -598,7 +598,7 @@ $2',
 Паролну алгъандан сора, джангыдан киригиз системагъа.',
 'blocked-mailpassword' => 'Сизни IP-адресигиз блокланыб турады, аны бла паролну къайтарыу функцияда.',
 'eauthentsent' => 'Джазылгъан электрон почтагъа адресни тюрлениуюн бегитирге соруу джиберилгенди. Письмода бу сизни электрон почтагъызны адреси болгъанын бегитир ючюн не этерге керек болгъаны да чертилгенди.',
-'throttled-mailpassword' => 'Паролну билдириу амал {{PLURAL:$1|ахыр $1 сагъатны}} ичинде бир кере хайырланылгъанды.
+'throttled-mailpassword' => 'Паролну билдириу амал {{PLURAL:$1|1=ахыр $1 сагъатны}} ичинде бир кере хайырланылгъанды.
 Джорукъдан чыгъыудан сакъланыр ючюн $1 {{PLURAL:$1|сагъатны}} ичинде къуру бир билдириу алыргъа болады.',
 'mailerror' => 'Почта джибериу хата: $1',
 'acct_creation_throttle_hit' => 'Кюн бла кечеге сизни IP-адресигизден {{PLURAL:$1|$1 тергеу джазыу (аккаунт)}} къуралгъанды. Бу амал энди бусагъатда джабыкъды.',
@@ -825,21 +825,21 @@ $2',
 Башхала сизни текстлеригизни тюрлендиргенлерин излемей эсегиз, былайгъа салмагъыз.<br />
 Сиз дагъыда этген къошакъларыгъызны автору болгъаныгъызны неда информацияны чыкъгъан джери эркин джаяргъа эм тюрлендирирге къойгъанын аны бегитесиз (къарагъыз: $1).
 '''ЭРКИНЛИКСИЗ АВТОР ХАКЪ БЛА ДЖАКЪЛАННГАН МАТЕРИАЛЛА САЛМАГЪЫЗ БЫЛАЙГЪА!'''",
-'longpageerror' => "'''ХАЛАТ: сиз сакълатхан текстни  {{PLURAL:$1|бир килобайт|$1 килобайт}} ёлчеми барды, ол {{PLURAL:$2|бир килобайт|$2 килобайт}} чекден кёбдю. Бет сакъланныкъ тюлдю.'''",
+'longpageerror' => "'''ХАЛАТ: сиз сакълатхан текстни  {{PLURAL:$1|1=бир килобайт|$1 килобайт}} ёлчеми барды, ол {{PLURAL:$2|1=бир килобайт|$2 килобайт}} чекден кёбдю. Бет сакъланныкъ тюлдю.'''",
 'readonlywarning' => "'''Эсгертиу. Кереклилерин тындырыу ишле себебли, билгилени базасы бусагъатда киритленибди. Ол себебден тюрлениулеригизни бусагъатда сакълаталлыкъ тюлсюз.''' Джазгъанларыгъызны башха бир текст файлда сакълаб, кечирек къошаргъа боллукъсуз. Киритлеген администратор бу билдириуню къойгъанды: $1",
 'protectedpagewarning' => "'''Эсгертиу: бу бет тюрлениуледен джакъланыбды, къуру администарторла тюрлендирелликдиле'''
 Тюбюнде, билги ючюн  журналдагъы ахыр джазыу берилгенди:",
 'semiprotectedpagewarning' => "'''Эсгертиу:''' бу бетни джангыз регистрация этген къошулуучула тюрлендирелликдиле.
 Тюбюнде, билги ючюн журналны ахыр джазыуу берилгенди:",
-'cascadeprotectedwarning' => "'''Эсгертиу:''' Бу бетни къуру Администраторла къауумдагъы къошулуучула тюрлендирирге боллукъду. Каскад джакълау {{PLURAL:$1|бетде|бетде}} хайырланнганы себебли:",
+'cascadeprotectedwarning' => "'''Эсгертиу:''' Бу бетни къуру Администраторла къауумдагъы къошулуучула тюрлендирирге боллукъду. Каскад джакълау {{PLURAL:$1|1=бетде|бетде}} хайырланнганы себебли:",
 'titleprotectedwarning' => "'''Эсгертиу: Бу бет джакъланыбды. Джангыз [[Special:ListGroupRights|энчи хакълары]] болгъанла текстни салыргъа боллукъдула.'''
 Тюбюнде, билги ючюн журналдан ахыр джазыу берилгенди:",
-'templatesused' => 'Бу бетде хайырланылгъан {{PLURAL:$1|шаблон|шаблонла}}:',
-'templatesusedpreview' => 'Ал къаралыучу бетде хайырланнган {{PLURAL:$1|шаблон|шаблонла}}:',
-'templatesusedsection' => 'Бу бетде хайырланнган {{PLURAL:$1|шаблон|шаблонла}}:',
+'templatesused' => 'Бу бетде хайырланылгъан {{PLURAL:$1|1=шаблон|шаблонла}}:',
+'templatesusedpreview' => 'Ал къаралыучу бетде хайырланнган {{PLURAL:$1|1=шаблон|шаблонла}}:',
+'templatesusedsection' => 'Бу бетде хайырланнган {{PLURAL:$1|1=шаблон|шаблонла}}:',
 'template-protected' => '(джакъланнган)',
 'template-semiprotected' => '(джарты джакъланыбды)',
-'hiddencategories' => 'Бу бет $1 {{PLURAL:$1|1 джашырылыннган категориягъа|$1 джашырылыннган категориялагъа}} киреди:',
+'hiddencategories' => 'Бу бет $1 {{PLURAL:$1|1=1 джашырылыннган категориягъа|$1 джашырылыннган категориялагъа}} киреди:',
 'edittools' => '<!-- Былайда орналгъан текст тюрлениу эмда джюклениу формада кёрюннюкдю. -->',
 'nocreatetext' => 'Бу сайтда джангы бет къуралыу тыйылгъанды.
 Ызына къайтыб болгъан бетни тюрлендирирге боллукъсуз, [[Special:UserLogin|системагъа кесигизни танытыргъа неда джангы тергеу джазыу (аккаунт) къураргъа]].',
@@ -847,8 +847,8 @@ $2',
 'sectioneditnotsupported-title' => 'Бёлюмлени тюрлендирир мадар джокъду.',
 'sectioneditnotsupported-text' => 'Бу бетде бёлюмлени тюрлендирирге болмайды.',
 'permissionserrors' => 'Эркинликлени халатлары',
-'permissionserrorstext' => 'Былайдагъы {{PLURAL:$1|чурум|чурумла}} ючюн, буну этерге хакъыгъыз джокъду:',
-'permissionserrorstext-withaction' => "«'''$2'''» этерге амалыгъыз джокъду. {{PLURAL:$1|Чуруму|Чурумлары}}:",
+'permissionserrorstext' => 'Былайдагъы {{PLURAL:$1|1=чурум|чурумла}} ючюн, буну этерге хакъыгъыз джокъду:',
+'permissionserrorstext-withaction' => "«'''$2'''» этерге амалыгъыз джокъду. {{PLURAL:$1|1=Чуруму|Чурумлары}}:",
 'recreate-moveddeleted-warn' => "'''Эс бёлюгюз! Сиз алгъын кетерилген бетни джангыдан къураргъа излейсиз'''
 
 Бетни джангыдан къураргъа кереклигине сагъыш этигиз.
@@ -880,7 +880,7 @@ $2',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Эсгериу:''' Бу бетде асыры кёб къайнакълы функция барды.
-Бу $2 чакъырыудан аз болургъа керекди, бусагъатда {{PLURAL:$1|1 чакъырыу барды|$1 чакъырыу барды}}.",
+Бу $2 чакъырыудан аз болургъа керекди, бусагъатда {{PLURAL:$1|1=1 чакъырыу барды|$1 чакъырыу барды}}.",
 'expensive-parserfunction-category' => 'Асыры кёб къайнакълы функциялары болгъан бетле',
 'post-expand-template-inclusion-warning' => "'''Эсгериу:''' къошулгъан шаблонланы ёлчеми асыры уллуду.
 Бир-бир шаблонла бетге къошуллукъ тюлдюле.",
@@ -932,7 +932,7 @@ $3 джанындан берилген сылтау: ''$2''",
 'history-show-deleted' => 'Къуру кетерилгенле',
 'histfirst' => 'Эм эски',
 'histlast' => 'Эм джангы',
-'historysize' => '($1 {{PLURAL:$1|байт|байт}})',
+'historysize' => '($1 {{PLURAL:$1|1=байт|байт}})',
 'historyempty' => '(бош)',
 
 # Revision feed
@@ -981,8 +981,8 @@ $3 джанындан берилген сылтау: ''$2''",
 'revdelete-no-file' => 'Белгиленнген файл джокъду.',
 'revdelete-show-file-confirm' => '«<nowiki>$1</nowiki>» файлны $2 $3 датада кетерилген версиясына къараргъа излегенигизге ишексизмисиз?',
 'revdelete-show-file-submit' => 'Хоу',
-'revdelete-selected' => "'''[[:$1]] бетни {{PLURAL:$2|Сайланнган версия|сайланнган версиялары}}:'''",
-'logdelete-selected' => "'''Журналны {{PLURAL:$1|Сайланнган джазыу|сайланнган джазыулары}}:'''",
+'revdelete-selected' => "'''[[:$1]] бетни {{PLURAL:$2|1=Сайланнган версия|сайланнган версиялары}}:'''",
+'logdelete-selected' => "'''Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:'''",
 'revdelete-text' => "'''Кетерилге версияла бла болуула алкъын бетни тарихи бла журналлада кёрюннюкдю, алай а бир кесеги тюз кириучюледен джашырыллыкъды.'''
 {{SITENAME}} сайтдагъы башха администраторла джашырылгъан ичге кирирге эмда аны ызына салыргъа боллукъдула.",
 'revdelete-confirm' => 'Тилейбиз, буну этерге излегенигизни, эсеблерин ангылагъаныгъызны, эм буну [[{{MediaWiki:Policy-url}}|джорукълагъа]] кёре этгенигизни билдиригиз.',
@@ -1002,7 +1002,7 @@ $3 джанындан берилген сылтау: ''$2''",
 'revdelete-suppress' => 'Администраторладан да джашыра тур билгилени',
 'revdelete-unsuppress' => 'Ызына къайтарылгъан версияладан тыйгъычланы кетер',
 'revdelete-log' => 'Чурум:',
-'revdelete-submit' => '{{PLURAL:$1|Сайланнган версия|Сайланнган версиялада}} хайырлан',
+'revdelete-submit' => '{{PLURAL:$1|1=Сайланнган версия|Сайланнган версиялада}} хайырлан',
 'revdelete-success' => "'''Версияны кёрюнюую джетишимли тюрлендирилгенди'''",
 'revdelete-failure' => "'''Версияны кёрюнюую тюрленеллик тюлдю'''
 $1",
@@ -1052,7 +1052,7 @@ $1",
 'mergehistory-go' => 'Бирлешиннген тюрлендириулени кёргюз',
 'mergehistory-submit' => 'Тюрлениулени бирлештир',
 'mergehistory-empty' => 'Бирлешдирир ючюн тюрлениуле табылмагъандыла',
-'mergehistory-success' => '[[:$1]] бетни $3 {{PLURAL:$3|тюрлендириую|тюрлендириую}} тыйыншлы [[:$2]] ичинде бирлешдирилди.',
+'mergehistory-success' => '[[:$1]] бетни $3 {{PLURAL:$3|1=тюрлендириую|тюрлендириую}} тыйыншлы [[:$2]] ичинде бирлешдирилди.',
 'mergehistory-fail' => 'Бетлине тарихлери бирлешемеди, тилейбиз бетни эмда заманны параметрлерин джангыдан сынагъыз.',
 'mergehistory-no-source' => '$1 тамал бет джокъду',
 'mergehistory-no-destination' => '$1 нюзюр бет джокъду',
@@ -1078,9 +1078,9 @@ $1",
 'compareselectedversions' => 'Сайланнган версияланы тенглешдириу',
 'showhideselectedversions' => 'Сайланнган версияланы кёргюз/джашыр',
 'editundo' => 'ызына алыу',
-'diff-multi' => '({{PLURAL:$2|Бир къошулуучу|$2 къошулуучу}} этген {{PLURAL:$1|$1 аралыкъ тюрлениу|$1 аралыкъ тюрлениу}} кёргюзюлмегенди)',
-'diff-multi-manyusers' => '($2 къошулуучудан кёб {{PLURAL:$2|Бир къошулуучу|къошулуучу}} этген {{PLURAL:$1|бир аралыкъ тюрлениу|$1 аралыкъ тюрлениу}} кёргюзюлмегенди)',
-'difference-missing-revision' => 'Бу тенглешдириу ($1) ючюн {{PLURAL:$2|$2 версия}} {{PLURAL:$2|табылмады}}.
+'diff-multi' => '({{PLURAL:$2|1=Бир къошулуучу|$2 къошулуучу}} этген {{PLURAL:$1|1=$1 аралыкъ тюрлениу|$1 аралыкъ тюрлениу}} кёргюзюлмегенди)',
+'diff-multi-manyusers' => '($2 къошулуучудан кёб {{PLURAL:$2|1=Бир къошулуучу|къошулуучу}} этген {{PLURAL:$1|1=бир аралыкъ тюрлениу|$1 аралыкъ тюрлениу}} кёргюзюлмегенди)',
+'difference-missing-revision' => 'Бу тенглешдириу ($1) ючюн {{PLURAL:$2|1=$2 версия}} {{PLURAL:$2|табылмады}}.
 
 
 Бу, эскирген джибериу бла кетерилген бетни версияларын тенглешдириуге кёчген сагъатда кёбюсюне болады.
@@ -1095,8 +1095,8 @@ $1",
 'notextmatches' => 'Бетлени текстлеринде бирчалыкъ джокъду',
 'prevn' => 'алдагъы {{PLURAL:$1|$1}}',
 'nextn' => 'эндиги {{PLURAL:$1|$1}}',
-'prevn-title' => 'Алдагъы $1 {{PLURAL:$1|эсеб|эсеб}}',
-'nextn-title' => 'Артдагъы $1 {{PLURAL:$1|эсеб|эсеб}}',
+'prevn-title' => 'Алдагъы $1 {{PLURAL:$1|1=эсеб|эсеб}}',
+'nextn-title' => 'Артдагъы $1 {{PLURAL:$1|1=эсеб|эсеб}}',
 'shown-title' => 'Бетде $1 {{PLURAL:$1|джазыуну}} кёргюз',
 'viewprevnext' => 'Къара: ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Бу викиде «[[:$1]]» бет барды'''",
@@ -1112,7 +1112,7 @@ $1",
 'searchprofile-everything-tooltip' => 'Бютеу бетледе изле (сюзюу бетледе да)',
 'searchprofile-advanced-tooltip' => 'Энчи ат аланладада изле',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 сёз}})',
-'search-result-category-size' => '{{PLURAL:$1|1 элемент|$1 элемент}} ({{PLURAL:$2|1 тюбкатегория|$2 тюбкатегория}}, {{PLURAL:$3|1 файл|$3 файл}})',
+'search-result-category-size' => '{{PLURAL:$1|1=1 элемент|$1 элемент}} ({{PLURAL:$2|1=1 тюбкатегория|$2 тюбкатегория}}, {{PLURAL:$3|1=1 файл|$3 файл}})',
 'search-result-score' => 'Келишиулюк: $1%',
 'search-redirect' => '(Джиберилиниу $1)',
 'search-section' => '($1 бёлюм)',
@@ -1124,9 +1124,9 @@ $1",
 'searcheverything-enable' => 'Атланы бютеу аламларында изле',
 'searchrelated' => 'бейламлы',
 'searchall' => 'бютеу',
-'showingresults' => 'Тюбюрек №&nbsp;<strong>$2</strong> башлаб <strong>$1</strong> {{PLURAL:$1|эсеб|эсебле}} {{PLURAL:$1|кёргюзюлгенди|кёргюзюлгендиле}}.',
-'showingresultsnum' => 'Тюбюрек №&nbsp;<strong>$2</strong> башлаб <strong>$3</strong> {{PLURAL:$3|эсеб|эсебле}} {{PLURAL:$3|кёргюзюлгенди|кёргюзюлгендиле}}.',
-'showingresultsheader' => "'''$4''' ючюн {{PLURAL:$5|'''$3''' эсебден '''$1'''|'''$1 — $2''' арасы '''$3''' эсеб}}",
+'showingresults' => 'Тюбюрек №&nbsp;<strong>$2</strong> башлаб <strong>$1</strong> {{PLURAL:$1|1=эсеб|эсебле}} {{PLURAL:$1|1=кёргюзюлгенди|кёргюзюлгендиле}}.',
+'showingresultsnum' => 'Тюбюрек №&nbsp;<strong>$2</strong> башлаб <strong>$3</strong> {{PLURAL:$3|1=эсеб|эсебле}} {{PLURAL:$3|1=кёргюзюлгенди|кёргюзюлгендиле}}.',
+'showingresultsheader' => "'''$4''' ючюн {{PLURAL:$5|1='''$3''' эсебден '''$1'''|'''$1 — $2''' арасы '''$3''' эсеб}}",
 'search-nonefound' => 'Соруу бла келишген эсеб джокъду',
 'powersearch-legend' => 'Кенг излеу',
 'powersearch-ns' => 'Атла аламда излеу:',
@@ -1153,7 +1153,7 @@ $1",
 'prefs-rc' => 'Ахыр тюрлениуле',
 'prefs-watchlist' => 'Кёзде тургъан тизме',
 'prefs-watchlist-days' => 'Кёзде тургъан тизмеде кёргюзюллюк кюнлени саны:',
-'prefs-watchlist-days-max' => 'Максимум $1 {{PLURAL:$1|кюн|кюн}}',
+'prefs-watchlist-days-max' => 'Максимум $1 {{PLURAL:$1|1=кюн|кюн}}',
 'prefs-watchlist-edits' => 'Кёзде тургъан тизмени кенглешдирилген вариантында кёргюзюллюк тюрлениулени саны:',
 'prefs-watchlist-edits-max' => 'Максимум саны:1000',
 'prefs-watchlist-token' => 'Кёзде тургъан тизмени токени:',
@@ -1173,7 +1173,7 @@ $1",
 'stub-threshold' => '<a href="#" class="stub">Стаблагъа джибериуню</a> формат этер ючюн марда (байтлада):',
 'stub-threshold-disabled' => 'Джукъланыбды',
 'recentchangesdays' => 'Ахыр тюрлениуледе кёргюзюллюк кюнле:',
-'recentchangesdays-max' => '(максимум $1 {{PLURAL:$1|кюн|кюн}})',
+'recentchangesdays-max' => '(максимум $1 {{PLURAL:$1|1=кюн|кюн}})',
 'recentchangescount' => 'Тынгылау бла кёргюзюллюк тюрлениулени саны:',
 'prefs-help-recentchangescount' => 'Бу, ахыр тюрлениулени, бетни тарихлерин эмда журналланы ичине къошады.',
 'savedprefs' => 'Джарашдырыуларыгъыз сакъландыла.',
@@ -1208,7 +1208,7 @@ $1",
 'youremail' => 'Электрон почта:',
 'username' => '{{GENDER:$1|Къошулуучу ат}}:',
 'uid' => '{{GENDER:$1|Къошулуучуну}} коду:',
-'prefs-memberingroups' => '{{PLURAL:$1|Группаны|Группаланы}} {{GENDER:$2|члени}}:',
+'prefs-memberingroups' => '{{PLURAL:$1|1=Группаны|Группаланы}} {{GENDER:$2|члени}}:',
 'prefs-memberingroups-type' => '$1',
 'prefs-registration' => 'Регистрацияны этилген заманы:',
 'prefs-registration-date-time' => '$1',
@@ -1221,7 +1221,7 @@ $1",
 'badsig' => 'Джараусуз къол салыныу.
 HTML теглени осмакълагъыз.',
 'badsiglength' => 'Къол салыуугъуз бек узунду.
-$1 {{PLURAL:$1|символдан|символладан}} кеб болургъа болмайды.',
+$1 {{PLURAL:$1|1=символдан|символладан}} кеб болургъа болмайды.',
 'yourgender' => 'Эркиши/Тиширыу:',
 'gender-unknown' => 'Белгиленмегенди',
 'gender-male' => 'эркиши',
@@ -1409,7 +1409,7 @@ $1 {{PLURAL:$1|символдан|символладан}} кеб болургъ
 'action-sendemail' => 'E-mail джибериу',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|тюрлениу|тюрлениу}}',
+'nchanges' => '$1 {{PLURAL:$1|1=тюрлениу|тюрлениу}}',
 'recentchanges' => 'Ахыр тюрлениуле',
 'recentchanges-legend' => 'Ахыр тюрлениулени джарашдырыулары',
 'recentchanges-summary' => 'Тюбюнде, Википедияда этилген ахыр тюрлениуле хронология бла тизилиб турадыла.',
@@ -1500,9 +1500,9 @@ $1 {{PLURAL:$1|символдан|символладан}} кеб болургъ
 'filetype-badmime' => '«$1» MIME типли файлланы джюклениуюне эркинлик берлимейди.',
 'filetype-bad-ie-mime' => 'Internet Explorer, буну эркинлик берилмеген эмда потенциал заран берлик «$1» файл тип кибик таныгъаны ючюн бу файл джюклениллик тюлдю.',
 'filetype-unwanted-type' => "'''\".\$1\"''' изленмеген файл типиди.
-Изленнген {{PLURAL:\$3|файл тип|файл типле}} \$2.",
-'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|джасакъланнган файл типди|джасакъланнган файл типледиле}}.
-Эркинлик берилген {{PLURAL:$3|файл тип|файл типле}}: $2.",
+Изленнген {{PLURAL:\$3|1=файл тип|файл типле}} \$2.",
+'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|1=джасакъланнган файл типди|джасакъланнган файл типледиле}}.
+Эркинлик берилген {{PLURAL:$3|1=файл тип|файл типле}}: $2.",
 'filetype-missing' => 'Файлны кенглешиуу джокъду (сёз ючюн, «.jpg» кибик)',
 'empty-file' => 'Сиз ийген файл бошду.',
 'file-too-large' => 'Сиз ийген файл асыры уллуду.',
@@ -1540,7 +1540,7 @@ $1 {{PLURAL:$1|символдан|символладан}} кеб болургъ
 Файлыгъызны джангыдан джюклерге излей эсегиз, ызына къайтыб джангы ат хайырланыгъыз. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'Быллай атлы файл файлланы сакълауну джеринде барды.
 Дагъыда файлыгъызны джюклерге излей эсегиз, ызына къайтыб джангы ат хайырланыгыз. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Бу файл эндиги {{PLURAL:$1|файлны|файлланы}} дубликатыды:',
+'file-exists-duplicate' => 'Бу файл эндиги {{PLURAL:$1|1=файлны|файлланы}} дубликатыды:',
 'file-deleted-duplicate' => 'Бу файлны ушашы болгъан башха файл ([[:$1]]) алгъаракъ кетерилгенди. Бу файлны джангыдан джюклерни аллы бла файлны кетериуюню тарихи бла танышыгъыз.',
 'uploadwarning' => 'Эсгертиу',
 'uploadwarning-text' => 'Файлны тюбюрекде келтирилген ачыкълауун тюрлендиригиз да джангыдан кёрюгюз.',
@@ -1618,7 +1618,7 @@ URL-адрес тюз болгъанын осмакълагъыз эмда дж
 'backend-fail-closetemp' => 'Болджаллы файлны джабалмайды.',
 'backend-fail-read' => '«$1» файлны окъуялмады.',
 'backend-fail-create' => '«$1» файлны джазалмады.',
-'backend-fail-maxsize' => 'Ёлчеми {{PLURAL:$2|бир байт|$2 байт}}дан кёб болгъаны себебли «$1» файл джазылмады.',
+'backend-fail-maxsize' => 'Ёлчеми {{PLURAL:$2|1=бир байт|$2 байт}}дан кёб болгъаны себебли «$1» файл джазылмады.',
 
 # Special:UploadStash
 'uploadstash' => 'Джашыртын джюклеу',
@@ -1702,14 +1702,14 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'filehist-comment' => 'Эсгериу',
 'filehist-missing' => 'Файл джокъду',
 'imagelinks' => 'Файлны хайырланыуу',
-'linkstoimage' => 'Бу файлгъа {{PLURAL:$1|бет|$1 бет}} джибередиле:',
+'linkstoimage' => 'Бу файлгъа {{PLURAL:$1|1=бет|$1 бет}} джибередиле:',
 'linkstoimage-more' => '$1 дегенден артыкъ {{PLURAL:$1|бет}} бу файлгъа джибериу береди.
 Бу тизмеде бу файлгъа {{PLURAL:$1|къуру $1 джибериу}} кёргюзюледи.
 [[Special:WhatLinksHere/$2|Толу тизме]] да барды.',
 'nolinkstoimage' => 'Бу файлгъа джиберген бет джокъду.',
 'morelinkstoimage' => 'Бу файлгъа [[Special:WhatLinksHere/$1|къалгъан джибериулеге]] къара.',
 'linkstoimage-redirect' => '$1 (файл редирект) $2',
-'duplicatesoffile' => '{{PLURAL:$1|файл|$1 файл}}, бу файлны дубликатыды ([[Special:FileDuplicateSearch/$2|анданда кёб ангылатыу]]):',
+'duplicatesoffile' => '{{PLURAL:$1|1=файл|$1 файл}}, бу файлны дубликатыды ([[Special:FileDuplicateSearch/$2|анданда кёб ангылатыу]]):',
 'sharedupload' => 'Бу файл $1денди эм башха проектледе хайырландыргъа боллукъду.',
 'sharedupload-desc-there' => 'Бу файл $1 базадан башха проектледе хайырландырыргъа боллукъду.
 Андан кёб билги ючюн [$2 файлны ангылатыу бетге] къарагъыз.',
@@ -1770,7 +1770,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 
 # Random page
 'randompage' => 'Эсде болмагъан бет',
-'randompage-nopages' => '{{PLURAL:$2|Ат аланында|Ат аланында}} чырт бир бет джокъду: $1.',
+'randompage-nopages' => '{{PLURAL:$2|1=Ат аланында|Ат аланында}} чырт бир бет джокъду: $1.',
 
 # Random redirect
 'randomredirect' => 'Сакъланмагъан джибериу',
@@ -1794,7 +1794,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'statistics-views-peredit' => 'Тюрлендириуге къарауну саны',
 'statistics-users' => 'Регистрация этилген [[Special:ListUsers|къошулуучула]]',
 'statistics-users-active' => 'Актив къошулуучула',
-'statistics-users-active-desc' => 'Ахыр {{PLURAL:$1|1 кюнде|$1 кюнде}} ишлеме этген къошулуучула',
+'statistics-users-active-desc' => 'Ахыр {{PLURAL:$1|1=1 кюнде|$1 кюнде}} ишлеме этген къошулуучула',
 'statistics-mostpopular' => 'Эм кёб къаралгъан бетле',
 
 'pageswithprop-submit' => 'Таб',
@@ -1820,13 +1820,13 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байт}}',
-'ncategories' => '$1 {{PLURAL:$1|категория|категорияла}}',
-'nlinks' => '$1 {{PLURAL:$1|джибериу|джибериу}}',
+'ncategories' => '$1 {{PLURAL:$1|1=категория|категорияла}}',
+'nlinks' => '$1 {{PLURAL:$1|1=джибериу|джибериу}}',
 'nmembers' => '$1 {{PLURAL:$1|объект}}',
-'nrevisions' => '$1 {{PLURAL:$1|версия|версия}}',
-'nviews' => '$1 {{PLURAL:$1|къарау|къарау}}',
-'nimagelinks' => '$1 {{PLURAL:$1|бетде|бетде}} хайырланады',
-'ntransclusions' => '$1 {{PLURAL:$1|бетде|бетде}} хайырланады',
+'nrevisions' => '$1 {{PLURAL:$1|1=версия|версия}}',
+'nviews' => '$1 {{PLURAL:$1|1=къарау|къарау}}',
+'nimagelinks' => '$1 {{PLURAL:$1|1=бетде|бетде}} хайырланады',
+'ntransclusions' => '$1 {{PLURAL:$1|1=бетде|бетде}} хайырланады',
 'specialpage-empty' => 'Сорма эсеб келтирмеди.',
 'lonelypages' => 'Ёксюз бетле',
 'lonelypagestext' => 'Тюбюндеги бетлеге {{SITENAME}} сайтдагъы башха бетледен джибериу берилмегенди неда ала башха бетлеге къошулмагъандыла.',
@@ -1862,7 +1862,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'listusers' => 'Къошулуучуланы тизмеси',
 'listusers-editsonly' => 'Къуру тюрлендириу этген къошлуучуланы кёргюз',
 'listusers-creationsort' => 'Къуралгъан заманына кёре сафла',
-'usereditcount' => '$1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
+'usereditcount' => '$1 {{PLURAL:$1|1=тюрлендириу|тюрлендириу}}',
 'usercreated' => '$1 $2 заманда {{GENDER:$3|регистрацияны ётгенди}}',
 'newpages' => 'Джангы бетле',
 'newpages-username' => 'Къошулуучуну аты:',
@@ -1876,8 +1876,8 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'notargettext' => 'Бу функцияны ишлетир ючюн нюзюр бетни неда къошулуучуну белгилемегенсиз.',
 'nopagetitle' => 'Быллай нюзюр бет джокъду',
 'nopagetext' => 'Белгиленнген нюзюр бет джокъду.',
-'pager-newer-n' => '{{PLURAL:$1|1 джангыракъ|$1 джангыракъ}}',
-'pager-older-n' => '{{PLURAL:$1|1 эскирек|$1 эскирек}}',
+'pager-newer-n' => '{{PLURAL:$1|1=1 джангыракъ|$1 джангыракъ}}',
+'pager-older-n' => '{{PLURAL:$1|1=1 эскирек|$1 эскирек}}',
 'suppress' => 'Джашырыу',
 
 # Book sources
@@ -1918,7 +1918,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 
 # Special:Categories
 'categories' => 'Категорияла',
-'categoriespagetext' => 'Ызындан келген {{PLURAL:$1|категория|категорияла}} бет неда медия-файл тутадыла.
+'categoriespagetext' => 'Ызындан келген {{PLURAL:$1|1=категория|категорияла}} бет неда медия-файл тутадыла.
 [[Special:UnusedCategories|Хайырланмагъан категорияла]] былайда кёргюзюлмегендиле.
 Дагъыда [[Special:WantedCategories|изленнген категорияла]] гъакъарагъыз.',
 'categoriesfrom' => 'Бу бла башланнган категорияланы кёргюз:',
@@ -1949,8 +1949,8 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 
 # Special:ActiveUsers
 'activeusers' => 'Актив къошулуучуланы тизмеси',
-'activeusers-intro' => 'Бу, ахыр $1 {{PLURAL:$1|кюнде|кюнде}} къаллайда болсун ишлетме кёргюзген къошлуучуланы тизмесиди.',
-'activeusers-count' => 'Ахыр {{PLURAL:$3|кюнде|$3 кюнде}} $1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
+'activeusers-intro' => 'Бу, ахыр $1 {{PLURAL:$1|1=кюнде|кюнде}} къаллайда болсун ишлетме кёргюзген къошлуучуланы тизмесиди.',
+'activeusers-count' => 'Ахыр {{PLURAL:$3|1=кюнде|$3 кюнде}} $1 {{PLURAL:$1|1=тюрлендириу|тюрлендириу}}',
 'activeusers-from' => 'Бу бла башланнган къошлуучуланы кёргюз:',
 'activeusers-hidebots' => 'Ботланы джашыр',
 'activeusers-hidesysops' => 'Администраторланы джашыр',
@@ -1968,12 +1968,12 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'listgrouprights-members' => '(къауумну тизмеси)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <code>($2)</code></span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <code>($2)</code></span>',
-'listgrouprights-addgroup' => '{{PLURAL:$2|Къауум|Къауум}} къошаргъа боллукъду: $1',
-'listgrouprights-removegroup' => 'бу {{PLURAL:$2|къауумдан|къауумладан}} къыстаргъа боллукъду: $1',
+'listgrouprights-addgroup' => '{{PLURAL:$2|1=Къауум|Къауум}} къошаргъа боллукъду: $1',
+'listgrouprights-removegroup' => 'бу {{PLURAL:$2|1=къауумдан|къауумладан}} къыстаргъа боллукъду: $1',
 'listgrouprights-addgroup-all' => 'Бютеу къауумлагъа къошаргъа боллукъду',
 'listgrouprights-removegroup-all' => 'бютеу къауумладан къыстаргъа боллукъду',
-'listgrouprights-addgroup-self' => 'кесини тергеу джазыууна {{PLURAL:$2|къауум|къауумла}} къошаллыкъды: $1',
-'listgrouprights-removegroup-self' => 'кесини тергеу джазыуундан {{PLURAL:$2|къауум|къауумланы}} къораталлыкъды: $1',
+'listgrouprights-addgroup-self' => 'кесини тергеу джазыууна {{PLURAL:$2|1=къауум|къауумла}} къошаллыкъды: $1',
+'listgrouprights-removegroup-self' => 'кесини тергеу джазыуундан {{PLURAL:$2|1=къауум|къауумланы}} къораталлыкъды: $1',
 'listgrouprights-addgroup-self-all' => 'Бютеу къауумланы кесини тергеу джазыууна къошаллыкъды',
 'listgrouprights-removegroup-self-all' => 'Кесини тергеу джазыуундан бютеу къауумланы къораталлыкъды',
 
@@ -2032,12 +2032,12 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'unwatchthispage' => 'Кёзде тутууну тохтат',
 'notanarticle' => 'Статья тюлдю',
 'notvisiblerev' => 'Версия кетерилгенди',
-'watchlist-details' => 'Кёзюгюзде тургъан тизмегизде, сюзюу бетлери саналмай {{PLURAL:$1|$1 бет|$1 бет}} барды.',
+'watchlist-details' => 'Кёзюгюзде тургъан тизмегизде, сюзюу бетлери саналмай {{PLURAL:$1|1=$1 бет|$1 бет}} барды.',
 'wlheader-enotif' => 'Эл. почта бла хапар бериу джандырылыбды.',
 'wlheader-showupdated' => "Ахыр кириуюгюзден сора бетни тюрлениулери '''къалын''' джазыу бла кёргюзюлгенди.",
 'watchmethod-recent' => 'кёзде тургъан бетледе этилген ахыр тюрлениуле кёрюу',
 'watchmethod-list' => 'кёзде тургъан бетледе этилген ахыр тюрлениуле кёрюу',
-'watchlistcontains' => 'Кёзюгюзде тургъан тизмегизде $1 {{PLURAL:$1|бет|бет}} барды.',
+'watchlistcontains' => 'Кёзюгюзде тургъан тизмегизде $1 {{PLURAL:$1|1=бет|бет}} барды.',
 'iteminvalidname' => "'$1' элемент бла проблемала, джараусуз ат...",
 'wlnote' => "Тюбюндеди кёргюзюлгенди: ахыр '''$2''' сагъатха этилген ахыр '''$1''' тюрлениу, $3 $4 заманнга дери.",
 'wlshowlast' => 'Арт $1 сагъат $2 кюннге $3 кёргюз',
@@ -2091,7 +2091,7 @@ $UNWATCHURL
 'exblank' => 'бет бош эди',
 'delete-confirm' => '«$1» — кетериу',
 'delete-legend' => 'Кетер',
-'historywarning' => "'''Эсгериу:''' кетериле тургъан бетни $1 {{PLURAL:$1|версиялы|версиялы}} тарихи барды:",
+'historywarning' => "'''Эсгериу:''' кетериле тургъан бетни $1 {{PLURAL:$1|1=версиялы|версиялы}} тарихи барды:",
 'confirmdeletetext' => 'Сиз бетни (неда суратны) бютеу тюрлениу тарихи бла толу кетерирге соргъансыз.
 Алай этерге керти излегенигизни эм  [[{{MediaWiki:Policy-url}}кетериу политика]] бёлюмде ачыкъланнган джорукъла бла этгенигизни, бегитигиз.',
 'actioncomplete' => 'Этим толтурулду',
@@ -2110,9 +2110,9 @@ $UNWATCHURL
 ** Автор хакъланы бузуу
 ** Вандализм',
 'delete-edit-reasonlist' => 'Чурумланы тизмесин тюрлендир',
-'delete-toobig' => 'Бу бетни, $1 {{PLURAL:$1|версияла|версияла}} бла бек узун тарихи барды.
+'delete-toobig' => 'Бу бетни, $1 {{PLURAL:$1|1=версияла|версияла}} бла бек узун тарихи барды.
 Быллай бетлени кетерилиую, {{SITENAME}} сайтны бузмаз ючюн чекленгенди.',
-'delete-warning-toobig' => 'Бу бетни уллу тюрлендириу тарихи барды, $1 {{PLURAL:$1|версиядан|версиядан}} артыкъ.
+'delete-warning-toobig' => 'Бу бетни уллу тюрлендириу тарихи барды, $1 {{PLURAL:$1|1=версиядан|версиядан}} артыкъ.
 Буну кетериу {{SITENAME}} ишлеулени асхатыргъа боллукъду;
 эсгере андан ары ишлегиз.',
 
@@ -2161,7 +2161,7 @@ $2 тюрлендирген алгъаракъ версиясына къайты
 'protect-locked-dblock' => "Актив билги базаны киритленнгени себебли, коъруулау параметрлени тюрлендиреллик тюлсюз.
 '''$1''' бет ючюн бусагъатдагъы параметрле:",
 'protect-locked-access' => "Сизге хакъ джетмейди бетни джакълау дараджасын тюрлендирирге. '''$1''' бетни бусагъатдагъы джакълау джарашдырыулары:",
-'protect-cascadeon' => 'Бу бет {{PLURAL:$1|тюбюнде белгиленнген бетге|тюбюнде белгиленнген бетлеге}} къошулгъаны ючюн джакъланыбды. Ол {{PLURAL:$1|бетде|бетледе}} каскадлы джакълау салыныб турады. Сиз бу бетни джакълау дараджасын тюрлендирирге боллукъсуз, алай а ол каскад джакълауну тюрледирлик тюлдю.',
+'protect-cascadeon' => 'Бу бет {{PLURAL:$1|1=тюбюнде белгиленнген бетге|тюбюнде белгиленнген бетлеге}} къошулгъаны ючюн джакъланыбды. Ол {{PLURAL:$1|1=бетде|бетледе}} каскадлы джакълау салыныб турады. Сиз бу бетни джакълау дараджасын тюрлендирирге боллукъсуз, алай а ол каскад джакълауну тюрледирлик тюлдю.',
 'protect-default' => 'Джакълаусуз',
 'protect-fallback' => '«$1» эркинлик керекди',
 'protect-level-autoconfirmed' => 'Джангы эм регистрация этмеген къошулуучуладан джакъла',
@@ -2206,11 +2206,11 @@ $2 тюрлендирген алгъаракъ версиясына къайты
 'undeletepage' => 'Кетерилген бетлени къара эмда ызына къайтар.',
 'undeletepagetitle' => "'''Тюбюнде [[:$1|$1]] бетни кетерилген версиялары кёрюннгенди'''.",
 'viewdeletedpage' => 'Кетерилген бетлеге къара',
-'undeletepagetext' => 'Тюбюндеги {{PLURAL:$1|бет|$1 бет}} кетерилгенди, алай а алкъыр архивдеди эм ызына къайтарыр мадар барды.
+'undeletepagetext' => 'Тюбюндеги {{PLURAL:$1|1=бет|$1 бет}} кетерилгенди, алай а алкъыр архивдеди эм ызына къайтарыр мадар барды.
 Архив кёзюулю ариуланыргъа болады.',
 'undelete-fieldset-title' => 'Версияны ызына джюкле',
 'undeleteextrahelp' => "Бетле бла бирге тарихини ызына къайтарыр ючюн бютеу белгилени бош къоюгъузда '''Ызына къайтар''' тиекден басыгъыз. Бетни тарихини башха-башха къайтарыр ючюн къайтарыргъа излеген тюрлендириулени белгилеб '''Ызына къайтар''' тиекден басыгъыз. Сайланнган белгилени эм комментарийлени кетерир ючюн '''Ариула''' тиекден басыгъыз.",
-'undeleterevisions' => '$1 {{PLURAL:$1|версия|версия}} архив этилди',
+'undeleterevisions' => '$1 {{PLURAL:$1|1=версия|версия}} архив этилди',
 'undeletehistory' => 'Сиз бетни ызына къайтарсагъыз, аны тюрлендириу тарихи да ызына къайтады.
 Кетерилгенден сора ол ат бла джангы бет къуралса, ызына къайтхан версияла джангы версиланы аллында тюрлендириуню тарихинде чыгъарыкъдыла.',
 'undeleterevdel' => 'Ызына къайтарыу, ахыр версияны неда файлны бузаргъа болса, тохтатыллыкъды.
@@ -2225,9 +2225,9 @@ $2 тюрлендирген алгъаракъ версиясына къайты
 'undeleteviewlink' => 'кёргюз',
 'undeleteinvert' => 'Сайлауну ызына бур',
 'undeletecomment' => 'Чурум:',
-'undeletedrevisions' => '$1 {{PLURAL:$1|тюрлендириу|тюрлендириу}} ызына къайтарылды',
-'undeletedrevisions-files' => '{{PLURAL:$1|1 версия|$1 версия}} бла {{PLURAL:$2|1 файл|$2 файл}} ызына къайтарылды',
-'undeletedfiles' => '{{PLURAL:$1|1 файл|$1 файл}} ызына къайтарылды',
+'undeletedrevisions' => '$1 {{PLURAL:$1|1=тюрлендириу|тюрлендириу}} ызына къайтарылды',
+'undeletedrevisions-files' => '{{PLURAL:$1|1=1 версия|$1 версия}} бла {{PLURAL:$2|1=1 файл|$2 файл}} ызына къайтарылды',
+'undeletedfiles' => '{{PLURAL:$1|1=1 файл|$1 файл}} ызына къайтарылды',
 'cannotundelete' => 'Бетни неда медианы сизден алгъа башха къошулуучу ызына къайтаргъаны себебли сизини ызына къайтарыу ишлемигиз джараусузду.',
 'undeletedpage' => "'''$1 бет ызына къайтарылды '''
 
@@ -2291,8 +2291,8 @@ $1',
 'isredirect' => 'джибериу бет',
 'istemplate' => 'къошуу',
 'isimage' => 'файлгъа джибериу',
-'whatlinkshere-prev' => '{{PLURAL:$1|алдагъы|алдагъы $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|эндиги|эндиги $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=алдагъы|алдагъы $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=эндиги|эндиги $1}}',
 'whatlinkshere-links' => '← джибериуле',
 'whatlinkshere-hideredirs' => 'джибериуле $1',
 'whatlinkshere-hidetrans' => 'Къошулуулары $1',
@@ -2351,7 +2351,7 @@ $1',
 'blocklist-reason' => 'Чурум',
 'ipblocklist-submit' => 'Таб',
 'ipblocklist-localblock' => 'Локал блокга салыу',
-'ipblocklist-otherblocks' => 'Башха {{PLURAL:$1|блокга салыу|блокга салыула}}',
+'ipblocklist-otherblocks' => 'Башха {{PLURAL:$1|1=блокга салыу|блокга салыула}}',
 'infiniteblock' => 'Болджалсыз блокга салыу',
 'expiringblock' => '$1 $2 бошаллыкъды',
 'anononlyblock' => 'къуру анонимле',
@@ -2391,7 +2391,7 @@ $1',
 'ipb_hide_invalid' => 'Бу тергеу джазыуну джашырыр мадар джокъду; асыры кёб тюрлендириу болургъа болур.',
 'ipb_already_blocked' => '«$1» блокга салыныбды',
 'ipb-needreblock' => '$1 алайсызда тыйылыбды. Джарашдырыуланы тюрлендирирге излеймисиз?',
-'ipb-otherblocks-header' => 'Башха {{PLURAL:$1|блок|блокла}}',
+'ipb-otherblocks-header' => 'Башха {{PLURAL:$1|1=блок|блокла}}',
 'ipb_cant_unblock' => 'Халат: Блок ID $1 табылмагъанды.
 Блок къоратылгъан болур.',
 'ipb_blocked_as_range' => 'Халат: $1 IP-адрес ачыкъдан тыйылмагъаны себебли, блокдан чыгъараллыкъ тюлсюз.
@@ -2480,11 +2480,11 @@ $1',
 'movepage-page-exists' => '$1 статья алайсызда барды эмда автомат халда джангыдан джазылалмаз.',
 'movepage-page-moved' => '$1 бет $2 бетге атын ауушдурду.',
 'movepage-page-unmoved' => '$1 бет $2 бетге атын ауушдуралмаз.',
-'movepage-max-pages' => 'Эм кёб $1 {{PLURAL:$1|бет|бет}} атын тюрлендирди эм андан асламы автомат халда атын тюрлендирелмез.',
+'movepage-max-pages' => 'Эм кёб $1 {{PLURAL:$1|бет}} атын тюрлендирди эм андан асламы автомат халда атын тюрлендирелмез.',
 'movelogpage' => 'Атла тюрлениуню журналы',
 'movelogpagetext' => 'Тюбюнде болгъан тизме аты тюрлендирилген бетлени кёргюзеди.',
-'movesubpage' => '{{PLURAL:$1|Subpage|Бет тюбле}}',
-'movesubpagetext' => 'Бу бетни тюбюнде кёргюзюлген $1 {{PLURAL:$1|бет тюбю|бет тюбю}} барды.',
+'movesubpage' => '{{PLURAL:$1|1=Subpage|Бет тюбле}}',
+'movesubpagetext' => 'Бу бетни тюбюнде кёргюзюлген $1 {{PLURAL:$1|1=бет тюбю|бет тюбю}} барды.',
 'movenosubpage' => 'Бу бетни тюб бети джокъду.',
 'movereason' => 'Чурум:',
 'revertmove' => 'ызына къайтыу',
@@ -2577,9 +2577,9 @@ MediaWiki локализациясына юлюш къошаргъа излей
 'import-comment' => 'Эсгериу:',
 'importtext' => 'Бетни къайнакъ викиден [[Special:Export|адырны хайырландырыб]] эскпорт этигиз. Файлны дискде сакълагъыз эм былайгъа джюклегиз.',
 'importstart' => 'Файлла импорт этиле турадыла...',
-'import-revision-count' => '$1 {{PLURAL:$1|версия|версия}}',
+'import-revision-count' => '$1 {{PLURAL:$1|1=версия|версия}}',
 'importnopages' => 'Импорт этиллик бет джокъду',
-'imported-log-entries' => 'Журналны {{PLURAL:$1|джазыуу|джазыуу}} импорт этилинди.',
+'imported-log-entries' => 'Журналны {{PLURAL:$1|1=джазыуу|джазыуу}} импорт этилинди.',
 'importfailed' => '$1 импорту джетишимсиз бошалды',
 'importunknownsource' => 'Билинмеген импорт къайнакъ типи',
 'importcantopen' => 'Импорт этилген файл ачылалмады',
@@ -2607,9 +2607,9 @@ MediaWiki локализациясына юлюш къошаргъа излей
 'importlogpage' => 'Импортну журналы',
 'importlogpagetext' => 'Башха викиледен бетлени тюрлендириу тарихин администраторланы импорт этиую.',
 'import-logentry-upload' => '[[$1]] файл джюклениую бла импорт этилди',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|версия|версия}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|1=версия|версия}}',
 'import-logentry-interwiki' => '$1 трансвикиленди',
-'import-logentry-interwiki-detail' => '$2 бетден  $1 {{PLURAL:$1|весрия|версия}}',
+'import-logentry-interwiki-detail' => '$2 бетден  $1 {{PLURAL:$1|1=весрия|версия}}',
 
 # JavaScriptTest
 'javascripttest' => 'JavaScript тинтилиую',
@@ -2688,14 +2688,14 @@ MediaWiki локализациясына юлюш къошаргъа излей
 'notacceptable' => 'Бу вики-сервер сизни браузеригиз излеген форматда билгиле берелмейди.',
 
 # Attribution
-'anonymous' => 'сайтны аноним {{PLURAL:$1|къошулуучулары|къошулуучулары}}',
+'anonymous' => 'сайтны аноним {{PLURAL:$1|1=къошулуучулары|къошулуучулары}}',
 'siteuser' => '{{SITENAME}} къошулуучу $1',
 'anonuser' => '{{SITENAME}} аноним къошулуучу $1',
 'lastmodifiedatby' => 'Бет эм ахыр $3 джанындан $2, $1 заманда тюрлендирилгенди.',
 'othercontribs' => '$1 джанындан этилген ишге тамалланады.',
 'others' => 'башхала',
-'siteusers' => '{{SITENAME}} {{PLURAL:$2|къошулуучу|къошулуучула}} $1',
-'anonusers' => '{{SITENAME}} аноним {{PLURAL:$2|къошулуучу|къошулуучула}} $1',
+'siteusers' => '{{SITENAME}} {{PLURAL:$2|1=къошулуучу|къошулуучула}} $1',
+'anonusers' => '{{SITENAME}} аноним {{PLURAL:$2|1=къошулуучу|къошулуучула}} $1',
 'creditspage' => 'Бетни кредитлери',
 'nocredits' => 'Бу къошулуучу ючюн кредит билги джокъду.',
 
@@ -2778,7 +2778,7 @@ $1',
 'imagemaxsize' => "Суратны ёлчемини чеги:<br />''(файлны ангылытыу бетле ючюн)''",
 'thumbsize' => 'Гитче ёлчем:',
 'widthheight' => '$1 × $2',
-'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|бет|бет}}',
+'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|1=бет|бет}}',
 'file-info' => 'файлны ёлчеми: $1, MIME типи: $2',
 'file-info-size' => '$1 × $2 пиксель, файлны ёлчеми: $3, MIME типи: $4',
 'file-nohires' => 'Мындан ары ачыкъланнган версиясы джокъду',
@@ -2787,14 +2787,14 @@ $1',
 'show-big-image-preview' => 'Ал къарауда уллулугъу: $1.',
 'show-big-image-size' => '$1 × $2 пиксель',
 'file-info-gif-looped' => 'тогъайланнганды',
-'file-info-gif-frames' => '$1 {{PLURAL:$1|фрейм|фрейм}}',
+'file-info-gif-frames' => '$1 {{PLURAL:$1|1=фрейм|фрейм}}',
 'file-info-png-looped' => 'тогъайланнганды',
-'file-info-png-repeat' => '$1 {{PLURAL:$1|кере|кере}} ойнатылды',
-'file-info-png-frames' => '$1 {{PLURAL:$1|фрейм|фрейм}}',
+'file-info-png-repeat' => '$1 {{PLURAL:$1|1=кере|кере}} ойнатылды',
+'file-info-png-frames' => '$1 {{PLURAL:$1|1=фрейм|фрейм}}',
 
 # Special:NewFiles
 'newimages' => 'Джангы файлланы галереясы',
-'imagelisttext' => "Тюбюрекде $2 кёре тизилген '''$1''' {{PLURAL:$1|файл|файл}} кёрюнеди.",
+'imagelisttext' => "Тюбюрекде $2 кёре тизилген '''$1''' {{PLURAL:$1|1=файл|файл}} кёрюнеди.",
 'newimages-summary' => 'Бу къуллукъ бет, кёб болмай джюкленнген файлланы кёргюзеди.',
 'newimages-legend' => 'Фильтр',
 'newimages-label' => 'Файлны аты (неда кесеги):',
@@ -2805,10 +2805,10 @@ $1',
 'sp-newimages-showfrom' => '$1, $2 замандан башлаб джангы файлланы кёргюз',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
-'seconds' => '{{PLURAL:$1|$1 секунд|$1 секунд}}',
-'minutes' => '{{PLURAL:$1|$1 минут|$1 минут}}',
-'hours' => '{{PLURAL:$1|$1 сагъат|$1 сагъат}}',
-'days' => '{{PLURAL:$1|$1 кюн|$1 кюн}}',
+'seconds' => '{{PLURAL:$1|1=$1 секунд|$1 секунд}}',
+'minutes' => '{{PLURAL:$1|1=$1 минут|$1 минут}}',
+'hours' => '{{PLURAL:$1|1=$1 сагъат|$1 сагъат}}',
+'days' => '{{PLURAL:$1|1=$1 кюн|$1 кюн}}',
 'weeks' => '{{PLURAL:$1|ыйыкъ}}',
 'months' => '{{PLURAL:$1|ай}}',
 'years' => '{{PLURAL:$1|джыл}}',
@@ -3161,8 +3161,8 @@ $1',
 'exif-gpslongitude-w' => 'Кюнбатыш узунлукъ',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|метрге|метрге}} тенгизден мийик',
-'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|метрге|метрге}} тенгизден алаша',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|1=метрге|метрге}} тенгизден мийик',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|1=метрге|метрге}} тенгизден алаша',
 
 'exif-gpsstatus-a' => 'Ёлчелеу бошалмагъанды',
 'exif-gpsstatus-v' => 'Ёлчелеу бошалгъанды',
@@ -3353,11 +3353,11 @@ $5
 Нормал ал къарауну хайырланыгъыз.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => '$1 {{PLURAL:$1|секундан|секундан}} джангы тюрлендириуле бу тизмеде кёрюнмезге боллукъдула.',
-'lag-warn-high' => 'Билги базаны сервериндеги бек кечигиу себебли, $1 {{PLURAL:$1|секундан|секундан}} джангы тюрлендириуле бу тизмеде кёрюнмей къалыргъа болур.',
+'lag-warn-normal' => '$1 {{PLURAL:$1|1=секундан|секундан}} джангы тюрлендириуле бу тизмеде кёрюнмезге боллукъдула.',
+'lag-warn-high' => 'Билги базаны сервериндеги бек кечигиу себебли, $1 {{PLURAL:$1|1=секундан|секундан}} джангы тюрлендириуле бу тизмеде кёрюнмей къалыргъа болур.',
 
 # Watchlist editor
-'watchlistedit-numitems' => 'Кёзде тургъан тизмеде {{PLURAL:$1|1 джазылгъан|$1 джазылгъан}} барды, сюзюу бетлени тышында.',
+'watchlistedit-numitems' => 'Кёзде тургъан тизмеде {{PLURAL:$1|1=1 джазылгъан|$1 джазылгъан}} барды, сюзюу бетлени тышында.',
 'watchlistedit-noitems' => 'Кёзюгюзде тургъан тизмегизде бир джазылгъан да джокъду.',
 'watchlistedit-normal-title' => 'Чынчыкълау спизокню тюрлендир',
 'watchlistedit-normal-legend' => 'Кёзюгюзде тургъан тизмегизден джазылгъанланы кетериу',
@@ -3365,7 +3365,7 @@ $5
 Джазылгъанланы кетерир ючюн, къатындагъы тёртгюлчюкде белгилеб, «{{int:Watchlistedit-normal-submit}}» тиекден басыгъыз.
 Сиз дагъыда [[Special:EditWatchlist/raw|тизмени текст кибик тюрлендирирге]] боллукъсуз.',
 'watchlistedit-normal-submit' => 'Башлыкъланы кетер',
-'watchlistedit-normal-done' => '{{PLURAL:$1|1 джазылгъан|$1 джазылгъан}}, кёзюгюзде тургъан тизмегизден кетерилди:',
+'watchlistedit-normal-done' => '{{PLURAL:$1|1=1 джазылгъан|$1 джазылгъан}}, кёзюгюзде тургъан тизмегизден кетерилди:',
 'watchlistedit-raw-title' => 'Кёзде тургъан «чий» тизмени тюрлендир',
 'watchlistedit-raw-legend' => 'Кёзде тургъан «чий» тизмени тюрлендир',
 'watchlistedit-raw-explain' => 'Кёзюгюзде тургъан тизмегиздеги бетле тюбюнде кёрюнедиле. Хар тизгинде бир башлыкъ болады, бетлени къошуб неда кетериб тизмени тюрлендирирге боллукъсуз.
@@ -3374,8 +3374,8 @@ $5
 'watchlistedit-raw-titles' => 'Башлыкъла:',
 'watchlistedit-raw-submit' => 'Кёзде тургъан тизмени сакъла',
 'watchlistedit-raw-done' => 'Кёзюгюзде тургъан тизмегиз сакъланнганды.',
-'watchlistedit-raw-added' => '{{PLURAL:$1|1 башлыкъ|$1 башлыкъ}} къошулду:',
-'watchlistedit-raw-removed' => '{{PLURAL:$1|1 башлыкъ|$1 башлыкъ}} кетерилди:',
+'watchlistedit-raw-added' => '{{PLURAL:$1|1=1 башлыкъ|$1 башлыкъ}} къошулду:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|1=1 башлыкъ|$1 башлыкъ}} кетерилди:',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Тизмеден бетледе тюрлениуле',
@@ -3478,7 +3478,7 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 'fileduplicatesearch-submit' => 'Таб',
 'fileduplicatesearch-info' => '$1 × $2 пиксель<br />Файлны ёлчеми: $3<br />MIME-тип: $4',
 'fileduplicatesearch-result-1' => '«$1» файлны келишген дубликаты джокъду',
-'fileduplicatesearch-result-n' => '«$1» файлны {{PLURAL:$2|1 келишген дубликатыi|$2 келишген дубликаты}} барды.',
+'fileduplicatesearch-result-n' => '«$1» файлны {{PLURAL:$2|1=1 келишген дубликатыi|$2 келишген дубликаты}} барды.',
 'fileduplicatesearch-noresults' => '«$1» деген файл табылмады.',
 
 # Special:SpecialPages
@@ -3524,7 +3524,7 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 'tags-description-header' => 'Магъананы толу ангылтыуу',
 'tags-hitcount-header' => 'Белгиленнген тюрлендириуле',
 'tags-edit' => 'тюрлендир',
-'tags-hitcount' => '$1 {{PLURAL:$1|тюрлениу|тюрлениу}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|1=тюрлениу|тюрлениу}}',
 
 # Special:ComparePages
 'comparepages' => 'Бетлени тенглешдир',
@@ -3602,13 +3602,13 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 
 # API errors
 'api-error-badtoken' => 'Ич халат: терс токен.',
-'api-error-duplicate-popup-title' => ' {{PLURAL:$1|Файлны|Файлны}} дубликаты',
+'api-error-duplicate-popup-title' => ' {{PLURAL:$1|1=Файлны|Файлны}} дубликаты',
 'api-error-empty-file' => 'Сиз ийген файлны ичи бошду.',
 'api-error-emptypage' => 'Ичи бош болгъан джангы бетле къураргъа болмайды.',
 'api-error-file-too-large' => 'Сиз ийген файл асыры уллуду.',
 'api-error-filename-tooshort' => 'Файлны аты асыры къысхады.',
 'api-error-filetype-banned' => 'Быллай типли файлла джасакъланыбдыла.',
-'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|джасакъланнган файл типди|джасакъланнган файл типледиле}}. {{PLURAL:$3|Эркинлик берилген файл тип —|Эркинлик берилген файл типле:}} $2.',
+'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|1=джасакъланнган файл типди|джасакъланнган файл типледиле}}. {{PLURAL:$3|1=Эркинлик берилген файл тип —|Эркинлик берилген файл типле:}} $2.',
 'api-error-filetype-missing' => 'Файлны кенгериую джокъду.',
 'api-error-hookaborted' => 'Сиз теджеген тюрлендириуню кенгертиуню сюзюучю джасакълагъанды.',
 'api-error-illegal-filename' => 'Джарамагъан файл ат.',
index a434f7d..2f92588 100644 (file)
@@ -4301,7 +4301,7 @@ Wat De doh enjiß, kütt met Dingem Metmaachername un Dingem Brauser op die Sigg
 'duration-minutes' => '{{PLURAL:$1|ein&nbsp;Menot|$1&nbsp;Menotte|kein&nbsp;Menot}}',
 'duration-hours' => '{{PLURAL:$1|en&nbsp;Schtond|$1&nbsp;Schtonde|kein&nbsp;Schtond}}',
 'duration-days' => '{{PLURAL:$1|ene&nbsp;Daach|$1&nbsp;Dääsch|keine&nbsp;Daach}}',
-'duration-weeks' => '{{PLURAL: $1|en&nbsp;Woch|$1&nbsp;Woche|kein&nbsp;Woch}}',
+'duration-weeks' => '{{PLURAL:$1|en&nbsp;Woch|$1&nbsp;Woche|kein&nbsp;Woch}}',
 'duration-years' => '{{PLURAL:$1|e&nbsp;Johr|$1&nbsp;Johre|kei&nbsp;Johr}}',
 'duration-decades' => '{{PLURAL:$1|zehn&nbsp;Johre|$1&nbsp;Johzehnte|kei&nbsp;Johzehnt}}',
 'duration-centuries' => '{{PLURAL:$1|e&nbsp;Johhondert|$1&nbsp;Johhonderte|kei&nbsp;Johhondert}}',
index a7d1d84..1333393 100644 (file)
@@ -754,6 +754,7 @@ Hamus nullam causam dedit.',
 Haec pagina deleta esse videtur.',
 'edit-conflict' => 'Contentio recensionis.',
 'edit-no-change' => 'Recensio tua non servata est, quia contenta paginae non mutavisti.',
+'postedit-confirmation' => 'Recensio tua servata est.',
 'edit-already-exists' => 'Non potui paginam novam creare
 quia haec pagina iam est.',
 
index 65839cd..3694171 100644 (file)
@@ -188,7 +188,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Esconder los trocamientos surveyados en la hoja de los "trocamientos freskos"',
 'tog-newpageshidepatrolled' => 'Esconder las hojas surveyadas de la lista de las hojas muevas',
 'tog-extendwatchlist' => 'Anchar mi lista de akavidamiento afín de àmostrar todos los trocamientos, no sólo los muevos',
-'tog-usenewrc' => 'Usar el modo adelantado (JavaScript es menester)',
+'tog-usenewrc' => 'Agrupar kambios por pajinas en kambios resiente y lista',
 'tog-numberheadings' => 'Numerotar otomatika mente los títůlos de los kapítůlos',
 'tog-showtoolbar' => 'Àmostrar el chibuk de aparatos',
 'tog-editondblclick' => 'Trocar las pajinas con doble klik',
@@ -196,9 +196,9 @@ $messages = array(
 'tog-editsectiononrightclick' => 'Pueder trocar los kapítůlos, en pizando el botón derecho del ratón encima el títůlo',
 'tog-showtoc' => 'Àmostrar el cuadro de contènidos (para las hojas que tienen más de 3 títůlos de capítůlo)',
 'tog-rememberpassword' => 'Acordarse de mi entrada en este navigador (a lo más muńcho $1 {{PLURAL:$1|día|días}})',
-'tog-watchcreations' => 'Akavidar las hojas que crîo',
-'tog-watchdefault' => 'Akavidar las hojas que troco',
-'tog-watchmoves' => 'Akavidar las hojas que taxireo',
+'tog-watchcreations' => 'Anyadir lad pajinas ke kree i archivos ke karge a mi lista',
+'tog-watchdefault' => 'Anyadir pajinas i archivos ke edite a mi lista',
+'tog-watchmoves' => 'Anyadir pajinas i archivo ke move a mi lista',
 'tog-watchdeletion' => 'Akavidar las hojas que efasso',
 'tog-minordefault' => 'Yir marcando todos los trocamientos como chiquiticos',
 'tog-previewontop' => 'Àmostar el previsteo enriva del cuadro de trocamiento',
@@ -222,6 +222,7 @@ $messages = array(
 'tog-diffonly' => 'No amostrar el contenido de la hoja debaxo las diffes (diferencias entre los trocamientos)',
 'tog-showhiddencats' => 'Amostrar las katēggorías escondidas',
 'tog-norollbackdiff' => 'No amostrar la diff doeśpués de aboltar',
+'tog-useeditwarning' => 'Avirteme kuando desho la pajina sin guardar los kambios',
 
 'underline-always' => 'Siempre',
 'underline-never' => 'Nunca',
@@ -235,14 +236,14 @@ $messages = array(
 'editfont-serif' => 'Tipografía serif',
 
 # Dates
-'sunday' => 'Aljhad',
+'sunday' => 'Alkhad',
 'monday' => 'Lunes',
 'tuesday' => 'Martes',
 'wednesday' => 'Miércoles',
 'thursday' => 'Juğeves',
 'friday' => 'Viernes',
 'saturday' => 'Shabbath',
-'sun' => 'Aljh',
+'sun' => 'Alkh',
 'mon' => 'Lun',
 'tue' => 'Mar',
 'wed' => 'Mie',
@@ -261,10 +262,10 @@ $messages = array(
 'october' => 'Ochòvre',
 'november' => 'Noviembre',
 'december' => 'Deziembre',
-'january-gen' => 'Enero',
+'january-gen' => 'Jenero',
 'february-gen' => 'Hevrero',
 'march-gen' => 'Março',
-'april-gen' => 'Abril',
+'april-gen' => 'Avril',
 'may-gen' => 'Mayo',
 'june-gen' => 'Juño',
 'july-gen' => 'Jullo',
@@ -273,10 +274,10 @@ $messages = array(
 'october-gen' => 'Ochòvre',
 'november-gen' => 'Noviembre',
 'december-gen' => 'Deziembre',
-'jan' => 'Ene',
+'jan' => 'Jen',
 'feb' => 'Hev',
 'mar' => 'Mar',
-'apr' => 'Abr',
+'apr' => 'Avr',
 'may' => 'May',
 'jun' => 'Juñ',
 'jul' => 'Jull',
@@ -301,7 +302,7 @@ $messages = array(
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kateggoría|Kateggorías}}',
 'category_header' => 'Artíkolos en la kateggoría "$1"',
-'subcategories' => 'Sòkateggorías',
+'subcategories' => 'Sòkategoriyas',
 'category-media-header' => 'Arxivos de multimedya en la kateggoría "$1"',
 'category-empty' => "''Esta katēggoría oy día, no contiene ni artícůlos ni arxivos de multimedya''",
 'hidden-categories' => '{{PLURAL:$1|Kateggoría escondida|Kateggorías escondidas}}',
@@ -322,6 +323,7 @@ $messages = array(
 'newwindow' => '(Se avre en una mueva ventana)',
 'cancel' => 'Anular',
 'moredotdotdot' => 'Mas...',
+'morenotlisted' => 'Esta lista no esta kompleta',
 'mypage' => 'Pajina',
 'mytalk' => 'Mi diskusyon',
 'anontalk' => 'Diskusyón para este adresso de IP',
@@ -338,12 +340,12 @@ $messages = array(
 'faqpage' => 'Project:DDS',
 
 # Vector skin
-'vector-action-addsection' => 'Àjustar sujeto',
+'vector-action-addsection' => 'Ajustar sujeto',
 'vector-action-delete' => 'Efassar',
-'vector-action-move' => 'Taxirear',
+'vector-action-move' => 'Taşirear',
 'vector-action-protect' => 'Guardar',
 'vector-action-undelete' => 'Traer atrás',
-'vector-action-unprotect' => 'No guardar',
+'vector-action-unprotect' => 'Kambiar proteksyon',
 'vector-simplesearch-preference' => 'Aktivar consejos de búsqueda adelantada (sólo pelejo Vector)',
 'vector-view-create' => 'Criar',
 'vector-view-edit' => 'Trocar',
@@ -354,15 +356,16 @@ $messages = array(
 'namespaces' => 'Espacios de nombres',
 'variants' => 'Formas diferentes',
 
+'navigation-heading' => 'Menu de navigasyon',
 'errorpagetitle' => 'Yerro',
 'returnto' => 'Tornar a $1.',
 'tagline' => 'De {{SITENAME}}',
 'help' => 'Ayudo',
-'search' => 'Bushkar',
-'searchbutton' => 'Bushkar',
+'search' => 'Buxcar',
+'searchbutton' => 'Buxcar',
 'go' => 'Vate',
 'searcharticle' => 'Vate',
-'history' => 'La îstoria de la hoja',
+'history' => 'La istoria de la hoja',
 'history_short' => 'Istoria',
 'updatedmarker' => 'trocado desde mi visita de alcavo',
 'printableversion' => 'Forma apropiada para imprimir',
@@ -378,7 +381,7 @@ $messages = array(
 'undelete_short' => 'Traer atrás $1 {{PLURAL:$1|trocamientos|trocamientos}}',
 'viewdeleted_short' => 'Ver {{PLURAL:$1|un trocamiento efassado|$1 trocamientos efassados}}',
 'protect' => 'Guardar',
-'protect_change' => 'troca el guardadijo',
+'protect_change' => 'trocar el guardadijo',
 'protectthispage' => 'Guardar esta hoja',
 'unprotect' => 'Trocar guardadijo',
 'unprotectthispage' => 'Trocar el guardadijo desta hoja',
@@ -405,9 +408,9 @@ $messages = array(
 'redirectpagesub' => 'Hoja redirigida',
 'lastmodifiedat' => 'Esta hoja fue trocada por la dal cavo vez el $1, a las $2.',
 'protectedpage' => 'Hoja guardada',
-'jumpto' => 'Salta a:',
+'jumpto' => 'Saltar a:',
 'jumptonavigation' => 'navigación',
-'jumptosearch' => 'bushkar',
+'jumptosearch' => 'buxcar',
 'pool-errorunknown' => 'Yerro deskonosido',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
@@ -434,9 +437,11 @@ $messages = array(
 'ok' => 'DE ACORDDO',
 'retrievedfrom' => 'Acòjido del adhresso "$1"',
 'youhavenewmessages' => '{{PLURAL:$3|Tienes}} $1 ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|un muevo mesaje|999=mesajes muevos}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|ulitmo kambio|999=ultimos kambios}}',
 'youhavenewmessagesmulti' => 'Tienes messajes nuevos en $1',
 'editsection' => 'troca',
-'editold' => 'troca',
+'editold' => 'trocar',
 'viewsourceold' => 'Ver su manadero',
 'editlink' => 'trocar',
 'viewsourcelink' => 'ver su manadero',
@@ -446,6 +451,7 @@ $messages = array(
 'hidetoc' => 'esconder',
 'thisisdeleted' => 'Ver o restorar $1?',
 'viewdeleted' => 'Desea ver $1?',
+'feedlinks' => 'Kanal:',
 'site-rss-feed' => 'Fuente de RSS de $1',
 'site-atom-feed' => 'Alimentela de Atom de $1',
 'page-rss-feed' => '"$1" Fuente RSS',
@@ -454,15 +460,15 @@ $messages = array(
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Pajina',
-'nstab-user' => 'Hoja de empleador',
+'nstab-user' => 'Hoja del kullaneador',
 'nstab-media' => 'Hoja de Meddia',
 'nstab-special' => 'Hoja especial',
 'nstab-project' => 'Hoja del proyecto',
 'nstab-image' => 'Dosya',
 'nstab-mediawiki' => 'Messaj',
-'nstab-template' => 'Xablón',
+'nstab-template' => 'Şablón',
 'nstab-help' => 'Ayudo',
-'nstab-category' => 'Kateggoría',
+'nstab-category' => 'Kategoriya',
 
 # Main script and global functions
 'nosuchspecialpage' => 'No ay tala hoja especial',
@@ -470,6 +476,8 @@ $messages = array(
 # General errors
 'error' => 'Yerro',
 'databaseerror' => 'Yerro de la Databasa',
+'databaseerror-query' => 'Demanda: $1',
+'databaseerror-function' => 'Fonksyon: $1',
 'databaseerror-error' => 'Yerro: $1',
 'missing-article' => 'La basa de dados no topó el teksto de la hoja llamada "$1" $2.
 
@@ -480,7 +488,7 @@ Si puede ser mete un [[Special:ListUsers/sysop|administrador]] en corriente y ta
 'missingarticle-rev' => '(nº. de revisión: $1)',
 'missingarticle-diff' => '(Dif.: $1, $2)',
 'filecopyerror' => 'No se pudo copiar el arxiv "$1" a "$2".',
-'badtitle' => 'Titolo malo',
+'badtitle' => 'Titolo negro',
 'badtitletext' => 'El título de la hoja demandada está vazío, no es valible, o es un link interlingua o interwiki incorrecto.
 Puede ser que contiene uno o más caracteres que no se pueden usar en los títulos.',
 'viewsource' => 'Ver su manadero',
@@ -488,8 +496,15 @@ Puede ser que contiene uno o más caracteres que no se pueden usar en los títul
 # Login and logout pages
 'welcomeuser' => 'Bienvinidos, $1',
 'yourname' => 'Su nombre de usuario',
+'userlogin-yourname' => 'Nombre de usuario',
+'userlogin-yourname-ph' => 'Eskrive tu nombre de usuario',
+'createacct-another-username-ph' => 'Eskrive el nombre de usuario',
 'yourpassword' => 'Parola',
+'userlogin-yourpassword' => 'Kontrasenya',
+'userlogin-yourpassword-ph' => 'Eskriva tu kontrasenya',
+'createacct-yourpassword-ph' => 'Eskriva una kontrasenya',
 'yourpasswordagain' => 'Entra de muevo la parola',
+'createacct-yourpasswordagain-ph' => 'Eskrive la kontrasenya de muevo',
 'remembermypassword' => 'Acórdate de mi entrada de usador en este bilgisayar/orddênador (por un maksimum de {{PLURAL:$1|día|días}})',
 'login' => 'Entrar',
 'nav-login-createaccount' => 'Entrar / Criar un cuento',
@@ -497,24 +512,32 @@ Puede ser que contiene uno o más caracteres que no se pueden usar en los títul
 'userlogin' => 'Entrar / Registrarse',
 'logout' => 'Salir',
 'userlogout' => 'Salir',
+'userlogin-noaccount' => 'No tiene un kuento?',
+'userlogin-joinproject' => 'Abonar {{SITENAME}}',
 'nologin' => "¿No tienes un cuento? '''$1'''.",
 'nologinlink' => 'Crea un cuento',
 'createaccount' => 'Crea un nuevo cuento',
 'gotaccount' => "¿Ya tienes un cuento? '''$1'''.",
 'gotaccountlink' => 'Entrar',
 'userlogin-resetlink' => 'Olvidates tus detalyos de akseso?',
+'userlogin-resetpassword-link' => 'Olvidaste tu kontrasenya?',
 'userlogin-createanother' => 'Krear otro kuento',
+'createacct-join' => 'Eskrive abasho tu informasyon',
 'createacct-emailrequired' => 'Adreso de korreo elektroniko',
+'createacct-email-ph' => 'Eskrive tu adreso de korreo elektroniko',
+'createacct-another-email-ph' => 'Eskrive el adreso de korreo elektronico',
 'createaccountmail' => 'por una letra electrónica',
 'createaccountreason' => 'Razon:',
 'createacct-reason' => 'Razon',
 'createacct-submit' => 'Krear tu cuento',
 'createacct-another-submit' => 'Krear otro kuento',
-'createacct-benefit-body2' => '{{{{PLURAL:$1|pajina|pajinas}}',
+'createacct-benefit-heading' => '{{SITENAME}} es izo por djente komo tu.',
+'createacct-benefit-body2' => '{{PLURAL:$1|pajina|pajinas}}',
 'userexists' => 'El nombre que entrates ya se usa.
 Si puede ser, escoge un otro nombre.',
 'createaccounterror' => 'No se pudo crear el cuento: $1',
-'mailmypassword' => 'Embiar una nueva koddiche por e-mail',
+'mailmypassword' => 'Restableser kontrasenya',
+'mailerror' => 'Falta al embiar korreo: $1',
 'emailconfirmlink' => 'Confirma su adderesso de letra electrónica',
 'accountcreated' => 'Cuento creado',
 'accountcreatedtext' => 'El cuento del usuario para $1 fue creado.',
@@ -534,11 +557,16 @@ Si puede ser, escoge un otro nombre.',
 # Special:ChangeEmail
 'changeemail' => 'Kambiar adreso de korreo elektroniko',
 'changeemail-header' => 'Kambiar adreso de korreo elektroniko de kuento',
+'changeemail-oldemail' => 'Adreso de korreo elektroniko aktual:',
 'changeemail-newemail' => 'Muevo adreso de korreo elektroniko:',
 'changeemail-none' => '(dinguno)',
+'changeemail-password' => 'Tu kontrasenya en {{SITENAME}}:',
 'changeemail-submit' => 'Trocar letral',
 'changeemail-cancel' => 'Anular',
 
+# Special:ResetTokens
+'resettokens-token-label' => '$1(valor aktual: $2)',
+
 # Edit page toolbar
 'bold_sample' => 'Teksto gordo',
 'bold_tip' => 'Teksto gordo',
@@ -563,7 +591,7 @@ Si puede ser, escoge un otro nombre.',
 'minoredit' => 'Esta es una edición chiquitica',
 'watchthis' => 'Cudia esta hoja',
 'savearticle' => 'Enrejistra la hoja',
-'preview' => 'Previsualizar',
+'preview' => 'Echar una ojada',
 'showpreview' => 'Mostrar la previsualización',
 'showlivepreview' => 'Previsteo bivo',
 'showdiff' => 'Amostrar los trocamientos',
@@ -573,6 +601,7 @@ Tu adresso de IP va ser enrejjistrado en la istoria de la hoja.",
 'blockedtitle' => 'El usador está blokeado',
 'blockednoreason' => 'La razόn no se diό',
 'whitelistedittext' => 'Tienes que $1 para pueder trocar artículos.',
+'nosuchsectiontitle' => 'No se puede topar seksyon',
 'loginreqtitle' => 'Entrar es menester',
 'loginreqlink' => 'entrar',
 'loginreqpagetext' => 'Tienes que $1 para pueder ver otras hojas.',
@@ -599,7 +628,7 @@ Los tus trokamientos no se tienen guadrados!",
 'yourtext' => 'Tu teksto',
 'yourdiff' => 'Diferencias',
 'copyrightwarning' => "Si puede ser, observa que todas las contribuciones a {{SITENAME}} se consideran hechas públicas abaxo la $2 (ver detalyos en $1). Si no queres que la gente endereche tus tekstos escritos sin piadad i los esparta libberamente, alora no los metas aquí. También nos estás asegurando ansí que escribites este teksto tu mismo i sos el dueño de los derechos de autor, o lo copiates desde el dominio público u otra fuente libbero.'''¡QUE N0 USES TEKSTOS ESCRITOS CON COPYRIGHT SIN PERMISSIÓN!'''<br />",
-'templatesused' => '{{PLURAL:$1|El xabblón usado|Los xabblones usados}} en esta hoja:',
+'templatesused' => '{{PLURAL:$1|El şablón usado|Los şablones usados}} en esta hoja:',
 'templatesusedpreview' => '{{PLURAL:$1|El xabblón usado|Los xabblones usados}} en esta vista:',
 'template-protected' => '(guardada)',
 'template-semiprotected' => '(media guardada)',
@@ -611,9 +640,13 @@ Kale ke penses si es menesterozo editar esta oja.
 El enrejistro de efassado i taxireado para esta oja puede ser meldado aki:",
 'moveddeleted-notice' => "Esta ója fue efassada.
 El ''log'' de efassado i taxireado de la ója es amostrado abasho para dar referensia.",
+'edit-already-exists' => 'No se puede krear una pajina mueva.
+Ya egziste.',
+'defaultmessagetext' => 'Teksto de mesaje predeterminado',
 
 # Content models
 'content-model-wikitext' => 'vikiteksto',
+'content-model-css' => 'CSS',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Avizo:''' La contenencia de xablon está muy grande.
@@ -623,6 +656,9 @@ Algunos xablones no van á ser comprendidos.",
 Este o estos kampos no van ser amostrados",
 'post-expand-template-argument-category' => 'Ojas ke tienen xablones kon parametros no uzados',
 
+# Account creation failure
+'cantcreateaccounttitle' => 'No se puede krear el kuento',
+
 # History pages
 'viewpagelogs' => 'Ver los registros de esta hoja',
 'currentrev' => "Enderechamiento d'al cavo",
@@ -642,8 +678,8 @@ Leyenda: (act) = diferencias con la versión actual,
 (prev) = diferencias con la versión previa, M = edición menor",
 'history-fieldset-title' => 'Buscar en la istoria',
 'history-show-deleted' => 'Sólamente efassado',
-'histfirst' => 'Primeras',
-'histlast' => 'De alcabo',
+'histfirst' => 'Lo mas antiko',
+'histlast' => 'Lo mas muevo',
 'historysize' => '({{PLURAL:$1|1 byte|$1 bytes}})',
 'historyempty' => '(vazío)',
 
@@ -655,6 +691,8 @@ Leyenda: (act) = diferencias con la versión actual,
 'rev-delundel' => 'mostra/esconde',
 'rev-showdeleted' => 'mostra',
 'revdelete-show-file-submit' => 'Si',
+'revdelete-hide-image' => 'Eskonder el kontenido de archivo',
+'revdelete-hide-user' => 'Nombre de usuario/adreso de IP del Redaktor',
 'revdelete-radio-same' => '(no troques)',
 'revdelete-radio-set' => 'Eskondido',
 'revdelete-radio-unset' => 'No',
@@ -674,7 +712,7 @@ Leyenda: (act) = diferencias con la versión actual,
 'history-title' => 'Istorya de trokamientos para «$1»',
 'lineno' => 'Liña $1:',
 'compareselectedversions' => 'Comparar versiones escogidas',
-'editundo' => 'des-haze',
+'editundo' => 'des-hazer',
 'diff-multi' => '(No {{PLURAL:$1|es amostrado un trokamiento intermedio echo|son amostrados $1 trokamientos intermedios echos}} por {{PLURAL:$2|un usador|$2 usadores}})',
 
 # Search results
@@ -688,16 +726,16 @@ Leyenda: (act) = diferencias con la versión actual,
 'shown-title' => 'Amostrar $1 {{PLURAL:$1|resultado|resultados}} por hoja',
 'viewprevnext' => 'Ver ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => 'Egziste una oja yamada "[[:$1]]" en esta viki',
-'searchmenu-new' => "'''Crîar la hoja «[[:$1]]» en esta viki!'''",
+'searchmenu-new' => "'''Krear la pajina «[[:$1]]» en esta viki!'''{{PLURAL:$2|0=|Tambien ver la pajina topado kon tu bushkida.|Tambier ver la resulta de tu bushkida.}}",
 'searchprofile-articles' => 'Hojas de contènido',
 'searchprofile-project' => 'Hojas de ayudo y hojas de projeto',
 'searchprofile-images' => 'Multimedya',
 'searchprofile-everything' => 'Todo',
 'searchprofile-advanced' => 'Adelantado',
-'searchprofile-articles-tooltip' => 'Buscar en $1',
-'searchprofile-project-tooltip' => 'Buscar en $1',
-'searchprofile-images-tooltip' => 'Buscar las dosyas',
-'searchprofile-everything-tooltip' => 'Buscar en todo el contènido (y también hojas de diskusyón)',
+'searchprofile-articles-tooltip' => 'Buxca en $1',
+'searchprofile-project-tooltip' => 'Buxca en $1',
+'searchprofile-images-tooltip' => 'Buxca las dosyas',
+'searchprofile-everything-tooltip' => 'Buxca en todo el contènido (y mismo en las hojas de diskusyón)',
 'searchprofile-advanced-tooltip' => 'Buscar en espacios de nombres particůlares',
 'search-result-size' => '$1 ({{PLURAL:$2|1 biervo|$2 biervos}})',
 'search-result-category-size' => '{{PLURAL:$1|1 miembro|$1 miembros}} ({{PLURAL:$2|1 basho-kateggoria|$2 basho-kateggoria}}, {{PLURAL:$3|1 dossia|$3 dossias}})',
@@ -724,6 +762,8 @@ Leyenda: (act) = diferencias con la versión actual,
 'prefs-skin' => 'Vista',
 'skin-preview' => 'Previstear',
 'prefs-datetime' => 'Data i ora',
+'prefs-user-pages' => 'Pajinas de usuario',
+'prefs-personal' => 'Profil de usuario',
 'prefs-rc' => 'Los Trocamientos de Alcabo',
 'prefs-watchlist' => 'Lista de los Trocamientos Preferidos',
 'prefs-watchlist-days' => 'El número de los días a mostrar en la lista de los trocamientos preferidos:',
@@ -736,6 +776,7 @@ Leyenda: (act) = diferencias con la versión actual,
 'timezoneregion-africa' => 'África',
 'timezoneregion-america' => 'América',
 'timezoneregion-antarctica' => 'Antárctica',
+'timezoneregion-arctic' => 'Artiko',
 'timezoneregion-asia' => 'Asia',
 'timezoneregion-atlantic' => 'Oseano Atlantiko',
 'timezoneregion-australia' => 'Ostralia',
@@ -760,16 +801,23 @@ Leyenda: (act) = diferencias con la versión actual,
 'prefs-editor' => 'Redaktor',
 
 # User rights
+'userrights-groupsmember' => 'Miembro de:',
 'userrights-reason' => 'Razon:',
 
 # Groups
+'group' => 'Grupo:',
 'group-user' => 'Usadorers',
+'group-bot' => 'Bots',
 'group-sysop' => 'Administradores',
 'group-bureaucrat' => 'Burokratos',
 'group-all' => '(todos)',
 
+'group-user-member' => '{{GENDER:$1|usuario}}',
+'group-bot-member' => '{{GENDER:$1|bot}}',
 'group-bureaucrat-member' => '{{GENDER:$1|burokrato}}',
 
+'grouppage-user' => '{{ns:project}}:Usuarios',
+'grouppage-bot' => '{{ns:project}}:Bots',
 'grouppage-sysop' => '{{ns:project}}:Administradores',
 'grouppage-bureaucrat' => '{{ns:project}}:Burokratos',
 
@@ -778,7 +826,10 @@ Leyenda: (act) = diferencias con la versión actual,
 'right-edit' => 'Trocar las hojas',
 'right-createpage' => 'Krear pajinas (ke no son pajinas de diskusyon)',
 'right-createtalk' => 'Krear pajinas de diskusyon',
+'right-createaccount' => 'Krear muevos kuentos de usuarios',
 'right-minoredit' => 'Marcar trocamientos como "chiquiticos"',
+'right-move' => 'Mover pajinas',
+'right-movefile' => 'Mover archivo',
 'right-delete' => 'Efassar hojas',
 
 # Special:Log/newusers
@@ -792,6 +843,8 @@ Leyenda: (act) = diferencias con la versión actual,
 'action-edit' => 'trocar esta hoja',
 'action-createpage' => 'crear hojas',
 'action-createtalk' => 'Krear pajinas de diskusyon',
+'action-createaccount' => 'Krear este kuento de usuario',
+'action-minoredit' => 'sinyalar este kambio komo chiko',
 'action-delete' => 'efassar esta hoja',
 'action-sendemail' => 'embiar korreo elektronikos',
 
@@ -806,11 +859,12 @@ Leyenda: (act) = diferencias con la versión actual,
 'recentchanges-label-minor' => 'Esta es un trocamiento chiquitico',
 'recentchanges-label-bot' => 'Este trokamiento fue echo por un bot',
 'recentchanges-label-unpatrolled' => 'Estre trokamiento no esta akavidado',
+'recentchanges-legend-plusminus' => "(''±123'')",
 'rcnotefrom' => "Debasho se amostran los trokamientos desde '''$2''' (amostrados fina <b>$1</b>)",
 'rclistfrom' => 'Mostra los trocamientos nuevos empeçando desde $1',
 'rcshowhideminor' => '$1 trocamientos chiquiticos',
 'rcshowhidebots' => '$1 bots',
-'rcshowhideliu' => '$1 empleadores enrējjistrados',
+'rcshowhideliu' => '$1 usuarios enrējjistrados',
 'rcshowhideanons' => '$1 empleadores anonimes',
 'rcshowhidepatr' => '$1 trokamientos akavidados',
 'rcshowhidemine' => '$1 mis ediciones',
@@ -818,12 +872,12 @@ Leyenda: (act) = diferencias con la versión actual,
 'diff' => 'dif',
 'hist' => 'ist',
 'hide' => 'Esconder',
-'show' => 'Àmostrar',
+'show' => 'Amostrar',
 'minoreditletter' => 'ch',
 'newpageletter' => 'N',
 'boteditletter' => 'b',
 'rc_categories_any' => 'Kualkyer',
-'rc-enhanced-expand' => 'Mostra los detalyos',
+'rc-enhanced-expand' => 'Amostrar los detalyos',
 'rc-enhanced-hide' => 'Guarda los detalyos',
 
 # Recent changes linked
@@ -834,26 +888,36 @@ Leyenda: (act) = diferencias con la versión actual,
 'recentchangeslinked-summary' => "Esto es la lista de los trocamientos de alcavo de las hojas que relatan á una hoja spēcifik (ou de los miembros de la katēggoría spēcifikada).
 Las hojas en tu [[Special:Watchlist|lista de akavidamiento]] son escritas '''con letras grexas'''.",
 'recentchangeslinked-page' => 'Nombre de la hoja',
-'recentchangeslinked-to' => 'Mostra los trocamientos freskos en lugar de la hoja indicada',
+'recentchangeslinked-to' => 'Amostra los trocamientos freskos en lugar de la hoja indicada',
 
 # Upload
 'upload' => 'Suvir una dosya',
 'uploadlogpage' => 'Subidas de arxivos',
+'filename' => 'Nombre de archivo',
 'filedesc' => 'Somario',
+'filereuploadsummary' => 'Kambios de archivo:',
+'filename-tooshort' => 'El nombre del archivo es muy kurto.',
+'savefile' => 'Guardar archivo',
 'uploadedimage' => 'subió «[[$1]]»',
 
+# File backend
+'backend-fail-notexists' => 'El archivo $1 no egziste.',
+'backend-fail-alreadyexists' => 'El archivo "$1" ya egziste.',
+
 'license' => 'Lesensia:',
 'license-header' => 'Lesensiamyénto',
 
 # Special:ListFiles
+'imgfile' => 'archivo',
 'listfiles_date' => 'Data',
 'listfiles_name' => 'Nombre',
 'listfiles_user' => 'Usuario',
 'listfiles_size' => 'Boy',
 'listfiles-latestversion-yes' => 'Si',
+'listfiles-latestversion-no' => 'No',
 
 # File description page
-'file-anchor-link' => 'Archivo',
+'file-anchor-link' => 'Dosya',
 'filehist' => 'La istoria de la dosya',
 'filehist-help' => 'Klika encima de una data/ora para vel el arxivo de esta data.',
 'filehist-revert' => 'aboltar',
@@ -861,10 +925,11 @@ Las hojas en tu [[Special:Watchlist|lista de akavidamiento]] son escritas '''con
 'filehist-datetime' => 'Data/Ora',
 'filehist-thumb' => 'Minyatura',
 'filehist-thumbtext' => 'Minyatura de la versión á las $1',
-'filehist-user' => 'Usador',
+'filehist-user' => 'Kullaneador',
 'filehist-dimensions' => 'Dimensiones',
 'filehist-filesize' => 'El boy de la dosya',
 'filehist-comment' => 'Comentario',
+'filehist-missing' => 'No se topa el archivo',
 'imagelinks' => 'El uso del dosya',
 'linkstoimage' => '{{PLURAL:$1|La hoja venidera da link|Las hojas venideras dan link}} a este arxivo:',
 'nolinkstoimage' => 'Dinguna ója tiene atamientos a esta imej',
@@ -879,6 +944,8 @@ La descripción en su [$2 hoja de descripción del arxivo] está amostrada debax
 
 # File deletion
 'filedelete-comment' => 'Razon:',
+'filedelete-nofile' => "'''$1''' no egziste.",
+'filedelete-otherreason' => 'Otra razon/razon adisiyonal',
 'filedelete-reason-otherlist' => 'Otra razon',
 
 # MIME search
@@ -886,27 +953,39 @@ La descripción en su [$2 hoja de descripción del arxivo] está amostrada debax
 'download' => 'deskargar',
 
 # Random page
-'randompage' => 'Hoja por asardo',
+'randompage' => 'Hoja por azardo',
+
+# Random page in category
+'randomincategory-selectcategory-submit' => 'Ir',
 
 # Statistics
 'statistics' => 'Estatísticas',
+'statistics-articles' => 'Pajinas de kontenido',
 'statistics-pages' => 'Pajinas',
 
+'pageswithprop-submit' => 'Ir',
+
 'brokenredirects-edit' => 'trocar',
 
 'withoutinterwiki-submit' => 'Amostrar',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|bayt|baytes}}',
+'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
+'nlinks' => '$1 {{PLURAL:$1|enlase|enlases}}',
 'nmembers' => '$1 {{PLURAL:$1|miembro|miembros}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|miembro|miembros}}',
+'nimagelinks' => 'Uzado en $1 {{PLURAL:$1|pajina|pajinas}}',
+'ntransclusions' => 'uzado en $1 {{PLURAL:$1|pajina|pajinas}}',
 'prefixindex' => 'Todas las hojas con prefixo',
 'shortpages' => 'Pajinas kurtas',
 'longpages' => 'Pajinas largas',
+'listusers' => 'Lista de usuario',
 'usercreated' => '{{GENDER:$3|Enrejistrado|Enrejistrada}} el $1 a las $2',
 'newpages' => 'Hojas muevas',
 'newpages-username' => 'Nombre de usuario:',
 'ancientpages' => 'Artikolos mas viejos',
-'move' => 'taxirea',
+'move' => 'taşirear',
 'movethispage' => 'Tashirea esta hoja',
 'pager-newer-n' => '{{PLURAL:$1|1 venidero|$1 venideros}}',
 'pager-older-n' => '{{PLURAL:$1|1 de antes|$1 de antes}}',
@@ -917,17 +996,18 @@ La descripción en su [$2 hoja de descripción del arxivo] está amostrada debax
 'booksources-go' => 'Yir',
 
 # Special:Log
-'log' => 'Registros',
+'log' => 'Rejistros',
 
 # Special:AllPages
 'allpages' => 'Todas las hojas',
 'alphaindexline' => '$1 a $2',
+'nextpage' => 'La sigiente pajina ($1)',
 'prevpage' => 'Hoja de antés ($1)',
 'allpagesfrom' => 'Mostrar hojas que empecen por:',
 'allpagesto' => 'Mostrar hojas escapadas con:',
-'allarticles' => 'Todas las pajinas',
+'allarticles' => 'Todas las hojas',
 'allinnamespace' => 'Todas las pajinas (espasio $1)',
-'allpagessubmit' => 'Àmostrar la lista',
+'allpagessubmit' => 'Amostrar la lista',
 
 # Special:Categories
 'categories' => 'Kategorías',
@@ -935,28 +1015,48 @@ La descripción en su [$2 hoja de descripción del arxivo] está amostrada debax
 'special-categories-sort-abc' => 'ordenar alefbeticamente',
 
 # Special:LinkSearch
-'linksearch' => 'Linkes eksternos',
+'linksearch' => 'Bushkida de enlases eksternos',
 'linksearch-ok' => 'Bushkar',
 'linksearch-line' => 'Atamiento para $1 en la ója $2',
 
 # Special:ListUsers
 'listusers-submit' => 'Amostrar',
 
+# Special:ActiveUsers
+'activeusers-hidebots' => 'Eskonder bots',
+'activeusers-noresult' => 'No se toparon usuario.',
+
 # Special:ListGroupRights
+'listgrouprights' => 'Derechos del grupo de usuario',
+'listgrouprights-group' => 'Grupo',
+'listgrouprights-rights' => 'Derechos',
+'listgrouprights-helppage' => 'Ayudo:Derechos de grupo',
 'listgrouprights-members' => '(ver los miembros de este grupo)',
+'listgrouprights-addgroup' => 'Anyadir {{PLURAL:$2|grupo|grupos}}: $1',
+'listgrouprights-removegroup' => 'Kitar {{PLURAL:$2|grupo|grupos}}: $1',
 
 # Email user
 'emailuser' => 'Embia korreo elektroniko a este usuario',
+'emailuser-title-target' => 'Embiar un korreo elektroniko a {{Gender:$1|este usuario|esta usuaria}}',
+'emailuser-title-notarget' => 'Embiar un korreo elektroniko a un usuario',
+'emailpage' => 'Embiar un korreo elektroniko a un usuario',
+'defemailsubject' => 'Korreo elektroniko del usuario "$1" de {{SITENAME}}',
+'emailusername' => 'Nombre de usuario:',
+'emailfrom' => 'De:',
+'emailto' => 'Para:',
+'emailsubject' => 'Sujeto:',
+'emailmessage' => 'Mesaje:',
+'emailsend' => 'Embiar',
 
 # Watchlist
 'watchlist' => 'Lista de akavidamiento',
-'mywatchlist' => 'La mi lista de akavidamientos',
+'mywatchlist' => 'Mi lista de akavidamientos',
 'watchlistfor2' => 'Para $1 $2',
 'addedwatchtext' => "La hoja «[[:$1]]» fue ajustada a tu [[Special:Watchlist|lista de escogidas]]. Los trocamientos venideros en esta hoja i en tu hoja de diskussión associada se van indicar aí, i la hoja va aparecer '''gordo''' en la hoja de [[Special:RecentChanges|trocamientos freskos]] para hazerla más kolay de detektar.
 
 Cuando queres eliminar la hoja de tu lista de escogidas, piza «Dexar de cudiar» en el menú.",
 'removedwatchtext' => 'La hoja «[[:$1]]» fue eliminada de tu [[Special:Watchlist|lista de escogidas]].',
-'watch' => 'cudia',
+'watch' => 'cudiar',
 'watchthispage' => 'Cudia esta hoja',
 'unwatch' => 'dexa de cudiar',
 'watchlist-details' => '{{PLURAL:$1|$1 hoja|$1 hojas}} en tu lista de escogidas, sin contar las de la diskussión.',
@@ -967,6 +1067,8 @@ Cuando queres eliminar la hoja de tu lista de escogidas, piza «Dexar de cudiar
 'watching' => 'Cudiando...',
 'unwatching' => 'Dexando de cudiar...',
 
+'enotif_impersonal_salutation' => '{{SITENAME}} usuario',
+
 # Delete
 'deletepage' => 'Efassar esta hoja',
 'confirmdeletetext' => 'Estás al punto de efassar una hoja
@@ -987,7 +1089,7 @@ Mira $2 para un registro de los efassados nuevos.',
 ** Vandalismo',
 
 # Rollback
-'rollbacklink' => 'abolta',
+'rollbacklink' => 'aboltar',
 
 # Protect
 'protectlogpage' => 'Protecciones de las hojas',
@@ -1019,8 +1121,8 @@ A continuación se mostran las opciones actuales de la hoja '''$1''':",
 'restriction-create' => 'Krear',
 
 # Undelete
-'undeletelink' => 've/trae atrás',
-'undeleteviewlink' => 've',
+'undeletelink' => 'ver/traer atrás',
+'undeleteviewlink' => 'ver',
 'undeletecomment' => 'Razon:',
 'undelete-search-submit' => 'Bushkar',
 'undelete-show-file-submit' => 'Si',
@@ -1035,7 +1137,7 @@ A continuación se mostran las opciones actuales de la hoja '''$1''':",
 'contributions-title' => 'Ajustamientos {{GENDER:$1|del usuario|de la usuaria}} $1',
 'mycontris' => 'Mis dados',
 'contribsub2' => 'Para {{GENDER:$3|$1}}($2)',
-'uctop' => '(última modificación)',
+'uctop' => '(korriente)',
 'month' => 'Desde el mes (i antes):',
 'year' => 'Desde el anyo (i antes):',
 
@@ -1052,7 +1154,7 @@ A continuación se mostran las opciones actuales de la hoja '''$1''':",
 # What links here
 'whatlinkshere' => 'Atamientos a esta hoja',
 'whatlinkshere-title' => 'Hojas que dan link a "$1"',
-'whatlinkshere-page' => 'Pajina:',
+'whatlinkshere-page' => 'Hoja:',
 'linkshere' => "Las hojas venideras dan link a '''[[:$1]]''':",
 'nolinkshere' => "Dinguna ója tiene atamientos kon '''[[:$1]]'''",
 'isredirect' => 'Hoja redirigida',
@@ -1074,15 +1176,16 @@ A continuación se mostran las opciones actuales de la hoja '''$1''':",
 'ipblocklist' => 'Usadores bloqueados',
 'blocklist-reason' => 'Razon',
 'ipblocklist-submit' => 'Bushkar',
-'blocklink' => 'bloka',
-'unblocklink' => 'quita el bloko',
-'change-blocklink' => 'troca el bloko',
+'blocklink' => 'blokar',
+'unblocklink' => 'quitar el bloko',
+'change-blocklink' => 'trocar el bloko',
 'contribslink' => 'donos',
 'emaillink' => 'embiar korreo elektroniko',
 'blocklogpage' => 'Bloqueos de usuarios',
 'blocklogentry' => 'bloqueó a [[$1]] $3 durante un tiempo de $2',
 'unblocklogentry' => 'desbloqueó a "$1"',
 'block-log-flags-nocreate' => 'desactivada la creación de cuentos',
+'block-log-flags-hiddenname' => 'nombre de usuario eskondido',
 
 # Move page
 'movepagetext' => "Usando el formulario venidero se va renombrar una hoja, quitando todo su istoria a su nuevo nombre.
@@ -1114,21 +1217,28 @@ Si puede ser, escoge otro nombre.',
 'movetalk' => 'Renombrar la hoja de diskussión también, si es possible.',
 'movelogpage' => 'Registro de traslados',
 'movereason' => 'Razon:',
-'revertmove' => 'abolta',
+'revertmove' => 'aboltar',
 
 # Export
 'export' => 'Eksportar las hojas',
+'export-download' => 'Guardar komo archivo',
 
 # Namespace 8 related
 'allmessages' => 'Mesajes del sistema',
 'allmessagesname' => 'Nombre',
 'allmessagesdefault' => 'Teksto por defekto',
 'allmessagescurrent' => 'Teksto aktual',
+'allmessages-filter-all' => 'Todos',
+'allmessages-language' => 'Lengua:',
+'allmessages-filter-submit' => 'Ir',
 
 # Thumbnails
 'thumbnail-more' => 'Engrandece',
 'thumbnail_error' => 'Yerro kriando la imej chika: $1',
 
+# Special:Import
+'import-upload-filename' => 'Nombre de archivo:',
+
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Tu hoja de usador',
 'tooltip-pt-mytalk' => 'Tu hoja de diskusyón',
@@ -1136,7 +1246,7 @@ Si puede ser, escoge otro nombre.',
 'tooltip-pt-watchlist' => 'La lista de los trocamientos acontècidos en las hojas akavidadas.',
 'tooltip-pt-mycontris' => 'La lista de tus àjustamientos',
 'tooltip-pt-login' => 'Te encorajamos de entrar ma no estás obligado',
-'tooltip-pt-logout' => 'Salir',
+'tooltip-pt-logout' => 'Sal de tu cuento.',
 'tooltip-ca-talk' => 'Diskusyón encima del artíkolo',
 'tooltip-ca-edit' => 'Puedes trocar esta hoja. Te rogamos, antes de enrejistrarla, echa una ojada en kullaneando el botón de previsteo',
 'tooltip-ca-addsection' => 'Empeça una nueva sección',
@@ -1148,9 +1258,9 @@ Puedes ver su manadero',
 'tooltip-ca-move' => 'Taxirea (renombra) esta hoja',
 'tooltip-ca-watch' => 'Ajustar esta hoja a tu lista de akavidamientos',
 'tooltip-ca-unwatch' => 'Quita esta hoja de tu lista de escogidos',
-'tooltip-search' => 'Bushkar en {{SITENAME}}',
+'tooltip-search' => 'Buxca en {{SITENAME}}',
 'tooltip-search-go' => 'Si ay una hoja con este nombre egzakto, vate allá.',
-'tooltip-search-fulltext' => 'Bushka este teksto en las hojas',
+'tooltip-search-fulltext' => 'Buxca este teksto en las hojas',
 'tooltip-p-logo' => 'Vate a la primera hoja',
 'tooltip-n-mainpage' => 'Vate a la primera hoja',
 'tooltip-n-mainpage-description' => 'Vate a la primera hoja',
@@ -1174,7 +1284,7 @@ Puedes ver su manadero',
 'tooltip-ca-nstab-special' => 'Esta es una hoja especial, la hoja ya no se puede trocar',
 'tooltip-ca-nstab-project' => 'Ver la hoja del prodjekto',
 'tooltip-ca-nstab-image' => 'Ver la hoja de la dosya',
-'tooltip-ca-nstab-template' => 'Ver el xabblón',
+'tooltip-ca-nstab-template' => 'Ve el şablón',
 'tooltip-ca-nstab-category' => 'Ve la hoja de categoría',
 'tooltip-minoredit' => 'Márcalo como un trocamiento chiquitico',
 'tooltip-save' => 'Guardar los trocamientos',
@@ -1183,7 +1293,7 @@ Puedes ver su manadero',
 'tooltip-compareselectedversions' => 'Ve las diferencias entre las dos versiones escogidas de esta hoja.',
 'tooltip-watch' => 'Ajusta esta hoja a tu lista de escogidas',
 'tooltip-rollback' => '«Abolta» abolta todas los trocamientos del usador de alcavo, sólo en klikando una vez.',
-'tooltip-undo' => '«Deshaze» abolta este trocamiento y la avre en el modo de previsteo. Permete ajustar una razón en el somario.',
+'tooltip-undo' => '«Des-hazer» abolta este trocamiento y la avre en el modo de previsteo. Permete ajustar una razón en el somario.',
 'tooltip-summary' => 'Entrar un somaryo kurto',
 
 # Attribution
@@ -1198,22 +1308,39 @@ Puedes ver su manadero',
 'nextdiff' => 'Edición más nueva →',
 
 # Media information
-'file-info-size' => '$1 × $2 píkseles; boy del arxivo: $3; tipo MIME: $4',
+'file-info-size' => '$1 × $2 píkseles; boy de la dosya: $3; tipo MIME: $4',
 'file-nohires' => 'No disponible a mayor resolución.',
 'svg-long-desc' => 'arxivo SVG, nominalmente $1 × $2 píkseles, boy del arxivo: $3',
-'show-big-image' => 'Resolución original',
+'show-big-image' => 'Archivo orijinal',
 
 # Special:NewFiles
+'showhidebots' => '($1 bots)',
 'ilsubmit' => 'Bushkar',
 'bydate' => 'por data',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '{{PLURAL:$1|$1 segundo|$1 segundos}}',
+'minutes' => '{{PLURAL:$1|$1 minuto|$1 minutos}}',
+'hours' => '{{PLURAL:$1|$1 ora|$1 oras}}',
+'days' => '{{PLURAL:$1|$1 diya|$1 diyas}}',
+'weeks' => '{{PLURAL:$1|$1 semana|$1 semanas}}',
+'months' => '{{PLURAL:$1|$1 mez|$1 mezes}}',
+'years' => '{{PLURAL:$1|$1 anyo|$1 anyos}}',
+'ago' => 'aze $1',
 'just-now' => 'endagora',
 
 # Human-readable timestamps
 'hours-ago' => 'aze $1{{PLURAL:$1|ora|oras}}',
 'minutes-ago' => 'aze {{PLURAL:$1|minuto|minutos}}',
 'seconds-ago' => 'aze {{PLURAL:$1|segundo|segundos}}',
+'monday-at' => 'El lunes a la $1',
+'tuesday-at' => 'El martes a la $1',
+'wednesday-at' => 'El mierkoles a la $1',
+'thursday-at' => 'El djuves a la $1',
+'friday-at' => 'El viernes a la $1',
+'saturday-at' => 'El shabat a la $1',
+'sunday-at' => 'El alhad a la $1',
+'yesterday-at' => 'Ayer a la $1',
 
 # Bad image list
 'bad_image_list' => 'El formato es ansina:
@@ -1250,6 +1377,10 @@ Los otros campos se van a guardar por defecto.
 'exif-gpsdatestamp' => 'Dáta GPS',
 'exif-languagecode' => 'Lengua',
 
+'exif-copyrighted-true' => 'Kon derechos del otor',
+
+'exif-exposureprogram-1' => 'Giya',
+
 'exif-meteringmode-255' => 'Otro',
 
 'exif-lightsource-9' => 'Bueno tiémpo',
index 7c2abb9..311d322 100644 (file)
@@ -2075,6 +2075,7 @@ An all Rei sti Linken zur éischter an zweeter Viruleedung, souwéi d\'Zil vun d
 'protectedpages' => 'Gespaart Säiten',
 'protectedpages-indef' => 'Nëmme onbegrenzt-gespaarte Säite weisen',
 'protectedpages-cascade' => 'Nëmme Säiten déi duerch Kaskade gespaart sinn',
+'protectedpages-noredirect' => 'Viruleedunge verstoppen',
 'protectedpagesempty' => 'Elo si keng Säite mat dëse Parameteren gespaart.',
 'protectedtitles' => 'Gespaarten Titel',
 'protectedtitlesempty' => 'Zur Zäit si mat de Parameteren déi Dir uginn hutt keng Säite fir neit Uleeë gespaart.',
@@ -3495,8 +3496,8 @@ Déi aner sinn am Standard verstoppt.
 'exif-gpslongitude-w' => 'westlech Längt',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{plural:$1|Meter|Meter}} iwwer dem Niveau vum Mier',
-'exif-gpsaltitude-below-sealevel' => '$1 {{plural:$1|Meter|Meter}} ënner dem Niveau vum Mier',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|Meter|Meter}} iwwer dem Niveau vum Mier',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|Meter|Meter}} ënner dem Niveau vum Mier',
 
 'exif-gpsstatus-a' => 'Miessung am Gaang',
 'exif-gpsstatus-v' => 'Interoperabilitéit vu der Miessung',
@@ -3974,7 +3975,7 @@ Soss kënnt Dir den einfache Formulär hei drënner benotzen. Är Bemierkung gë
 'duration-minutes' => '$1 {{PLURAL:$1|Minutt|Minutten}}',
 'duration-hours' => '$1 {{PLURAL:$1|Stonn|Stonnen}}',
 'duration-days' => '$1 {{PLURAL:$1|Dag|Deeg}}',
-'duration-weeks' => '$1 {{PLURAL: $1|Woch|Wochen}}',
+'duration-weeks' => '$1 {{PLURAL:$1|Woch|Wochen}}',
 'duration-years' => '$1 {{PLURAL:$1|Joer|Joer}}',
 'duration-decades' => '$1 {{PLURAL:$1|Joerzéngt|Joerzéngten}}',
 'duration-centuries' => '$1 {{PLURAL:$1|Joerhonnert|Joerhonnerten}}',
index c8fc4a4..eba2499 100644 (file)
@@ -72,7 +72,7 @@ $messages = array(
 'tog-editsection' => 'Пай [дуьзар хъувун] патал элячӀун къалура',
 'tog-editsectiononrightclick' => 'Пайдин кьилинцӀардиз эрчӀи патан тӀампӀ авуна пайдин дуьзар хъувуниз мумкинвал гун (JavaScript герекзава)',
 'tog-showtoc' => 'Къенеавайбурун сиягь къалурун (3-й гзаф кьилинцӀарар авай ччинар патал)',
-'tog-rememberpassword' => 'И браузерда зи логин рикӀел хуьхь (лап гзаф $1 {{PLURAL:$1|югъ|йикъар}})',
+'tog-rememberpassword' => 'И браузерда зи логин рикӀел хуьхь (лап гзаф $1 {{PLURAL:$1|1=югъ|йикъар}})',
 'tog-watchcreations' => 'За туькӀуьрнавай ччинар зи гуьзетунин сиягьдиз алава авун',
 'tog-watchdefault' => 'За дуьзар хъувунвай ччинар зи гуьзетунин сиягьдиз алава авун',
 'tog-watchmoves' => 'За тӀвар эхцигай ччинар зи гуьзетунин сиягьдиз алава авун',
@@ -149,19 +149,19 @@ $messages = array(
 'dec' => 'дек',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категорияр}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категорияр}}',
 'category_header' => '«$1» категориядин ччинар',
 'subcategories' => 'агъакатегорияр',
 'category-media-header' => '"$1" категориядин медиа',
 'category-empty' => "''Алай чӀава и категория ичӀи я.\"",
-'hidden-categories' => '{{PLURAL:$1|Чуьнуьхай категория|Чуьнуьхай категорияр}}',
+'hidden-categories' => '{{PLURAL:$1|1=Чуьнуьхай категория|Чуьнуьхай категорияр}}',
 'hidden-category-category' => 'Чуьнуьхай категорияр',
-'category-subcat-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авай подкатегория ава.|$2-кай {{PLURAL:$1|агъакатегория|$1 агъакатегорияр}} къалурнава }}',
-'category-subcat-count-limited' => 'И категорияда {{PLURAL:$1|агъакатегория|$1 агъакатегорияр}} ава.',
-'category-article-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авайди ччин ава |$2-кай къалурнавай {{PLURAL:$1|ччин|$1 ччин}} гьа а категориядин ччин я}}',
-'category-article-count-limited' => 'И категорияда {{PLURAL:$1|ччин|$1 ччин}} ава.',
-'category-file-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авайди файл ава |$2-кай къалурнавай {{PLURAL:$1|файл|$1 файлар}} гьа а категориядин файл я}}',
-'category-file-count-limited' => 'И категорияда {{PLURAL:$1|файл|$1 файлар}} ава.',
+'category-subcat-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авай подкатегория ава.|$2-кай {{PLURAL:$1|1=агъакатегория|$1 агъакатегорияр}} къалурнава }}',
+'category-subcat-count-limited' => 'И категорияда {{PLURAL:$1|1=агъакатегория|$1 агъакатегорияр}} ава.',
+'category-article-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авайди ччин ава |$2-кай къалурнавай {{PLURAL:$1|1=ччин|$1 ччин}} гьа а категориядин ччин я}}',
+'category-article-count-limited' => 'И категорияда {{PLURAL:$1|1=ччин|$1 ччин}} ава.',
+'category-file-count' => '{{PLURAL:$2|И категорияда анжах гуьгъуьна авайди файл ава |$2-кай къалурнавай {{PLURAL:$1|1=файл|$1 файлар}} гьа а категориядин файл я}}',
+'category-file-count-limited' => 'И категорияда {{PLURAL:$1|1=файл|$1 файлар}} ава.',
 'listingcontinuesabbrev' => '(кьатӀ)',
 'index-category' => 'Индексавунвай ччинар',
 'noindex-category' => 'Индекстежезвай ччин',
@@ -225,8 +225,8 @@ $messages = array(
 'create-this-page' => 'И ччин туькӀуьрун',
 'delete' => 'Алудун',
 'deletethispage' => 'И ччин алудун',
-'undelete_short' => '$1 {{PLURAL:$1|дуьзар хъувун|дуьзар хъувунар}} туьхкӀуьрун',
-'viewdeleted_short' => '{{PLURAL:$1|дуьзар хъувуниз|$1 дуьзар хъувунриз}} килигун',
+'undelete_short' => '$1 {{PLURAL:$1|1=дуьзар хъувун|дуьзар хъувунар}} туьхкӀуьрун',
+'viewdeleted_short' => '{{PLURAL:$1|1=дуьзар хъувуниз|$1 дуьзар хъувунриз}} килигун',
 'protect' => 'Xуьн',
 'protect_change' => 'масакӀа авун',
 'protectthispage' => 'И ччин блокарун',
@@ -352,7 +352,7 @@ $messages = array(
 'yourname' => 'Уртахдин тӀвар',
 'yourpassword' => 'Парол',
 'yourpasswordagain' => 'Парол кхьин хъувун:',
-'remembermypassword' => 'И браузерда зи логин рикӀел хуьхь (лап гзаф $1 {{PLURAL:$1|югъ|йикъар}})',
+'remembermypassword' => 'И браузерда зи логин рикӀел хуьхь (лап гзаф $1 {{PLURAL:$1|1=югъ|йикъар}})',
 'yourdomainname' => 'Куь домен',
 'login' => 'Гьахьун',
 'nav-login-createaccount' => 'Гьахьун/аккаунт туькӀуьрун',
@@ -469,13 +469,13 @@ $messages = array(
 Квез куьне кхьенвайбур азаддаказ чкIун ва гьар са кас  патахъай дуьзар хъувун кIанзавачтIа, а кхьенвайбур иниз эцигмир.<br />
 ГЬакIни, куьне тестикьзава хьи, кутазвай алавайрин автор кьун я, я тахьайтIа, куьне а алаваяр чпин къенеавайбур азад чкIунни дегишун ихтияр гузвай чешмедикай ччин къачунва.<br />
 '''АВТОРДИН ИХТИЯР ХУЬЗВАЙ МАЛУМАТАР ИХТИЯР ГАЛАЧИЗ ЭЦИГМИР!'''",
-'templatesused' => 'И ччина кардик кутунвай {{PLURAL:$1|Чешне|Чешнеяр}}:',
-'templatesusedpreview' => '{{PLURAL:$1|Шаблон|Шаблонар}},илемишзавай дуьз клигунра:',
+'templatesused' => 'И ччина кардик кутунвай {{PLURAL:$1|1=Чешне|Чешнеяр}}:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Шаблон|Шаблонар}},илемишзавай дуьз клигунра:',
 'template-protected' => '(хвенвай)',
 'template-semiprotected' => '(са кьадар хвенва)',
-'hiddencategories' => 'И ччин {{PLURAL: $1 | чуьнуьхай категориядиз | $1 чуьнуьхай категорийриз}} талукь я:',
+'hiddencategories' => 'И ччин {{PLURAL:$1 | чуьнуьхай категориядиз | $1 чуьнуьхай категорийриз}} талукь я:',
 'permissionserrors' => 'ГЬахьнин гъалатlар',
-'permissionserrorstext-withaction' => 'Квез и {{PLURAL:$1|себебдалди|себебралди}} $2 йиз ихтияр авайд туш:',
+'permissionserrorstext-withaction' => 'Квез и {{PLURAL:$1|1=себебдалди|себебралди}} $2 йиз ихтияр авайд туш:',
 'recreate-moveddeleted-warn' => "'''Дикъет! Куьне виликда алуднавай ччин туьхкlуьриз алахъзава.'''
 Квевай и ччинин туьхкlуьрунин гереквилиз килигиз тIалабзава.
 Агъадихъ и ччинин алудун ва тIвар эхцигунин журнал къалурнава.",
@@ -557,7 +557,7 @@ $messages = array(
 'lineno' => 'ЦIар $1:',
 'compareselectedversions' => 'Хкягъай жуьреяр гекъигун',
 'editundo' => 'гьич авун',
-'diff-multi' => '({{PLURAL:$2|Са уртах|$2 уртахар}} патал авунвай {{PLURAL:$1|са арадин жуьре|$1 арадин жуьреяр}} къалурнавач)',
+'diff-multi' => '({{PLURAL:$2|1=Са уртах|$2 уртахар}} патал авунвай {{PLURAL:$1|1=са арадин жуьре|$1 арадин жуьреяр}} къалурнавач)',
 
 # Search results
 'searchresults' => 'Къекъуьнрин нетижаяр',
@@ -567,9 +567,9 @@ $messages = array(
 'notextmatches' => 'Авач чарчин кьил матчар',
 'prevn' => 'Вилик фейи  {{PLURAL:$1|$1}}',
 'nextn' => 'Гуьгъуьнин {{PLURAL:$1|$1}}',
-'prevn-title' => 'Вилик фейи  $1 {{PLURAL:$1|нетижа|нетижаяр}}',
-'nextn-title' => 'КЪведай $1 {{PLURAL:$1|нетижа|нетижаяр}}',
-'shown-title' => 'Ччина $1 {{PLURAL:$1|нетижа|нетижа}} къалурун',
+'prevn-title' => 'Вилик фейи  $1 {{PLURAL:$1|1=нетижа|нетижаяр}}',
+'nextn-title' => 'КЪведай $1 {{PLURAL:$1|1=нетижа|нетижаяр}}',
+'shown-title' => 'Ччина $1 {{PLURAL:$1|1=нетижа|нетижа}} къалурун',
 'viewprevnext' => 'Килигун ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''И вики-проектда \"[[:\$1]]\" тlвар алай ччин ава.'''",
 'searchmenu-new' => "'''И вики-проектда «[[:$1]]» ччин туькӀуьрун!'''",
@@ -583,8 +583,8 @@ $messages = array(
 'searchprofile-images-tooltip' => 'Файлар жугъура',
 'searchprofile-everything-tooltip' => 'Вири ччинра къекъуьгъ (веревирдрин ччинар кваз)',
 'searchprofile-advanced-tooltip' => 'Ганвай тlварарин генгвилера къекъуьгъ',
-'search-result-size' => '$1 ({{PLURAL:$2|1 гаф|$2 гаф}})',
-'search-result-category-size' => '{{PLURAL:$1|1 элемент|$1 элементар}} ({{PLURAL:$2|1 агъакатегория|$2 агъакатегорияр}}, {{PLURAL:$3|1 файл|$3 файлар}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1 гаф|$2 гаф}})',
+'search-result-category-size' => '{{PLURAL:$1|1=1 элемент|$1 элементар}} ({{PLURAL:$2|1=1 агъакатегория|$2 агъакатегорияр}}, {{PLURAL:$3|1=1 файл|$3 файлар}})',
 'search-redirect' => '(рахкъурун $1)',
 'search-section' => '(пай $1)',
 'search-suggest' => 'Мумкин я хьи, куьне им фикирда кьуна: $1',
@@ -594,7 +594,7 @@ $messages = array(
 'search-relatedarticle' => 'Галкlанавай',
 'searchrelated' => 'Галкlанавай',
 'searchall' => 'вири',
-'showingresultsheader' => "'''$4'''  патал {{PLURAL:$5|'''$3''' - кай  '''$1''' нетижа|'''$3''' - кай  '''$1 - $2''' нетижаяр}}",
+'showingresultsheader' => "'''$4'''  патал {{PLURAL:$5|1='''$3''' - кай  '''$1''' нетижа|'''$3''' - кай  '''$1 - $2''' нетижаяр}}",
 'search-nonefound' => 'Тlалабдив кьадай са нетижани жагъанвач.',
 'powersearch-legend' => 'Гегьенш жугъурун',
 'powersearch-ns' => 'Жугъурун тlварарин генгвилера:',
@@ -720,7 +720,7 @@ $messages = array(
 'action-undelete' => 'и ччин туькIуьр хъувун',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|масакIавал|масакIавилер}}',
+'nchanges' => '$1 {{PLURAL:$1|1=масакIавал|масакIавилер}}',
 'recentchanges' => 'Mукьвара хьайи масакӀавилер',
 'recentchanges-legend' => 'Цlийи масакIавилерин низамарунар',
 'recentchanges-summary' => 'Викида хьанвай эхиримжи масакIавилер и ччина гуьзетун',
@@ -825,7 +825,7 @@ $messages = array(
 'filehist-comment' => 'Къейд',
 'filehist-missing' => 'Файл авачиз я',
 'imagelinks' => 'Файл кардик кутун',
-'linkstoimage' => 'Къведай {{PLURAL: $1 | ччин | $1 ччинар}} гьа и файлдиз элячlзава',
+'linkstoimage' => 'Къведай {{PLURAL:$1 | ччин | $1 ччинар}} гьа и файлдиз элячlзава',
 'nolinkstoimage' => 'И файлдиз элячlзавай ччинар авайд туш',
 'sharedupload' => 'И шикил $1 масса хакъидайра ишлемишатlа жезава.',
 'sharedupload-desc-here' => 'И файл $1-кай я ва ам маса проектра  кардик кутаз жеда.
@@ -872,8 +872,8 @@ $messages = array(
 'withoutinterwiki-submit' => 'Къалурун',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байтар}}',
-'nmembers' => '$1 {{PLURAL:$1|уьзви|уьзвияр}}',
+'nbytes' => '$1 {{PLURAL:$1|1=байт|байтар}}',
+'nmembers' => '$1 {{PLURAL:$1|1=уьзви|уьзвияр}}',
 'lonelypages' => 'Eтим xъувун',
 'prefixindex' => 'Префикс галай вири ччинар',
 'shortpages' => 'Куьруь хъувун',
@@ -886,8 +886,8 @@ $messages = array(
 'ancientpages' => 'виридалайни цIуру ччинар',
 'move' => 'ТӀвар эхцигун',
 'movethispage' => 'Юзун и хъувун',
-'pager-newer-n' => '{{PLURAL:$1|мадни цIийи 1|мадни цIийи $1}}',
-'pager-older-n' => '{{PLURAL:$1|мадни цIуру 1|мадни цIуру $1}}',
+'pager-newer-n' => '{{PLURAL:$1|1=мадни цIийи 1|мадни цIийи $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=мадни цIуру 1|мадни цIуру $1}}',
 'suppress' => 'Чуьнуьхун',
 
 # Book sources
@@ -945,7 +945,7 @@ $messages = array(
 'watch' => 'Вилив хуьн',
 'watchthispage' => 'Гелкъуьн и хъувун',
 'unwatch' => 'Вилив хуьмир',
-'watchlist-details' => 'Куь вилив хуьнин сиягьда {{PLURAL:$1|$1 ччин|$1 ччин}} авайди я, веревирдрин ччинар квачиз.',
+'watchlist-details' => 'Куь вилив хуьнин сиягьда {{PLURAL:$1|1=$1 ччин|$1 ччин}} авайди я, веревирдрин ччинар квачиз.',
 'wlshowlast' => 'Эхиримжи $1 сят $2 югъ $3 къалура',
 'watchlist-options' => 'Вилив хуьнин сиягьдин низамарунар',
 
@@ -987,7 +987,7 @@ $messages = array(
 'protect_expiry_old' => 'Вахтун кьадар алатай заманда.',
 'protect-text' => "Квевай клигайтlа ва дегишарайтlа жеза хуьнин къайда чарчин '''$1'''.",
 'protect-locked-access' => "Квез ахтияр авач дегишариз чарчин хуьн къайда.                                                                                                                             Ингье физвай туькlуьрунар чарчиз '''$1''':",
-'protect-cascadeon' => 'Хуьн авун чарар къараул ийизвай алай вахтунда, гьама ктуна{{PLURAL:$1|чар, гьама|чарар, гьабур}} галай галай хуьн куькlуьрна.Куьвай жеза дегишариз хуьнин кьадар чарчин, гьама кядач галай галай хуьнив.',
+'protect-cascadeon' => 'Хуьн авун чарар къараул ийизвай алай вахтунда, гьама ктуна{{PLURAL:$1|1=чар, гьама|чарар, гьабур}} галай галай хуьн куькlуьрна.Куьвай жеза дегишариз хуьнин кьадар чарчин, гьама кядач галай галай хуьнив.',
 'protect-default' => ' Эхтияр гуз вири ишлемишчийриз',
 'protect-fallback' => 'Тlалабун "$1" эхтияр',
 'protect-level-autoconfirmed' => 'Къаб цlийи ва кхьитунавай ишлемишчияр',
@@ -1049,8 +1049,8 @@ $messages = array(
 'isredirect' => 'Рахкъурунин ччин',
 'istemplate' => 'кутун',
 'isimage' => 'Файлдин элячlун',
-'whatlinkshere-prev' => '{{PLURAL:$1|вилик фейи|вилик фейи $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|гуьгъуьнин|гуьгъуьнин $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=вилик фейи|вилик фейи $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=гуьгъуьнин|гуьгъуьнин $1}}',
 'whatlinkshere-links' => '← элячlунар',
 'whatlinkshere-hideredirs' => '$1 рахкъурунар',
 'whatlinkshere-hidetrans' => '$1 кутунар',
index dde9048..81afd0f 100644 (file)
@@ -522,7 +522,7 @@ Legend: '''({{int:cur}})''' = vaiţīd līdzinţõmizõks lǟndz redaktsijõks,,
 'protect_expiry_old' => ' Loppõmiz āiga um lǟndzāigas.',
 'protect-text' => "Täs võid vaņtlõ ja mõitiņtõ līed '''$1''' kaitsõmiz-ildõmt.",
 'protect-locked-access' => "Täddõn äb ūo õigõmt mõitiņtõ līed kaitsõmiz-ildõmt.   Allõ-pūol ātõ līed '''$1''' paldīž joūdõs vȯlbizt ulzõ-vēļimizt:",
-'protect-cascadeon' => 'Se lēḑ um kaitstõd, sīepierāst ku tǟnda um kȭlbatõd {{PLURAL:$1|page, which has|pages, which have}}  {{PLURAL:$1|sīesõ līeds, |lēḑis}}   {{plural:$1| sīesõ līeds| nēši  lēḑis}}, mis ātõ īž kaskād kaitsõmiz allõ. Sa sōd mõitiņtõ sīe līed kaitsõmizt, bet se äb mõitiņt kaskād kaitsõmizt.',
+'protect-cascadeon' => 'Se lēḑ um kaitstõd, sīepierāst ku tǟnda um kȭlbatõd {{PLURAL:$1|page, which has|pages, which have}}  {{PLURAL:$1|sīesõ līeds, |lēḑis}}   {{PLURAL:$1| sīesõ līeds| nēši  lēḑis}}, mis ātõ īž kaskād kaitsõmiz allõ. Sa sōd mõitiņtõ sīe līed kaitsõmizt, bet se äb mõitiņt kaskād kaitsõmizt.',
 'protect-default' => 'Āndagid lubā āmādõn kȭlbatijiztõn',
 'protect-fallback' => 'Ma tōb "$1" õigõmḑi',
 'protect-level-autoconfirmed' => 'Blokīerõgid ūd ja bäz pa-kēratõmõt kȭlbatijizt',
index 7a779d2..ee15cd9 100644 (file)
@@ -14,6 +14,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $linkPrefixExtension = true;
 
 # Same as the French (bug 8485)
index 2ff6b71..0d21e12 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Bonevarluri
  * @author Mogoeilor
  */
 
@@ -35,14 +36,27 @@ $messages = array(
 'tog-minordefault' => 'همه ویرایشتیا کؤچک نه وا پیش فرض بیئن نشو دار کو.',
 'tog-previewontop' => 'پیش سیل نه دما جعوه ویرایشت نشو بیئه',
 'tog-previewonfirst' => 'پیش سیل نه د اولین ویرایشت نشو بیئه',
+'tog-enotifwatchlistpages' => 'اوسه که یه گل بلگه یا فایلی د سیل برگ مه آلشت بوئه منه وا ایمیل خور کو',
 'tog-enotifusertalkpages' => 'وختی که بلگه گپسن کارور آلشت پیدا کرد منه وا ایمیل خور کو',
+'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-ccmeonemails' => 'کپی ایمیل یا منه که سی کسونا تر می فرسنم سیم کل کو',
 'tog-diffonly' => 'بلگیایی که شومل فرخیا هارن نشون نیه',
 'tog-showhiddencats' => 'دسه يا قام بيئنه نشون بيه',
+'tog-norollbackdiff' => 'فرخیا نه د بین بوریت نها یه گل عقو گرد کردن',
+'tog-useeditwarning' => 'وختی که آلشتیا ذخیره نبیه د بلگه ویرایشت وه جا می نم خورم کو',
+'tog-prefershttps' => 'همیشه وختی که مه وامئن هئم د ارتواط امن استفاده کو',
 
 'underline-always' => 'هميشه',
 'underline-never' => 'هيژوخت',
@@ -127,8 +141,12 @@ $messages = array(
 'category-empty' => 'ای دسه واقعن شومل هیژ بلگه ای یا رسانه ای نی',
 'hidden-categories' => '{{PLURAL:$1|دسته قام بيه|دسته يا قام بيه}}',
 'hidden-category-category' => 'دسه یا قام بیه',
-'category-subcat-count' => '{{جمی:$2|ای دسه شومل بلگه نهاییه .| {{جمی:$1| بلگه هئ|$1 بلگیا هئن}} د ای زیردسه, خارج د $2 کل.}}',
+'category-subcat-count' => '{{جمی:$2|ای دسه فقط زیر دسه دینداگر هان دش .|ای دسه {{جمی:$1| زیردسه|$1 زیردسه یا}}هئ , خارج د $2 کل.}}',
+'category-subcat-count-limited' => 'ای دسه وا دمال {{جمی:$1|زیردسه|$1زیردسه یا}} بوئه',
 'category-article-count' => '{{جمی:$2|ای دسه شومل بلگه نهاییه .| {{جمی:$1| بلگه هئ|$1 بلگیا هئن}} د ای دسه, خارج د $2 کل.}}',
+'category-article-count-limited' => 'نها {{جمی:$1|بلگه هئ|$1بلگیا هئن}} د دسه ایسنی .',
+'category-file-count' => '{{جمی:$2|ای دسه فقط شامل فایل نهایی هئ file.| نهایی {{جمی:$1|فایل هئ|$1 فایلیا هئن}} د ای دسه, وه در د کل $2 .}}',
+'category-file-count-limited' => ' {{جمی:$1|فایل هئ|1$فایلیا هئن}}نهایی هان د دسه ایسنی.',
 'listingcontinuesabbrev' => 'دماله',
 'index-category' => 'بلگيا سيائه دار',
 'noindex-category' => 'بلگيا بی سيائه',
@@ -162,6 +180,7 @@ $messages = array(
 'vector-action-protect' => 'حمايت بكيد',
 'vector-action-undelete' => 'حذف نبيئني',
 'vector-action-unprotect' => 'حمايت آلشت بكيد',
+'vector-simplesearch-preference' => 'یه گل اوزار پی جوری ساده نه دروس بکید',
 'vector-view-create' => 'راس كردن',
 'vector-view-edit' => 'ويرايشت',
 'vector-view-history' => 'ديئن ويرگار',
@@ -195,6 +214,7 @@ $messages = array(
 'deletethispage' => 'ای بلگه نه حذف بكيد',
 'undeletethispage' => 'ای بلگه نه حذف نكيد',
 'undelete_short' => 'پاک نکو {{جمی:$1|یه گل ویرایشت|$1 ویرایشتیا}}',
+'viewdeleted_short' => 'بوینیت {{[جمی:$1|یه گل ویرایشت پاک بیه|$1ویرایشتیا پاک بیه}}',
 'protect' => 'حمايت بكيد',
 'protect_change' => 'آلشت بكيد',
 'protectthispage' => 'ای بلگه نه حفاظت بكيد',
@@ -227,11 +247,14 @@ $messages = array(
 'jumpto' => 'پئرستن د',
 'jumptonavigation' => 'ناوگشتن',
 'jumptosearch' => 'پی جوری',
+'pool-timeout' => 'وخت سی تیه وه ره منن سی قلف بیئن تموم بی',
+'pool-queuefull' => 'ذخیره گی گرتن پر بیه',
 'pool-errorunknown' => 'خطا ناشناس',
 
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'دباره {{SITENAME}}',
 'aboutpage' => 'پروجه:دباره',
+'copyright' => 'محتوا د دسرس هئ سی $1 مر وه شلک هنی نوشته بوئه',
 'copyrightpage' => '{{ns:پروجه}}:کپی رایت',
 'currentevents' => 'پيشومدل تازه باو',
 'currentevents-url' => 'پروجه:پيشومدل تازه باو',
@@ -249,15 +272,20 @@ $messages = array(
 
 'badaccess' => 'خطا :اجازه بئیر',
 'badaccess-group0' => 'شما اجازه انجوم کاری که حاستیت نارین',
+'badaccess-groups' => 'ای کاری که شما هاستیته سی کاروریا د  {{جمی:$2|گرو|یکی د گرویا}}: $1 مئدود بیه',
 
 'versionrequired' => 'یه نسقه د نیازمنیا ویکی رسانه
 $1',
+'versionrequiredtext' => 'نسقه $1 ویکی مدیا سی استفاده د ای بلگه لازم هئی .
+وه نه بوینیت [[ویجه:نسقه|نسقه بلگه]].',
 
 'ok' => 'خوئه',
 'retrievedfrom' => 'بازيافته د"$1"',
 'youhavenewmessages' => 'شما داريت $1($2)',
+'youhavenewmessagesfromusers' => '{{جمی:$4|شما }} $1 د {{جمی:$3|کارور هنی|$3 کاروریا}}داریتو($2).',
 'youhavenewmessagesmanyusers' => 'شما $1 د خيلی كاروريا داريت ($2).',
-'newmessagesdifflinkplural' => 'آخر {{PLURAL:$1|change|changes}}',
+'newmessageslinkplural' => '{{جمی:$1|یه گل پیغوم تازه|999=پیغوم ئل تازه}}',
+'newmessagesdifflinkplural' => 'آخر {{جمی:$1|آلشت|آلشتیا}}',
 'youhavenewmessagesmulti' => 'شما یه گل پیغوم تازه د $1 داریتو',
 'editsection' => 'ويرايشت',
 'editold' => 'ويرايشت',
@@ -272,8 +300,10 @@ $1',
 'collapsible-expand' => 'وا كردن',
 'thisisdeleted' => 'دیئن یا ورگنين $1?',
 'viewdeleted' => 'دیئن$1?',
+'restorelink' => '{{جمی:$1|یه گل ویرایشت پاک بیه|$1 ویرایشتیا پاک بیه}}',
 'feedlinks' => 'غذا دهنه:',
 'feed-invalid' => 'نوع مشترک بین خورحو نامعتور',
+'feed-unavailable' => 'خور حونیا د دسرس نئین',
 'site-rss-feed' => 'خورخو RSS سی $1',
 'site-atom-feed' => 'خور حون Atom سی $1',
 'page-rss-feed' => 'خورخو RSS سی «$1»',
@@ -308,32 +338,43 @@ $1',
 'databaseerror-error' => 'خطا: $1',
 'laggedslavemode' => 'زنهار:بلگه شايت شومل روزامديا تازه باو نبوئه',
 'readonly' => 'جاگه دونسمنيا بسه بيه',
+'enterlockreason' => 'دلیل قلف کردن نه بنیست،یه وختی سی وا کردن قلف د ویر داشتویت.',
 'missing-article' => 'پاگا داده نتونه بلگه ای با پیدا بکه بجوره.که نومش $1 و $2 هئ.
 معمولند یه سی یه که فرخ ویرگار رئته دش بیه پاک بیه.',
 'missingarticle-rev' => '(دوواره ديئن#: $1)',
 'missingarticle-diff' => '(فرخ: $1، $2)',
 'internalerror' => 'خطا داخلی',
 'internalerror_info' => 'خطا داخلی:$1',
+'fileappenderrorread' => 'نبوئه $1 نه اوسه که پیوست بوئه بحونیت.',
+'fileappenderror' => 'نبوئه فایل $1 د $2 پیوست بوئه',
 'filecopyerror' => 'نبوئه فایل $1 د $2 کپی بوئه',
 'filerenameerror' => 'نبوئه فایل $1 د $2 نوم آلشت بوئه',
 'filedeleteerror' => 'نبوئه فایل $1 پاک بوئه',
+'directorycreateerror' => 'نبوئه سردسه $1 راس بوئه.',
 'filenotfound' => 'نتونیت فایل $1 پیدا بکید',
+'fileexistserror' => 'نبوئه د فایل "$1" بنیسید:فایل هئیش',
+'unexpected' => 'ارزایشت ناحاسته: "$1"="$2".',
 'formerror' => 'خطا:نبوئه فرم وه مو بئيت',
+'badarticleerror' => 'ای انجوم دئنی د ای بلگه انجوم نگره.',
 'cannotdelete-title' => 'نبوئه بلگه $1 حذف بو',
 'badtitle' => 'موضو گن',
 'badtitletext' => 'عنوان بلگه حاسته بیه معتور نی،یا  یه گل مئن زونی یا مئن ویکی عنوان غلطه.
 یه شایت شومل یکی با یا بیشتر کاراکتریا نبوئه سی ای موضوعیا استفاده بوئن',
 'viewsource' => 'سرچشمه نه بوينيت',
 'viewsource-title' => 'سرچشمه $1 بوينيت',
+'actionthrottled' => 'عمل جلوگئری بیه',
+'viewsourcetext' => 'شما تونیت سرچشمه ای بلگه نه بوینیت و دش ورداریت:',
+'viewyourtext' => 'شما تونیت سرچشمه ویرایشتیا تونه ای د بلگه بوینیت و دشو ورداریت',
 'mycustomcssprotected' => 'شما حق ناریت ای بلگه سی اس اس نه ویرایشت بکید',
 'mycustomjsprotected' => 'شما حق ناریت ای بلگه جاوا اسکریپت نه ویرایشت بکید',
 'myprivateinfoprotected' => 'شما حق ناریت دونسمنیا خصوصی نه ویرایشت بکید',
 'mypreferencesprotected' => 'شما حق ناریت ویجگی یا هنی تونه ویرایشت بکید',
 'ns-specialprotected' => 'بلگیا ویجه نتونن ویرایشت بوئن',
 'exception-nologin' => 'نبوئه وارد بوئيد',
+'exception-nologin-text-manual' => 'خواهشمنیدم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.',
 
 # Virus scanner
-'virus-scanfailed' => 'زل گشتن شکست حرد',
+'virus-scanfailed' => 'زل بیئن شکست حرد($1)',
 'virus-unknownscanner' => 'ويروس كش ناآشگار',
 
 # Login and logout pages
@@ -370,8 +411,9 @@ $1',
 'gotaccount' => 'ایسنی حساو کاروری داریتو؟$1',
 'gotaccountlink' => 'اومائن',
 'userlogin-resetlink' => 'جزییات وامین اومائن تونه د ویر بردیته',
-'userlogin-resetpassword-link' => 'Ù\87Ù\86Û\8c Ø±Ù\85ز Ù\88ارد Ø¨Ù\83Ù\8aد',
+'userlogin-resetpassword-link' => 'پاسÙ\88رد Ø¯ Ù\88Û\8cرتÙ\88 Ø±Ø¦ØªÙ\87Ø\9f',
 'helplogin-url' => 'هومياری:د حالت اومائن د سيستم',
+'userlogin-helplink' => '[[{{مدیاویکی:هومیاری وامئن اومائن-یو آر ال}}|هومیاری وا مئن اومائن]]',
 'userlogin-createanother' => 'يه گل حساوهنی راست بكيد',
 'createacct-join' => 'دونسمنيا دباره خوتونه د هار وارد بكيد',
 'createacct-another-join' => 'دونسمنیا یه گل حساو د هار وارد بکید',
@@ -388,14 +430,18 @@ $1',
 'createacct-submit' => 'حساو خوتونه راس بكيد',
 'createacct-another-submit' => 'يه گل حساوهنی راست بكيد',
 'createacct-benefit-heading' => '{{نوم مالگه}} وه دس خلکی چی شما راس بیه.',
-'createacct-benefit-body1' => '{{جمی:$1|ویرایشت|ویرایشتا}}',
-'createacct-benefit-body2' => '{{جمی:$1|بلگه|بلگیا}}',
+'createacct-benefit-body1' => '{{جمی:$1|ویرایشت|ویرایشتیا}}',
+'createacct-benefit-body2' => '{{جمی:$1|بلگه|بلگه یا}}',
+'createacct-benefit-body3' => 'تازه{{جمی:$1|هومیار|هومیارا}}',
 'badretype' => 'پاسوردی که شما دئیته مطاوقت ناره',
 'userexists' => 'کارور نوم که وارد بیه د ایسه استفاده بوئه.
 لطف بکید یه گل نوم هنی انتخاو بکید',
 'loginerror' => 'خطا اومائن د سيستم',
 'createacct-error' => 'خطا راس كردن حساو',
 'createaccounterror' => 'نبوئه حساو راس بكيد:$1',
+'nocookiesnew' => 'حساو کاروری راس بی،اما شما وامئن نیامایئته.{{نوم مالگه}} د کوکیا سی اومائن د سیستم کاروریا استفاده می که.کوکیا شما د کار افتائه.لطفن وا کارشو بونیت، اوسه وا نوم کاروری تازه و پسورد هنی بیایت وا مئن.',
+'nocookieslogin' => '{{نوم مالگه}} د کوکیا سی وامئن اومائن کاروریا استفاده می که. کوکیا شما د کار افتائه.
+لطف بکید د کارشو بونیت و دوواره تلاش بکید.',
 'noname' => 'شما یه گل نوم کاروری خو ناریت',
 'loginsuccesstitle' => 'اومائن د سيستم موفق بی',
 'loginsuccess' => 'شما ایسه وارد بیته {{SITENAME}} د دعنوان "$1".\'',
@@ -409,12 +455,13 @@ $1',
 'passwordtooshort' => 'پاسورد با حداقل  {{PLURAL:$1|1 character|$1 characters}}          با',
 'password-name-match' => 'پاسوردتو با د نوم کاروریتو فرخ داشتوه',
 'password-login-forbidden' => 'وه کار گرتن ای پاسوردو نوم کاروری ممنو بیه.',
-'mailmypassword' => 'رÙ\85ز Ù\87Ù\86Û\8c Ù\86Ù\87 Ø§Ù\8aÙ\85Ù\8aÙ\84 Ø¨Ù\83Ù\8aد',
+'mailmypassword' => 'د Ù\86Û\88 Ù\88ارد Ù\83ردÙ\86 Ø±Ù\85ز',
 'passwordremindertitle' => 'پاسورد موقت تازه سی {{SITENAME}}',
 'noemail' => 'هیچ نشونی ایمیلی سی کارور $1 ضفط نبیه.',
 'noemailcreate' => 'شما باید یه نشونی نومه معتور فراهم بکید',
 'mailerror' => 'خطا داره کل موئه:$1',
 'emailconfirmlink' => 'نشونی ايملتو نه محكم بكيد',
+'cannotchangeemail' => 'نشونی ایمیل حساو نتونه د ای ویکی آلشت بوئه.',
 'emaildisabled' => 'ای مالگه نتونه ایمیل بفرسنه',
 'accountcreated' => 'حساو راس بی',
 'createaccount-title' => 'حساو راس کرده سی  {{SITENAME}}',
@@ -442,15 +489,23 @@ $1',
 # Special:PasswordReset
 'passwordreset' => 'د نۈ وارد كردن رمز',
 'passwordreset-legend' => 'د نۈ وارد كردن رمز',
+'passwordreset-disabled' => 'نو کرد پاسورد د ای ویکی غیرفعال بیه.',
+'passwordreset-emaildisabled' => 'چی یا هنی ایمیل د ای ویکی غیرفعال بیه.',
 'passwordreset-username' => 'نوم كاروری:',
 'passwordreset-domain' => 'پوشگیر',
 'passwordreset-capture' => 'ایمیل نتیجه نه بوینیتو؟',
+'passwordreset-capture-help' => 'ار شما ای جعوه نه وارسی بکید. ایمیل و خوئی اوسه که سی کارور کل بیه بوئه بوینیتش.',
 'passwordreset-email' => 'نشونی ايميل',
+'passwordreset-emailtitle' => 'جزئیات حساو ها د {{نوم مالگه}}',
+'passwordreset-emailelement' => 'نوم کاروری: $1
+پاسورد موقتی: $2',
 'passwordreset-emailsent' => 'پاسورد هنی سی ایمیل کل بیه.',
+'passwordreset-emailsent-capture' => 'پاسورد تازه تو د ایمیلتو که د هار نشو دئه بیه کل بیه',
 
 # Special:ChangeEmail
 'changeemail' => 'ایمیل تو نه آلشت بکید',
 'changeemail-header' => 'ایمیل حساوتونه آلشت بکید',
+'changeemail-no-info' => 'شما با بیایت د سیستم تا د ای بلگه دسرسی داشتویت',
 'changeemail-oldemail' => 'نشونی ایمیل تازه باو:',
 'changeemail-newemail' => 'نشونی ایمیل تازه',
 'changeemail-none' => '(هيش كوم)',
@@ -458,6 +513,15 @@ $1',
 'changeemail-submit' => 'آلشت کردن ایمیل',
 'changeemail-cancel' => 'رد كردن',
 
+# Special:ResetTokens
+'resettokens' => 'تازه کردن نشونه یا',
+'resettokens-no-tokens' => 'هیژ نشونه ای سی تازه کردن نئ.',
+'resettokens-legend' => 'تازه کردن نشونه یا',
+'resettokens-tokens' => 'نشونه یا:',
+'resettokens-token-label' => '$1 (ارزشت تازه: $2)',
+'resettokens-done' => 'نشونه یا تازه بیه.',
+'resettokens-resetbutton' => 'نشونه یا انتخاو بیه تازه بوئن',
+
 # Edit page toolbar
 'bold_sample' => 'متن توپر بيه',
 'bold_tip' => 'متن توپر بيه',
@@ -478,6 +542,7 @@ $1',
 
 # Edit pages
 'summary' => 'چكسته',
+'subject' => 'موضو/سر خط:',
 'minoredit' => 'يه ويرايشت كؤچكيه',
 'watchthis' => 'ديئن ای بلگه',
 'savearticle' => 'بلگه ضبط بوئه',
@@ -489,12 +554,14 @@ $1',
 نشونی آی پی تو د ویرگار ویرایشت ای بلگه ضفط بوئه',
 'missingcommenttext' => 'لطفن د ایچه نظر بیئتو',
 'summary-preview' => 'چکسته پیش سیل:',
+'subject-preview' => 'پیش سیل موضو سرخط',
 'blockedtitle' => 'كارور قلف بيه',
 'blockednoreason' => 'هیژ دلیلی دئه نبیه',
 'whitelistedittext' => 'شما باید $1 سی ویرایشت بلگیا',
 'nosuchsectiontitle' => 'نبوئه بشخ پیدا بوئه',
 'loginreqtitle' => 'وامین اومائن لازمه',
 'loginreqlink' => 'اومائن',
+'loginreqpagetext' => '$1 لطف بکید بلگه یا هنی نه بوینیت',
 'accmailtitle' => 'پاسورد کل بی',
 'newarticle' => 'تازه',
 'newarticletext' => 'شما وادما هوم پیوندی هئیت که وجود ناره.
@@ -520,6 +587,7 @@ $1',
 'template-protected' => '(حمايت بيه)',
 'template-semiprotected' => '(نيم-حفاظت بيه)',
 'hiddencategories' => 'ای بلگه يه اندوم د{{PLURAL:$1|1 hidden category|$1 hidden categories}}: هئ',
+'sectioneditnotsupported-title' => 'ویرایشت بخش حمایت نبوئه',
 'permissionserrors' => 'خطا اجازه دئین',
 'permissionserrorstext-withaction' => 'شما سی $2 اجازه ناریت
 سی دمال کردن{{PLURAL:$1|reason|reasons}}:',
@@ -545,6 +613,9 @@ $1',
 گپسنیا پاک بینه.',
 'post-expand-template-argument-category' => 'بلگه شومل قالو چک چنیا د بین رئته',
 
+# Account creation failure
+'cantcreateaccounttitle' => 'نبوئه حساو راس بکید',
+
 # History pages
 'viewpagelogs' => 'سی ای بلگه بوینتو.',
 'currentrev' => 'آخرین دوواره دیئن',
@@ -559,6 +630,8 @@ $1',
 'last' => 'دمايی',
 'page_first' => 'اولی',
 'page_last' => 'آخر',
+'histlegend' => "انتخاو فرخدار:جعویا رادیو نه سی دوواره دیئن و وارسی نشو دار بکید و یا ری رئتن کلیک بکید .<br />
+شرح نوشته: '''({{int:cur}})''' = وا آخری دوواره دیئن فرخ داره '''({{ int:last}})'''= وا دواره دیئن انجوم دئنی فرخ داره  '''{{int:minoreditletter}}''' =ویرایشت کؤچک.",
 'history-fieldset-title' => 'ویرگار مرور ون',
 'history-show-deleted' => 'فقط پاك بيه',
 'histfirst' => 'قديمي تري',
@@ -571,6 +644,7 @@ $1',
 $2',
 
 # Revision deletion
+'rev-deleted-user' => '(نوم کاروری جا وه جا بیه)',
 'rev-delundel' => 'آلشت وضئيت ديئن',
 'rev-showdeleted' => 'نشو دائن',
 'revdelete-show-file-submit' => 'هری',
@@ -610,7 +684,7 @@ $2',
 'nextn' => 'نيايی {{PLURAL:$1|$1}}',
 'prevn-title' => 'پيشتر $1 {{PLURAL:$1|نتيجه|نتيجيا}}',
 'nextn-title' => 'نيايی $1 {{PLURAL:$1|نتيجه|نتيجيا}}',
-'shown-title' => 'Ù\86Ø´Ù\88Ù\86 Ø¯Ø§Ø¦Ù\86 $1 {{PLURAL:$1|Ù\86تÙ\8aجÙ\87\86تÙ\8aجÙ\87}} Ø³Û\8c Ù\87Ù\85Ù\87 بلگه',
+'shown-title' => 'Ù\86Ø´Ù\88Ù\86 Ø¯Ø¦Ù\86 $1 {{PLURAL:$1|Ù\86تÙ\8aجÙ\87\86تÙ\8aجÙ\87}} Ø³Û\8c Ù\87ر بلگه',
 'viewprevnext' => 'ديئن ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''ایچه بلگه ای هئ وه نوم\"[[:\$1]]\" که ها د ای ویکی'''",
 'searchmenu-new' => "'''ای بلگه نه راس كو \"[[:\$1]]\" د ای  ويكي!'''",
@@ -661,6 +735,7 @@ $2',
 'columns' => 'ستينا:',
 'searchresultshead' => 'پی جوری',
 'stub-threshold-disabled' => 'د كار ونن',
+'savedprefs' => 'ویجه گیا هنی تو ذخیره بیه.',
 'timezonelegend' => 'وخت راساگه',
 'localtime' => 'وخت ولاتی:',
 'timezoneuseserverdefault' => 'وخت راساگه',
@@ -679,14 +754,23 @@ $2',
 'prefs-namespaces' => 'نوم جایا',
 'default' => 'پيش فرض',
 'prefs-files' => 'فايلا',
+'prefs-emailconfirm-label' => 'مئکم کردن ایمیل:',
 'youremail' => 'ايميل:',
+'prefs-registration' => 'موقع ثوت نام:',
 'yourrealname' => 'نوم راستكی:',
 'yourlanguage' => 'زون:',
 'yournick' => 'امضا تازه:',
+'gender-unknown' => 'مه میهام چی یی نموئم',
+'gender-male' => 'وه(پیا) بلگه یا ویکی نه ویرایشت می که',
+'gender-female' => 'وه(زئنه)بلگه یا ویکی نه ویرایشت می که',
 'email' => 'پیومک برقی',
 'prefs-help-email' => 'نشونی ایمیل اختیاری هئ.اما سی بازجست پاسورد دش نیاز بوئه.شما باید پاسوردتونه د ویر بوریت',
 'prefs-help-email-others' => 'شما می تونید سی پیوند گرتن تو وا نهایین ایمیل مئن یه هوم پیوند د بلگه کاروری یا بلگه چک چنه تو انتخاو بکید.
 نشونی ایمیلتو وختی که کاروریا هنی وا تو پیوند می گرن دیار نی.',
+'prefs-help-email-required' => 'نشونی ایمیل لازم هئ.',
+'prefs-info' => 'دونسمنیا اولیه',
+'prefs-i18n' => 'جهون ولاتمنی',
+'prefs-signature' => 'امضا',
 'prefs-editor' => 'ويرايشتگر',
 'prefs-preview' => 'پیش سیل',
 'prefs-diffs' => 'فرخیا',
@@ -698,6 +782,8 @@ $2',
 'saveusergroups' => 'ذخیره کرد گرویا کاروری',
 'userrights-groupsmember' => 'اندوم:',
 'userrights-reason' => 'دليل:',
+'userrights-changeable-col' => 'گرویایی که شما تونیت ویرایشت بکید',
+'userrights-unchangeable-col' => 'گرویایی که شما نتونیت ویرایشت بکید',
 
 # Groups
 'group' => 'گرو',
@@ -708,9 +794,15 @@ $2',
 'group-bureaucrat' => 'بروکراتیا',
 'group-all' => '(همه)',
 
+'group-user-member' => '{{جنس:$1|کارور}}',
+'group-bot-member' => '{{حنس:$1|بوت}}',
+'group-sysop-member' => '{{جنس:$1|مدیر}}',
+'group-bureaucrat-member' => '{{جنس:$1|بروکرات}}',
+
 # Rights
 'right-read' => 'حنن بلگیا',
 'right-edit' => 'ویرایشت بلگیا',
+'right-delete' => 'بلگیا نه پاک کو',
 
 # Special:Log/newusers
 'newuserlogpage' => 'راس بیه وا کارور',
@@ -739,7 +831,7 @@ $2',
 'rclistfrom' => 'آلشتیا تازه ایی که وا $1 شرو بیه نشونش بئه',
 'rcshowhideminor' => 'ويرايشتيا کؤچک $1',
 'rcshowhidebots' => '$1 رواتيا یا بوتيا',
-'rcshowhideliu' => '$1 کارورياداخل بيه',
+'rcshowhideliu' => '$1 کاروريا ثوت نام کرده',
 'rcshowhideanons' => '$1 کاروريا ناشناس',
 'rcshowhidepatr' => '$1 ویرایشتیا تیه پرس بیه',
 'rcshowhidemine' => 'ويرايشتيا مه$1',
@@ -766,6 +858,9 @@ $2',
 
 # Upload
 'upload' => 'بلم گير كردن فايلا',
+'uploadbtn' => 'سوار کردن فایل',
+'uploadnologin' => 'وارد نبیه',
+'uploaderror' => 'خطا د سوار کردن',
 'uploadlogpage' => 'سوارکرد',
 'filename' => 'نوم فایل',
 'filedesc' => 'چكسته',
@@ -857,6 +952,9 @@ $2',
 'booksources-search-legend' => 'پی جوری سی سرچشمه یا کتاو',
 'booksources-go' => 'رو',
 
+# Special:Log
+'log' => 'نیسنن رخ ونیا',
+
 # Special:AllPages
 'allpages' => 'همه بلگيا',
 'alphaindexline' => '$1 د
@@ -919,6 +1017,7 @@ $2',
 'sp-contributions-newbies' => 'فقط هومیاری یایی که د حساو تازه بیه نشون بئه',
 'sp-contributions-blocklog' => 'قلف',
 'sp-contributions-uploads' => 'سواركرديا',
+'sp-contributions-logs' => 'نیسنن رخ ونیا',
 'sp-contributions-talk' => 'چك چنه',
 'sp-contributions-search' => 'سی هومیاریا پی جور با',
 'sp-contributions-username' => 'نوم نشون آی پی يا نوم كاروری:',
@@ -1034,7 +1133,7 @@ $2',
 'file-info-size' => '$1 × $2 پیکسل, انازه فایل: $3, MIME نوع: $4',
 'file-nohires' => 'عسك ون بالاتري دش ني',
 'svg-long-desc' => 'اس وی جی فايل.نومنا $1 $2 پيكسل',
-'show-big-image' => 'تموم رخ ون',
+'show-big-image' => 'فایل اصلی',
 
 # Bad image list
 'bad_image_list' => 'دونسمنديانه وه ای شلگ وارد بكيت:
index f049837..666db50 100644 (file)
@@ -129,7 +129,7 @@ $messages = array(
 'category-subcat-count' => '{{PLURAL:$2|He pawl hian he pawlpeng chauh hi a nei. |He pawl hian heng  {{PLURAL:$1|pawlpéng|pawlpéng $1-te}} hi a nei, avaia  $2  zingah.}}',
 'category-subcat-count-limited' => "He pawl hian  {{PLURAL:$1|hë pawlpéng chauh|$1 hê'ng pawlpéngte}} hi a nei.",
 'category-article-count' => "{{PLURAL:$2|He pawl hian hemi phêk chauh hi a nei. | Hê'ng phek {{PLURAL:$1||$1-te}} hi he pawlah hian a awm, avaia $2 zingah.}}",
-'category-article-count-limited' => '{{PLURAL: $1 |$1He|$1 Heng}} phekte hi hë pawl, i en mékah hian a awm.',
+'category-article-count-limited' => '{{PLURAL:$1 |$1He|$1 Heng}} phekte hi hë pawl, i en mékah hian a awm.',
 'category-file-count' => '{{PLURAL:$2|He pawl hian hë taksa chauh hi a kengtel.|{{PLURAL:$1|He taksa $1 |Heng taksa $1-te}} hi he pawlah hian a awm, a vaia $2 zingah}}',
 'category-file-count-limited' => '{{PLURAL:$1|He taksa|$1Heng taksate}} hi hemi pawl, i en mékah hian a awm.',
 'listingcontinuesabbrev' => 'chhunz.',
index 7b29d86..b864dc9 100644 (file)
@@ -123,6 +123,9 @@ $namespaceAliases = array(
        'Discussion_Catégorie' => NS_CATEGORY_TALK,
 );
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $specialPageAliases = array(
        'Activeusers'               => array( 'Mpikambana_mavitrika' ),
        'Allmessages'               => array( 'Hafatra_rehetra' ),
@@ -1866,7 +1869,7 @@ ity wiki ity dia no-regler-na ho sarababem-bahoaka.",
 'license' => 'Lisansy:',
 'license-header' => "Navoaka tambanin'ny lisansy",
 'nolicense' => 'Tsy misy safidy',
-'license-nopreview' => '(Topi-maso tsy misy)',
+'license-nopreview' => '(Tsy misy topi-maso)',
 'upload_source_url' => " (URL misy ary azo vangian'ny daholobe)",
 'upload_source_file' => " (rakitra eo amin'ny milinao)",
 
@@ -3043,7 +3046,7 @@ Raha alefanao ilay izy, mety ho simban'io renifango io ny solosainao.",
 'file-info' => 'Haben-drakitra : $1, karazana MIME : $2',
 'file-info-size' => "$1 × $2 teboka, haben'ilay rakitra : $3, endrika MIME : $4",
 'file-info-size-pages' => '$1 × $2 teboka, haben-drakitra : $3, karazana MIME $4, pejy $5 {{PLURAL:}}',
-'file-nohires' => "Tsy misy sary ngeza non'io",
+'file-nohires' => 'Tsy misy sary lehiba noho io.',
 'svg-long-desc' => 'rakitra SVG, habe $1 × $2 teboka, habe : $3',
 'svg-long-error' => 'Rakitra SVG tsy ekena : $1',
 'show-big-image' => "Hijery ny tena haben'ny sary",
index 0fa5734..e5b3886 100644 (file)
@@ -105,7 +105,7 @@ $messages = array(
 'tog-numberheadings' => 'Вуймутым автоматик йӧн дене радамлаш',
 'tog-showtoolbar' => 'Тӧрлатымаш ӱзгараҥам ончыкташ',
 'tog-showtoc' => 'Вуймут радамым ончыкташ (3 деч шуко вуймутан лаштык-влаклан)',
-'tog-rememberpassword' => 'Тиде компьютерышто мыйын шолыпмутым шарнаш (эн шуко $1 {{PLURAL:$1|кечылын|кечылан}})',
+'tog-rememberpassword' => 'Тиде компьютерышто мыйын шолыпмутым шарнаш (эн шуко $1 {{PLURAL:$1|1=кечылын|кечылан}})',
 'tog-watchcreations' => 'Мыйын ыштыме лаштык-влакым эскерыме лӱмерыш ешараш',
 'tog-watchdefault' => 'Мыйын тӧрлатыме лаштык-влакым эскерыме лӱмерыш ешараш',
 'tog-watchmoves' => 'Мыйын лӱмым вашталтыме лаштык-влакым эскерыме лӱмерыш ешараш',
@@ -180,16 +180,16 @@ $messages = array(
 'dec' => 'Теле',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категорий|Категорий}}',
+'pagecategories' => '{{PLURAL:$1|1=Категорий|Категорий}}',
 'category_header' => '"$1" категорийыште лаштык-влак',
 'subcategories' => 'Ӱлылкатегорий-влак',
 'category-media-header' => '"$1" категорийыште файл-влак',
 'category-empty' => "''Ты жаплан тиде категорийыште нимоат уке.''",
-'hidden-categories' => '{{PLURAL:$1|Шылтыме категорий|Шылтыме категорий-влак}}',
+'hidden-categories' => '{{PLURAL:$1|1=Шылтыме категорий|Шылтыме категорий-влак}}',
 'hidden-category-category' => 'Шылтымо категорий-влак',
-'category-subcat-count' => '{{PLURAL:$2|Тиде категорийыш ик ӱлылкатегорий гына пура.|{{PLURAL:$1|Тыгай $1 ӱлылкатегорий|Тыгане $1 ӱлылкатегорий-влак}} тиде категорийыште, чыла $2.}}',
-'category-article-count' => '{{PLURAL:$2|Тиде категорийыш ик лаштык гына пура.|{{PLURAL:$1|Тыгай $1 лаштык|Тыгане $1 лаштык-влак}} тиде категорийыште, чыла $2.}}',
-'category-file-count' => '{{PLURAL:$2|Тиде категорийыш ик лаштык гына пура.|{{PLURAL:$1|$1 лаштык|$1 лаштык}} тиде категорийыште, чылажге $2.}}',
+'category-subcat-count' => '{{PLURAL:$2|Тиде категорийыш ик ӱлылкатегорий гына пура.|{{PLURAL:$1|1=Тыгай $1 ӱлылкатегорий|Тыгане $1 ӱлылкатегорий-влак}} тиде категорийыште, чыла $2.}}',
+'category-article-count' => '{{PLURAL:$2|Тиде категорийыш ик лаштык гына пура.|{{PLURAL:$1|1=Тыгай $1 лаштык|Тыгане $1 лаштык-влак}} тиде категорийыште, чыла $2.}}',
+'category-file-count' => '{{PLURAL:$2|Тиде категорийыш ик лаштык гына пура.|{{PLURAL:$1|1=$1 лаштык|$1 лаштык}} тиде категорийыште, чылажге $2.}}',
 'listingcontinuesabbrev' => '(умбакыжым)',
 'noindex-category' => 'Шотыш налдыме лаштык-влак',
 
@@ -360,7 +360,7 @@ $messages = array(
 'yourpasswordagain' => 'Шолыпмутым угыч пуртымаш:',
 'createacct-yourpasswordagain' => 'Шолыпмутым пеҥгыдемде',
 'createacct-yourpasswordagain-ph' => 'Шолыпмутым угыч пурто',
-'remembermypassword' => 'Тиде компьютерыште мыйым шарнаш (эн шуко $1 {{PLURAL:$1|кечылан|кечылан}})',
+'remembermypassword' => 'Тиде компьютерыште мыйым шарнаш (эн шуко $1 {{PLURAL:$1|1=кечылан|кечылан}})',
 'yourdomainname' => 'Тендан домен:',
 'login' => 'Шке денет палдаре',
 'nav-login-createaccount' => 'Пураш/Регистрацийым эрте',
@@ -387,7 +387,7 @@ $messages = array(
 Эше ик гана ыштен ончо.',
 'wrongpasswordempty' => 'Тый яра шолыпмутым пуртенат.
 Эше ик гана ыштен ончо.',
-'passwordtooshort' => 'Шолыпмут {{PLURAL:$1|1 символ|$1 символ}} деч шагал огыл лийшаш.',
+'passwordtooshort' => 'Шолыпмут {{PLURAL:$1|1=1 символ|$1 символ}} деч шагал огыл лийшаш.',
 'mailmypassword' => 'У шолыпмутым колташ',
 'passwordremindertitle' => '{{SITENAME}} сайтлан жаплан ыштыме у шолыпмут',
 'passwordremindertext' => '{{SITENAME}} сайтлан ($4) $1 IP адрес гыч ала кӧ (але тый шкеак) у шолыпмутым йодын. "$2" пайдаланышылан жаплан ыштыме у шолыпмутым ыштыме да "$3" электрон адресыш колтымо. Тидым тый йодынат гын, системыш у шолыпмут дене пуро.
@@ -461,12 +461,12 @@ $messages = array(
 Возыметым нигӧлан пайдаланаш, тӧрлаташ ынет пу гын тышке тудым ит шыҥдаре.<br />
 Тыгак текстым шке возымо але тудым эрыкан вер гыч налме шотышто мутым пуэт.<br />
 '''АВТОР АЛЕ ТУДЫН ПРАВАМ АРАЛЫШЕ-ВЛАК ДЕЧ ЙОДДЕ МАТЕРИАЛЫМ ИТ ШЫҤДАРЕ!'''",
-'templatesused' => 'Тиде лаштыкыште кучылтмо {{PLURAL:$1|ямдылык|ямдылык-влак}}:',
-'templatesusedpreview' => 'Тиде лаштыкыште кучылтмо {{PLURAL:$1|ямыдылык|ямдылык-влак}}:',
+'templatesused' => 'Тиде лаштыкыште кучылтмо {{PLURAL:$1|1=ямдылык|ямдылык-влак}}:',
+'templatesusedpreview' => 'Тиде лаштыкыште кучылтмо {{PLURAL:$1|1=ямыдылык|ямдылык-влак}}:',
 'template-protected' => '(тӧрлаташ чарыме)',
 'template-semiprotected' => '(верын аралыме)',
-'hiddencategories' => 'Тиде лаштык $1 {{PLURAL:$1|шылтыме категорийыш|шылтыме категорийыш}} лектеш:',
-'permissionserrorstext-withaction' => "Тыйын '''$2''' кертмашет шагал. Тиде {{PLURAL:$1|амал ден|амал дене}}:",
+'hiddencategories' => 'Тиде лаштык $1 {{PLURAL:$1|1=шылтыме категорийыш|шылтыме категорийыш}} лектеш:',
+'permissionserrorstext-withaction' => "Тыйын '''$2''' кертмашет шагал. Тиде {{PLURAL:$1|1=амал ден|амал дене}}:",
 'recreate-moveddeleted-warn' => "'''Йолташ, тиде лаштыкым тиддеч ончыч шӧреныт.''' Тудым илаҥдарыме деч ончыч, тыгай лаштык кӱлешак мо - тергыман. Ӱлнырак шӧрымаш да лӱм вашталтымаш журнал-влакым шергал лекташ лиеш.",
 'moveddeleted-notice' => 'Тиде лаштык шӧралтын.
 Лаштыклан шӧрымӧ да кусарыме нерген журнал ӱлнӧ ончыктымо.',
@@ -519,7 +519,7 @@ $messages = array(
 'lineno' => '$1 корно:',
 'compareselectedversions' => 'Ойырымо версий-влакым таҥастараш',
 'editundo' => 'чараш',
-'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия|не показаны $1 промежуточные версии|не показаны $1 промежуточных версий}} {{PLURAL:$2|$2 участника|$2 участников}})',
+'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия|не показаны $1 промежуточных версий|не показаны $1 промежуточные версии}} {{PLURAL:$2|1=$2 участника|$2 участников}})',
 
 # Search results
 'searchresults' => 'Кычалын мумо',
@@ -529,7 +529,7 @@ $messages = array(
 'nextn' => 'весе {{PLURAL:$1|$1}}',
 'prevn-title' => 'Кодшо $1 {{PLURAL:$1|результат}}',
 'nextn-title' => 'Весе $1 {{PLURAL:$1|результат}}',
-'shown-title' => 'Лаштыкыште $1 {{PLURAL:$1|возымаш|возымашым}} ончыкташ',
+'shown-title' => 'Лаштыкыште $1 {{PLURAL:$1|1=возымаш|возымашым}} ончыкташ',
 'viewprevnext' => 'Ончал ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-new' => "'''Тиде вики-проектыште «[[:$1]]» лӱман лаштыкым ышташ!'''",
 'searchprofile-articles' => 'Возымо лаштык-влак',
@@ -542,8 +542,8 @@ $messages = array(
 'searchprofile-images-tooltip' => 'Файл-влакым кычалмаш',
 'searchprofile-everything-tooltip' => 'Чыла лаштык-влакыште кычалаш (каҥашымаш лаштык-влакыштат)',
 'searchprofile-advanced-tooltip' => 'Искать в заданных пространствах имён',
-'search-result-size' => '$1 ({{PLURAL:$2|$2 мут|$2 мут}})',
-'search-result-category-size' => '$1 {{PLURAL:$1|вхождение|вхождения|вхождений}} ($2 {{PLURAL:$2|подкатегория|подкатегории|подкатегорий}}, $3 {{PLURAL:$3|файл|файла|файлов}}).',
+'search-result-size' => '$1 ({{PLURAL:$2|1=$2 мут|$2 мут}})',
+'search-result-category-size' => '$1 {{PLURAL:$1|вхождение|вхождений|вхождения}} ($2 {{PLURAL:$2|подкатегория|подкатегорий|подкатегории}}, $3 {{PLURAL:$3|файл|файлов|файла}}).',
 'search-redirect' => '($1 вес вере колтымаш)',
 'search-section' => '(ужаш $1)',
 'search-suggest' => 'Але те $1 возынеда ыле',
@@ -552,7 +552,7 @@ $messages = array(
 'search-interwiki-more' => '(эше)',
 'searchrelated' => 'кылдалтше',
 'searchall' => 'чыла',
-'showingresultsheader' => "'''$4'''лан {{PLURAL:$5|'''$3''' гыч '''$1''' результат|'''$3''' гыч '''$1 - $2''' результат}}",
+'showingresultsheader' => "'''$4'''лан {{PLURAL:$5|1='''$3''' гыч '''$1''' результат|'''$3''' гыч '''$1 - $2''' результат}}",
 'search-nonefound' => 'Тыйын йодышет почеш нимо муалтын огыл',
 'powersearch-legend' => 'Сайынрак кычалаш',
 'powersearch-ns' => 'Кычалаш тиде лӱм-влакын кумдыкышт-влакыште:',
@@ -602,7 +602,7 @@ $messages = array(
 'youremail' => 'Электрон почто:',
 'username' => '{{GENDER:$1|Пайдаланышын лӱмжӧ|Пайдаланышын лӱмжӧ}}:',
 'uid' => '{{GENDER:$1|Пайдаланышын}} ID-же:',
-'prefs-memberingroups' => '{{PLURAL:$1|Тӱшкаште шогышо|Тӱшка-влакыште шогышо}}:',
+'prefs-memberingroups' => '{{PLURAL:$1|1=Тӱшкаште шогышо|Тӱшка-влакыште шогышо}}:',
 'yourrealname' => 'Чын лӱмжӧ:',
 'yourlanguage' => 'Йылме:',
 'yournick' => 'Кидпале:',
@@ -703,7 +703,7 @@ $messages = array(
 'filehist-filesize' => 'Файлын кугытшо',
 'filehist-comment' => 'Файл нерген:',
 'imagelinks' => 'Файлым кучылтмаш',
-'linkstoimage' => 'Тиде {{PLURAL:$1|$1 лаштык саде файл дене кылдалтын|$1 лаштык-влак саде файл дене кылдалтыныт}}:',
+'linkstoimage' => 'Тиде {{PLURAL:$1|1=$1 лаштык саде файл дене кылдалтын|$1 лаштык-влак саде файл дене кылдалтыныт}}:',
 'nolinkstoimage' => 'Тиде файл дене кылдалтше ик лаштыкат уке.',
 'sharedupload' => 'Тиде файлын верже: $1, туге гынат, тудым моло веренат кучылташ лиеш.',
 'uploadnewversion-linktext' => 'Тиде файлын у тӱрлыкшым пурташ',
@@ -737,7 +737,7 @@ $messages = array(
 'statistics-views-peredit' => 'Ик тӧрлатымашлан ончымо',
 'statistics-users' => 'Регистрацийым эртыше [[Special:ListUsers|пайдаланыше-влак]]',
 'statistics-users-active' => 'Чӱчкыдын пайдаланыше-влак',
-'statistics-users-active-desc' => 'Пытартыш {{PLURAL:$1|кечыште|$1 кечыште}} иктаж-мом ыштыше пайдаланыше-влак',
+'statistics-users-active-desc' => 'Пытартыш {{PLURAL:$1|1=кечыште|$1 кечыште}} иктаж-мом ыштыше пайдаланыше-влак',
 'statistics-mostpopular' => 'Эн чӱчкыдын ончымо лаштык-влак',
 
 'brokenredirects' => 'Пудыртымо вес вере колтымаш-влак',
@@ -747,9 +747,9 @@ $messages = array(
 'withoutinterwiki-submit' => 'ончыкташ',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байт}}',
-'nmembers' => '$1 {{PLURAL:$1|лаштык|лаштык-влак}}',
-'nviews' => '$1 {{PLURAL:$1|ончымо|ончымо-влак}}',
+'nbytes' => '$1 {{PLURAL:$1|1=байт|байт}}',
+'nmembers' => '$1 {{PLURAL:$1|1=лаштык|лаштык-влак}}',
+'nviews' => '$1 {{PLURAL:$1|1=ончымо|ончымо-влак}}',
 'lonelypages' => 'Тулык лаштык-влак',
 'wantedcategories' => 'Ыштыман категорий-влак',
 'wantedpages' => 'Ыштышаш лаштык-влак',
@@ -764,8 +764,8 @@ $messages = array(
 'newpages-username' => 'Пайдаланышын лӱмжӧ:',
 'move' => 'Кусараш',
 'movethispage' => 'Тиде лаштыкым кусараш',
-'pager-newer-n' => '{{PLURAL:$1|вес|вес}}',
-'pager-older-n' => '{{PLURAL:$1|ончычсо|ончычсо}}',
+'pager-newer-n' => '{{PLURAL:$1|1=вес|вес}}',
+'pager-older-n' => '{{PLURAL:$1|1=ончычсо|ончычсо}}',
 
 # Book sources
 'booksources' => 'Негызым пыштыше кнага-влак',
@@ -800,7 +800,7 @@ $messages = array(
 
 # Special:ActiveUsers
 'activeusers' => 'Чӱчкыдын пайдаланыше-влак',
-'activeusers-count' => 'Пытартыш $3 {{PLURAL:$3|кечыште|кечылаште}} $1 {{PLURAL:$1|тӧрлатымаш|тӧрлатымаш-влак}}',
+'activeusers-count' => 'Пытартыш $3 {{PLURAL:$3|1=кечыште|кечылаште}} $1 {{PLURAL:$1|1=тӧрлатымаш|тӧрлатымаш-влак}}',
 'activeusers-hidebots' => 'Бот-влакым шылташ',
 'activeusers-hidesysops' => 'Сайтвиктарыше-влакым шылташ',
 
@@ -822,7 +822,7 @@ $messages = array(
 'unwatch' => 'Эскерыман огыл',
 'unwatchthispage' => 'Эскерымым чарнаш',
 'watchlist-details' => 'Эскерымаш лӱмерыштет $1 {{PLURAL:$1|лаштык}}, каҥашымаш лаштык-влакым шотлыде',
-'watchlistcontains' => 'Тыйын лӱмерыште $1 {{PLURAL:$1|лаштык|лаштык}}.',
+'watchlistcontains' => 'Тыйын лӱмерыште $1 {{PLURAL:$1|1=лаштык|лаштык}}.',
 'wlshowlast' => 'Пытартыш $1 шагат $2 кечылан $3 ончыкташ',
 'watchlist-options' => 'Эскерыме лӱмерын келыштарымаш',
 
@@ -914,8 +914,8 @@ $messages = array(
 'isredirect' => 'вес вере колтышо лаштык',
 'istemplate' => 'пуртымаш',
 'isimage' => 'файллан кылвер',
-'whatlinkshere-prev' => '{{PLURAL:$1|ончычсо|$1 ончычсо}}',
-'whatlinkshere-next' => '{{PLURAL:$1|вес|$1 вес}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=ончычсо|$1 ончычсо}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=вес|$1 вес}}',
 'whatlinkshere-links' => '← кылвер-влак',
 'whatlinkshere-hideredirs' => 'вес вере колтымаш-влакым $1',
 'whatlinkshere-hidetrans' => 'пуртымашым $1',
@@ -1045,7 +1045,7 @@ $messages = array(
 'nextdiff' => 'Вес тӧрлатымаш →',
 
 # Media information
-'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|лаштык|лаштык}}',
+'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|1=лаштык|лаштык}}',
 'file-info-size' => '$1 × $2 пиксел, файлын кугытшо: $3, MIME-тип: $4',
 'file-nohires' => 'Кугурак чаплык уке.',
 'svg-long-desc' => 'SVG файл, шкенжын кугытшо: $1 × $2 пиксел, файлын кугытшо: $3',
index a92186a..8bf5dc1 100644 (file)
@@ -2647,7 +2647,7 @@ Sanak mustilah alah manarimo [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi P
 'duration-minutes' => '$1 {{PLURAL:$1|minik}}',
 'duration-hours' => '$1 {{PLURAL:$1|jam}}',
 'duration-days' => '$1 {{PLURAL:$1|ari}}',
-'duration-weeks' => '{{PLURAL: $1|}}$1 pakan',
+'duration-weeks' => '{{PLURAL:$1|}}$1 pakan',
 'duration-years' => '$1 {{PLURAL:$1|taun}}',
 'duration-decades' => '$1 {{PLURAL:$1|dekade}}',
 'duration-centuries' => '$1 {{PLURAL:$1|abaik}}',
index 78b8cbd..52caa7f 100644 (file)
@@ -1913,6 +1913,8 @@ $1",
 Ако и понатаму сакате да ја подигнете податотеката, ве молиме вратете се и повторно подигнете ја податотеката со ново име. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Оваа податотека е дупликат со {{PLURAL:$1|следнава податотека|следниве податотеки}}:',
 'file-deleted-duplicate' => 'Податотека индентична со податотеката ([[:$1]]) претходно била избришана. Треба да проверите во дневникот на бришења за оваа податотека пред повторно да ја подигнете.',
+'file-deleted-duplicate-notitle' => 'Податотека сосем иста како оваа била претходно избришана, а насловот бил притаен.
+Треба да побарате од некој што има можност да гледа податоци за притаени податотеки да ја разгледа ситуацијата пред да продолжите со преподигањето.',
 'uploadwarning' => 'Предупредување при подигање',
 'uploadwarning-text' => 'Изменете го описот на податотеката подолу и обидете се повторно.',
 'savefile' => 'Зачувај податотека',
@@ -2302,6 +2304,7 @@ $1',
 'protectedpages' => 'Заштитени страници',
 'protectedpages-indef' => 'Само бесконечни заштити',
 'protectedpages-cascade' => 'Само каскадни заштити',
+'protectedpages-noredirect' => 'Скриј пренасочувања',
 'protectedpagesempty' => 'Во моментов нема заштитени страници со параметрите кои ги зададовте.',
 'protectedtitles' => 'Заштитени наслови',
 'protectedtitlesempty' => 'Во овој момент нема заштитени наслови кои ги задоволуваат наведените критериуми.',
@@ -4177,7 +4180,17 @@ $5
 'version-hook-subscribedby' => 'Претплатено од',
 'version-version' => '(Верзија $1)',
 'version-svn-revision' => '(рев. $2)',
-'version-license' => 'Лиценца',
+'version-license' => 'Лиценца на МедијаВики',
+'version-ext-license' => 'Лиценца',
+'version-ext-colheader-name' => 'Додаток',
+'version-ext-colheader-version' => 'Верзија',
+'version-ext-colheader-license' => 'Лиценца',
+'version-ext-colheader-description' => 'Опис',
+'version-ext-colheader-credits' => 'Автори',
+'version-license-title' => 'Лиценца за $1',
+'version-license-not-found' => 'Не најдов подробни лиценцни информации за овој додаток.',
+'version-credits-title' => 'Заслуги за $1',
+'version-credits-not-found' => 'Не најдов подробни информации за заслужните за овој додаток.',
 'version-poweredby-credits' => "Ова вики работи на '''[https://www.mediawiki.org/ МедијаВики]''', авторски права © 2001-$1 $2.",
 'version-poweredby-others' => 'други',
 'version-poweredby-translators' => 'преведувачи на translatewiki.net',
@@ -4397,6 +4410,7 @@ $5
 'api-error-overwrite' => 'Презапишувањето врз постоечки податотеки не е дозволено.',
 'api-error-stashfailed' => 'Внатрешна грешка: Опслужувачот не успеа да ја складира привремената податотека.',
 'api-error-publishfailed' => 'Внатрешна грешка: Опслужувачот не успеа да ја објави привремената податотека.',
+'api-error-stasherror' => 'Се јави грешка при подигањето на податотеката во складот.',
 'api-error-timeout' => 'Опслужувачот не одговори во очекуваното време.',
 'api-error-unclassified' => 'Се појави непозната грешка.',
 'api-error-unknown-code' => 'Непозната грешка: „$1“',
@@ -4412,7 +4426,7 @@ $5
 'duration-hours' => '$1 {{PLURAL:$1|час|часа}}',
 'duration-days' => '$1 {{PLURAL:$1|ден|дена}}',
 'duration-weeks' => '$1 {{PLURAL:$1|недела|недели}}',
-'duration-years' => '{{PLURAL: $1|година|години}}',
+'duration-years' => '{{PLURAL:$1|година|години}}',
 'duration-decades' => '$1 {{PLURAL:$1|деценија|децении}}',
 'duration-centuries' => '$1 {{PLURAL:$1|век|века}}',
 'duration-millennia' => '$1 {{PLURAL:$1|милениум|милениуми}}',
index 246d506..e27e3e3 100644 (file)
@@ -1122,7 +1122,7 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 ഇതു താങ്കൾത്തന്നെ എഴുതിയതാണെന്നും, അതല്ലെങ്കിൽ പകർപ്പവകാശ നിയമങ്ങളുടെ പരിധിയിലില്ലാത്ത ഉറവിടങ്ങളിൽനിന്നും പകർത്തിയതാണെന്നും ഉറപ്പാക്കുക (കുടുതൽ വിവരത്തിനു $1 കാണുക).
 '''പകർപ്പവകാശ സംരക്ഷണമുള്ള സൃഷ്ടികൾ ഒരു കാരണവശാലും ഇവിടെ പ്രസിദ്ധീകരിക്കരുത്!'''",
 'longpageerror' => "'''പിഴവ്: താങ്കൾ സമർപ്പിച്ച എഴുത്തുകൾക്ക് {{PLURAL:$1|ഒരു കിലോബൈറ്റ്|$1 കിലോബൈറ്റ്സ്}} വലിപ്പമുണ്ട്. പരമാവധി അനുവദനീയമായ വലിപ്പം {{PLURAL:$2|ഒരു കിലോബൈറ്റ്|$2 കിലോബൈറ്റ്സ്}} ആണ്‌. അതിനാലിതു സേവ് ചെയ്യാൻ സാദ്ധ്യമല്ല.'''",
-'readonlywarning' => "'''à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d: à´¡àµ\87à´±àµ\8dറാബàµ\87à´¸àµ\8d à´ªà´°à´¿à´ªà´¾à´²à´¨à´¤àµ\8dതിനàµ\81 à´µàµ\87à´£àµ\8dà´\9fà´¿ à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\85à´¤àµ\81à´\95àµ\8aà´£àµ\8dà´\9fàµ\8d à´¤à´¾à´\99àµ\8dà´\95ളിപàµ\8dà´ªàµ\8bൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´¸àµ\87à´µàµ\8d à´\9aàµ\86à´¯àµ\8dയാൻ à´¸à´¾à´¦àµ\8dà´§àµ\8dയമലàµ\8dà´².''' à´¤à´¾à´\99àµ\8dà´\95ൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´\92à´°àµ\81 à´\9fàµ\86à´\95àµ\8dà´¸àµ\8dà´±àµ\8dà´±àµ\8d à´ªàµ\8dരമാണതàµ\8dതിലàµ\87à´\95àµ\8dà´\95àµ\8d à´ªà´\95ർതàµ\8dതി (à´\95àµ\8bà´ªàµ\8dപി & à´ªàµ\87à´¸àµ\8dà´±àµ\8dà´±àµ\8d) à´ªà´¿à´¨àµ\8dà´¨àµ\80à´\9fàµ\81à´³àµ\8dà´³ à´\89പയàµ\8bà´\97à´¤àµ\8dതിനായി à´¸àµ\87à´µàµ\8d à´\9aàµ\86à´¯àµ\8dà´¯àµ\81à´µാൻ താല്പര്യപ്പെടുന്നു. ഡേറ്റാബേസ് ബന്ധിച്ച അഡ്മിനിസ്ട്രേറ്റർ നൽകിയ വിശദീകരണം: $1",
+'readonlywarning' => "'''à´®àµ\81à´¨àµ\8dനറിയിപàµ\8dà´ªàµ\8d: à´¡àµ\87à´±àµ\8dറാബàµ\87à´¸àµ\8d à´ªà´°à´¿à´ªà´¾à´²à´¨à´¤àµ\8dതിനàµ\81 à´µàµ\87à´£àµ\8dà´\9fà´¿ à´¬à´¨àµ\8dധിà´\9aàµ\8dà´\9aà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨àµ\81, à´\85à´¤àµ\81à´\95àµ\8aà´£àµ\8dà´\9fàµ\8d à´¤à´¾à´\99àµ\8dà´\95ളിപàµ\8dà´ªàµ\8bൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´¸àµ\87à´µàµ\8d à´\9aàµ\86à´¯àµ\8dയാൻ à´¸à´¾à´¦àµ\8dà´§àµ\8dയമലàµ\8dà´².''' à´¤à´¾à´\99àµ\8dà´\95ൾ à´µà´°àµ\81à´¤àµ\8dതിയ à´®à´¾à´±àµ\8dà´±à´\99àµ\8dà´\99ൾ à´\92à´°àµ\81 à´\9fàµ\86à´\95àµ\8dà´¸àµ\8dà´±àµ\8dà´±àµ\8d à´«à´¯à´²à´¿à´²àµ\87à´\95àµ\8dà´\95àµ\8d à´ªà´\95ർതàµ\8dതി (à´\95àµ\8bà´ªàµ\8dപി & à´ªàµ\87à´¸àµ\8dà´±àµ\8dà´±àµ\8d) à´ªà´¿à´¨àµ\8dà´¨àµ\80à´\9fàµ\81പയàµ\8bà´\97à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനായി à´\95à´°àµ\81തിവà´\95àµ\8dà´\95ാൻ താല്പര്യപ്പെടുന്നു. ഡേറ്റാബേസ് ബന്ധിച്ച അഡ്മിനിസ്ട്രേറ്റർ നൽകിയ വിശദീകരണം: $1",
 'protectedpagewarning' => "'''മുന്നറിയിപ്പ്:  ഈ താൾ കാര്യനിർവാഹക പദവിയുള്ളവർക്കു മാത്രം തിരുത്താൻ സാധിക്കാവുന്ന തരത്തിൽ സം‌രക്ഷിക്കപ്പെട്ടിരിക്കുന്നു.''' അവലംബമായി രേഖകളിൽ ലഭ്യമായ ഏറ്റവും പുതിയ വിവരം താഴെ നൽകിയിരിക്കുന്നു:",
 'semiprotectedpagewarning' => "'''ശ്രദ്ധിക്കുക:'''അംഗത്വമെടുത്തിട്ടുള്ളവർക്കുമാത്രം തിരുത്താൻ സാധിക്കുന്ന വിധത്തിൽ ഈ താൾ സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്നു. അവലംബമായി രേഖകളിലെ ഏറ്റവും പുതിയ വിവരം താഴെ കൊടുത്തിരിക്കുന്നു:",
 'cascadeprotectedwarning' => "'''മുന്നറിയിപ്പ്:''' ഈ താൾ കാര്യനിർവാഹക അവകാശമുള്ളവർക്കു മാത്രം തിരുത്തുവാൻ സാധിക്കുന്ന വിധത്തിൽ സം‌രക്ഷിക്കപ്പെട്ടിട്ടുള്ളതാണ്‌. {{PLURAL:$1|താൾ|താളുകൾ}} കാസ്കേഡ് സം‌രക്ഷണം ചെയ്തപ്പോൾ അതിന്റെ ഭാഗമായി സംരക്ഷിക്കപ്പെട്ടിട്ടുള്ളതാണ്‌ ഈ താൾ.",
@@ -2231,6 +2231,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 'protectedpages' => 'സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്ന താളുകൾ',
 'protectedpages-indef' => 'അനന്തകാലത്തേയ്ക്ക് സംരക്ഷിക്കപ്പെട്ടവ മാത്രം',
 'protectedpages-cascade' => 'നിർഝരിത സംരക്ഷണങ്ങൾ മാത്രം',
+'protectedpages-noredirect' => 'തിരിച്ചുവിടലുകൾ മറയ്ക്കുക',
 'protectedpagesempty' => 'ഈ ചരങ്ങൾ ഉപയോഗിച്ചു താളുകൾ ഒന്നും തന്നെ സം‌രക്ഷിക്കപ്പെട്ടിട്ടില്ല.',
 'protectedtitles' => 'സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്ന തലക്കെട്ടുകൾ',
 'protectedtitlesempty' => 'ഈ ചരങ്ങൾ ഉപയോഗിച്ചു തലക്കെട്ടുകൾ ഒന്നും തന്നെ സം‌രക്ഷിക്കപ്പെട്ടിട്ടില്ല.',
@@ -2506,6 +2507,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => 'മായ്ക്കലിന്റെ കാരണം തിരുത്തുക',
 'delete-toobig' => 'ഈ താളിനു വളരെ വിപുലമായ തിരുത്തൽ ചരിത്രമുണ്ട്. $1 മേൽ {{PLURAL:$1|പതിപ്പുണ്ട്|പതിപ്പുകളുണ്ട്}}. ഇത്തരം താളുകൾ മായ്ക്കുന്നതു {{SITENAME}} സം‌രംഭത്തിന്റെ നിലനില്പ്പിനെ തന്നെ ബാധിക്കുമെന്നതിനാൽ ഈ താൾ മായ്ക്കുന്നതിനുള്ള അവകാശം പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.',
 'delete-warning-toobig' => 'ഈ താളിനു വളരെ വിപുലമായ തിരുത്തൽ ചരിത്രമുണ്ട്. അതായത്, ഇതിനു് $1 മേൽ {{PLURAL:$1|പതിപ്പുണ്ട്|പതിപ്പുകളുണ്ട്}}. ഇത്തരം താളുകൾ മായ്ക്കുന്നതു {{SITENAME}} സം‌രംഭത്തിന്റെ ഡാറ്റാബേസ് ഓപ്പറേഷനെ ബാധിച്ചേക്കാം. അതിനാൽ വളരെ ശ്രദ്ധാപൂർവ്വം തുടർനടപടികളിലേക്കു നീങ്ങുക.',
+'deleting-backlinks-warning' => "'''മുന്നറിയിപ്പ്:''' മറ്റു താളുകളിൽ നിന്നും താളിലേയ്ക്കുള്ള കണ്ണികൾ താങ്കൾ മായ്ക്കാൻ പോവുകയാണ്.",
 
 # Rollback
 'rollback' => 'തിരുത്തലുകൾ റോൾബാക്ക് ചെയ്യുക',
@@ -4146,6 +4148,7 @@ $5
 'api-error-overwrite' => 'നിലവിലുള്ള പ്രമാണത്തിന്റെ മുകളിൽ സ്ഥാപിക്കൽ അനുവദിച്ചിട്ടില്ല.',
 'api-error-stashfailed' => 'ആന്തരിക പിഴവ്: പ്രമാണം താത്കാലികമായി സംഭരിക്കുന്നതിൽ സെർവർ പരാജയപ്പെട്ടു.',
 'api-error-publishfailed' => 'ആന്തരിക പിഴവ്: താത്കാലിക പ്രമാണം പ്രസിദ്ധീകരിക്കുന്നതിൽ സെർവർ പരാജയപ്പെട്ടു.',
+'api-error-stasherror' => 'പ്രമാണം സ്റ്റാഷിലേയ്ക്ക് അപ്‌ലോഡ് ചെയ്യുന്നതിനിടെ പിഴവുണ്ടായി.',
 'api-error-timeout' => 'പ്രതീക്ഷിക്കപ്പെട്ട കാലാവധിക്കുള്ളിൽ സെർവർ പ്രതികരിച്ചില്ല.',
 'api-error-unclassified' => 'അപരിചിതമായ പിഴവ് സംഭവിച്ചിരിക്കുന്നു',
 'api-error-unknown-code' => 'അപരിചിതമായ പിഴവ്: "$1"',
index 37bb7e0..cf6ab2e 100644 (file)
@@ -200,7 +200,7 @@ $messages = array(
 'tog-editsection' => 'Невтемс сюлмавома пенть «витемс» эрьва секциянтень-пельксэнтень',
 'tog-editsectiononrightclick' => 'Витнемс секциятнень-пелькстнэнь, лепштямс сёрмадовксонть лемензэ лангс чеерень витьёнсе повнесэ',
 'tog-showtoc' => 'Невтемс сёрмадовкспотмокс (лопатненень, конатнесэ 3-до ламо сёрмадовкст)',
-'tog-rememberpassword' => 'Ледстемс совамо валом те бравзерсэнть (сех кувать $1 {{PLURAL:$1|чи|чить}})',
+'tog-rememberpassword' => 'Ледстемс совамо валом те бравзерсэнть (сех кувать $1 {{PLURAL:$1|1=чи|чить}})',
 'tog-watchcreations' => 'Совавтомс ванома лемрисьмезэнь монь теевть лопатнень ды сень, мезе йовкстан',
 'tog-watchdefault' => 'Совавтомс монь витевть лопатнень ванома лемрисьмезэнь',
 'tog-watchmoves' => 'Совавтомс монь одов лемдявт лопатнень-керьмазтнэнь ванома лемрисьмезэнь',
@@ -303,19 +303,19 @@ $messages = array(
 'december-date' => 'Ацамков $1',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категорият}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категорият}}',
 'category_header' => '"$1" категориясонть лопатне',
 'subcategories' => 'Алкскатегорият',
 'category-media-header' => '"$1" категориясонть медиясь',
 'category-empty' => "''Те категориясонть арасть лопат-медият.''",
-'hidden-categories' => '{{PLURAL:$1|Кекшень категория|Кекшень категорият}}',
+'hidden-categories' => '{{PLURAL:$1|1=Кекшень категория|Кекшень категорият}}',
 'hidden-category-category' => 'Кекшень категорият',
-'category-subcat-count' => '{{PLURAL:$2|Те категориясонть вейкине явкс категория.|Те категориясонть  {{PLURAL:$1|явкс категория|$1 явкс категорият}}, $2 -тнень эйстэ.}}',
-'category-subcat-count-limited' => 'Те категориясонть {{PLURAL:$1|алкс категория|$1 алкс категорият}}.',
-'category-article-count' => '{{PLURAL:$2|Те категориясонть вейкине лопась вана косо.|{{PLURAL:$1|Те лопась кандови|$1 Не лопатне кандовить}} те категориянтень, категориясонть лопатнеде весемезэ $2.}}',
-'category-article-count-limited' => '{{PLURAL:$1|Те лопась|$1 Не лопатне}} те категориясонть.',
-'category-file-count' => '{{PLURAL:$2|Те категориясонть вейкине файлась вана косо.|{{PLURAL:$1|Те файлась кандови|$1 Не файлатне кандовить}} те категориянтень, категориясонть файлатнеде весемезэ $2.}}',
-'category-file-count-limited' => '{{PLURAL:$1|Те файлась|$1 Не файлатне}} вановиця категориянтень кандови.',
+'category-subcat-count' => '{{PLURAL:$2|Те категориясонть вейкине явкс категория.|Те категориясонть  {{PLURAL:$1|1=явкс категория|$1 явкс категорият}}, $2 -тнень эйстэ.}}',
+'category-subcat-count-limited' => 'Те категориясонть {{PLURAL:$1|1=алкс категория|$1 алкс категорият}}.',
+'category-article-count' => '{{PLURAL:$2|Те категориясонть вейкине лопась вана косо.|{{PLURAL:$1|1=Те лопась кандови|$1 Не лопатне кандовить}} те категориянтень, категориясонть лопатнеде весемезэ $2.}}',
+'category-article-count-limited' => '{{PLURAL:$1|1=Те лопась|$1 Не лопатне}} те категориясонть.',
+'category-file-count' => '{{PLURAL:$2|Те категориясонть вейкине файлась вана косо.|{{PLURAL:$1|1=Те файлась кандови|$1 Не файлатне кандовить}} те категориянтень, категориясонть файлатнеде весемезэ $2.}}',
+'category-file-count-limited' => '{{PLURAL:$1|1=Те файлась|$1 Не файлатне}} вановиця категориянтень кандови.',
 'listingcontinuesabbrev' => 'поладксозо моли',
 'index-category' => 'Индекс марто лопатне',
 'noindex-category' => 'Индекстэме лопатне',
@@ -380,8 +380,8 @@ $messages = array(
 'delete' => 'Нардамс',
 'deletethispage' => 'Нардамс те лопанть',
 'undeletethispage' => 'Вельмевтемс мекев те лопанть',
-'undelete_short' => 'Велявтомс нардазенть {{PLURAL:$1|вейке витнема-петнема|$1 витнемат-петнемат}}',
-'viewdeleted_short' => 'Ваномс {{PLURAL:$1|нардазь вейке витнема-петнема|нардазь $1 витнемат-петнемат}}',
+'undelete_short' => 'Велявтомс нардазенть {{PLURAL:$1|1=вейке витнема-петнема|$1 витнемат-петнемат}}',
+'viewdeleted_short' => 'Ваномс {{PLURAL:$1|1=нардазь вейке витнема-петнема|нардазь $1 витнемат-петнемат}}',
 'protect' => 'Аравтомс прянь ванстомас',
 'protect_change' => 'полавтомс',
 'protectthispage' => 'Аравтомс те лопанть ванстомас',
@@ -409,7 +409,7 @@ $messages = array(
 'redirectedfrom' => '(Ютавтозь $1 вельде)',
 'redirectpagesub' => 'Лиясто ютавтозь лопа',
 'lastmodifiedat' => 'Те лопанть меельседе витнезь-петнезь $2, $1.',
-'viewcount' => 'Те лопантень совасть {{PLURAL:$1|весть|$1-ксть}}.',
+'viewcount' => 'Те лопантень совасть {{PLURAL:$1|1=весть|$1-ксть}}.',
 'protectedpage' => 'Те лопась ванстомасо',
 'jumpto' => 'Тёкадемс тей:',
 'jumptonavigation' => 'Новигациясь-лездамось',
@@ -442,7 +442,7 @@ $1',
 
 'badaccess' => 'Меревемань асатыкс',
 'badaccess-group0' => 'Тонеть а мерить теемс мезе вешить.',
-'badaccess-groups' => 'Тевтеемась, конань вешить, тееви ансяк «$1» {{PLURAL:$2|куронь|куротнень}} теицятненень.',
+'badaccess-groups' => 'Тевтеемась, конань вешить, тееви ансяк «$1» {{PLURAL:$2|1=куронь|куротнень}} теицятненень.',
 
 'versionrequired' => 'МедияВикинь $1 версиясь эряви',
 'versionrequiredtext' => 'МедияВикинь $1 версиясь эряви те лопанть тевс нолдамга.
@@ -465,7 +465,7 @@ $1',
 'collapsible-expand' => 'Келейгавтомс',
 'thisisdeleted' => '$1-нть ваномс эли велявтомс мекев?',
 'viewdeleted' => 'Ванномс $1?',
-'restorelink' => '{{PLURAL:$1|нардазь вейке витнема-петнема|нардазь $1 витнемат-петнемат}}',
+'restorelink' => '{{PLURAL:$1|1=нардазь вейке витнема-петнема|нардазь $1 витнемат-петнемат}}',
 'feedlinks' => 'Максовкс:',
 'feed-invalid' => 'А маштови сёрмадстома каналонть сортозо.',
 'site-rss-feed' => 'RSS-нть максовкс $1 -нть кисэ',
@@ -550,7 +550,7 @@ $1',
 'yourpasswordagain' => 'Омбоцеде сёрмадык кирдицянь леметь:',
 'createacct-yourpasswordagain' => 'Кемекстык салававалонть',
 'createacct-yourpasswordagain-ph' => 'Совавтык салававалонть одов',
-'remembermypassword' => 'Ледстемс совамом те бравзерсэнть (сех кувать $1 {{PLURAL:$1|чи|чить}})',
+'remembermypassword' => 'Ледстемс совамом те бравзерсэнть (сех кувать $1 {{PLURAL:$1|1=чи|чить}})',
 'userlogin-remembermypassword' => 'Кирдемизь совавтозекс',
 'userlogin-signwithsecure' => 'Нолдак тевс ванстозь сюлмавкс',
 'yourdomainname' => 'Эсеть доменэть:',
@@ -579,7 +579,7 @@ $1',
 'createacct-submit' => 'Шкик совамотаркат',
 'createacct-another-submit' => 'Шкак од совамотарка',
 'createacct-benefit-heading' => '«{{SITENAME}}» сайтэнть теизь тонь кондямо ломанть.',
-'createacct-benefit-body2' => '{{PLURAL:$1|лопа|лопат}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|1=лопа|лопат}}',
 'badretype' => 'Сёрмадыть салава валот кавксть: сынь аволь вейкеть.',
 'userexists' => 'Те лемесь уш саезь.
 Арсека эстеть лия, инеськеть.',
@@ -599,7 +599,7 @@ $1',
 'login-userblocked' => 'Те теицясь аравтозь саймас. Совамонзо а мерить.',
 'wrongpassword' => 'Аволь истя сёрмадык совамо валот. Варчыка одов.',
 'wrongpasswordempty' => 'Салавань валот кадовсь апак сёрмадо. Сёрмадыка одов.',
-'passwordtooshort' => 'Совамо валонть кувалмозо  {{PLURAL:$1|улезэ 1 тешкс| улезт $1 тешкст}}, аволь седе аламо.',
+'passwordtooshort' => 'Совамо валонть кувалмозо  {{PLURAL:$1|1=улезэ 1 тешкс| улезт $1 тешкст}}, аволь седе аламо.',
 'password-name-match' => 'Салава валонтень эряви явовомс теицянь леметь эйстэ.',
 'password-login-forbidden' => 'Те теицянь лемесь ды салававалось а мерить нолдамс тевс.',
 'mailmypassword' => 'Кучт е-сёрмасо од салававал',
@@ -608,7 +608,7 @@ $1',
 кедьстэнек кучомс теицянь од совамо вал {{SITENAME}} ($4) сайтс совамга.<br />
 Теицянтень "$2" кучозь нурькине шкань совамо вал, конась  ней "$3".<br />
 Бути те тон ульнить, сави ней совамс ды кочкамс од совамо вал эстеть.<br />
-Нурькине шкань совамо валот нолдави тевс {{PLURAL:$5|вейке чи|$5 чить}}.
+Нурькине шкань совамо валот нолдави тевс {{PLURAL:$5|1=вейке чи|$5 чить}}.
 
 Бути аволь тон вешицясь, эли мелезэть ледстик совамо валонть, иля яво мель те пачтямнэнтень. Нолдык тевс мельсэ аштицянть - мельс ледстязенть.',
 'noemail' => '"$1" теицянть арась е-сёрмапаргозо.',
@@ -617,7 +617,7 @@ $1',
 Инеськеть, кодак валось пачкоди, совака одов.',
 'eauthentsent' => 'Электрононь сёрмапаргозот кучозь кемекстамонь е-сёрмине.<br /> Сонзэ эйсэ сёрмадозь мезе кода теемс. Ансяк седе мейле, зярдо невтик, сёрмапаргось алкукс эсеть, карматано кучомо лия сёрмат.',
 'mailerror' => 'Е-сёрма кучомсто ильведькс: $1',
-'acct_creation_throttle_hit' => 'Те викисэ тонь IP адресстэть совасть теицят, конат теисть {{PLURAL:$1|1 сёрмадовкс|$1 сёрмадовкст}} меельсе чынть перть, седе ламо полавтомат а мерить теемс истя зняронь шкань перть.
+'acct_creation_throttle_hit' => 'Те викисэ тонь IP адресстэть совасть теицят, конат теисть {{PLURAL:$1|1=1 сёрмадовкс|$1 сёрмадовкст}} меельсе чынть перть, седе ламо полавтомат а мерить теемс истя зняронь шкань перть.
 Тень кисэ, те   IP адресэнть коряс седе тов а маштови теемс-шкамс од сёрмадовкст, зярс.',
 'emailauthenticated' => 'Е-сёрмапаргот кемекстазель $2 чистэ $3 цяссто.',
 'emailconfirmlink' => 'Кемекстык е-сёрмапаргот',
@@ -748,16 +748,16 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 '''ИЛЯ МАКСО ВАНСТОНЬ ВИДЕЧИСЭ ЛОМАНЕНЬ ВАЖОДЕМАНТЬ АПАК КЕВКСТНЕ!'''",
 'titleprotectedwarning' => "'''ВАНОК:  Те лопась сёлгозь, сонзэ шкамга-теемга [[Special:ListGroupRights|башка видечыть]] эрявить.'''
 Журналонь меельсе сёрмадовксось максозь ало, эрявиндеряй сонзэ ваномс.",
-'templatesused' => 'Те лопасонть тевс нолдазь {{PLURAL:$1|лопа парцун|лопа парцунт}}:',
-'templatesusedpreview' => 'Те икелькс вановкссонть тевс нолдазь  {{PLURAL:$1|лопа парцун|лопа парцунт}}:',
-'templatesusedsection' => 'Те пелькссэнть тевс нолдазь {{PLURAL:$1|лопа парцунось|лопа парцунтнэ}}:',
+'templatesused' => 'Те лопасонть тевс нолдазь {{PLURAL:$1|1=лопа парцун|лопа парцунт}}:',
+'templatesusedpreview' => 'Те икелькс вановкссонть тевс нолдазь  {{PLURAL:$1|1=лопа парцун|лопа парцунт}}:',
+'templatesusedsection' => 'Те пелькссэнть тевс нолдазь {{PLURAL:$1|1=лопа парцунось|лопа парцунтнэ}}:',
 'template-protected' => '(ванстозь)',
 'template-semiprotected' => '(пельс ванстозь)',
-'hiddencategories' => 'Те лопась совавтови {{PLURAL:$1|кекшень 1 категорияс|кекшень $1 категорияс}}:',
+'hiddencategories' => 'Те лопась совавтови {{PLURAL:$1|1=кекшень 1 категорияс|кекшень $1 категорияс}}:',
 'nocreatetext' => 'Те {{SITENAME}} лопасонть пирязь од лопань теемась. Тонь ули мелеть велявтомс удалов ды  питнемензе-витнемензе улиця лопанть, али [[Special:UserLogin|совамс али теемс од совама]].',
 'nocreate-loggedin' => 'Тонеть а мерить теемс-шкамс од лопат.',
-'permissionserrorstext' => 'Тонеть а мерить теемс тень, вана {{PLURAL:$1|тувталось|тувталтнэ}}:',
-'permissionserrorstext-withaction' => 'Тонеть а мерить теемс $2, {{PLURAL:$1|тувталось|тувталтнэ}} вана:',
+'permissionserrorstext' => 'Тонеть а мерить теемс тень, вана {{PLURAL:$1|1=тувталось|тувталтнэ}}:',
+'permissionserrorstext-withaction' => 'Тонеть а мерить теемс $2, {{PLURAL:$1|1=тувталось|тувталтнэ}} вана:',
 'recreate-moveddeleted-warn' => "'''Ванок: Вельмевтят лопа, кона нардазель.'''
 
 Васня арьсек, эряви - а эряви полалемс ды витнемс-петнемс те лопанть.
@@ -800,7 +800,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'history-show-deleted' => 'Ансяк нардазь',
 'histfirst' => 'весемеде умонь',
 'histlast' => 'Меельце',
-'historysize' => '({{PLURAL:$1|1 байт|$1 байтт}})',
+'historysize' => '({{PLURAL:$1|1=1 байт|$1 байтт}})',
 'historyempty' => '(чаво)',
 
 # Revision feed
@@ -818,7 +818,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'revisiondelete' => 'Нардамс/вельмевтемс лиякстомтоматнень',
 'revdelete-show-file-confirm' => 'Алкукс ули мелеть ваномс «<nowiki>$1</nowiki>» керьмазонть нардазь ревизиянзо, конась саезь $2-нть эйстэ ды ашти тесэ $3?',
 'revdelete-show-file-submit' => 'Ули',
-'revdelete-selected' => "'''[[:$1]]-нь {{PLURAL:$2|Кочкань лиякстомтомась|Кочкань лиякстомтоматне}}:'''",
+'revdelete-selected' => "'''[[:$1]]-нь {{PLURAL:$2|1=Кочкань лиякстомтомась|Кочкань лиякстомтоматне}}:'''",
 'revdelete-legend' => 'Аравтомс неявомачынь петне',
 'revdelete-hide-text' => 'Кекшемс лиякстомтомань текстэнть',
 'revdelete-hide-image' => 'Кекшемс мезе файлатнесэ',
@@ -827,7 +827,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'revdelete-hide-user' => 'Кекшемс витницянть-петницянть теиця лемензэ/IP-нзэ',
 'revdelete-radio-same' => '(иляк лиякстомто)',
 'revdelete-log' => 'Тувталось:',
-'revdelete-submit' => 'Аравтомс кочказь {{PLURAL:$1|лиякстомтомантень|лиякстомтоматненень}}',
+'revdelete-submit' => 'Аравтомс кочказь {{PLURAL:$1|1=лиякстомтомантень|лиякстомтоматненень}}',
 'revdel-restore' => 'Полавтомс неявомачынзэ',
 'pagehist' => 'Лопанть икелькс умазо',
 'deletedhist' => 'Нардань икелькс умазо',
@@ -861,7 +861,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'lineno' => 'Киксэсь $1:',
 'compareselectedversions' => 'Кочказь версиятнень аравтомс карадо-каршо',
 'editundo' => 'Велявтомс мекев мезе витнинь-петнинь',
-'diff-multi' => '↓({{PLURAL:$2|Вейке совицясь тейсь {{PLURAL:$1|юткине версия, конась|$1 юткине версият, конатне}}|$2 совицят тейсть {{PLURAL:$1| юткине версия, конась|$1 юткине версият, конатне}}}} апак невте.)',
+'diff-multi' => '↓({{PLURAL:$2|Вейке совицясь тейсь {{PLURAL:$1|1=юткине версия, конась|$1 юткине версият, конатне}}|$2 совицят тейсть {{PLURAL:$1|1= юткине версия, конась|$1 юткине версият, конатне}}}} апак невте.)',
 
 # Search results
 'searchresults' => 'Мезе муевсь',
@@ -871,9 +871,9 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'notextmatches' => 'Лопанть сёрмадсткэнзэ марто вейтьс прамот арасть',
 'prevn' => 'седе икелень {{PLURAL:$1|$1}}',
 'nextn' => 'сы {{PLURAL:$1|$1}}',
-'prevn-title' => 'Седе икелень $1 {{PLURAL:$1|савкс|савкст}}',
-'nextn-title' => 'Седе меелень $1 {{PLURAL:$1|савкс|савкст}}',
-'shown-title' => 'Невтть лопазонзо $1 {{PLURAL:$1|савкс|савкст}}',
+'prevn-title' => 'Седе икелень $1 {{PLURAL:$1|1=савкс|савкст}}',
+'nextn-title' => 'Седе меелень $1 {{PLURAL:$1|1=савкс|савкст}}',
+'shown-title' => 'Невтть лопазонзо $1 {{PLURAL:$1|1=савкс|савкст}}',
 'viewprevnext' => 'Ванномс ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Те викисэнть ули \"[[\$1]]\" лем марто лопа'''",
 'searchmenu-new' => "'''Шкик \"[[:\$1]]\" лопанть те викисэнть!'''",
@@ -887,8 +887,8 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'searchprofile-images-tooltip' => 'Вешнемс файлат',
 'searchprofile-everything-tooltip' => 'Вешнемс весе лопатнева (кортнема лопатневаяк)',
 'searchprofile-advanced-tooltip' => 'Вешнемс башка теезь лемпотмотнестэ',
-'search-result-size' => '$1 ({{PLURAL:$2|1 вал|$2 валт}})',
-'search-result-category-size' => '{{PLURAL:$1|1 совицязо|$1 совицянзо}} ({{PLURAL:$2|1 явкскатегориязо|$2 явкскатегориянзо}}, {{PLURAL:$3|1 файла|$3 файлат}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1=1 вал|$2 валт}})',
+'search-result-category-size' => '{{PLURAL:$1|1=1 совицязо|$1 совицянзо}} ({{PLURAL:$2|1=1 явкскатегориязо|$2 явкскатегориянзо}}, {{PLURAL:$3|1=1 файла|$3 файлат}})',
 'search-redirect' => '(йутавтт $1-с)',
 'search-section' => '(пелькс $1)',
 'search-suggest' => 'Истя мерикскелить: $1',
@@ -899,7 +899,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'searcheverything-enable' => 'Вешнемс весе лем потмотнестэ',
 'searchrelated' => 'малавикс',
 'searchall' => 'весе',
-'showingresultsheader' => "{{PLURAL:$5|муевсь '''$1''' вана '''$3'''-тнень эйстэ|муевсть '''$1 - $2''' '''$3'''-тнень эйстэ}} '''$4''' вешнеманть лангс",
+'showingresultsheader' => "{{PLURAL:$5|1=муевсь '''$1''' вана '''$3'''-тнень эйстэ|муевсть '''$1 - $2''' '''$3'''-тнень эйстэ}} '''$4''' вешнеманть лангс",
 'search-nonefound' => 'Те вешнема лангс мезеяк эзь муеве.',
 'powersearch-legend' => 'Седе келейстэ вешнема',
 'powersearch-ns' => 'Вешнемс не лемпотмотнестэ:',
@@ -922,7 +922,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'prefs-personal' => 'Теицядо',
 'prefs-rc' => 'Чиень полавтнемат-лиякстомтомат',
 'prefs-watchlist' => 'Ванома лемрисьме',
-'prefs-watchlist-days-max' => 'Весемеде куватьс $1 {{PLURAL:$1|чис|чис}}',
+'prefs-watchlist-days-max' => 'Весемеде куватьс $1 {{PLURAL:$1|1=чис|чис}}',
 'prefs-watchlist-edits-max' => 'Весемеде покш цётось: 1000',
 'prefs-misc' => 'Минеть-сюнот',
 'prefs-resetpass' => 'Салавань валонь полавтома',
@@ -938,7 +938,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'searchresultshead' => 'Вешнема',
 'resultsperpage' => 'Зяроксть вастневи ве лопасо:',
 'recentchangesdays' => 'Зяро чить невтемс чиень полавтнематнесэ-лиякстомтоматнесэ:',
-'recentchangesdays-max' => 'Весемеде куватьс $1 {{PLURAL:$1|чис|чис}}',
+'recentchangesdays-max' => 'Весемеде куватьс $1 {{PLURAL:$1|1=чис|чис}}',
 'recentchangescount' => 'Васень аравтоматнень коряс зяро витнемат-петнемат невтемс:',
 'prefs-help-recentchangescount' => 'Тезэнь совавтозь чиень полавтнемат-лиякстомтомат, лопань лувт-путовкст, журналт.',
 'timezonelegend' => 'Шкань зонась:',
@@ -967,7 +967,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'yourlanguage' => 'Келесь:',
 'yournick' => 'Кедень путома:',
 'badsiglength' => 'Кедень путомат пек кувака.
-Эйсэнзэ иляст уле $1 -до ламо {{PLURAL:$1|тешкст|тешкст}}.',
+Эйсэнзэ иляст уле $1 -до ламо {{PLURAL:$1|1=тешкст|тешкст}}.',
 'yourgender' => 'Сыметь (цёрань-тейтерень):',
 'gender-unknown' => 'А меревлинь',
 'gender-male' => 'Сон витни-петни викилопатнесэ',
@@ -1081,7 +1081,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'action-sendemail' => 'кучомс е-сёрмат',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|полавтнема|полавтнемат}}',
+'nchanges' => '$1 {{PLURAL:$1|1=полавтнема|полавтнемат}}',
 'recentchanges' => 'Чыяконь полавтнемат-лиякстомтомат',
 'recentchanges-legend' => 'Улконь полавтнематнень аравтнемаст',
 'recentchanges-summary' => '',
@@ -1149,7 +1149,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'file-thumbnail-no' => "Файланть лемезэ ушодови  <strong>$1</strong>.
 Сонсь маряви вишкалгавтозь фотокуво, покшолмазо ''(кенжешка)''.
 Улиндеряй файланть покш верзиязо, йовкстыка сонзэ  - арась, полавтыка тетень лемензэ.",
-'file-exists-duplicate' => 'Те кавонзавкс файла вана {{PLURAL:$1|те файланть|неть файлатнень}} эйстэ:',
+'file-exists-duplicate' => 'Те кавонзавкс файла вана {{PLURAL:$1|1=те файланть|неть файлатнень}} эйстэ:',
 'uploadwarning' => 'Совавтомадо кардамонь пачтямо',
 'savefile' => 'Ванстомс файланть',
 'uploadedimage' => 'йовкстазь "[[$1]]"',
@@ -1228,7 +1228,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'filehist-comment' => 'Мельполадкс',
 'filehist-missing' => 'Файлась арась',
 'imagelinks' => 'Ков файлась нолдави тевс',
-'linkstoimage' => 'Те файланть марто сюлмавозь вана {{PLURAL:$1|истямо сюлмавома пене|$1 истят сюлмавома пенеть}}:',
+'linkstoimage' => 'Те файланть марто сюлмавозь вана {{PLURAL:$1|1=истямо сюлмавома пене|$1 истят сюлмавома пенеть}}:',
 'nolinkstoimage' => 'Арась вейкеяк лопа, кона сюлмавови те файланть марто.',
 'sharedupload' => 'Те файлась саезь "$1" файлань пусмосто, сон нолдави тевс лия проектсэяк.',
 'sharedupload-desc-here' => 'Те файлась сась истямо $1 таркасто, паряк сон нолдави тевс лия проектсэ.
@@ -1273,7 +1273,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 
 # Random page
 'randompage' => 'Кодамо понгсь лопа',
-'randompage-nopages' => '{{PLURAL:$2|Те лем потмосо|Не лем потмотнесэ}}: $1 лопат арасть.',
+'randompage-nopages' => '{{PLURAL:$2|1=Те лем потмосо|Не лем потмотнесэ}}: $1 лопат арасть.',
 
 # Random redirect
 'randomredirect' => 'Апак фатя ёнксось',
@@ -1309,12 +1309,12 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'fewestrevisions' => 'Лопат, конатнесэ весемеде аламо лиякстомтомат',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байт|байтт}}',
-'ncategories' => '$1 {{PLURAL:$1|категория|категорият}}',
-'nlinks' => '$1 {{PLURAL:$1|невтевкс|невтевкст|невтевкснедэ}}',
-'nmembers' => '$1 {{PLURAL:$1|теиця|теицятне}}',
-'nrevisions' => '$1 {{PLURAL:$1|лиякстомтома|лиякстомтомат}}',
-'nviews' => '$1 {{PLURAL:$1|ванома потмо|ванома потмот}}',
+'nbytes' => '$1 {{PLURAL:$1|1=байт|байтт}}',
+'ncategories' => '$1 {{PLURAL:$1|1=категория|категорият}}',
+'nlinks' => '$1 {{PLURAL:$1|невтевкс|невтевкснедэ|невтевкст}}',
+'nmembers' => '$1 {{PLURAL:$1|1=теиця|теицятне}}',
+'nrevisions' => '$1 {{PLURAL:$1|1=лиякстомтома|лиякстомтомат}}',
+'nviews' => '$1 {{PLURAL:$1|1=ванома потмо|ванома потмот}}',
 'lonelypages' => 'Лопаурозкэть',
 'uncategorizedpages' => 'Категориявтомо лопат',
 'uncategorizedcategories' => 'Категориявтомо категорият',
@@ -1344,7 +1344,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'listusers' => 'Теицят-кить',
 'listusers-editsonly' => 'Невтемс ансяк витнема-петнема марто совийтнень-лисийтнень',
 'listusers-creationsort' => 'Аравтомс мельга мельцек шкамо чинь коряс',
-'usereditcount' => '$1 {{PLURAL:$1|витнема-петнема|витнемат-петнемат}}',
+'usereditcount' => '$1 {{PLURAL:$1|1=витнема-петнема|витнемат-петнемат}}',
 'usercreated' => '{{GENDER:$3|Шказь}} on $1 чистэ $2 шкасто',
 'newpages' => 'Од лопат',
 'newpages-username' => 'Теицянь лем:',
@@ -1354,8 +1354,8 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'notargettitle' => 'Совавтома лопа арась',
 'nopagetitle' => 'Истямо вешема лопа арась',
 'nopagetext' => 'Истямо лопа, конань вешить, арась.',
-'pager-newer-n' => '{{PLURAL:$1|седе од 1|седе одт $1}}',
-'pager-older-n' => '{{PLURAL:$1|седе ташто 1|седе таштт $1}}',
+'pager-newer-n' => '{{PLURAL:$1|1=седе од 1|седе одт $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=седе ташто 1|седе таштт $1}}',
 'suppress' => 'А ванома',
 
 # Book sources
@@ -1385,7 +1385,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 
 # Special:Categories
 'categories' => 'Категорият',
-'categoriespagetext' => '{{PLURAL:$1|Те категориясонть|Не категориятнесэ}} улить лопат эли медият.
+'categoriespagetext' => '{{PLURAL:$1|1=Те категориясонть|Не категориятнесэ}} улить лопат эли медият.
 [[Special:UnusedCategories|тевс апак нолда категориятне]] тесэ а невтевить.
 Истяжо ванытя [[Special:WantedCategories|вешень категориятнень]].',
 'special-categories-sort-count' => 'аравтомс цётонь коряс',
@@ -1452,7 +1452,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'unwatch' => 'А ванстнемс тень мельга',
 'unwatchthispage' => 'Лоткамс ванстомадонзо',
 'notvisiblerev' => 'Лиякстомтомась нардазь',
-'watchlist-details' => 'Ванома лемрисьмесэть {{PLURAL:$1|$1 лопа|$1 лопат}}, апак лово кортнема лопатнень.',
+'watchlist-details' => 'Ванома лемрисьмесэть {{PLURAL:$1|1=$1 лопа|$1 лопат}}, апак лово кортнема лопатнень.',
 'wlshowlast' => 'Невтемс мельсе $1 цяст $2 чить $3',
 'watchlist-options' => 'Ванома потмонь аравтнемат',
 
@@ -1475,7 +1475,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'exblank' => 'лопась чаволь',
 'delete-confirm' => 'Нардамс "$1"',
 'delete-legend' => 'Нардамс',
-'historywarning' => 'Ванок: Лопанть, конань нардамонзо пурнат,  лиякстомтомань икелькс $1 {{PLURAL:$1|умазо|уманзо}}:',
+'historywarning' => 'Ванок: Лопанть, конань нардамонзо пурнат,  лиякстомтомань икелькс $1 {{PLURAL:$1|1=умазо|уманзо}}:',
 'confirmdeletetext' => 'Кундыть нардамо лопа (эли невтевкс-артовкс) вейтьсэ лиякстомтоматнеде икелькс уманзо марто.<br />
 Инеськеть,  кемекстык, эсеть мелеть коряс тень тейсак, алкукс содат, мезе лияды теде мейле, ды алкукс теят тень видечинть (правилатьнень) коряс, конат сёрмадозь [[{{MediaWiki:Policy-url}}]].',
 'actioncomplete' => 'Тевень теемась топавтовсь',
@@ -1513,7 +1513,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'protect_expiry_old' => 'Прядома  шкась амаштовикс.',
 'protect-text' => "Тесэ тынь вансынк ды лиякстомсынк ванстоманть покшолманзо лопаньте '''$1'''.",
 'protect-locked-access' => "Кирдицянь совамо таркат а максы видечи лиякстомтомс лопанть ванстома лувонзо. Тесэ вана лопанть уликс путовксонзо-аравтоманзо '''$1''':",
-'protect-cascadeon' => 'Те лопась ванстозь,  сон путозь {{PLURAL:$1|невтезезь ало лопаньте, конаньте|невтезезь ало лопатьнене конатьнене}}-те путозь каскадонь ванстомась. Тынь лиякставсынк те ванстома сэренть, ансяк те кодаяк а полавсы каскадонь ванстоманть.',
+'protect-cascadeon' => 'Те лопась ванстозь,  сон путозь {{PLURAL:$1|1=невтезезь ало лопаньте, конаньте|невтезезь ало лопатьнене конатьнене}}-те путозь каскадонь ванстомась. Тынь лиякставсынк те ванстома сэренть, ансяк те кодаяк а полавсы каскадонь ванстоманть.',
 'protect-default' => 'Весе теицятненень маштови',
 'protect-fallback' => 'Вешеви ве мельс прамось «$1»-нть',
 'protect-level-autoconfirmed' => 'Саймас аравтомс од ды апак сёрмадстово теицятнень',
@@ -1553,9 +1553,9 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'undeleteviewlink' => 'ваномс',
 'undeleteinvert' => 'Кочказень таркас апаконь кочкамо',
 'undeletecomment' => 'Тувталось:',
-'undeletedrevisions' => '{{PLURAL:$1|1 лиякстомтома|$1 лиякстомтомат}} вельмевтезь',
-'undeletedrevisions-files' => '{{PLURAL:$1|1 лиякстомтома|$1 лиякстомтомат}} ды {{PLURAL:$2|1 файла|$2 файлат}} вельмевтезь',
-'undeletedfiles' => '{{PLURAL:$1|1 файла|$1 файлат}} вельмевтезь',
+'undeletedrevisions' => '{{PLURAL:$1|1=1 лиякстомтома|$1 лиякстомтомат}} вельмевтезь',
+'undeletedrevisions-files' => '{{PLURAL:$1|1=1 лиякстомтома|$1 лиякстомтомат}} ды {{PLURAL:$2|1=1 файла|$2 файлат}} вельмевтезь',
+'undeletedfiles' => '{{PLURAL:$1|1=1 файла|$1 файлат}} вельмевтезь',
 'undelete-search-box' => 'Вешнемс нардань лопатнень йутксто',
 'undelete-search-prefix' => 'Невтемс лопат тестэ саезь:',
 'undelete-search-submit' => 'Вешнэмс',
@@ -1597,10 +1597,10 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'isredirect' => 'Лиякс витнинк-петнинк лопанть',
 'istemplate' => 'совавтомс',
 'isimage' => 'файлань сюлмавома пене',
-'whatlinkshere-prev' => '{{PLURAL:$1|икеле|седе икелень $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|сыця|сы $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=икеле|седе икелень $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=сыця|сы $1}}',
 'whatlinkshere-links' => '← сюлмавомапеть',
-'whatlinkshere-hideredirs' => '$1 {{PLURAL:$1|тарка йутавты|таркат йутавтыть}} тей',
+'whatlinkshere-hideredirs' => '$1 {{PLURAL:$1|1=тарка йутавты|таркат йутавтыть}} тей',
 'whatlinkshere-hidetrans' => '$1 сюлмавозь пелькстнэнь',
 'whatlinkshere-hidelinks' => '$1 сюлмавома петь',
 'whatlinkshere-hideimages' => '$1 файланть сюлмавомапензэ',
@@ -1690,8 +1690,8 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'movepage-page-moved' => '"$1" лопась печтевтезь "$2"-с.',
 'movepage-page-unmoved' => 'Лопа $1 эзь печтевтеве $2 лопас.',
 'movelogpage' => 'Печтевтемань журнал',
-'movesubpage' => '{{PLURAL:$1|Алкслопа|Алкслопа}}',
-'movesubpagetext' => 'Те лопасонть ало невтеви $1 {{PLURAL:$1|алкслопа|алкслопа}}.',
+'movesubpage' => '{{PLURAL:$1|1=Алкслопа|Алкслопа}}',
+'movesubpagetext' => 'Те лопасонть ало невтеви $1 {{PLURAL:$1|1=алкслопа|алкслопа}}.',
 'movenosubpage' => 'Те лопасонть алкслопат арасть.',
 'movereason' => 'Тувталось:',
 'revertmove' => 'велявтодо',
@@ -1739,7 +1739,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'import-upload-filename' => 'Файла лемесь:',
 'import-comment' => 'Арсемат-мельть:',
 'importstart' => 'Лопатне совавтовить...',
-'import-revision-count' => '$1 {{PLURAL:$1|лиякстомтома|лиякстомтомат}}',
+'import-revision-count' => '$1 {{PLURAL:$1|1=лиякстомтома|лиякстомтомат}}',
 'importnopages' => 'Ёвкстамс лопат арасть',
 'importfailed' => 'Совавтома тевесь эзь лисе: <nowiki>$1</nowiki>',
 'importcantopen' => 'Совавтозь файлась эзь панжово',
@@ -1752,7 +1752,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 
 # Import log
 'importlogpage' => 'Импортонть журналось',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|лиякстомтома|лиякстомтомат}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|1=лиякстомтома|лиякстомтомат}}',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Теицянь лопат',
@@ -1817,12 +1817,12 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'tooltip-summary' => 'Сёрмадт нурькинестэ совавтозденть',
 
 # Attribution
-'anonymous' => '{{SITENAME}} сайтэнть лемтеме {{PLURAL:$1|теицязо|теицянзо}}',
+'anonymous' => '{{SITENAME}} сайтэнть лемтеме {{PLURAL:$1|1=теицязо|теицянзо}}',
 'siteuser' => '{{SITENAME}}-нь теиця $1',
 'lastmodifiedatby' => 'Меельседе те лопанть полавтызе $3 $2, $1.',
 'othercontribs' => '$1-нь важодеманзо лангс нежедезь.',
 'others' => 'лият',
-'siteusers' => '{{SITENAME}} сайтэнть {{PLURAL:$2|теицязо|теицянзо}} $1',
+'siteusers' => '{{SITENAME}} сайтэнть {{PLURAL:$2|1=теицязо|теицянзо}} $1',
 'creditspage' => 'Лопасонть кинь путовксонзо',
 
 # Spam protection
@@ -1861,7 +1861,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 
 # Media information
 'thumbsize' => 'Кенжешканть покшолмазо:',
-'widthheightpage' => '$1 × $2, {{PLURAL:$3|лопа|$3 лопат}}',
+'widthheightpage' => '$1 × $2, {{PLURAL:$3|1=лопа|$3 лопат}}',
 'file-info' => 'файлонть-путовксонть сталмозо: $1, MIME типезе: $2',
 'file-info-size' => '$1 × $2 пиксельть, файлонть-путовксонть сталмозо: $3, MIME типезе: $4',
 'file-nohires' => 'Арась версия покш разрешения марто.',
@@ -2131,13 +2131,13 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 # Watchlist editor
 'watchlistedit-normal-title' => 'Витнемс-петнемс ванстома лопанть',
 'watchlistedit-normal-submit' => 'Нардамс конякстнэнь',
-'watchlistedit-normal-done' => '{{PLURAL:$1|1 конякс|$1 конякст}} нардазь ваномань лопастот:',
+'watchlistedit-normal-done' => '{{PLURAL:$1|1=1 конякс|$1 конякст}} нардазь ваномань лопастот:',
 'watchlistedit-raw-title' => 'Витнеме-петнеме верек ваномалопанть',
 'watchlistedit-raw-legend' => 'Витнеме-петнеме верек ваномалопанть',
 'watchlistedit-raw-titles' => 'Конякст:',
 'watchlistedit-raw-submit' => 'Мезе мельга ванстнят, спискаст одкстомтомс',
-'watchlistedit-raw-added' => 'Поладозь {{PLURAL:$1|1 конякс|$1 конякст}}:',
-'watchlistedit-raw-removed' => '{{PLURAL:$1|1 конякс нардазь|$1 конякст нардазь}}:',
+'watchlistedit-raw-added' => 'Поладозь {{PLURAL:$1|1=1 конякс|$1 конякст}}:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|1=1 конякс нардазь|$1 конякст нардазь}}:',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Лиякстоматьне лопатнесэ потмоксстонть',
@@ -2222,15 +2222,15 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'api-error-unknownerror' => 'Апак содань ильведевкс: «$1».',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL:$1|секунда|секундат}}',
-'duration-minutes' => '$1 {{PLURAL:$1|минут|минутт}}',
-'duration-hours' => '$1 {{PLURAL:$1|цяс|цяст}}',
-'duration-days' => '$1 {{PLURAL:$1|чи|чить}}',
-'duration-weeks' => '$1 {{PLURAL:$1|тарго|таргот}}',
-'duration-years' => '$1 {{PLURAL:$1|ие|иеть}}',
-'duration-decades' => '$1 {{PLURAL:$1|кеменьие|кеменьиеть}}',
-'duration-centuries' => '$1 {{PLURAL:$1|пинге|пингеть}}',
-'duration-millennia' => '$1 {{PLURAL:$1|тёжтьие|тёжтьиеть}}',
+'duration-seconds' => '$1 {{PLURAL:$1|1=секунда|секундат}}',
+'duration-minutes' => '$1 {{PLURAL:$1|1=минут|минутт}}',
+'duration-hours' => '$1 {{PLURAL:$1|1=цяс|цяст}}',
+'duration-days' => '$1 {{PLURAL:$1|1=чи|чить}}',
+'duration-weeks' => '$1 {{PLURAL:$1|1=тарго|таргот}}',
+'duration-years' => '$1 {{PLURAL:$1|1=ие|иеть}}',
+'duration-decades' => '$1 {{PLURAL:$1|1=кеменьие|кеменьиеть}}',
+'duration-centuries' => '$1 {{PLURAL:$1|1=пинге|пингеть}}',
+'duration-millennia' => '$1 {{PLURAL:$1|1=тёжтьие|тёжтьиеть}}',
 
 # Special:ExpandTemplates
 'expand_templates_preview' => 'Васнянь неевтезэ',
index 26dec78..565253f 100644 (file)
@@ -85,9 +85,9 @@ $messages = array(
 'tog-hidepatrolled' => 'Motlàtìs tlapîpialli tlayèktlàlilistli ìpan welok tlapảtlalistli',
 'tog-newpageshidepatrolled' => 'Mokintlàtis tlapîpialtlaìxtlapaltìn ìwikpa ìtlapòpòwaltekpànal in yâyankuik tlaìxtlapaltìn',
 'tog-extendwatchlist' => 'Mìxmảnas in tlapòpòwaltekpàntlachialli ìka mỏtas nochi in tlapảtlalistli, âmò in san okachi yankuik.',
-'tog-usenewrc' => 'Colōloāz in tlapatlaiztli īca yancuīc tlapatlaliztli īhuān in tlachiyaliztli tlapōhualāmatl (monequi JavaScript)',
-'tog-showtoolbar' => 'Tiquittāz in tlein motequitiltia tlapatlaliztechcopa (JavaScript)',
-'tog-editondblclick' => 'Tiquimpatlāz zāzaniltin ōme clicca (JavaScript)',
+'tog-usenewrc' => 'Quimolōloāz in tlapatlaliztli yancuīc tlapatlaliztli āmapan īhuān in tlachiyaliztli tlapōhualāmapan (monequi JavaScript)',
+'tog-showtoolbar' => 'Motlaīxtlatīz in tlachihchīhualōni pāntli',
+'tog-editondblclick' => 'Tiquimpatlāz in zāzaniltin intlā ōme tiquimpachoa',
 'tog-showtoc' => 'Tiquittāz in tlein cah zāzotlahcuilōlco',
 'tog-rememberpassword' => 'Ticpiyāz moMotlatequitiltilīltōca īhuān motlahtōlichtacāyo inīn chīuhpōhualhuazco (īxquich {{PLURAL:$1|tōnalli}})',
 'tog-watchcreations' => 'Moaquiāz in āmatl mā niquinyōcoya īhuān in tlahcuilōlli mā niquinquetza īpan notlachiyaliz',
@@ -257,7 +257,7 @@ $messages = array(
 'articlepage' => 'Xiquittaz in tlahcuilōlli',
 'talk' => 'tēixnāmiquiliztli',
 'views' => 'Tlachiyaliztli',
-'toolbox' => 'In tlein motequitiltia',
+'toolbox' => 'Tlachihchīhualōni',
 'userpage' => 'Xiquitta tlatequitiltilīlli zāzanilli',
 'projectpage' => 'Xiquitta tlachīhualiztli zāzanilli',
 'imagepage' => 'Tiquittaz in zāzanilli īāma',
@@ -279,7 +279,7 @@ $messages = array(
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => 'Ītechcopa {{SITENAME}}',
 'aboutpage' => 'Project:Ītechcopa',
-'copyright' => 'Tlahcuilōltzin cah yōllōxoxouhqui īpan $1',
+'copyright' => 'In tlahcuilōlli cah tlacēcencāhuani īpan $1 tel ahmo intlā īcuepca motēnēhua.',
 'copyrightpage' => '{{ns:project}}:Tlachīhualōni ītlapiyaliz',
 'currentevents' => 'Āxcāncāyōtl',
 'currentevents-url' => 'Project:Āxcāncāyōtl',
@@ -390,7 +390,7 @@ Hueliz quimpiya tlahtōl tlein ahmo mohuelītih motequitiltia tōcāpan.',
 'createaccount' => 'Ticchīhuāz cē cuentah',
 'gotaccount' => "¿Ye ticpiya cē cuentah? '''$1'''.",
 'gotaccountlink' => 'Ximocalaqui',
-'createaccountmail' => 'Ticnemītīz ahmo cemihcac zāzoichtacātlahtōlli nō moēhualtīz in maltzinteyōtl netitlanizyeyāntli',
+'createaccountmail' => 'Ticnemītīz ahmo cemihcac zāzoichtacātlahtōlli nō in tiquēhualtīz in maltzinteyōtl nonetitlanizyeyān',
 'createaccountreason' => 'Tlèka:',
 'badretype' => 'Ahneneuhqui motlahtōlichtacāyo.',
 'userexists' => 'In tlatequitiltilīltōcāitl in ōquipehpen ye ia.
@@ -409,14 +409,14 @@ Xiquitta moyēquihcuilōl.',
 Timitztlātlauhtia xicchīhua occeppa.',
 'wrongpasswordempty' => 'Ayāc motlahtōlichtacāyo.
 Timitztlātlauhtia xicchīhua occeppa.',
-'mailmypassword' => 'Notech moēhualtia maltzinteyōtl netitlaniztica yancuīc ichtacātlahtōlli',
+'mailmypassword' => 'Motlacuepilīz mochtacātlahtōl',
 'noemail' => '"$1" ahmo quipiya īe-mailcān.',
 'passwordsent' => 'Ōmoihuah yancuīc motlahtōlichtacāyo īhuīc mo e-mail ("$1").
 Occeppa xicalaqui niman ticmatīz.',
 'mailerror' => 'Ahcuallōtl e-mailcopa: $1',
 'emailconfirmlink' => 'Ticchicāhua mo e-mail',
 'accountcreated' => 'Cuentah ōmochīuh',
-'accountcreatedtext' => 'Tlatequitiltilīlcuentah ic $1 ōmochīuh.',
+'accountcreatedtext' => 'In ītlatequitiltilīllapōhual in [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) ōquiyōcoyalo.',
 'createaccount-title' => 'Cuentah ītlachīhualiz ic {{SITENAME}}',
 'loginlanguagelabel' => 'Tlâtòlli: $1',
 
@@ -427,7 +427,7 @@ Occeppa xicalaqui niman ticmatīz.',
 'newpassword' => 'Yancuīc motlahtōlichtacayo:',
 'retypenew' => 'Occeppa xiquihcuiloa yancuīc motlahtōlichtacayo:',
 'resetpass_submit' => 'Xicpatlāz motlahtōlichtacāyo auh xicalaquīz',
-'changepassword-success' => '¡Cualli ōmopatlac motlahtōlichtacāyo! Āxcān ticalaquicah...',
+'changepassword-success' => 'In ichtacātlahtōlli cualli ōtlapatlalo',
 'resetpass_forbidden' => 'Tlahtōlichtacayōtl ahmo mohuelītih mopatlah',
 'resetpass-submit-loggedin' => 'Ticpatlāz motlahtōlichtacāyo',
 'resetpass-submit-cancel' => 'Ticcuepāz',
index ea3a794..ae3abe8 100644 (file)
@@ -63,10 +63,10 @@ $messages = array(
 'tog-extendwatchlist' => "Spanne ll'asservate speciale pe fà vedé tutte 'e cagnàmiente, nun solo l'ultimo",
 'tog-usenewrc' => 'Urdeme càgnamiente avanzate (JavaScript)',
 'tog-numberheadings' => "Annúmmera automatecamente 'e títule",
-'tog-showtoolbar' => "Aspone 'a barra d''e stromiente 'e cagno (JavaScript)",
-'tog-editondblclick' => "Cagna 'e pàggene cliccanno ddoje vote (JavaScript)",
+'tog-showtoolbar' => "Aspone 'a barra d''e stromiente 'e cagno",
+'tog-editondblclick' => "Cagna 'e pàggene cliccanno ddoje vote",
 'tog-editsection' => "Permette 'e cagnà 'e sezzione cu a jonta [cagna]",
-'tog-editsectiononrightclick' => "Permette 'e cangne 'e sezzione cliccanno p''o tasto destro ncopp 'e titule 'e sezzione (JavaScript)",
+'tog-editsectiononrightclick' => "Permette 'e cangne 'e sezzione cliccanno p''o tasto destro ncopp 'e titule 'e sezzione",
 'tog-showtoc' => "Mosta ll'innece pe 'e paggene cu cchiù 'e 3 sezzione",
 'tog-rememberpassword' => "Ricurda 'a registrazzione pe' cchiu sessione (ppe 'numassimo 'e $1 {{PLURAL:$1|juorno|juorne}})",
 
@@ -155,7 +155,7 @@ $messages = array(
 'newwindow' => "(s'arape n'ata fenèsta)",
 'cancel' => 'Scancèlla',
 'moredotdotdot' => 'Cchiù...',
-'morenotlisted' => 'Atro...',
+'morenotlisted' => 'Chisto elenco nun è cumpreto.',
 'mypage' => 'Paggena',
 'mytalk' => "'E mmie chiàcchieriate",
 'anontalk' => 'Chiacchierate pe chisto IP',
@@ -247,7 +247,7 @@ $messages = array(
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => "'Nfrummazione ncòpp'a {{SITENAME}}",
 'aboutpage' => "Project:'Nfrummazione",
-'copyright' => "Cuntenuti suggietti a licienza 'e uso $1.",
+'copyright' => "Cuntenute suggiette a licienza 'e auso $1 se nun fuje ritto atro.",
 'copyrightpage' => '{{ns:project}}:Copyrights',
 'currentevents' => 'Novità',
 'currentevents-url' => 'Project:Novità',
@@ -302,7 +302,7 @@ $messages = array(
 'internalerror' => "Errore 'nterno",
 'internalerror_info' => "Errore 'nterno: $1",
 'filedeleteerror' => 'Nun se pô scancellà \'o file "$1"',
-'cannotdelete' => "Nun è possibbele scassà 'a paggena o 'a fiura addamannata. (Putria éssere stato già scancellato.)",
+'cannotdelete' => "Nun è possibbele scassà 'a paggena o 'a fiura $1 addamannata. Putria éssere stato già scancellato.",
 'badtitle' => "'O nnomme nun è jùsto",
 'viewsource' => 'Vere sorgente',
 'viewsource-title' => "Vere surgente 'e $1",
@@ -311,7 +311,7 @@ $messages = array(
 # Login and logout pages
 'logouttext' => "'''Site asciùte.'''
 
-Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putite trasì n'ata vota, cu 'o stesso nomme o cu n'ato nomme.",
+Nota ca arcune paggene potrebbero cuntinuà ad apparire comme se 'o logout nun fosse avvenuto finché nun venne pulita 'a cache d\"o proprio browser.",
 'welcomeuser' => 'Bemmenuto, $1!',
 'yourname' => 'Nomme utente',
 'userlogin-yourname' => 'Nomme utente',
@@ -353,7 +353,8 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'loginsuccess' => "'''Si stato cunnesso ô server 'e {{SITENAME}} cu 'o nomme utente 'e \"\$1\".'''",
 'nosuchusershort' => 'Nun ce stanno utente cu o nòmme "$1". Cuntrolla si scrivìste buòno.',
 'nouserspecified' => "Tiene 'a dìcere nu nomme pricìso.",
-'acct_creation_throttle_hit' => 'Ce dispiace, haje già criato $1 utente. Nun ne pô crià ate.',
+'acct_creation_throttle_hit' => "{{PLURAL:$1|1 registrazzione è già stata effettuata|$1 registrazzione song già state effettuate}} 'e qualcuno cu 'o tujo stisso innerezzo IP dint'ô urdemo juorno: è 'o massimo cunsentito 'n chisto periodo 'e tiempo.
+Perciò, 'e utente ca ausano chisto innerezzo IP nun possono registrarse ppe 'o mumiento.",
 'accountcreated' => 'Cunto criato',
 'loginlanguagelabel' => 'Lengua: $1',
 
@@ -395,7 +396,7 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'loginreqlink' => "aseguì ll'acciesso",
 'loginreqpagetext' => "Pe' veré ate ppaggene abbesognate $1.",
 'accmailtitle' => "'O password è stato mannato.",
-'accmailtext' => '\'A password pe ll\'utente "$1" fuje mannata ô nnerizzo $2.',
+'accmailtext' => "'Na password gennerata casualmente ppe [[User talk:$1|$1]] è stata mannata a $2. Chista password può essere càgnata dint'â paggena ppe ''[[Special:ChangePassword|càgna 'a password]]'' subbeto doppo l'acciesso.",
 'newarticle' => '(Novo)',
 'previewnote' => "'''Chesta è sola n'anteprimma; 'e cagnamiénte â paggena nun songo ancora sarvate!'''",
 'editing' => "Cagnamiento 'e $1",
@@ -430,8 +431,8 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'rev-delundel' => 'faje vedé/annascunne',
 'rev-showdeleted' => 'faje vedé',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-radio-set' => '',
-'revdelete-radio-unset' => 'No',
+'revdelete-radio-set' => 'Nasconde',
+'revdelete-radio-unset' => 'Faje vedé',
 'revdel-restore' => 'càgna visiblità',
 
 # Diffs
@@ -504,7 +505,7 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'newpageletter' => 'N',
 'boteditletter' => 'b',
 'rc_categories_any' => 'Qualònca',
-'rc-enhanced-expand' => 'Fa vede dettaglie (richiede JavaScript)',
+'rc-enhanced-expand' => 'Fa vede dettaglie',
 'rc-enhanced-hide' => 'Annascunne dettaglie',
 
 # Recent changes linked
@@ -576,9 +577,9 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 
 # Special:Categories
 'categories' => 'Categurìe',
-'categoriespagetext' => "Lista cumpleta d\"e categurie presente ncopp' 'o sito.
-[[Special:UnusedCategories|Unused categories]] are not shown here.
-Also see [[Special:WantedCategories|wanted categories]].",
+'categoriespagetext' => "{{PLURAL:$1|'A categurìa 'nnecata 'e seguito cuntiene|'E categurìe 'nnecate 'e seguito cuntengono}} paggene o file multimediale.
+'E [[Special:UnusedCategories|categurìe vuote]] nun song mostrate ccà.
+Vere anche 'e [[Special:WantedCategories|categurìe richieste]].",
 
 # Special:LinkSearch
 'linksearch-ok' => 'Truova',
@@ -616,7 +617,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 # Protect
 'protectedarticle' => 'ha prutetto "[[$1]]"',
 'prot_1movedto2' => 'ha spustato [[$1]] a [[$2]]',
-'protect-expiry-options' => '2 ore:2 hours,1 juorno:1 day,3 juorne:3 days,1 semmana:1 week,2 semmane:2 weeks,1 mise:1 month,3 mese:3 months,6 mese:6 months,1 anno:1 year,infinito:infinite',
+'protect-expiry-options' => '1 ore:1 hour,1 juorno:1 day,1 semmana:1 week,2 semmane:2 weeks,1 mese:1 month,3 mise:3 months,6 mise:6 months,1 anno:1 year,infinito:infinite',
 
 # Undelete
 'viewdeletedpage' => "Vìre 'e ppàggine scancellate",
@@ -630,7 +631,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 # Contributions
 'contributions' => 'Contribbute {{GENDER:$1|utente}}',
 'mycontris' => "'E ffatiche d''e mmeje",
-'contribsub2' => 'Ppe $1 ($2)',
+'contribsub2' => 'Ppe {{GENDER:$3|$1}} ($2)',
 'uctop' => '(attuale)',
 'month' => 'D"o mese (e primma):',
 'year' => "'E ll'anno (e primma):",
@@ -669,7 +670,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'contribslink' => 'contribuzzione',
 'blocklogpage' => 'Blocche',
 'blocklogentry' => 'ha fermato "[[$1]]" pe\' nu mumento \'e $2 $3',
-'blocklogtext' => "Chesta è 'a lista d''e azzione 'e blocco e sblocco utente.  'E nnerizze IP bloccate automaticamente nun nce so'. Addumannà 'a [[Special:BlockList|lista IP bloccate]] pp' 'a lista d''e nnerizze e nomme utente 'o ca blocco nce sta.",
+'blocklogtext' => "Chesta è 'a lista d''e azzione 'e blocco e sblocco utente.  'E nnerizze IP bloccate automaticamente nun nce so'. Addumannà 'a [[Special:BlockList|lista bloccate]] pp' 'a lista d''e nnerizze e nomme utente 'o ca blocco nce sta.",
 
 # Move page
 'movearticle' => "Spusta 'a paggena",
@@ -785,7 +786,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'confirmemail_loggedin' => "'O nnerizzo 'e e-mail è vàleto",
 
 # Delete conflict
-'deletedwhileediting' => 'Attenziòne: quaccherùno have scancellàto chesta pàggena prìmma ca tu accuminciàste â scrìvere!',
+'deletedwhileediting' => 'Attenziòne: quaccherùno have scancellàto chesta pàggena doppo ca tu accuminciàste â scrìvere!',
 
 # Auto-summaries
 'autoredircomment' => 'Redirect â paggena [[$1]]',
index 8c28e7f..30e2426 100644 (file)
@@ -2117,7 +2117,7 @@ Kanskje du vil redigere beskrivelsen på dens [$2 filbeskrivelsesside].',
 # Random page in category
 'randomincategory' => 'Tilfeldig side innenfor kategorien',
 'randomincategory-invalidcategory' => '«$1» er ikke et gyldig kategorinavn.',
-'randomincategory-nopages' => 'Det finnes ingen sider i [[:Kategori:$1|$1]]-kategorien.',
+'randomincategory-nopages' => 'Det finnes ingen sider i [[:Category:$1|$1]]-kategorien.',
 'randomincategory-selectcategory' => 'Hent en tilfeldig side fra kategori: $1 $2.',
 'randomincategory-selectcategory-submit' => 'Start',
 
@@ -2507,7 +2507,7 @@ Den siste redigeringen ble foretatt av [[User:$3|$3]] ([[User talk:$3|diskusjon]
 'editcomment' => "Redigeringskommentaren var: «''$1''»",
 'revertpage' => 'Tilbakestilte endring av [[Special:Contributions/$2|$2]] ([[User talk:$2|diskusjon]]) til siste versjon av [[User:$1|$1]]',
 'revertpage-nouser' => 'Tilbakestilt endringer av skjult bruker til siste versjon av
-{{GENDER:$1|[[Bruker:$1|$1]]}}',
+{{GENDER:$1|[[User:$1|$1]]}}',
 'rollback-success' => 'Tilbakestilte endringer av $1; endret til siste versjon av $2.',
 
 # Edit tokens
@@ -3913,6 +3913,12 @@ Du kan også [[Special:EditWatchlist|bruke standardverktøyet]].',
 'version-hook-subscribedby' => 'Brukes av',
 'version-version' => '(versjon $1)',
 'version-license' => 'Lisens',
+'version-ext-license' => 'Lisens',
+'version-ext-colheader-name' => 'Utvidelse',
+'version-ext-colheader-version' => 'Versjon',
+'version-ext-colheader-license' => 'Lisens',
+'version-ext-colheader-description' => 'Beskrivelse',
+'version-ext-colheader-credits' => 'Forfattere',
 'version-poweredby-credits' => "Denne wikien er drevet av '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'andre',
 'version-poweredby-translators' => 'translatewiki.net-oversettere',
@@ -3930,7 +3936,7 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
-'redirect' => 'Omdiriger via filnavn, bruker, eller versjonsid',
+'redirect' => 'Omdiriger via filnavn, bruker eller versjonsid',
 'redirect-legend' => 'Omdiriger til en fil eller side',
 'redirect-summary' => 'Denne spesialsiden omdirigerer til en fil (hvis et filnavn angis), en side (hvis et redigeringsnummer angis) eller en brukerside (hvis en numerisk brukeridentifikator angis).
 Eksempler:[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/revision/328429]], or [[{{#Special:Redirect}}/user/101]].',
@@ -3938,6 +3944,7 @@ Eksempler:[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/re
 'redirect-lookup' => 'Oppslag:',
 'redirect-value' => 'Verdi:',
 'redirect-user' => 'Bruker-ID',
+'redirect-page' => 'Side-ID',
 'redirect-revision' => 'Sideversjon',
 'redirect-file' => 'Filnavn',
 'redirect-not-exists' => 'Verdi er ikke funnet',
@@ -4131,6 +4138,7 @@ Om det ikke er tilfellet, kan du bruke det enkle skjemaet som du finner under. K
 'api-error-overwrite' => 'Det er ikke tillatt å overskrive eksisterende filer.',
 'api-error-stashfailed' => 'Internal error: tjeneren greide ikke å lagre midlertidig fil.',
 'api-error-publishfailed' => 'Intern feil: Tjeneren greide ikke å publisere midlertidig fil.',
+'api-error-stasherror' => 'Det oppstod en feil mens filen ble lastet opp til stash.',
 'api-error-timeout' => 'Serveren svarte ikke innenfor forventet tid.',
 'api-error-unclassified' => 'En ukjent feil har oppstått',
 'api-error-unknown-code' => 'Ukjent feil: "$1"',
@@ -4184,6 +4192,7 @@ Faktisk utvider den det meste innkapslet i doble krøllparenteser.',
 'expand_templates_remove_comments' => 'Fjern kommentarer',
 'expand_templates_remove_nowiki' => 'Ikke vis <nowiki>-merkelapper i resultatet',
 'expand_templates_generate_xml' => 'Vis parsetre som XML',
+'expand_templates_generate_rawhtml' => 'Vis ubehandlet HTML',
 'expand_templates_preview' => 'Forhåndsvisning',
 
 );
index e9db6b7..a7410e3 100644 (file)
@@ -397,18 +397,18 @@ $messages = array(
 'oct' => "d'oct",
 'nov' => 'de nov',
 'dec' => 'de dec',
-'january-date' => '$1 genièr',
-'february-date' => '$1 febrièr',
-'march-date' => '$1 març',
-'april-date' => '$1 abril',
-'may-date' => '$1 mai',
-'june-date' => '$1 junh',
-'july-date' => '$1 julhet',
-'august-date' => '$1 agost',
-'september-date' => '$1 setembre',
-'october-date' => '$1 octobre',
-'november-date' => '$1 novembre',
-'december-date' => '$1 decembre',
+'january-date' => '$1 de genièr',
+'february-date' => '$1 de febrièr',
+'march-date' => '$1 de març',
+'april-date' => "$1 d'abril",
+'may-date' => '$1 de mai',
+'june-date' => '$1 de junh',
+'july-date' => '$1 de julhet',
+'august-date' => "$1 d'agost",
+'september-date' => '$1 de setembre',
+'october-date' => "$1 d'octobre",
+'november-date' => '$1 de novembre',
+'december-date' => '$1 de decembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorias}}',
@@ -786,7 +786,7 @@ Verificatz qu'avètz plan ortografiat lo nom, o [[Special:UserLogin/signup|creat
 'passwordtooshort' => 'Vòstre senhal deu conténer al mens {{PLURAL:$1|1 caractèr|$1 caractèrs}}.',
 'password-name-match' => 'Vòstre senhal deu èsser diferent de vòstre nom d’utilizaire.',
 'password-login-forbidden' => "L'usatge d'aquestes nom d'utilizaire e senhal es pas autorisat",
-'mailmypassword' => 'Mandar un senhal novèl per corrièr electronic',
+'mailmypassword' => 'Reïnicializar lo senhal',
 'passwordremindertitle' => 'Senhal temporari novèl sus {{SITENAME}}',
 'passwordremindertext' => "Qualqu'un (probablament vos, amb l'adreça IP $1) a demandat un senhal novèl
 per {{SITENAME}} ($4). Un senhal temporari es estat creat per
@@ -1143,6 +1143,7 @@ D'unas inclusions seràn pas efectuadas.",
 'cantcreateaccount-text' => "La creacion de compte dempuèi aquesta adreça IP ('''$1''') es estada blocada per [[User:$3|$3]].
 
 La rason balhada per $3 èra ''$2''.",
+'cantcreateaccount-range-text' => "La creacion de compte dempuèi las adressas IP  '''$1''', que la vòstra n'es ('''$4''') es estada blocada per [[User:$3|$3]].",
 
 # History pages
 'viewpagelogs' => 'Vejatz las operacions per aquesta pagina',
@@ -1671,7 +1672,8 @@ Tanben podètz causir de permetre a d’autres de vos contactar per vòstra pagi
 'recentchanges-label-minor' => 'Aqueste cambiament es menor',
 'recentchanges-label-bot' => 'Aqueste cambiament es estat efectuat per un bòt.',
 'recentchanges-label-unpatrolled' => 'Aqueste cambiament es pas estat verificat encara.',
-'recentchanges-legend-newpage' => '$1 - pagina novèla',
+'recentchanges-legend-heading' => "'''Legenda :'''",
+'recentchanges-legend-newpage' => '(veire tanben la [[Special:NewPages|lista de las paginas novèlas]]).',
 'rcnotefrom' => "Vaquí los cambiaments efectuats dempuèi lo '''$2''' ('''$1''' al maximum).",
 'rclistfrom' => 'Afichar las modificacions novèlas dempuèi lo $1.',
 'rcshowhideminor' => '$1 los cambiaments menors',
@@ -2154,6 +2156,7 @@ Las entradas <del>barradas</del> son estadas resolgudas.',
 'protectedpages' => 'Paginas protegidas',
 'protectedpages-indef' => 'Unicament las proteccions permanentas',
 'protectedpages-cascade' => 'Unicament las proteccions en cascada',
+'protectedpages-noredirect' => 'Amagar las redireccions',
 'protectedpagesempty' => 'Cap de pagina es pas protegida actualament.',
 'protectedtitles' => 'Títols protegits',
 'protectedtitlesempty' => 'Cap de títol es pas actualament protegit amb aquestes paramètres.',
@@ -3725,6 +3728,11 @@ Confirmatz que desiratz tornar crear aqueste article.",
 'imgmultigo' => 'Accedir !',
 'imgmultigoto' => 'Anar a la pagina $1',
 
+# Language selector for translatable SVGs
+'img-lang-default' => '(lenga per defaut)',
+'img-lang-info' => 'Afichar aqueste imatge en $1 $2.',
+'img-lang-go' => 'Amodar',
+
 # Table pager
 'ascending_abbrev' => 'creissent',
 'descending_abbrev' => 'descreissent',
@@ -3824,6 +3832,7 @@ Ensajatz la previsualizacion normala.',
 'redirect-lookup' => 'Recèrca :',
 'redirect-value' => 'Valor :',
 'redirect-user' => "ID de l'utilizaire",
+'redirect-page' => 'ID de pagina',
 'redirect-revision' => 'Revision de la pagina',
 'redirect-file' => 'Nom del fichièr',
 'redirect-not-exists' => 'Valor pas trobada',
@@ -3841,9 +3850,9 @@ Ensajatz la previsualizacion normala.',
 
 # Special:SpecialPages
 'specialpages' => 'Paginas especialas',
+'specialpages-note-top' => 'Legenda',
 'specialpages-note' => '* Paginas especialas normalas.
-* <span class="mw-specialpagerestricted">Paginas especialas restrenchas.</span>
-* <span class="mw-specialpagecached">Paginas especialas solament en escondedor (poirián èsser obsolètas).</span>',
+* <span class="mw-specialpagerestricted">Paginas especialas restrenchas.</span>',
 'specialpages-group-maintenance' => 'Rapòrts de mantenença',
 'specialpages-group-other' => 'Autras paginas especialas',
 'specialpages-group-login' => "S'identificar / s'inscriure",
@@ -4059,10 +4068,12 @@ Ensajatz la previsualizacion normala.',
 'expand_templates_input' => 'Picatz vòstre tèxte aicí :',
 'expand_templates_output' => 'Visualizatz lo resultat :',
 'expand_templates_xml_output' => 'Sortida XML',
+'expand_templates_html_output' => 'Sortida en HTML sens filtrar',
 'expand_templates_ok' => "D'acòrdi",
 'expand_templates_remove_comments' => 'Suprimir los comentaris.',
 'expand_templates_remove_nowiki' => 'Suprimís los marcadors <nowiki> dins lo resultat',
 'expand_templates_generate_xml' => "Veire l'arborescéncia XML",
+'expand_templates_generate_rawhtml' => 'Afichar lo HTML brut',
 'expand_templates_preview' => 'Previsualizacion',
 
 );
index 7d1bf5f..276791c 100644 (file)
@@ -3976,7 +3976,7 @@ MediaWiki ଉପଯୋଗୀ ହେବା ଲକ୍ଷରେ ବଣ୍ଟାଯ
 'duration-minutes' => '$1 {{PLURAL:$1|ମିନିଟ|ମିନିଟ}}',
 'duration-hours' => '$1 {{PLURAL:$1|ଘଣ୍ଟା|ଘଣ୍ଟା}}',
 'duration-days' => '$1 {{PLURAL:$1|ଦିନ|ଦିନଗୁଡିକ}}',
-'duration-weeks' => '$1 {{PLURAL: $1|ସପ୍ତାହ|ସପ୍ତାହଗୁଡିକ}}',
+'duration-weeks' => '$1 {{PLURAL:$1|ସପ୍ତାହ|ସପ୍ତାହଗୁଡିକ}}',
 'duration-years' => '$1 {{PLURAL:$1|year|years}}',
 'duration-decades' => '$1 {{PLURAL:$1|decade|decades}}',
 'duration-centuries' => '$1 {{PLURAL:$1|century|centuries}}',
index 8be33e3..c8bcebf 100644 (file)
@@ -13,6 +13,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Loïens soulinés:',
index 780fc59..c86533f 100644 (file)
@@ -2243,6 +2243,7 @@ Każdy wiersz zawiera linki do pierwszego i drugiego przekierowania oraz link, d
 'protectedpages' => 'Strony zabezpieczone',
 'protectedpages-indef' => 'Tylko strony zabezpieczone na zawsze',
 'protectedpages-cascade' => 'Tylko strony zabezpieczone rekursywnie',
+'protectedpages-noredirect' => 'Ukryj przekierowania',
 'protectedpagesempty' => 'Żadna strona nie jest obecnie zabezpieczona z podanymi parametrami.',
 'protectedtitles' => 'Zabezpieczone nazwy stron',
 'protectedtitlesempty' => 'Dla tych ustawień dopuszczalne jest utworzenie stron o dowolnej nazwie.',
@@ -2515,6 +2516,7 @@ Zobacz na stronie $2 rejestr ostatnio wykonanych usunięć.',
 Usuwanie jej zostało ograniczone ze względu na możliwość zakłócenia pracy {{GRAMMAR:D.lp|{{SITENAME}}}}.',
 'delete-warning-toobig' => 'Ta strona ma bardzo długą historię edycji – ponad $1 {{PLURAL:$1|zmianę|zmiany|zmian}}.<br />
 Bądź ostrożny, ponieważ usunięcie jej może spowodować zakłócenia w pracy {{GRAMMAR:D.lp|{{SITENAME}}}}.',
+'deleting-backlinks-warning' => "''' Uwaga:''' Do strony, masz zamiar usunąć, odwołują się inne strony.",
 
 # Rollback
 'rollback' => 'Cofnij edycję',
index ad9fb20..6b921c8 100644 (file)
@@ -1574,6 +1574,8 @@ Se a veul ancó carié sò archivi, për piasì ch'a torna andré e ch'a deuvra
 'file-exists-duplicate' => "S'archivi a l'é un duplicà ëd {{PLURAL:$1|cost-sì|costi-sì}}:",
 'file-deleted-duplicate' => "N'archivi idéntich a cost-sì ([[:$1]]) a l'é scàit ëscancelà an passà.
 A dovrìa controlé la stòria djë scancelament ëd l'archivi prima ëd carielo torna.",
+'file-deleted-duplicate-notitle' => "N'archivi idéntich a cost-sì a l'é già stàit ëscancelà e ël tìtol a l'é stàit eliminà.
+A dovrìa ciamé a cheidun con la possibilità ëd vëdde ij dàit dj'archivi eliminà ëd riesaminé la situassion prima ëd carielo torna.",
 'uploadwarning' => 'Avis che i soma dapress a carié',
 'uploadwarning-text' => "Për piasì, ch'a modìfica la descrission ëd l'archivi sì-sota e ch'a preuva torna.",
 'savefile' => "Salvé l'archivi",
@@ -1956,6 +1958,7 @@ Adess a l'é na ridiression a [[$2]].",
 'protectedpages' => 'Pàgine sota protession',
 'protectedpages-indef' => 'Mach protession anfinìe',
 'protectedpages-cascade' => 'Mach protession a cascà',
+'protectedpages-noredirect' => 'Stërmé le ridiression',
 'protectedpagesempty' => 'Për adess a-i é pa gnun-a pàgina protegiùa',
 'protectedtitles' => 'Tìtoj protegiù',
 'protectedtitlesempty' => "A-i é pa gnun tìtol protegiù ch'a-i intra coi criteri ch'a l'ha butà.",
@@ -3669,7 +3672,16 @@ As peul ëdcò [[Special:EditWatchlist|dovré l'editor sòlit]].",
 'version-hook-name' => 'Nòm dël gancio',
 'version-hook-subscribedby' => 'A son scrivusse',
 'version-version' => '(Version $1)',
-'version-license' => 'Licensa',
+'version-license' => 'Licensa MediaWiki',
+'version-ext-license' => 'Licensa',
+'version-ext-colheader-name' => 'Estension',
+'version-ext-colheader-license' => 'Licensa',
+'version-ext-colheader-description' => 'Descrission',
+'version-ext-colheader-credits' => 'Autor',
+'version-license-title' => 'Licensa për $1',
+'version-license-not-found' => "Gnu-a anformassion detajà ëd la licensa a l'é stàita trovà për costa estension.",
+'version-credits-title' => 'Arconossiment për $1',
+'version-credits-not-found' => "Gnun-a anformassion detajà d'arconossiment a l'é stàita trovà për costa estension.",
 'version-poweredby-credits' => "Costa wiki-sì a marcia grassie a '''[https://www.mediawiki.org/ MediaWiki]''', licensa © 2001-$1 $2.",
 'version-poweredby-others' => 'àutri',
 'version-poweredby-translators' => 'tradutor ëd translatewiki.net',
index d32d6d4..75bbbfd 100644 (file)
@@ -2204,7 +2204,7 @@ Agora redirecciona para [[$2]].',
 'brokenredirects-delete' => 'eliminar',
 
 'withoutinterwiki' => 'Páginas sem links interlínguas',
-'withoutinterwiki-summary' => 'As seguintes páginas não têm links para versões noutras línguas.',
+'withoutinterwiki-summary' => 'As seguintes páginas não têm ligação para versões noutras línguas.',
 'withoutinterwiki-legend' => 'Prefixo',
 'withoutinterwiki-submit' => 'Mostrar',
 
@@ -2715,7 +2715,7 @@ Para referência é apresentado abaixo o último registo de bloqueio:',
 'whatlinkshere' => 'Páginas afluentes',
 'whatlinkshere-title' => 'Páginas que têm links para "$1"',
 'whatlinkshere-page' => 'Página:',
-'linkshere' => "As seguintes páginas têm links para '''[[:$1]]''':",
+'linkshere' => "As seguintes páginas têm ligação a '''[[:$1]]''':",
 'nolinkshere' => "Não existem afluentes para '''[[:$1]]''' com as condições especificadas.",
 'nolinkshere-ns' => "Não existem links para '''[[:$1]]''' no espaço nominal selecionado.",
 'isredirect' => 'página de redirecionamento',
index 8c56454..c49384f 100644 (file)
@@ -4041,7 +4041,14 @@ This message is followed by the gallery of the duplicate files.
 Parameters:
 * $1 - number of duplicate files',
 'file-deleted-duplicate' => 'Used in [[Special:Upload]. Parameters:
-* $1 - page title of the file',
+* $1 - page title of the file
+
+See also:
+* {{msg-mw|file-deleted-duplicate-notitle}}',
+'file-deleted-duplicate-notitle' => 'Used in [[Special:Upload]] when the title of the deleted duplicate is not available.
+
+See also:
+* {{msg-mw|file-deleted-duplicate}}',
 'uploadwarning' => 'Used as section header in [[Special:Upload]].',
 'uploadwarning-text' => 'Used in [[Special:Upload]].',
 'savefile' => 'When uploading a file',
@@ -4942,6 +4949,8 @@ See the following search results:
 'protectedpages' => '{{doc-special|ProtectedPages}}',
 'protectedpages-indef' => 'Option in [[Special:ProtectedPages]]',
 'protectedpages-cascade' => 'Option in [[Special:ProtectedPages]]',
+'protectedpages-noredirect' => 'Option in [[Special:ProtectedPages]].
+{{Identical|Hide redirect}}',
 'protectedpagesempty' => 'Used in [[Special:ProtectedPages]], when there are no protected pages with the specified parameters.',
 'protectedtitles' => '{{doc-special|ProtectedTitles}}',
 'protectedtitlesempty' => 'Used on [[Special:ProtectedTitles]]. This text appears if the list of protected titles is empty. See the [[mw:Project:Protected_titles|help page on MediaWiki]] for more information.',
@@ -5074,7 +5083,8 @@ See also:
 'allpagesbadtitle' => 'Used in [[Special:AllPages]], [[Special:PrefixIndex]] and [[Special:RecentChangesLinked]].',
 'allpages-bad-ns' => 'Used as error message. Parameters:
 * $1 - namespace name, other than "Main" namespace',
-'allpages-hide-redirects' => 'Label for a checkbox. If the checkbox is checked redirects will not be shown in the list. Used in [[Special:PrefixIndex]] and [[Special:Allpages]].',
+'allpages-hide-redirects' => 'Label for a checkbox. If the checkbox is checked redirects will not be shown in the list. Used in [[Special:PrefixIndex]] and [[Special:Allpages]].
+{{Identical|Hide redirect}}',
 
 # SpecialCachedPage
 'cachedspecial-viewing-cached-ttl' => 'Message notifying they are watching a cached page. $1 is a duration (ie "1 hour and 30 minutes")',
@@ -9945,7 +9955,41 @@ Parameters:
 Used in [[Special:Version]], preceeding the Subversion revision numbers of the extensions loaded inside brackets, like this: "({{int:version-revision}} r012345"). Parameters:
 * $1 - (Unused) directory revision number or empty string
 * $2 - checkout revision number',
-'version-license' => '{{Identical|License}}',
+'version-license' => 'Used specifically for the MediaWiki software.
+
+Used as heading in [[Special:Version]].',
+'version-ext-license' => "Used in [[Special:Version]].
+
+Used as label for the link pointing to the extension's license page. e.g. [[Special:Version/License/Maps]]
+{{Identical|License}}",
+'version-ext-colheader-name' => 'Column header for the name of an extension.
+{{Identical|Extension}}',
+'version-ext-colheader-version' => 'Column header for describing an extensions version.
+{{Identical|Version}}',
+'version-ext-colheader-license' => 'Column header for describing an extensions license.
+{{Identical|License}}',
+'version-ext-colheader-description' => 'Column header for the description of an extension.
+{{Identical|Description}}',
+'version-ext-colheader-credits' => 'Column header for the list of authors and credits for an extension.
+{{Identical|Author}}',
+'version-license-title' => 'Page title for an extended license for a piece of software.
+
+Used as page title for the license page. e.g. [[Special:Version/License/Maps]].
+
+Parameters:
+* $1 - the name of software',
+'version-license-not-found' => 'Descriptive error used when detailed license text for a piece of software is not found.
+
+See example: [[Special:Version/License/Foo]]',
+'version-credits-title' => 'Page title for an about/credits page for a MediaWiki extension.
+
+Used as heading in credits page. e.g. [[Special:Version/Credits]] and [[Special:Version/Credits/UniversalLanguageSelector]]
+
+Parameters:
+* $1 - the name of the extension',
+'version-credits-not-found' => 'Descriptive error used when detailed about/credits for an extension are not available.
+
+See example: [[Special:Version/Credits/Foo]]',
 'version-poweredby-credits' => 'Message shown on [[Special:Version]]. Parameters:
 * $1 - the current year
 * $2 - a list of selected MediaWiki authors',
@@ -10435,6 +10479,7 @@ See also:
 'api-error-overwrite' => 'API error message that can be used for client side localisation of API errors.',
 'api-error-stashfailed' => 'API error message that can be used for client side localisation of API errors.',
 'api-error-publishfailed' => 'API error message that can be used for client side localisation of API errors.',
+'api-error-stasherror' => 'API error message that can be used for client side localisation of API errors.',
 'api-error-timeout' => 'API error message that can be used for client side localisation of API errors.',
 'api-error-unclassified' => 'API error message that can be used for client side localisation of API errors.',
 'api-error-unknown-code' => 'API error message that can be used for client side localisation of API errors.
index 7aead9a..a37dbca 100644 (file)
@@ -301,18 +301,18 @@ $messages = array(
 'tog-underline' => 'Sublinierea legăturilor:',
 'tog-justify' => 'Aranjează justificat paragrafele',
 'tog-hideminor' => 'Ascunde modificările minore în schimbări recente',
-'tog-hidepatrolled' => 'Ascunde în schimbări recente editările patrulate',
+'tog-hidepatrolled' => 'Ascunde modificările patrulate în schimbări recente',
 'tog-newpageshidepatrolled' => 'Ascunde paginile patrulate din lista de pagini noi',
 'tog-extendwatchlist' => 'Extinde lista de articole urmărite pentru a arăta toate schimbările efectuate, nu doar pe cele mai recente',
 'tog-usenewrc' => 'Grupează modificările după pagină în cadrul schimbărilor recente și listei paginilor urmărite',
 'tog-numberheadings' => 'Numerotează automat secțiunile',
 'tog-showtoolbar' => 'Afișează bara de unelte pentru modificare',
-'tog-editondblclick' => 'Activează modificarea paginii prin dublu clic',
+'tog-editondblclick' => 'Modifică paginile prin dublu clic',
 'tog-editsection' => 'Activează modificarea secțiunilor prin legăturile [modifică]',
 'tog-editsectiononrightclick' => 'Activează modificarea secţiunilor prin clic dreapta pe titlul secțiunii',
 'tog-showtoc' => 'Arată cuprinsul (pentru paginile cu mai mult de 3 paragrafe cu titlu)',
 'tog-rememberpassword' => 'Autentificare automată de la acest navigator (expiră după $1 {{PLURAL:$1|zi|zile|de zile}})',
-'tog-watchcreations' => 'Adaugă paginile pe care le creez și fișierele pe care le încarc la lista mea de urmărire',
+'tog-watchcreations' => 'Adaugă paginile pe care le creez și fișierele pe care le încarc la lista mea de pagini urmărite',
 'tog-watchdefault' => 'Adaugă paginile și fișierele pe care le modific la lista mea de urmărire',
 'tog-watchmoves' => 'Adaugă paginile și fișierele pe care le redenumesc la lista mea de urmărire',
 'tog-watchdeletion' => 'Adaugă paginile și fișierele pe care le șterg la lista mea de urmărire',
@@ -700,7 +700,7 @@ Motivul invocat este ''$2''.",
 Administratorul care a efectuat blocarea a furnizat explicația: „$3”.',
 'invalidtitle-knownnamespace' => 'Titlu invalid cu spațiul de nume „$2” și textul „$3”',
 'invalidtitle-unknownnamespace' => 'Titlu invalid cu numărul spațiului de nume $1 necunoscut și textul „$2”',
-'exception-nologin' => 'Neautentificat{{GENDER:||ă}}.',
+'exception-nologin' => 'Neautentificat{{GENDER:||ă}}',
 'exception-nologin-text' => 'Vă rugăm să vă [[Special:Userlogin|autentificați]] pentru a accesa această pagină sau acțiune.',
 'exception-nologin-text-manual' => 'Vă rugăm să vă $1 pentru a accesa această pagină sau acțiune.',
 
@@ -1192,8 +1192,8 @@ Motivul invocat de $3 este ''$2''",
 'cur' => 'actuală',
 'next' => 'următoarea',
 'last' => 'prec',
-'page_first' => 'prim',
-'page_last' => 'ultim',
+'page_first' => 'prima',
+'page_last' => 'ultima',
 'histlegend' => 'Legendă: (actuală) = diferențe față de versiunea curentă,
 (prec) = diferențe față de versiunea precedentă, M = modificare minoră',
 'history-fieldset-title' => 'Răsfoire istoric',
@@ -1832,6 +1832,8 @@ Mergeți înapoi și încărcați acest fișier sub un nume nou. [[File:$1|thumb
 'fileexists-shared-forbidden' => 'Un fișier cu acest nume există deja în magazia de imagini comune; mergeți înapoi și încărcați fișierul sub un nou nume. [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'Acest fișier este dublura {{PLURAL:$1|fișierului|fișierelor}}:',
 'file-deleted-duplicate' => 'Un fișier identic cu acesta ([[:$1]]) a fost șters anterior. Verificați istoricul ștergerilor fișierului înainte de a-l reîncărca.',
+'file-deleted-duplicate-notitle' => 'Un fișier identic cu acesta a fost șters anterior, iar titlul a fost suprimat.
+Ar trebui să contactați pe cineva care poate vizualiza datele suprimate ale fișierului pentru a evalua situația înainte de a începe să-l reîncărcați.',
 'uploadwarning' => 'Avertizare la trimiterea fișierului',
 'uploadwarning-text' => 'Vă rugăm să modificați descrierea fișierului mai jos și să încercați din nou.',
 'savefile' => 'Salvează fișierul',
@@ -2210,8 +2212,9 @@ Intrările <del>tăiate</del> au fost rezolvate.',
 'deadendpages' => 'Pagini fără legături',
 'deadendpagestext' => 'Următoarele pagini nu se leagă de alte pagini din acestă wiki.',
 'protectedpages' => 'Pagini protejate',
-'protectedpages-indef' => 'Doar protecțiile pe termen nelimitat',
+'protectedpages-indef' => 'Doar protejări pe termen nelimitat',
 'protectedpages-cascade' => 'Doar protejări în cascadă',
+'protectedpages-noredirect' => 'Ascunde redirecționările',
 'protectedpagesempty' => 'Nu există pagini protejate',
 'protectedtitles' => 'Titluri protejate',
 'protectedtitlesempty' => 'Nu există titluri protejate cu acești parametri.',
@@ -3897,7 +3900,17 @@ Puteți folosi în schimb [[Special:EditWatchlist|editorul standard]].',
 'version-hook-name' => 'Nume hook',
 'version-hook-subscribedby' => 'Subscris de',
 'version-version' => '(Versiune $1)',
-'version-license' => 'Licență',
+'version-license' => 'Licență MediaWiki',
+'version-ext-license' => 'Licență',
+'version-ext-colheader-name' => 'Extensie',
+'version-ext-colheader-version' => 'Versiune',
+'version-ext-colheader-license' => 'Licență',
+'version-ext-colheader-description' => 'Descriere',
+'version-ext-colheader-credits' => 'Autori',
+'version-license-title' => 'Licență pentru $1',
+'version-license-not-found' => 'Nu s-au găsit informații detaliate despre licența acestei extensii.',
+'version-credits-title' => 'Credite pentru $1',
+'version-credits-not-found' => 'Nu s-au găsit informații detaliate despre creditele acestei extensii.',
 'version-poweredby-credits' => "Acest wiki este motorizat de '''[https://www.mediawiki.org/ MediaWiki]''', drepturi de autor © 2001-$1 $2.",
 'version-poweredby-others' => 'alții',
 'version-poweredby-translators' => 'traducătorii de la translatewiki.net',
index 24b24c1..d991829 100644 (file)
@@ -3079,8 +3079,8 @@ Ce l'esegue sus a 'u sisteme tue pò essere ca se combromette.",
 'days-abbrev' => '$1g',
 'seconds' => '{{PLURAL:$1|seconde|seconde}}',
 'minutes' => '{{PLURAL:$1|$1 minute|$1 minute}}',
-'hours' => '{{PLURAL: $1|$1ore|$1 ore}}',
-'days' => '{{PLURAL: $1|$1 sciurne|$1 sciurne}}',
+'hours' => '{{PLURAL:$1|$1ore|$1 ore}}',
+'days' => '{{PLURAL:$1|$1 sciurne|$1 sciurne}}',
 'weeks' => '{{PLURAL:$1|$1 sumàne}}',
 'months' => '{{PLURAL:$1|$1 mese|$1 mise}}',
 'years' => '{{PLURAL:$1|$1 anne}}',
@@ -4115,10 +4115,10 @@ Ce nò, tu puè ausà 'u module facile aqquà sotte. 'U commende tune avène agg
 # Durations
 'duration-seconds' => '{{PLURAL:$1|seconde|seconde}}',
 'duration-minutes' => '{{PLURAL:$1|minute|minute}}',
-'duration-hours' => '{{PLURAL: $1|ore|ore}}',
+'duration-hours' => '{{PLURAL:$1|ore|ore}}',
 'duration-days' => '$1 {{PLURAL:$1|sciurne|sciurne}}',
-'duration-weeks' => '{{PLURAL: $1|sumàne|sumàne}}',
-'duration-years' => '{{PLURAL: $1|anne|anne}}',
+'duration-weeks' => '{{PLURAL:$1|sumàne|sumàne}}',
+'duration-years' => '{{PLURAL:$1|anne|anne}}',
 'duration-decades' => '$1 {{PLURAL:$1|decade|decade}}',
 'duration-centuries' => '$1 {{PLURAL:$1|sechele|sechele}}',
 'duration-millennia' => '$1 {{PLURAL:$1|millennie|millennie}}',
index f58dd51..e10442d 100644 (file)
@@ -455,7 +455,7 @@ $messages = array(
 'tog-editsection' => 'Показывать ссылку «править» для каждой секции',
 'tog-editsectiononrightclick' => 'Править секции при правом щелчке мышью на заголовке',
 'tog-showtoc' => 'Показывать оглавление (для страниц более чем с 3 заголовками)',
-'tog-rememberpassword' => 'Помнить мою учётную запись в этом браузере (не более $1 {{PLURAL:$1|дня|дней|дней}})',
+'tog-rememberpassword' => 'Помнить мою учётную запись в этом браузере (не более $1 {{PLURAL:$1|дня|дней}})',
 'tog-watchcreations' => 'Добавлять в список наблюдения созданные мной страницы и загруженные мной файлы',
 'tog-watchdefault' => 'Добавлять в список наблюдения изменённые мной страницы и описания файлов',
 'tog-watchmoves' => 'Добавлять в список наблюдения переименованные мной страницы и файлы',
@@ -562,19 +562,19 @@ $messages = array(
 'december-date' => 'Декабрь $1',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категория|Категории}}',
+'pagecategories' => '{{PLURAL:$1|1=Категория|Категории}}',
 'category_header' => 'Страницы в категории «$1»',
 'subcategories' => 'Подкатегории',
 'category-media-header' => 'Файлы в категории «$1»',
 'category-empty' => "''Эта категория в данный момент пуста.''",
-'hidden-categories' => '{{PLURAL:$1|Скрытая категория|Скрытые категории}}',
+'hidden-categories' => '{{PLURAL:$1|1=Скрытая категория|Скрытые категории}}',
 'hidden-category-category' => 'Скрытые категории',
-'category-subcat-count' => '{{PLURAL:$2|Эта категория содержит только следующую подкатегорию.|Эта категория содержит $1 {{PLURAL:$1|подкатегорию|подкатегории}} из $2 всего.}}',
-'category-subcat-count-limited' => 'Ð\92 Ñ\8dÑ\82ой ÐºÐ°Ñ\82егоÑ\80ии {{PLURAL:$1|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80иÑ\8f|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80ии|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80ий}}.',
-'category-article-count' => '{{#ifeq:$2|1|Эта категория содержит только следующую страницу.|Эта категория содержит следующ{{PLURAL:$1|ую $1 страницу|ие $1 страницы|ие $1 страниц}} из $2.}}',
-'category-article-count-limited' => 'В этой категории {{PLURAL:$1|$1 страница|$1 страницы|$1 страниц}}.',
-'category-file-count' => '{{#ifeq:$2|1|Эта категория содержит только один файл.|Следующ{{PLURAL:$1|ий $1 файл|ие $1 файла|ие $1 файлов}} из $2 имеющ{{PLURAL:$2|его|их}}ся принадлеж{{PLURAL: ит|ат}} к этой категории.}}',
-'category-file-count-limited' => 'Ð\92 Ñ\8dÑ\82ой ÐºÐ°Ñ\82егоÑ\80ии {{PLURAL:$1|$1 Ñ\84айл|$1 Ñ\84айла|$1 Ñ\84айлов}}.',
+'category-subcat-count' => '{{PLURAL:$2|Эта категория содержит только следующую подкатегорию.|Эта категория содержит $1 {{PLURAL:$1|1=подкатегорию|подкатегории}} из $2 всего.}}',
+'category-subcat-count-limited' => 'Ð\92 Ñ\8dÑ\82ой ÐºÐ°Ñ\82егоÑ\80ии {{PLURAL:$1|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80иÑ\8f|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80ий|$1 Ð¿Ð¾Ð´ÐºÐ°Ñ\82егоÑ\80ии}}.',
+'category-article-count' => '{{PLURAL:$2|Эта категория содержит единственную страницу.|{{PLURAL:$1|Показана $1 страница|Показано $1 страниц|Показаны $1 страницы}} из $2, {{PLURAL:$2|находящейся|находящихся|находящихся}} в данной категории.}}',
+'category-article-count-limited' => 'В этой категории {{PLURAL:$1|$1 страница|$1 страниц|$1 страницы|1=только одна страница}}.',
+'category-file-count' => '{{PLURAL:$2|Эта категория содержит единственный файл.|{{PLURAL:$1|Показан $1 файл|Показано $1 файлов|Показаны $1 файла}} из $2, {{PLURAL:$2|находящегося|находящихся|находящихся}} в данной категории.}}',
+'category-file-count-limited' => 'Ð\92 Ñ\8dÑ\82ой ÐºÐ°Ñ\82егоÑ\80ии {{PLURAL:$1|$1 Ñ\84айл|$1 Ñ\84айлов|$1 Ñ\84айла|1=Ñ\82олÑ\8cко Ð¾Ð´Ð¸Ð½ Ñ\84айл}}.',
 'listingcontinuesabbrev' => '(продолжение)',
 'index-category' => 'Индексируемые страницы',
 'noindex-category' => 'Неиндексируемые страницы',
@@ -641,8 +641,8 @@ $messages = array(
 'delete' => 'Удалить',
 'deletethispage' => 'Удалить эту страницу',
 'undeletethispage' => 'Восстановить эту страницу',
-'undelete_short' => 'Восстановить $1 {{PLURAL:$1|правку|правки|правок}}',
-'viewdeleted_short' => 'Просмотр $1 {{PLURAL:$1|удалённой правки|удалённых правок|удалённых правок}}',
+'undelete_short' => 'Восстановить {{PLURAL:$1|$1 правку|$1 правок|$1 правки|1=правку}}',
+'viewdeleted_short' => 'Просмотр {{PLURAL:$1|$1 удалённой правки|$1 удалённых правок|удалённой правки}}',
 'protect' => 'Защитить',
 'protect_change' => 'изменить',
 'protectthispage' => 'Защитить эту страницу',
@@ -670,7 +670,7 @@ $messages = array(
 'redirectedfrom' => '(перенаправлено с «$1»)',
 'redirectpagesub' => 'Страница-перенаправление',
 'lastmodifiedat' => 'Последнее изменение этой страницы: $2, $1.',
-'viewcount' => 'К этой странице обращались $1 {{PLURAL:$1|раз|раза|раз}}.',
+'viewcount' => 'К этой странице обращались $1 {{PLURAL:$1|раз|раз|раза}}.',
 'protectedpage' => 'Защищённая страница',
 'jumpto' => 'Перейти к:',
 'jumptonavigation' => 'навигация',
@@ -705,7 +705,7 @@ $1',
 
 'badaccess' => 'Ошибка доступа',
 'badaccess-group0' => 'Вы не можете выполнять запрошенное действие.',
-'badaccess-groups' => 'Запрошенное действие могут выполнять только участники из {{PLURAL:$2|группы|групп}} «$1».',
+'badaccess-groups' => 'Запрошенное действие могут выполнять только участники {{PLURAL:$2|1=из группы «$1»|одной из следующих групп: $1}}',
 
 'versionrequired' => 'Требуется MediaWiki версии $1',
 'versionrequiredtext' => 'Для работы с этой страницей требуется MediaWiki версии $1. См. [[Special:Version|информацию об программном обеспечении]].',
@@ -714,7 +714,7 @@ $1',
 'pagetitle' => '$1 — {{SITENAME}}',
 'retrievedfrom' => 'Источник — «$1»',
 'youhavenewmessages' => 'Вы получили $1 ($2).',
-'youhavenewmessagesfromusers' => 'Вы получили $1 от {{PLURAL:$3|$3 участника|$3 участников}} ($2).',
+'youhavenewmessagesfromusers' => 'Вы получили $1 от {{PLURAL:$3|$3 участника|$3 участников|1=другого участника}} ($2).',
 'youhavenewmessagesmanyusers' => 'Вы получили $1 от множества пользователей ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|новое сообщение|999=новые сообщения}}',
 'newmessagesdifflinkplural' => '{{PLURAL:$1|последнее изменение|999=последние изменения}}',
@@ -732,7 +732,7 @@ $1',
 'collapsible-expand' => 'развернуть',
 'thisisdeleted' => 'Просмотреть или восстановить $1?',
 'viewdeleted' => 'Просмотреть $1?',
-'restorelink' => '{{PLURAL:$1|$1 удалённую правку|$1 удалённые правки|$1 удалённых правок}}',
+'restorelink' => '{{PLURAL:$1|$1 удалённую правку|$1 удалённых правок|$1 удалённые правки|1=удалённую правку}}',
 'feedlinks' => 'В виде:',
 'feed-invalid' => 'Неправильный тип канала для подписки.',
 'feed-unavailable' => 'Ленты синдикации недоступны',
@@ -810,8 +810,8 @@ $1',
 'no-null-revision' => 'Не удалось создать новую нулевую правку для страницы «$1»',
 'badtitle' => 'Недопустимое название',
 'badtitletext' => 'Запрашиваемое название страницы неправильно, пусто, либо неверно указано межъязыковое или интервики название. Возможно, в названии используются недопустимые символы.',
-'perfcached' => 'Следующие данные взяты из кэша и могут не учитывать последних изменений. В кэше хранится не более $1 {{PLURAL:$1|записи|записей|записей}}.',
-'perfcachedts' => 'Следующие данные взяты из кэша, последний раз он обновлялся в $1. В кэше хранится не более $4 {{PLURAL:$4|записи|записей|записей}}.',
+'perfcached' => 'Следующие данные взяты из кэша и могут не учитывать последних изменений. В кэше хранится не более $1 {{PLURAL:$1|записи|записей}}.',
+'perfcachedts' => 'Следующие данные взяты из кэша, последний раз он обновлялся в $1. В кэше хранится не более $4 {{PLURAL:$4|записи|записей}}.',
 'querypage-no-updates' => 'Обновление этой страницы сейчас отключено.
 Представленные здесь данные не будут обновляться.',
 'viewsource' => 'Просмотр',
@@ -826,7 +826,7 @@ $1',
 'editinginterface' => "'''Внимание:''' Вы редактируете страницу, содержащую текст интерфейса программного обеспечения.
 Её изменение повлияет на внешний вид интерфейса для других пользователей этой вики.
 Чтобы добавить или изменить перевод этого сообщения, пожалуйста, используйте сайт локализации MediaWiki [//translatewiki.net/ translatewiki.net].",
-'cascadeprotected' => 'Страница защищена от изменений, поскольку она включена в {{PLURAL:$1|следующую страницу, для которой|следующие страницы, для которых}} включена каскадная защита:
+'cascadeprotected' => 'Страница защищена от изменений, поскольку она включена в {{PLURAL:$1|1=следующую страницу, для которой|следующие страницы, для которых}} включена каскадная защита:
 $2',
 'namespaceprotected' => 'У вас нет разрешения редактировать страницы в пространстве имён «$1».',
 'customcssprotected' => 'У вас нет разрешения редактировать эту CSS-страницу, так как она содержит личные настройки другого участника.',
@@ -870,7 +870,7 @@ $2',
 'yourpasswordagain' => 'Повторный набор пароля:',
 'createacct-yourpasswordagain' => 'Подтвердите пароль',
 'createacct-yourpasswordagain-ph' => 'Введите пароль еще раз',
-'remembermypassword' => 'Помнить мою учётную запись на этом компьютере (не более $1 {{PLURAL:$1|дня|дней|дней}})',
+'remembermypassword' => 'Помнить мою учётную запись на этом компьютере (не более $1 {{PLURAL:$1|дня|дней}})',
 'userlogin-remembermypassword' => 'Оставаться в системе',
 'userlogin-signwithsecure' => 'Защищённое соединение',
 'yourdomainname' => 'Ваш домен:',
@@ -914,9 +914,9 @@ $2',
 'createacct-submit' => 'Создать учётную запись',
 'createacct-another-submit' => 'Создать ещё одну учётную запись',
 'createacct-benefit-heading' => '{{SITENAME}} создают такие же люди, как вы.',
-'createacct-benefit-body1' => '{{PLURAL:$1|пÑ\80авка|пÑ\80авки|пÑ\80авок}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|статья|статьи|статей}}',
-'createacct-benefit-body3' => '{{PLURAL:$1|Ñ\83Ñ\87аÑ\81Ñ\82ник|Ñ\83Ñ\87аÑ\81Ñ\82ника|Ñ\83Ñ\87аÑ\81Ñ\82ников}} за последнее время',
+'createacct-benefit-body1' => '{{PLURAL:$1|пÑ\80авка|пÑ\80авок|пÑ\80авки}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|статья|статей|статьи}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|Ñ\83Ñ\87аÑ\81Ñ\82ник|Ñ\83Ñ\87аÑ\81Ñ\82ников|Ñ\83Ñ\87аÑ\81Ñ\82ника}} за последнее время',
 'badretype' => 'Введённые вами пароли не совпадают.',
 'userexists' => 'Введённое имя участника уже используется.
 Пожалуйста, выберите другое имя.',
@@ -938,7 +938,7 @@ $2',
 'login-userblocked' => 'Этот участник заблокирован. Вход в систему не разрешён.',
 'wrongpassword' => 'Введённый вами пароль неверен. Попробуйте ещё раз.',
 'wrongpasswordempty' => 'Пожалуйста, введите непустой пароль.',
-'passwordtooshort' => 'Пароль должен состоять не менее чем из $1 {{PLURAL:$1|символа|символов|символов}}.',
+'passwordtooshort' => 'Пароль должен состоять не менее чем из $1 {{PLURAL:$1|символа|символов}}.',
 'password-name-match' => 'Введённый пароль должен отличаться от имени участника.',
 'password-login-forbidden' => 'Использование этого имени участника и пароля запрещено.',
 'mailmypassword' => 'Сбросить пароль',
@@ -947,7 +947,7 @@ $2',
 новый пароль для {{grammar:genitive|{{SITENAME}}}} ($4). Для участника $2
 создан временный пароль: $3. Если это был ваш запрос,
 вам следует представиться системе и выбрать новый пароль.
-Ваш временный пароль будет действовать в течение $5 {{PLURAL:$5|дня|дней|дней}}.
+Ваш временный пароль будет действовать в течение $5 {{PLURAL:$5|дня|дней}}.
 
 Если вы не посылали запроса на смену пароля, или если вы уже вспомнили свой пароль,
 и не желаете его менять, вы можете проигнорировать данное сообщение и
@@ -960,10 +960,10 @@ $2',
 'blocked-mailpassword' => 'Редактирование с вашего IP-адреса запрещено, поэтому заблокирована и функция восстановления пароля.',
 'eauthentsent' => 'На указанный адрес электронной почты отправлено письмо. 
 Чтоб получать письма в дальнейшем, следуйте изложенным там инструкциям для подтверждения того, что этот адрес действительно принадлежит вам.',
-'throttled-mailpassword' => 'Функция напоминания пароля уже использовалась в течение {{PLURAL:$1|последнего часа|последних $1 часов}}.
-Для предотвращения злоупотреблений, разрешено запрашивать не более одного напоминания за $1 {{PLURAL:$1|час|часа|часов}}.',
+'throttled-mailpassword' => 'Функция напоминания пароля уже использовалась в течение {{PLURAL:$1|1=последнего часа|последних $1 часов}}.
+Для предотвращения злоупотреблений, разрешено запрашивать не более одного напоминания {{PLURAL:$1|за $1 час|за $1 часов|за $1 часа|1=в час}}.',
 'mailerror' => 'Ошибка при отправке почты: $1',
-'acct_creation_throttle_hit' => 'За сутки с вашего IP-адреса {{PLURAL:$1|была создана $1 учётная запись участника|было создано $1 учётных записей участников|было создано $1 учётных записей участников}}, что является пределом для данного отрезка времени.
+'acct_creation_throttle_hit' => 'За сутки с вашего IP-адреса {{PLURAL:$1|была создана $1 учётная запись участника|было создано $1 учётных записей участников|1=уже была создана учётная запись участника}}, что является пределом для данного отрезка времени.
 Таким образом, пользователи, обладающие данным IP-адресом, в данный момент больше не могут создавать новых учётных записей.',
 'emailauthenticated' => 'Ваш адрес электронной почты подтверждён $2 в $3.',
 'emailnotauthenticated' => 'Ваш адрес электронной почты ещё не был подтверждён.
@@ -1018,7 +1018,7 @@ $2',
 # Special:PasswordReset
 'passwordreset' => 'Сброс пароля',
 'passwordreset-text-one' => 'Заполните эту форму, чтобы сбросить свой пароль.',
-'passwordreset-text-many' => '{{PLURAL:$1|Ð\97аполниÑ\82е Ð¾Ð´Ð½Ð¾ Ð¸Ð· Ð¿Ð¾Ð»ÐµÐ¹ Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\83Ñ\87ениÑ\8f Ð²Ñ\80еменного Ð¿Ð°Ñ\80олÑ\8f Ð½Ð° e-mail.}}',
+'passwordreset-text-many' => '{{PLURAL:$1|Ð\97аполниÑ\82е Ð¾Ð´Ð½Ð¾ Ð¸Ð· Ð¿Ð¾Ð»ÐµÐ¹ Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\83Ñ\87ениÑ\8f Ð²Ñ\80еменного Ð¿Ð°Ñ\80олÑ\8f Ð¿Ð¾ Ñ\8dлекÑ\82Ñ\80онной Ð¿Ð¾Ñ\87Ñ\82е.}}',
 'passwordreset-legend' => 'Сбросить пароль',
 'passwordreset-disabled' => 'Сбросы пароля отключены на этой вики.',
 'passwordreset-emaildisabled' => 'Функции электронной почты отключены в этой вики.',
@@ -1029,20 +1029,20 @@ $2',
 'passwordreset-email' => 'Адрес электронной почты:',
 'passwordreset-emailtitle' => 'Сведения об учётной записи {{SITENAME}}',
 'passwordreset-emailtext-ip' => 'Кто-то (возможно, вы, с IP-адреса $1) запросил сброс пароля к вашей учётной записи в проекте {{SITENAME}} ($4).
-С этим адресом электронной почты {{PLURAL:$3|связана следующая учётная запись|связаны следующие учётные записи}}:
+С этим адресом электронной почты {{PLURAL:$3|1=связана следующая учётная запись|связаны следующие учётные записи}}:
 
 $2
 
-{{PLURAL:$3|Этот временный пароль будет|Эти временные пароли будут}} действовать {{PLURAL:$5|$5 день|$5 дня|$5 дней}}.
+{{PLURAL:$3|1=Этот временный пароль будет|Эти временные пароли будут}} действовать {{PLURAL:$5|$5 день|$5 дней|$5 дня|1=один день}}.
 Вы должны представиться системе и выбрать новый пароль. 
 Если вы не делали этого запроса, или вспомнили свой исходный пароль и не желаете его менять, 
 то можете проигнорировать это сообщение и продолжить использовать свой старый пароль.',
 'passwordreset-emailtext-user' => 'Участник $1 из проекта {{SITENAME}} запросил сброс пароля для вашей учётной записи в проекте {{SITENAME}} ($4).
-С этим адресом электронной почты {{PLURAL:$3|связана следующая учётная запись|связаны следующие учётные записи}}:
+С этим адресом электронной почты {{PLURAL:$3|1=связана следующая учётная запись|связаны следующие учётные записи}}:
 
 $2
 
-{{PLURAL:$3|Этот временный пароль будет|Эти временные пароли будут}} действовать {{PLURAL:$5|$5 день|$5 дня|$5 дней}}.
+{{PLURAL:$3|1=Этот временный пароль будет|Эти временные пароли будут}} действовать {{PLURAL:$5|$5 день|$5 дней|$5 дня|1=один день}}.
 Вы должны представиться системе и выбрать новый пароль.
 Если вы не делали этого запроса или вспомнили свой исходный пароль и не желаете его менять, 
 то можете проигнорировать это сообщение и продолжить использовать свой старый пароль.',
@@ -1238,7 +1238,7 @@ $2
 Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.<br />
 Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. $1).
 '''НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!'''",
-'longpageerror' => "'''ОШИБКА: записываемый вами текст имеет размер {{PLURAL:$1|$1 килобайт|$1 килобайта|$1 килобайт}}, что больше, чем установленный предел в {{PLURAL:$2|$2 килобайт|$2 килобайта|$2 килобайт}}. Страница не может быть сохранена.'''",
+'longpageerror' => "'''ОШИБКА: записываемый вами текст имеет размер $1 {{PLURAL:$1|килобайт|килобайт|килобайта}}, что больше, чем установленный предел в $2 {{PLURAL:$2|килобайт|килобайт|килобайта}}. Страница не может быть сохранена.'''",
 'readonlywarning' => "'''Предупреждение. База данных заблокирована в связи с процедурами обслуживания, поэтому вы не можете записать ваши изменения прямо сейчас.'''
 Возможно, вам следует скопировать этот текст в текстовый файл, чтобы сохранить его на будущее.
 
@@ -1247,15 +1247,15 @@ $2
 Ниже для справки приведена последняя запись журнала:",
 'semiprotectedpagewarning' => "'''Замечание.''' Эта страница была защищена; редактировать её могут только зарегистрированные участники.
 Ниже для справки приведена последняя запись журнала:",
-'cascadeprotectedwarning' => "'''Предупреждение:''' Данную страницу могут редактировать только участники группы «Администраторы», поскольку она включена {{PLURAL:$1|в следующую страницу, для которой|в следующие страницы, для которых}} включена каскадная защита:",
+'cascadeprotectedwarning' => "'''Предупреждение:''' Данную страницу могут редактировать только участники с административными правами, поскольку она включена {{PLURAL:$1|1=в следующую страницу, для которой|в следующие страницы, для которых}} включена каскадная защита:",
 'titleprotectedwarning' => "'''Предупреждение.  Это название защищено. Создать эту страницу могут только участники с [[Special:ListGroupRights|соответствующими правами]].'''
 Ниже для справки приведена последняя запись журнала:",
-'templatesused' => '{{PLURAL:$1|Шаблон, использованный|Шаблоны, использованные}} на этой странице:',
-'templatesusedpreview' => '{{PLURAL:$1|Шаблон, используемый|Шаблоны, используемые}} в предпросматриваемой странице:',
-'templatesusedsection' => '{{PLURAL:$1|Шаблон, используемый|Шаблоны, использованные}} в этом разделе:',
+'templatesused' => '{{PLURAL:$1|1=Шаблон, используемый|Шаблоны, используемые}} на этой странице:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Шаблон, используемый|Шаблоны, используемые}} в режиме предпросмотра:',
+'templatesusedsection' => '{{PLURAL:$1|1=Шаблон, используемый|Шаблоны, используемые}} в этом разделе:',
 'template-protected' => '(защищено)',
 'template-semiprotected' => '(частично защищено)',
-'hiddencategories' => 'Эта страница относится к $1 {{PLURAL:$1|скрытой категории|скрытым категориям}}:',
+'hiddencategories' => 'Эта страница относится к {{PLURAL:$1|$1 скрытой категории|$1 скрытым категориям|1=одной скрытой категории}}:',
 'edittools' => '<!-- Расположенный здесь текст будет показываться под формой редактирования и формой загрузки. -->',
 'nocreatetext' => 'На этом сайте ограничена возможность создания новых страниц.
 Вы можете вернуться назад и отредактировать существующую страницу, [[Special:UserLogin|представиться системе или создать новую учётную запись]].',
@@ -1263,8 +1263,8 @@ $2
 'sectioneditnotsupported-title' => 'Редактирование разделов не поддерживается',
 'sectioneditnotsupported-text' => 'На этой странице не поддерживается редактирование разделов',
 'permissionserrors' => 'Ошибка прав доступа',
-'permissionserrorstext' => 'У вас нет прав на выполнение этой операции по {{PLURAL:$1|следующей причине|следующим причинам}}:',
-'permissionserrorstext-withaction' => 'У вас нет прав на $2 по {{PLURAL:$1|следующей причине|следующим причинам}}:',
+'permissionserrorstext' => 'У вас нет прав на выполнение этой операции по {{PLURAL:$1|1=следующей причине|следующим причинам}}:',
+'permissionserrorstext-withaction' => 'У вас нет прав на $2 по {{PLURAL:$1|1=следующей причине|следующим причинам}}:',
 'recreate-moveddeleted-warn' => "'''Внимание. Вы пытаетесь воссоздать страницу, которая ранее удалялась.'''
 
 Проверьте, действительно ли вам нужно воссоздавать эту страницу.
@@ -1297,7 +1297,7 @@ $2
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Внимание!''' Эта страница содержит слишком много вызовов ресурсоёмких функций.
 
-Должно быть не более $2 {{PLURAL:$2|вызова|вызовов}}, в то время как сейчас здесь $1 {{PLURAL:$1|вызов|вызова|вызовов}}.",
+Должно быть не более {{PLURAL:$2|$2 вызова|$2 вызовов|1=одного вызова}}, в то время как сейчас здесь $1 {{PLURAL:$1|вызов|вызовов|вызова}}.",
 'expensive-parserfunction-category' => 'Страницы со слишком большим количеством вызовов ресурсоёмких функций',
 'post-expand-template-inclusion-warning' => 'Предупреждение: суммарный размер включаемых шаблонов слишком велик.
 Некоторые шаблоны не будут включены.',
@@ -1328,7 +1328,9 @@ $2
 'cantcreateaccount-text' => "Создание учётных записей с этого IP-адреса ('''$1''') было заблокировано {{GENDER:$3|участником|участницей|}} [[User:$3|$3]].
 
 $3 {{GENDER:$3|указал|указала}} следующую причину: ''$2''.",
-'cantcreateaccount-range-text' => 'Было запрещено создание учётных записей из диапазона IP-адресов $1, включающего ваш IP-адрес $4. Запрет наложил [[User:$3|$3]].',
+'cantcreateaccount-range-text' => "{{GENDER:$3|Участник|Участница}} [[User:$3|$3]] {{GENDER:$3|установил|установила}} запрет на создание учётных записей из диапазона IP-адресов '''$1''', включающего ваш IP-адрес ('''$4'''). 
+
+Была указана следующая причина: $2.",
 
 # History pages
 'viewpagelogs' => 'Показать журналы для этой страницы',
@@ -1351,7 +1353,7 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'history-show-deleted' => 'Только удалённые',
 'histfirst' => 'старейшие',
 'histlast' => 'новейшие',
-'historysize' => '($1 {{PLURAL:$1|байт|байта|байт}})',
+'historysize' => '($1 {{PLURAL:$1|байт|байт|байта}})',
 'historyempty' => '(пусто)',
 
 # Revision feed
@@ -1400,8 +1402,8 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'revdelete-no-file' => 'Указанный файл не существует.',
 'revdelete-show-file-confirm' => 'Вы уверены, что вы хотите просмотреть удалённую версию файла «<nowiki>$1</nowiki>» от $2, $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбранная версия|Выбранные версии}} страницы [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбранная запись|Выбранные записи}} журнала:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|1=Выбранная версия|Выбранные версии}} страницы [[:$1]]:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:'''",
 'revdelete-text' => "'''Удалённые версии страниц и события будут показываться в истории страницы и журналах, но часть их содержания будет недоступна обычным посетителям.'''
 Администраторы проекта {{SITENAME}} будут иметь доступ к скрытому содержанию и смогут восстановить его через этот же интерфейс, за исключением случаев, когда установлено дополнительное ограничение.",
 'revdelete-confirm' => 'Пожалуйста, подтвердите, что вы действительно желаете совершить это действие, осознаёте последствия, делаете это в соответствии с [[{{MediaWiki:Policy-url}}|правилами]].',
@@ -1422,7 +1424,7 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'revdelete-suppress' => 'Скрывать данные также и от администраторов',
 'revdelete-unsuppress' => 'Снять ограничения с восстановленных версий',
 'revdelete-log' => 'Причина:',
-'revdelete-submit' => 'Применить к {{PLURAL:$1|выбранной версии|выбранным версиям}}',
+'revdelete-submit' => 'Применить к {{PLURAL:$1|1=выбранной версии|выбранным версиям}}',
 'revdelete-success' => "'''Видимость версии успешно изменена.'''",
 'revdelete-failure' => "'''Видимость версии не может быть изменена:'''
 $1",
@@ -1470,7 +1472,7 @@ $1",
 'mergehistory-go' => 'Показать объединяемые правки',
 'mergehistory-submit' => 'Объединить правки',
 'mergehistory-empty' => 'Не найдены правки для объединения.',
-'mergehistory-success' => '$3 {{PLURAL:$3|пÑ\80авка|пÑ\80авки|пÑ\80авок}} Ð¸Ð· [[:$1]] Ñ\83Ñ\81пеÑ\88но {{PLURAL:$3|пеÑ\80енеÑ\81ена|пеÑ\80енеÑ\81енÑ\8b|перенесены}} в [[:$2]].',
+'mergehistory-success' => '$3 {{PLURAL:$3|пÑ\80авка|пÑ\80авок|пÑ\80авки}} Ð¸Ð· [[:$1]] Ñ\83Ñ\81пеÑ\88но {{PLURAL:$3|пеÑ\80енеÑ\81ена|перенесены}} в [[:$2]].',
 'mergehistory-fail' => 'Не удалось произвести объединение историй страниц, пожалуйста, проверьте параметры страницы и времени.',
 'mergehistory-no-source' => 'Исходная страница «$1» не существует.',
 'mergehistory-no-destination' => 'Целевая страница «$1» не существует.',
@@ -1497,9 +1499,9 @@ $1",
 'showhideselectedversions' => 'Показать/скрыть выбранные версии',
 'editundo' => 'отменить',
 'diff-empty' => '(нет различий)',
-'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия|не показаны $1 промежуточные версии|не показаны $1 промежуточных версий}} {{PLURAL:$2|$2 участника|$2 участников}})',
-'diff-multi-manyusers' => '(не {{PLURAL:$1|показана $1 промежуточная версия|показаны $1 промежуточные версии|показаны $1 промежуточных версий}}, сделанные более чем $2 {{PLURAL:$2|участником|участниками}})',
-'difference-missing-revision' => '{{PLURAL:$2|$2 Ð²ÐµÑ\80Ñ\81иÑ\8f|$2 Ð²ÐµÑ\80Ñ\81ии|$2 Ð²ÐµÑ\80Ñ\81ий}} Ð´Ð»Ñ\8f Ñ\8dÑ\82ого Ñ\81Ñ\80авнениÑ\8f ($1) {{PLURAL:$2|не обнаружена|не обнаружены}}.
+'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия, сделанная|не показаны $1 промежуточных версий, сделанных|не показаны $1 промежуточные версии, сделанные|1=не показана промежуточная версия, сделанная}} {{PLURAL:$2|$2 участником|$2 участниками|1=одним участником}})',
+'diff-multi-manyusers' => '({{PLURAL:$1|не показана $1 промежуточная версия, сделанная|не показаны $1 промежуточных версий, сделанных|не показаны $1 промежуточные версии, сделанные}} более чем {{PLURAL:$2|$2 участником|$2 участниками}})',
+'difference-missing-revision' => '{{PLURAL:$2|$2 Ð²ÐµÑ\80Ñ\81иÑ\8f|$2 Ð²ÐµÑ\80Ñ\81ий|$2 Ð²ÐµÑ\80Ñ\81ии}} Ð´Ð»Ñ\8f Ñ\8dÑ\82ого Ñ\81Ñ\80авнениÑ\8f ($1) {{PLURAL:$2|1=не обнаружена|не обнаружены}}.
 
 Это обычно бывает, если перейти по устаревшей ссылке сравнения версий для страницы, которая была удалена.
 Подробности могут быть в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале удалений].',
@@ -1511,11 +1513,11 @@ $1",
 'titlematches' => 'Совпадения в названиях страниц',
 'textmatches' => 'Совпадения в текстах страниц',
 'notextmatches' => 'Нет совпадений в текстах страниц',
-'prevn' => '{{PLURAL:$1|предыдущая|предыдущие}} $1',
+'prevn' => '{{PLURAL:$1|1=предыдущая|предыдущие}} $1',
 'nextn' => '{{PLURAL:$1|следующая|следующие|следующие}} $1',
-'prevn-title' => '{{PLURAL:$1|Ð\9fÑ\80едÑ\8bдÑ\83Ñ\89аÑ\8f $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c\9fÑ\80едÑ\8bдÑ\83Ñ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81и|Ð\9fÑ\80едÑ\8bдÑ\83Ñ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81ей}}',
-'nextn-title' => '{{PLURAL:$1|СледÑ\83Ñ\8eÑ\89аÑ\8f $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c|СледÑ\83Ñ\8eÑ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81и|СледÑ\83Ñ\8eÑ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81ей}}',
-'shown-title' => 'Ð\9fоказÑ\8bваÑ\82Ñ\8c $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81и|запиÑ\81ей}} на странице',
+'prevn-title' => '{{PLURAL:$1|Ð\9fÑ\80едÑ\8bдÑ\83Ñ\89аÑ\8f $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c\9fÑ\80едÑ\8bдÑ\83Ñ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81ей|Ð\9fÑ\80едÑ\8bдÑ\83Ñ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81и}}',
+'nextn-title' => '{{PLURAL:$1|СледÑ\83Ñ\8eÑ\89аÑ\8f $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c|СледÑ\83Ñ\8eÑ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81ей|СледÑ\83Ñ\8eÑ\89ие $1 Ð·Ð°Ð¿Ð¸Ñ\81и}}',
+'shown-title' => 'Ð\9fоказÑ\8bваÑ\82Ñ\8c $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81ей|запиÑ\81и}} на странице',
 'viewprevnext' => 'Просмотреть ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''В этой вики есть страница «[[:$1]]»'''",
 'searchmenu-new' => "'''Создать страницу «[[:$1]]» в этом вики-проекте!'''",
@@ -1529,8 +1531,8 @@ $1",
 'searchprofile-images-tooltip' => 'Поиск файлов',
 'searchprofile-everything-tooltip' => 'Поиск на всех страницах (включая страницы обсуждений)',
 'searchprofile-advanced-tooltip' => 'Искать в заданных пространствах имён',
-'search-result-size' => '$1 ({{PLURAL:$2|$2 слово|$2 слова|$2 слов}})',
-'search-result-category-size' => '$1 {{PLURAL:$1|вхождение|вхождения|вхождений}} ($2 {{PLURAL:$2|подкатегория|подкатегории|подкатегорий}}, $3 {{PLURAL:$3|файл|файла|файлов}}).',
+'search-result-size' => '$1 ({{PLURAL:$2|$2 слово|$2 слов|$2 слова}})',
+'search-result-category-size' => '$1 {{PLURAL:$1|вхождение|вхождений|вхождения}} ($2 {{PLURAL:$2|подкатегория|подкатегорий|подкатегории}}, $3 {{PLURAL:$3|файл|файлов|файла}}).',
 'search-result-score' => 'Релевантность: $1%.',
 'search-redirect' => '(перенаправление с $1)',
 'search-section' => '(раздел «$1»)',
@@ -1542,9 +1544,9 @@ $1",
 'searcheverything-enable' => 'Поиск по всем пространствам имён',
 'searchrelated' => 'связанный',
 'searchall' => 'все',
-'showingresults' => "Ниже показаны до '''$1''' {{PLURAL:$1|результата|результатов}}, начиная с № '''$2'''.",
-'showingresultsnum' => "Ниже {{PLURAL:$3|показан|показаны}} '''$3''' {{PLURAL:$3|результат|результата|результатов}}, начиная с № '''$2'''.",
-'showingresultsheader' => "{{PLURAL:$5|Результат '''$1''' из '''$3'''|Результаты '''$1—$2''' из '''$3'''}} для «'''$4'''»",
+'showingresults' => "Ниже показаны до '''$1''' {{PLURAL:$1|1=результата|результатов}}, начиная с № '''$2'''.",
+'showingresultsnum' => "Ниже {{PLURAL:$3|1=показан|показаны}} '''$3''' {{PLURAL:$3|результат|результатов|результата}}, начиная с № '''$2'''.",
+'showingresultsheader' => "{{PLURAL:$5|1=Результат '''$1''' из '''$3'''|Результаты '''$1—$2''' из '''$3'''}} для «'''$4'''»",
 'search-nonefound' => 'Соответствий запросу не найдено.',
 'powersearch-legend' => 'Расширенный поиск',
 'powersearch-ns' => 'Поиск в пространствах имён:',
@@ -1572,7 +1574,7 @@ $1",
 'prefs-rc' => 'Свежие правки',
 'prefs-watchlist' => 'Список наблюдения',
 'prefs-watchlist-days' => 'Количество дней:',
-'prefs-watchlist-days-max' => 'Не более $1 {{PLURAL:$1|дня|дней}}',
+'prefs-watchlist-days-max' => 'Не более $1 {{PLURAL:$1|1=дня|дней}}',
 'prefs-watchlist-edits' => 'Максимальное количество правок, отображаемых в расширенном списке наблюдения:',
 'prefs-watchlist-edits-max' => 'Наибольшее значение: 1000',
 'prefs-watchlist-token' => 'Токен списка наблюдения:',
@@ -1629,7 +1631,7 @@ $1",
 'youremail' => 'Электронная почта:',
 'username' => '{{GENDER:$1|Имя участника|Имя участницы}}:',
 'uid' => 'Код {{GENDER:$1|участника|участницы}}:',
-'prefs-memberingroups' => '{{GENDER:$2|Член|Член}} {{PLURAL:$1|группы|групп}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Член|Член}} {{PLURAL:$1|1=группы|групп}}:',
 'prefs-registration' => 'Время регистрации:',
 'yourrealname' => 'Настоящее имя:',
 'yourlanguage' => 'Язык интерфейса:',
@@ -1845,7 +1847,7 @@ $1",
 'action-editmyprivateinfo' => 'редактирование вашей частной информации',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|изменение|изменения|изменений}}',
+'nchanges' => '$1 {{PLURAL:$1|изменение|изменений|изменения}}',
 'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|с последнего посещения}}',
 'enhancedrc-history' => 'история',
 'recentchanges' => 'Свежие правки',
@@ -1856,7 +1858,7 @@ $1",
 'recentchanges-label-newpage' => 'Этой правкой была создана новая страница.',
 'recentchanges-label-minor' => 'Это незначительное изменение',
 'recentchanges-label-bot' => 'Эта правка сделана ботом',
-'recentchanges-label-unpatrolled' => 'Эта правку ещё никем не патрулировалась',
+'recentchanges-label-unpatrolled' => 'Эта правка ещё никем не патрулировалась',
 'recentchanges-label-plusminus' => 'Размер страницы изменился на данное количество байт',
 'recentchanges-legend-heading' => "'''Легенда:'''",
 'recentchanges-legend-newpage' => '(см. также [[Special:NewPages|список новых страниц]])',
@@ -1878,10 +1880,10 @@ $1",
 'newpageletter' => 'Н',
 'boteditletter' => 'б',
 'unpatrolledletter' => '!',
-'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|наблÑ\8eдаÑ\8eÑ\89ий Ñ\83Ñ\87аÑ\81Ñ\82ник|наблÑ\8eдаÑ\8eÑ\89иÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ника|наблÑ\8eдаÑ\8eÑ\89иÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ников}}]',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|наблÑ\8eдаÑ\8eÑ\89ий Ñ\83Ñ\87аÑ\81Ñ\82ник|наблÑ\8eдаÑ\8eÑ\89иÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ников|наблÑ\8eдаÑ\8eÑ\89иÑ\85 Ñ\83Ñ\87аÑ\81Ñ\82ника}}]',
 'rc_categories' => 'Только из категорий (разделитель «|»)',
 'rc_categories_any' => 'Любой',
-'rc-change-size-new' => 'Размер после изменения: $1 {{PLURAL:$1|байт|байта|байт}}',
+'rc-change-size-new' => 'Размер после изменения: $1 {{PLURAL:$1|байт|байт|байта}}',
 'newsectionsummary' => '/* $1 */ новая тема',
 'rc-enhanced-expand' => 'Показать подробности',
 'rc-enhanced-hide' => 'Скрыть подробности',
@@ -1941,9 +1943,9 @@ $1",
 'filetype-badmime' => 'Файлы, имеющие MIME-тип «$1», не могут быть загружены.',
 'filetype-bad-ie-mime' => 'Невозможно загрузить этот файл, так как Internet Explorer будет определять его как «$1», то есть неразрешённым и потенциально опасным типом файла.',
 'filetype-unwanted-type' => "'''\".\$1\"''' — нежелательный тип файла.
-{{PLURAL:\$3|Предпочтительным типом файла является|Предпочтительные типы файлов:}} \$2.",
-'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|запрещённый тип файла|запрещённые типы файлов}}.
-{{PLURAL:$3|Разрешённым типом файла является|Разрешённые типы файлов:}} $2.",
+{{PLURAL:\$3|1=Предпочтительным типом файла является|Предпочтительные типы файлов:}} \$2.",
+'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|1=запрещённый тип файла|запрещённые типы файлов}}.
+{{PLURAL:$3|1=Разрешённым типом файла является|Разрешённые типы файлов:}} $2.",
 'filetype-missing' => 'Отсутствует расширение у файла (например, «.jpg»).',
 'empty-file' => 'Отправленный вами файл пуст.',
 'file-too-large' => 'Отправленный вами файл слишком велик.',
@@ -1980,7 +1982,7 @@ $1",
 Если всё равно хотите загрузить данный файл, пожалуйста, вернитесь назад и загрузите его под другим именем. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'Файл с этим именем уже существует в общем хранилище файлов.
 Если вы всё-таки хотите загрузить этот файл, пожалуйста, вернитесь назад и измените имя файла. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Этот файл является дубликатом {{PLURAL:$1|следующего файла|следующих файлов}}:',
+'file-exists-duplicate' => 'Этот файл является дубликатом {{PLURAL:$1|1=следующего файла|следующих файлов}}:',
 'file-deleted-duplicate' => 'Подобный файл ([[:$1]]) уже удалялся. Пожалуйста, ознакомьтесь с историей удаления файла, прежде чем загружать его снова.',
 'uploadwarning' => 'Предупреждение',
 'uploadwarning-text' => 'Пожалуйста, измените представленное ниже описание файла и попробуйте ещё раз.',
@@ -2059,13 +2061,13 @@ $1',
 'backend-fail-closetemp' => 'Не удаётся закрыть временный файл.',
 'backend-fail-read' => 'Не удалось прочитать файл $1.',
 'backend-fail-create' => 'Не удалось записать файл $1.',
-'backend-fail-maxsize' => 'Не удалось записать файл $1, так как его размер превышает {{PLURAL:$2|$2 байт|$2 байта|$2 байт}}.',
+'backend-fail-maxsize' => 'Не удалось записать файл $1, так как его размер превышает {{PLURAL:$2|$2 байт|$2 байт|$2 байта}}.',
 'backend-fail-readonly' => 'Хранилище «$1» сейчас находится в режиме «только чтение». Причина: «$2»',
 'backend-fail-synced' => 'Файл «$1» находится в несогласованном состоянии во внутреннем хранилище',
 'backend-fail-connect' => 'Не удалось подключиться к хранилищу «$1».',
 'backend-fail-internal' => 'Произошла неизвестная ошибка в хранилище «$1».',
 'backend-fail-contenttype' => 'Не удалось определить тип содержимого файла, чтобы сохранить его в «$1».',
-'backend-fail-batchsize' => 'Хранилище получило блок из $1 {{PLURAL:$1|файловой операции|файловых операций|файловых операций}}, ограничение составляет $2 {{PLURAL:$1|операцию|операции|файловых операций}}.',
+'backend-fail-batchsize' => 'Хранилище получило блок из $1 {{PLURAL:$1|файловой операции|файловых операций}}, ограничение составляет $2 {{PLURAL:$1|файловую операцию|файловых операций|файловых операции}}.',
 'backend-fail-usable' => 'Не удалось прочитать или записать файл «$1» из-за нехватки прав или отсутствия нужных папок.',
 
 # File journal errors
@@ -2178,14 +2180,14 @@ $1',
 'filehist-comment' => 'Примечание',
 'filehist-missing' => 'Файл отсутствует',
 'imagelinks' => 'Использование файла',
-'linkstoimage' => '{{PLURAL:$1|Следующая $1 страница ссылается|Следующие $1 страницы ссылаются|Следующие $1 страниц ссылаются}} на данный файл:',
-'linkstoimage-more' => 'Более $1 {{PLURAL:$1|страницы|страниц|страниц}} ссылаются на этот файл.
\92 Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ\81пиÑ\81ке {{PLURAL:$1|пÑ\80едÑ\81Ñ\82авлена Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлка|пÑ\80едÑ\81Ñ\82авленÑ\8b Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлки|пÑ\80едÑ\81Ñ\82авленÑ\8b Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлок}} на этот файл.
+'linkstoimage' => '{{PLURAL:$1|Следующая $1 страница ссылается|Следующие $1 страниц ссылаются|Следующие $1 страницы ссылаются}} на данный файл:',
+'linkstoimage-more' => 'Более $1 {{PLURAL:$1|страницы|страниц}} ссылаются на этот файл.
\92 Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ\81пиÑ\81ке {{PLURAL:$1|пÑ\80едÑ\81Ñ\82авлена Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлка|пÑ\80едÑ\81Ñ\82авленÑ\8b Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлок|пÑ\80едÑ\81Ñ\82авленÑ\8b Ñ\82олÑ\8cко $1 Ñ\81Ñ\81Ñ\8bлки}} на этот файл.
 Доступен также [[Special:WhatLinksHere/$2|полный список]].',
 'nolinkstoimage' => 'Нет страниц, ссылающихся на данный файл.',
 'morelinkstoimage' => 'Просмотреть [[Special:WhatLinksHere/$1|остальные ссылки]] на этот файл.',
 'linkstoimage-redirect' => '$1 (файловое перенаправление) $2',
-'duplicatesoffile' => '{{PLURAL:$1|Следующий $1 файл является дубликатом|Следующие $1 файла являются дубликатами|Следующие $1 файлов являются дубликатами}} этого файла ([[Special:FileDuplicateSearch/$2|подробности]]):',
+'duplicatesoffile' => '{{PLURAL:$1|Следующий файл является дубликатом|Следующие $1 файлов являются дубликатами|Следующие $1 файла являются дубликатами}} этого файла ([[Special:FileDuplicateSearch/$2|подробности]]):',
 'sharedupload' => 'Этот файл из $1 и может использоваться в других проектах.',
 'sharedupload-desc-there' => 'Этот файл из $1 и может использоваться в других проектах.
 Дополнительную информацию можно найти на [$2 странице описания файла].',
@@ -2253,7 +2255,7 @@ $1',
 
 # Random page
 'randompage' => 'Случайная статья',
-'randompage-nopages' => 'В {{PLURAL:$2|следующем пространстве имён отсутствуют страницы|следующих пространствах имён нет страниц}}: $1.',
+'randompage-nopages' => 'В {{PLURAL:$2|1=следующем пространстве имён отсутствуют страницы|следующих пространствах имён нет страниц}}: $1.',
 
 # Random page in category
 'randomincategory' => 'Случайная страница в категории',
@@ -2284,7 +2286,7 @@ $1',
 'statistics-views-peredit' => 'Просмотров на правку',
 'statistics-users' => 'Зарегистрированные [[Special:ListUsers|участники]]',
 'statistics-users-active' => 'Активные участники',
-'statistics-users-active-desc' => 'Участники, совершившие какое-либо действие за {{PLURAL:$1|последний $1 день|последние $1 дня|последние $1 дней}}',
+'statistics-users-active-desc' => 'Участники, совершившие какое-либо действие за {{PLURAL:$1|последний $1 день|последние $1 дней|последние $1 дня}}',
 'statistics-mostpopular' => 'Наиболее часто просматриваемые страницы',
 
 'pageswithprop' => 'Страницы с переопределёнными свойствами',
@@ -2316,16 +2318,16 @@ $1',
 'fewestrevisions' => 'Страницы с наименьшим количеством версий',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|байÑ\82|байÑ\82а|байÑ\82}}',
-'ncategories' => '$1 {{PLURAL:$1|каÑ\82егоÑ\80иÑ\8f|каÑ\82егоÑ\80ии|каÑ\82егоÑ\80ий}}',
-'ninterwikis' => '$1 {{PLURAL:$1|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлка|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлки|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлок}}',
-'nlinks' => '$1 {{PLURAL:$1|Ñ\81Ñ\81Ñ\8bлка|Ñ\81Ñ\81Ñ\8bлки|Ñ\81Ñ\81Ñ\8bлок}}',
-'nmembers' => '$1 {{PLURAL:$1|обÑ\8aекÑ\82|обÑ\8aекÑ\82а|обÑ\8aекÑ\82ов}}',
-'nmemberschanged' => '$1 → $2 объект{{PLURAL:$2||а|ов}}',
-'nrevisions' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}}',
-'nviews' => '$1 {{PLURAL:$1|пÑ\80оÑ\81моÑ\82Ñ\80|пÑ\80оÑ\81моÑ\82Ñ\80а|пÑ\80оÑ\81моÑ\82Ñ\80ов}}',
-'nimagelinks' => 'Используется на $1 {{PLURAL:$1|странице|страницах|страницах}}',
-'ntransclusions' => 'используется на $1 {{PLURAL:$1|странице|страницах|страницах}}',
+'nbytes' => '$1 {{PLURAL:$1|байÑ\82|байÑ\82ов|байÑ\82а}}',
+'ncategories' => '$1 {{PLURAL:$1|каÑ\82егоÑ\80иÑ\8f|каÑ\82егоÑ\80ий|каÑ\82егоÑ\80ии}}',
+'ninterwikis' => '$1 {{PLURAL:$1|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлка|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлок|инÑ\82еÑ\80вики-Ñ\81Ñ\81Ñ\8bлки}}',
+'nlinks' => '$1 {{PLURAL:$1|Ñ\81Ñ\81Ñ\8bлка|Ñ\81Ñ\81Ñ\8bлок|Ñ\81Ñ\81Ñ\8bлки}}',
+'nmembers' => '$1 {{PLURAL:$1|обÑ\8aекÑ\82|обÑ\8aекÑ\82ов|обÑ\8aекÑ\82а}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|объект|объектов|объекта}}',
+'nrevisions' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}}',
+'nviews' => '$1 {{PLURAL:$1|пÑ\80оÑ\81моÑ\82Ñ\80|пÑ\80оÑ\81моÑ\82Ñ\80ов|пÑ\80оÑ\81моÑ\82Ñ\80а}}',
+'nimagelinks' => 'Используется на $1 {{PLURAL:$1|странице|страницах}}',
+'ntransclusions' => 'используется на $1 {{PLURAL:$1|странице|страницах}}',
 'specialpage-empty' => 'Запрос не дал результатов.',
 'lonelypages' => 'Страницы-сироты',
 'lonelypagestext' => 'На следующие страницы нет ссылок с других страниц {{grammar:genitive|{{SITENAME}}}}, и они не включаются в другие страницы.',
@@ -2367,7 +2369,7 @@ $1',
 'listusers-editsonly' => 'Показать только тех участников, кто сделал хотя бы одну правку',
 'listusers-creationsort' => 'Упорядочить по дате создания',
 'listusers-desc' => 'Сортировать по убыванию',
-'usereditcount' => '$1 {{PLURAL:$1|пÑ\80авка|пÑ\80авки|пÑ\80авок}}',
+'usereditcount' => '$1 {{PLURAL:$1|пÑ\80авка|пÑ\80авок|пÑ\80авки}}',
 'usercreated' => '{{GENDER:$3|зарегистрировался|зарегистрировалась}} $1 в $2',
 'newpages' => 'Новые страницы',
 'newpages-username' => 'Участник:',
@@ -2381,8 +2383,8 @@ $1',
 'notargettext' => 'Вы не указали целевую страницу или участника для этого действия.',
 'nopagetitle' => 'Нет такой целевой страницы',
 'nopagetext' => 'Указанной целевой страницы не существует.',
-'pager-newer-n' => '$1 {{PLURAL:$1|более новая|более новые|более новых}}',
-'pager-older-n' => '$1 {{PLURAL:$1|более старая|более старые|более старых}}',
+'pager-newer-n' => '$1 более {{PLURAL:$1|новая|новых|новые}}',
+'pager-older-n' => '$1 более {{PLURAL:$1|старая|старых|старые}}',
 'suppress' => 'Сокрытие',
 'querypage-disabled' => 'Эта спецстраница отключена для повышения производительности.',
 
@@ -2427,7 +2429,7 @@ $1',
 
 # Special:Categories
 'categories' => 'Категории',
-'categoriespagetext' => '{{PLURAL:$1|Следующая категория содержит|Следующие категории содержат}} страницы или медиа-файлы.
+'categoriespagetext' => '{{PLURAL:$1|1=Следующая категория содержит|Следующие категории содержат}} страницы или медиа-файлы.
 Здесь не показаны [[Special:UnusedCategories|неиспользуемые категории]].
 См. также [[Special:WantedCategories|список требуемых категорий]].',
 'categoriesfrom' => 'Показать категории, начинающиеся с:',
@@ -2446,7 +2448,7 @@ $1',
 'linksearch-ok' => 'Найти',
 'linksearch-text' => 'Можно использовать подстановочные символы, например, <code>*.wikipedia.org</code>.
 Необходим по крайней мере домен верхнего уровня, например <code>*.org</code><br />
-Поддерживаемые {{PLURAL:$2|протокол|протоколы}}: <code>$1</code> (по умолчанию подставляется http://, если протокол явно не задан).',
+Поддерживаемые {{PLURAL:$2|1=протокол|протоколы}}: <code>$1</code> (по умолчанию подставляется http://, если протокол явно не задан).',
 'linksearch-line' => 'Ссылка на $1 из $2',
 'linksearch-error' => 'Подстановочные символы могут использоваться только в начале адресов.',
 
@@ -2458,8 +2460,8 @@ $1',
 
 # Special:ActiveUsers
 'activeusers' => 'Список активных участников',
-'activeusers-intro' => 'Это список участников, совершавших какие-либо действия за {{PLURAL:$1|последний $1 день|последние $1 дня|последние $1 дней}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|пÑ\80авка|пÑ\80авки|пÑ\80авок}} Ð·Ð° {{PLURAL:$3|$3 Ð¿Ð¾Ñ\81ледний Ð´ÐµÐ½Ñ\8c|поÑ\81ледние $3 Ð´Ð½Ñ\8f|поÑ\81ледние $3 Ð´Ð½ÐµÐ¹}}',
+'activeusers-intro' => 'Это список участников, совершавших какие-либо действия за {{PLURAL:$1|последний $1 день|последние $1 дней|последние $1 дня}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|пÑ\80авка|пÑ\80авок|пÑ\80авки}} Ð·Ð° {{PLURAL:$3|$3 Ð¿Ð¾Ñ\81ледний Ð´ÐµÐ½Ñ\8c|поÑ\81ледние $3 Ð´Ð½ÐµÐ¹|поÑ\81ледние $3 Ð´Ð½Ñ\8f}}',
 'activeusers-from' => 'Показать участников, начиная с:',
 'activeusers-hidebots' => 'Скрыть ботов',
 'activeusers-hidesysops' => 'Скрыть администраторов',
@@ -2478,12 +2480,12 @@ $1',
 'listgrouprights-members' => '(список участников)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 (<code>$2</code>)</span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 (<code>$2</code>)</span>',
-'listgrouprights-addgroup' => 'может добавлять в {{PLURAL:$2|группу|группы}}: $1',
-'listgrouprights-removegroup' => 'может исключать из {{PLURAL:$2|группы|групп}}: $1',
+'listgrouprights-addgroup' => 'может добавлять в {{PLURAL:$2|1=группу|группы}}: $1',
+'listgrouprights-removegroup' => 'может исключать из {{PLURAL:$2|1=группы|групп}}: $1',
 'listgrouprights-addgroup-all' => 'может добавлять во все группы',
 'listgrouprights-removegroup-all' => 'может исключать из всех групп',
-'listgrouprights-addgroup-self' => 'может добавить {{PLURAL:$2|группу|группы}} к своей учётной записи: $1',
-'listgrouprights-removegroup-self' => 'может удалить {{PLURAL:$2|группу|группы}} со своей учётной записи: $1',
+'listgrouprights-addgroup-self' => 'может добавить {{PLURAL:$2|1=группу|группы}} к своей учётной записи: $1',
+'listgrouprights-removegroup-self' => 'может удалить {{PLURAL:$2|1=группу|группы}} со своей учётной записи: $1',
 'listgrouprights-addgroup-self-all' => 'Может добавлять все группы к своей учётной записи',
 'listgrouprights-removegroup-self-all' => 'может удалять все группы со своей учётной записи',
 
@@ -2543,14 +2545,14 @@ $1',
 'unwatchthispage' => 'Прекратить наблюдение',
 'notanarticle' => 'Не статья',
 'notvisiblerev' => 'Версия была удалена',
-'watchlist-details' => 'В вашем списке наблюдения $1 {{PLURAL:$1|страница|страницы|страниц}}, не считая страниц обсуждения.',
+'watchlist-details' => 'В вашем списке наблюдения $1 {{PLURAL:$1|страница|страниц|страницы}}, не считая страниц обсуждения.',
 'wlheader-enotif' => 'Уведомления по эл. почте включены.',
 'wlheader-showupdated' => "Страницы, изменившиеся с вашего последнего их посещения, выделены '''жирным''' шрифтом.",
 'watchmethod-recent' => 'просмотр последних изменений для наблюдаемых страниц',
 'watchmethod-list' => 'просмотр наблюдаемых страниц для последних изменений',
-'watchlistcontains' => 'Ваш список наблюдения содержит $1 {{PLURAL:$1|страница|страницы|страниц}}.',
+'watchlistcontains' => 'Ваш список наблюдения содержит $1 {{PLURAL:$1|страница|страниц|страницы}}.',
 'iteminvalidname' => 'Проблема с элементом «$1», недопустимое название…',
-'wlnote' => "Ниже {{PLURAL:$1|показано последнее $1 изменение|показаны последние $1 изменения|показаны последние $1 изменений}} за {{PLURAL:$2|последний|последние|последние}} '''$2''' {{plural:$2|час|часа|часов}}, на момент времени $3 $4.",
+'wlnote' => "Ниже {{PLURAL:$1|показано последнее $1 изменение|показаны последние $1 изменений|показаны последние $1 изменения}} за {{PLURAL:$2|последний|последние|последние}} '''$2''' {{PLURAL:$2|час|часов|часа}}, на момент времени $3 $4.",
 'wlshowlast' => 'Показать за последние $1 часов $2 дней $3',
 'watchlist-options' => 'Настройки списка наблюдения',
 
@@ -2644,8 +2646,8 @@ $UNWATCHURL
 'rollback' => 'Откатить изменения',
 'rollback_short' => 'Откат',
 'rollbacklink' => 'откатить',
-'rollbacklinkcount' => 'оÑ\82каÑ\82иÑ\82Ñ\8c $1 {{PLURAL:$1|пÑ\80авкÑ\83|пÑ\80авки|пÑ\80авок}}',
-'rollbacklinkcount-morethan' => 'оÑ\82каÑ\82иÑ\82Ñ\8c Ð±Ð¾Ð»Ñ\8cÑ\88е, Ñ\87ем $1 {{PLURAL:$1|пÑ\80авкÑ\83|пÑ\80авки|пÑ\80авок}}',
+'rollbacklinkcount' => 'оÑ\82каÑ\82иÑ\82Ñ\8c $1 {{PLURAL:$1|пÑ\80авкÑ\83|пÑ\80авок|пÑ\80авки}}',
+'rollbacklinkcount-morethan' => 'оÑ\82каÑ\82иÑ\82Ñ\8c Ð±Ð¾Ð»Ñ\8cÑ\88е, Ñ\87ем $1 {{PLURAL:$1|пÑ\80авкÑ\83|пÑ\80авок|пÑ\80авки}}',
 'rollbackfailed' => 'Ошибка при совершении отката',
 'cantrollback' => 'Невозможно откатить изменения. Последний, кто вносил изменения, является единственным автором этой страницы.',
 'alreadyrolled' => 'Невозможно откатить последние изменения страницы «[[:$1]]», совершённые [[User:$2|$2]] ([[User talk:$2|обсуждение]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]),
@@ -2690,7 +2692,7 @@ $UNWATCHURL
 'protect-locked-dblock' => "Уровень защиты не может быть изменён, так как основная база данных временно заблокирована.
 Текущие установки для страницы '''$1''':",
 'protect-locked-access' => "У вашей учётной записи недостаточно прав для изменения уровня защиты страницы. Текущие установки для страницы '''$1''':",
-'protect-cascadeon' => 'Эта страница защищена в связи с тем, что она включена {{PLURAL:$1|в указанную ниже страницу, на которую|в нижеследующие страницы, на которые}} установлена каскадная защита. Вы можете изменить уровень защиты этой страницы, но это не повлияет на каскадную защиту.',
+'protect-cascadeon' => 'Эта страница защищена в связи с тем, что она включена {{PLURAL:$1|1=в указанную ниже страницу, на которую|в нижеследующие страницы, на которые}} установлена каскадная защита. Вы можете изменить уровень защиты этой страницы, но это не повлияет на каскадную защиту.',
 'protect-default' => 'Без защиты',
 'protect-fallback' => 'Разрешено только участникам с правами «$1»',
 'protect-level-autoconfirmed' => 'Разрешено только автоподтверждённым участникам',
@@ -2735,12 +2737,12 @@ $UNWATCHURL
 'undeletepage' => 'Просмотр и восстановление удалённых страниц',
 'undeletepagetitle' => "'''Ниже перечислены удалённые версии страницы [[:$1]]'''.",
 'viewdeletedpage' => 'Просмотр удалённых страниц',
-'undeletepagetext' => '{{PLURAL:$1|Следующая $1 страница была удалена|Следующие $1 страницы были удалены|Следующие $1 страниц были удалены}}, однако {{PLURAL:$1|она всё ещё находится в архиве и поэтому может быть восстановлена|они всё ещё находятся в архиве и поэтому могут быть восстановлены}}.
+'undeletepagetext' => '{{PLURAL:$1|Следующая $1 страница была удалена|Следующие $1 страниц были удалены|Следующие $1 страницы были удалены}}, однако {{PLURAL:$1|1=она всё ещё находится в архиве и поэтому может быть восстановлена|они всё ещё находятся в архиве и поэтому могут быть восстановлены}}.
 Архив может периодически очищаться.',
 'undelete-fieldset-title' => 'Восстановить версии',
 'undeleteextrahelp' => "Для полного восстановления истории страницы оставьте все отметки пустыми и нажмите '''«{{int:undeletebtn}}»'''.
 Для частичного восстановления отметьте те версии страницы, которые нужно восстановить, и нажмите '''«{{int:undeletebtn}}»'''.",
-'undeleterevisions' => 'в Ð°Ñ\80Ñ\85иве $1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}}',
+'undeleterevisions' => 'в Ð°Ñ\80Ñ\85иве $1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}}',
 'undeletehistory' => 'При восстановлении страницы восстанавливается и её история правок.
 Если после удаления была создана новая страница с тем же названием, то восстановленные версии появятся в истории правок перед новыми версиями.',
 'undeleterevdel' => 'Восстановление не будет произведено, если оно приведёт к частичному удалению последней версии страницы или файла.
@@ -2754,9 +2756,9 @@ $UNWATCHURL
 'undeleteviewlink' => 'просмотреть',
 'undeleteinvert' => 'Обратить выделение',
 'undeletecomment' => 'Причина:',
-'undeletedrevisions' => '$1 {{PLURAL:$1|изменение|изменения|изменений}} восстановлено',
-'undeletedrevisions-files' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}} Ð¸ $2 {{PLURAL:$2|Ñ\84айл|Ñ\84айла|Ñ\84айлов}} восстановлено',
-'undeletedfiles' => '$1 {{PLURAL:$1|Ñ\84айл Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлен|Ñ\84айла Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлено|Ñ\84айлов восстановлено}}',
+'undeletedrevisions' => '$1 {{PLURAL:$1|изменение|изменений|изменения}} восстановлено',
+'undeletedrevisions-files' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}} Ð¸ $2 {{PLURAL:$2|Ñ\84айл|Ñ\84айлов|Ñ\84айла}} восстановлено',
+'undeletedfiles' => '$1 {{PLURAL:$1|Ñ\84айл Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлен|Ñ\84айлов Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлено|Ñ\84айла восстановлено}}',
 'cannotundelete' => 'Ошибка восстановления:
 $1',
 'undeletedpage' => "'''Страница «$1» была восстановлена.'''
@@ -2825,8 +2827,8 @@ $1',
 'isredirect' => 'страница-перенаправление',
 'istemplate' => 'включение',
 'isimage' => 'файловая ссылка',
-'whatlinkshere-prev' => '{{PLURAL:$1|предыдущая|предыдущие}} $1',
-'whatlinkshere-next' => '{{PLURAL:$1|следующая|следующие}} $1',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=предыдущая|предыдущие}} $1',
+'whatlinkshere-next' => '{{PLURAL:$1|1=следующая|следующие}} $1',
 'whatlinkshere-links' => '← ссылки',
 'whatlinkshere-hideredirs' => '$1 перенаправления',
 'whatlinkshere-hidetrans' => '$1 включения',
@@ -2898,7 +2900,7 @@ $1',
 'blocklist-reason' => 'Причина',
 'ipblocklist-submit' => 'Найти',
 'ipblocklist-localblock' => 'Локальная блокировка',
-'ipblocklist-otherblocks' => '{{PLURAL:$1|Другая блокировка|Другие блокировки}}',
+'ipblocklist-otherblocks' => '{{PLURAL:$1|1=Другая блокировка|Другие блокировки}}',
 'infiniteblock' => 'бессрочно',
 'expiringblock' => 'завершится $1 в $2',
 'anononlyblock' => 'только анонимов',
@@ -2936,7 +2938,7 @@ $1',
 'ipb_hide_invalid' => 'Невозможно скрыть учётную запись, возможно, с неё сделано слишком много правок.',
 'ipb_already_blocked' => '«$1» уже заблокирован.',
 'ipb-needreblock' => '$1 уже {{GENDER:$1|заблокирован|заблокирована}}. Хотите изменить параметры блокировки?',
-'ipb-otherblocks-header' => '{{PLURAL:$1|Другая блокировка|Другие блокировки}}',
+'ipb-otherblocks-header' => '{{PLURAL:$1|1=Другая блокировка|Другие блокировки}}',
 'unblock-hideuser' => 'Вы не можете разблокировать этого участника, так как его имя было скрыто.',
 'ipb_cant_unblock' => 'Ошибка: не найдена блокировка $1. Возможно, она уже была снята.',
 'ipb_blocked_as_range' => 'Ошибка: IP-адрес $1 был заблокирован не напрямую и не может быть разблокирован. Однако, он принадлежит к заблокированному диапазону $2, который можно разблокировать.',
@@ -3032,11 +3034,11 @@ $1',
 'movepage-page-exists' => 'Страница $1 уже существует и не может быть автоматически перезаписана.',
 'movepage-page-moved' => 'Страница $1 была переименована в $2.',
 'movepage-page-unmoved' => 'Страница $1 не может быть переименована в $2.',
-'movepage-max-pages' => '$1 {{PLURAL:$1|страница была переименована|страницы было переименовано|страниц было переименовано}} — это максимум, больше страниц нельзя переименовать автоматически.',
+'movepage-max-pages' => '$1 {{PLURAL:$1|страница была переименована|страниц было переименовано|страницы было переименовано}} — это максимум, больше страниц нельзя переименовать автоматически.',
 'movelogpage' => 'Журнал переименований',
 'movelogpagetext' => 'Ниже представлен список переименованных страниц.',
-'movesubpage' => '{{PLURAL:$1|Подстраница|Подстраницы}}',
-'movesubpagetext' => 'У этой страницы $1 {{PLURAL:$1|подстраница|подстраницы|подстраниц}}.',
+'movesubpage' => '{{PLURAL:$1|1=Подстраница|Подстраницы}}',
+'movesubpagetext' => 'У этой страницы $1 {{PLURAL:$1|подстраница|подстраниц|подстраницы}}.',
 'movenosubpage' => 'У этой страницы нет подстраниц.',
 'movereason' => 'Причина:',
 'revertmove' => 'возврат',
@@ -3138,9 +3140,9 @@ $2',
 'import-comment' => 'Примечание:',
 'importtext' => 'Пожалуйста, экспортируйте страницу из исходной вики, используя [[Special:Export|соответствующий инструмент]]. Сохраните файл на диск, а затем загрузите его сюда.',
 'importstart' => 'Импортирование страниц…',
-'import-revision-count' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}}',
+'import-revision-count' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}}',
 'importnopages' => 'Нет страниц для импортирования.',
-'imported-log-entries' => '{{PLURAL:$1|Ð\98мпоÑ\80Ñ\82иÑ\80ована $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c\98мпоÑ\80Ñ\82иÑ\80овано $1 Ð·Ð°Ð¿Ð¸Ñ\81и|Ð\98мпоÑ\80Ñ\82иÑ\80овано $1 Ð·Ð°Ð¿Ð¸Ñ\81ей}} журнала.',
+'imported-log-entries' => '{{PLURAL:$1|Ð\98мпоÑ\80Ñ\82иÑ\80ована $1 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c\98мпоÑ\80Ñ\82иÑ\80овано $1 Ð·Ð°Ð¿Ð¸Ñ\81ей|Ð\98мпоÑ\80Ñ\82иÑ\80овано $1 Ð·Ð°Ð¿Ð¸Ñ\81и}} журнала.',
 'importfailed' => 'Не удалось импортировать: $1',
 'importunknownsource' => 'Неизвестный тип импортируемой страницы',
 'importcantopen' => 'Невозможно открыть импортируемый файл',
@@ -3166,7 +3168,7 @@ $2',
 'import-error-special' => 'Страница «$1» не была импортирована, так как она относится к особому пространству имён, не позволяющему создавать страницы.',
 'import-error-invalid' => 'Страница «$1» не была импортирована из-за недопустимого названия.',
 'import-error-unserialize' => 'Версия $2 страницы «$1» не может быть структурирована (десериализована). Получено сообщение, что в этой версии использована модель содержимого $3,  сериализуемая в формате $4.',
-'import-options-wrong' => '{{PLURAL:$2|Неверная опция|Неверные опции}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => '{{PLURAL:$2|1=Неверная опция|Неверные опции}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Указанное название корневой страницы некорректно.',
 'import-rootpage-nosubpage' => 'В пространстве имён указанной корневой страницы «$1» подстраницы запрещены.',
 
@@ -3174,9 +3176,9 @@ $2',
 'importlogpage' => 'Журнал импорта',
 'importlogpagetext' => 'Импортирование администраторами страниц с историей изменений из других вики.',
 'import-logentry-upload' => '«[[$1]]» — импорт из файла',
-'import-logentry-upload-detail' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}}',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}}',
 'import-logentry-interwiki' => '«$1» — межвики импорт',
-'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ии|веÑ\80Ñ\81ий}} из $2',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|веÑ\80Ñ\81иÑ\8f|веÑ\80Ñ\81ий|веÑ\80Ñ\81ии}} из $2',
 
 # JavaScriptTest
 'javascripttest' => 'Проверка JavaScript',
@@ -3287,14 +3289,14 @@ $2',
 The wiki server can't provide data in a format your client can read.",
 
 # Attribution
-'anonymous' => '{{PLURAL:$1|Анонимный участник|Анонимные участники}} {{grammar:genitive|{{SITENAME}}}}',
+'anonymous' => '{{PLURAL:$1|1=Анонимный участник|Анонимные участники}} {{grammar:genitive|{{SITENAME}}}}',
 'siteuser' => '{{GENDER:$2|участник|участница}} {{grammar:genitive|{{SITENAME}}}} $1',
 'anonuser' => 'анонимный участник {{grammar:genitive|{{SITENAME}}}} $1',
 'lastmodifiedatby' => 'Эта страница последний раз была изменена $1 в $2, автор изменения — $3.',
 'othercontribs' => 'В создании приняли участие: $1.',
 'others' => 'другие',
-'siteusers' => '{{PLURAL:$2|участник|участники}} {{grammar:genitive|{{SITENAME}}}} $1',
-'anonusers' => '{{PLURAL:$2|анонимный участник|анонимные участники}} {{grammar:genitive|{{SITENAME}}}} $1',
+'siteusers' => '{{PLURAL:$2|1=участник|участники}} {{grammar:genitive|{{SITENAME}}}} $1',
+'anonusers' => '{{PLURAL:$2|1=анонимный участник|анонимные участники}} {{grammar:genitive|{{SITENAME}}}} $1',
 'creditspage' => 'Благодарности',
 'nocredits' => 'Нет списка участников для этой статьи',
 
@@ -3328,11 +3330,11 @@ The wiki server can't provide data in a format your client can read.",
 'pageinfo-robot-noindex' => 'Не разрешено',
 'pageinfo-views' => 'Количество просмотров',
 'pageinfo-watchers' => 'Число наблюдающих',
-'pageinfo-few-watchers' => 'Менее $1 {{PLURAL:$1|следящего|следящих}}',
+'pageinfo-few-watchers' => 'Менее $1 {{PLURAL:$1|1=следящего|следящих}}',
 'pageinfo-redirects-name' => 'Количество перенаправлений на эту страницу',
 'pageinfo-redirects-value' => '$1',
 'pageinfo-subpages-name' => 'Подстраницы данной страницы',
-'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|перенаправление|перенаправления|перенаправлений}}; $3 {{PLURAL:$3|обычная|обычные|обычных}})',
+'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|перенаправление|перенаправлений|перенаправления}}; $3 {{PLURAL:$3|обычная|обычных|обычные}})',
 'pageinfo-firstuser' => 'Создатель страницы',
 'pageinfo-firsttime' => 'Дата создания страницы',
 'pageinfo-lastuser' => 'Последний редактор',
@@ -3341,10 +3343,10 @@ The wiki server can't provide data in a format your client can read.",
 'pageinfo-authors' => 'Общее число различных авторов',
 'pageinfo-recent-edits' => 'Правок за последнее время (в течение $1)',
 'pageinfo-recent-authors' => 'Уникальных авторов за последнее время',
-'pageinfo-magic-words' => '{{PLURAL:$1|Магическое слово|Магические слова}} ($1)',
-'pageinfo-hidden-categories' => '{{PLURAL:$1|Скрытая категория|Скрытых категорий}} ($1)',
-'pageinfo-templates' => '{{PLURAL:$1|Шаблон|Шаблонов}} ($1)',
-'pageinfo-transclusions' => '{{PLURAL:$1|Включаемые страницы|Включаемых страниц}} ($1)',
+'pageinfo-magic-words' => '{{PLURAL:$1|1=Магическое слово|Магические слова}} ($1)',
+'pageinfo-hidden-categories' => '{{PLURAL:$1|1=Скрытая категория|Скрытых категорий}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|1=Шаблон|Шаблонов}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|1=Включаемые страницы|Включаемых страниц}} ($1)',
 'pageinfo-toolboxlink' => 'Сведения о странице',
 'pageinfo-redirectsto' => 'Перенаправление',
 'pageinfo-redirectsto-info' => 'сведения',
@@ -3402,23 +3404,23 @@ $1',
 'imagemaxsize' => "Ограничение на размер изображения:<br />''(для страницы описания файла)''",
 'thumbsize' => 'Размер уменьшенной версии изображения:',
 'widthheight' => '$1 × $2',
-'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|страница|страницы|страниц}}',
+'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|страница|страниц|страницы}}',
 'file-info' => 'размер файла: $1, MIME-тип: $2',
-'file-info-size' => '$1 × $2 {{PLURAL:$2|пиксель|пикселя|пикселей}}, размер файла: $3, MIME-тип: $4',
-'file-info-size-pages' => '$1 × $2 пикселей, размер файла: $3, MIME-тип: $4, $5 {{PLURAL:$5|страница|страницы|страниц}}',
+'file-info-size' => '$1 × $2 {{PLURAL:$2|пиксель|пикселей|пикселя}}, размер файла: $3, MIME-тип: $4',
+'file-info-size-pages' => '$1 × $2 пикселей, размер файла: $3, MIME-тип: $4, $5 {{PLURAL:$5|страница|страниц|страницы}}',
 'file-nohires' => 'Нет версии с бо́льшим разрешением.',
-'svg-long-desc' => 'SVG-файл, номинально $1 × $2 {{PLURAL:$2|пиксель|пикселя|пикселей}}, размер файла: $3',
-'svg-long-desc-animated' => 'Анимированный SVG-файл, номинально $1 × $2 {{PLURAL:$2|пиксель|пикселя|пикселей}}, размер файла: $3',
+'svg-long-desc' => 'SVG-файл, номинально $1 × $2 {{PLURAL:$2|пиксель|пикселей|пикселя}}, размер файла: $3',
+'svg-long-desc-animated' => 'Анимированный SVG-файл, номинально $1 × $2 {{PLURAL:$2|пиксель|пикселей|пикселя}}, размер файла: $3',
 'svg-long-error' => 'неправильный SVG-файл: $1',
 'show-big-image' => 'Исходный файл',
 'show-big-image-preview' => 'Размер при предпросмотре: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Другое разрешение|Другие разрешения}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Другое разрешение|Другие разрешения}}: $1.',
 'show-big-image-size' => '$1 × $2 пикселей',
 'file-info-gif-looped' => 'закольцованный',
-'file-info-gif-frames' => '$1 {{PLURAL:$1|Ñ\84Ñ\80ейм|Ñ\84Ñ\80ейма|Ñ\84Ñ\80еймов}}',
+'file-info-gif-frames' => '$1 {{PLURAL:$1|Ñ\84Ñ\80ейм|Ñ\84Ñ\80еймов|Ñ\84Ñ\80ейма}}',
 'file-info-png-looped' => 'закольцованный',
-'file-info-png-repeat' => 'проигрывается $1 {{PLURAL:$1|раз|раза|раз}}',
-'file-info-png-frames' => '$1 {{PLURAL:$1|кадÑ\80|кадÑ\80а|кадÑ\80ов}}',
+'file-info-png-repeat' => 'проигрывается $1 {{PLURAL:$1|раз|раз|раза}}',
+'file-info-png-frames' => '$1 {{PLURAL:$1|кадÑ\80|кадÑ\80ов|кадÑ\80а}}',
 'file-no-thumb-animation' => "'''Примечание. По техническим причинам миниатюры этого файла не будет анимироваться.'''",
 'file-no-thumb-animation-gif' => "'''Примечание. По техническим причинам миниатюры подобных GIF-изображений высокого разрешения не анимируются.'''",
 
@@ -3440,20 +3442,20 @@ $1',
 'minutes-abbrev' => '$1 м',
 'hours-abbrev' => '$1 ч',
 'days-abbrev' => '$1 д',
-'seconds' => '{{PLURAL:$1|$1 секунда|$1 секунды|$1 секунд}}',
-'minutes' => '{{PLURAL:$1|$1 минута|$1 минуты|$1 минут}}',
-'hours' => '{{PLURAL:$1|$1 Ñ\87аÑ\81|$1 Ñ\87аÑ\81а|$1 Ñ\87аÑ\81ов}}',
-'days' => '{{PLURAL:$1|$1 день|$1 дня|$1 дней}}',
-'weeks' => '{{PLURAL:$1|$1 неделя|$1 недели|$1 недель}}',
-'months' => '{{PLURAL:$1|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86а|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86ев}}',
-'years' => '{{PLURAL:$1|$1 Ð³Ð¾Ð´|$1 Ð³Ð¾Ð´Ð°|$1 Ð»ÐµÑ\82}}',
+'seconds' => '{{PLURAL:$1|$1 секунда|$1 секунд|$1 секунды}}',
+'minutes' => '{{PLURAL:$1|$1 минута|$1 минут|$1 минуты}}',
+'hours' => '{{PLURAL:$1|$1 Ñ\87аÑ\81|$1 Ñ\87аÑ\81ов|$1 Ñ\87аÑ\81а}}',
+'days' => '{{PLURAL:$1|$1 день|$1 дней|$1 дня}}',
+'weeks' => '{{PLURAL:$1|$1 неделя|$1 недель|$1 недели}}',
+'months' => '{{PLURAL:$1|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86ев|$1 Ð¼ÐµÑ\81Ñ\8fÑ\86а}}',
+'years' => '{{PLURAL:$1|$1 Ð³Ð¾Ð´|$1 Ð»ÐµÑ\82|$1 Ð³Ð¾Ð´Ð°}}',
 'ago' => '$1 назад',
 'just-now' => 'только что',
 
 # Human-readable timestamps
-'hours-ago' => '$1 {{PLURAL:$1|Ñ\87аÑ\81\87аÑ\81а|Ñ\87аÑ\81ов}} назад',
-'minutes-ago' => '$1 {{PLURAL:$1|минуту|минуты|минут}} назад',
-'seconds-ago' => '$1 {{PLURAL:$1|секунду|секунды|секунд}} назад',
+'hours-ago' => '$1 {{PLURAL:$1|Ñ\87аÑ\81\87аÑ\81ов|Ñ\87аÑ\81а}} назад',
+'minutes-ago' => '$1 {{PLURAL:$1|минуту|минут|минуты}} назад',
+'seconds-ago' => '$1 {{PLURAL:$1|секунду|секунд|секунды}} назад',
 'monday-at' => 'в понедельник в $1',
 'tuesday-at' => 'во вторник в $1',
 'wednesday-at' => 'в среду в $1',
@@ -3709,7 +3711,7 @@ $1',
 'exif-exposureprogram-7' => 'Портретный режим (для снимков на близком расстоянии, с фоном не в фокусе)',
 'exif-exposureprogram-8' => 'Пейзажный режим (для пейзажных снимков, с фоном в фокусе)',
 
-'exif-subjectdistance-value' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80а|меÑ\82Ñ\80ов}}',
+'exif-subjectdistance-value' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80ов|меÑ\82Ñ\80а}}',
 
 'exif-meteringmode-0' => 'Неизвестно',
 'exif-meteringmode-1' => 'Средний',
@@ -3811,8 +3813,8 @@ $1',
 'exif-gpslongitude-w' => 'западной долготы',
 
 # Pseudotags used for GPSAltitudeRef
-'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80а|меÑ\82Ñ\80ов}} над уровнем моря',
-'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80а|меÑ\82Ñ\80ов}} ниже уровня моря',
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80ов|меÑ\82Ñ\80а}} над уровнем моря',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|меÑ\82Ñ\80|меÑ\82Ñ\80ов|меÑ\82Ñ\80а}} ниже уровня моря',
 
 'exif-gpsstatus-a' => 'Измерение не закончено',
 'exif-gpsstatus-v' => 'Готов к передаче данных',
@@ -4040,11 +4042,11 @@ $5
 'livepreview-error' => 'Не удалось установить соединение: $1 «$2». Попробуйте воспользоваться обычным предпросмотром.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => 'Изменения, сделанные менее чем $1 {{PLURAL:$1|секунду|секунды|секунд}} назад, могут быть не показаны в этом списке.',
-'lag-warn-high' => 'Из-за большого отставания в синхронизации серверов баз данных изменения, сделанные менее чем $1 {{PLURAL:$1|секунду|секунды|секунд}} назад, могут быть не показаны в этом списке.',
+'lag-warn-normal' => 'Изменения, сделанные менее чем $1 {{PLURAL:$1|секунду|секунд|секунды}} назад, могут быть не показаны в этом списке.',
+'lag-warn-high' => 'Из-за большого отставания в синхронизации серверов баз данных изменения, сделанные менее чем $1 {{PLURAL:$1|секунду|секунд|секунды}} назад, могут быть не показаны в этом списке.',
 
 # Watchlist editor
-'watchlistedit-numitems' => 'Ð\92аÑ\88 Ñ\81пиÑ\81ок Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f Ñ\81одеÑ\80жиÑ\82 $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81и|запиÑ\81ей}}, не считая страниц обсуждений.',
+'watchlistedit-numitems' => 'Ð\92аÑ\88 Ñ\81пиÑ\81ок Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f Ñ\81одеÑ\80жиÑ\82 $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81ей|запиÑ\81и}}, не считая страниц обсуждений.',
 'watchlistedit-noitems' => 'Ваш список наблюдения не содержит записей.',
 'watchlistedit-normal-title' => 'Изменение списка наблюдения',
 'watchlistedit-normal-legend' => 'Удаление записей из списка наблюдения',
@@ -4052,7 +4054,7 @@ $5
 Для удаления записей отметьте соответствующие позиции и нажмите кнопку «{{int:Watchlistedit-normal-submit}}».
 Вы также можете [[Special:EditWatchlist/raw|править список как текст]].',
 'watchlistedit-normal-submit' => 'Удалить записи',
-'watchlistedit-normal-done' => 'Ð\98з Ð²Ð°Ñ\88его Ñ\81пиÑ\81ка Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f {{PLURAL:$1|бÑ\8bла Ñ\83далена|бÑ\8bли Ñ\83даленÑ\8b|бÑ\8bло Ñ\83далено}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81и|запиÑ\81ей}}:',
+'watchlistedit-normal-done' => 'Ð\98з Ð²Ð°Ñ\88его Ñ\81пиÑ\81ка Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f {{PLURAL:$1|бÑ\8bла Ñ\83далена|бÑ\8bло Ñ\83далено|бÑ\8bли Ñ\83даленÑ\8b}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81ей|запиÑ\81и}}:',
 'watchlistedit-raw-title' => 'Редактирование списка наблюдения как текста',
 'watchlistedit-raw-legend' => 'Редактирование списка наблюдения',
 'watchlistedit-raw-explain' => 'Ниже перечислены страницы, находящиеся в вашем списке наблюдения. Вы можете изменять этот список, добавляя и удаляя из него строки с названиями, по одному названию на строке.
@@ -4061,8 +4063,8 @@ $5
 'watchlistedit-raw-titles' => 'Записи:',
 'watchlistedit-raw-submit' => 'Сохранить список',
 'watchlistedit-raw-done' => 'Ваш список наблюдения сохранён.',
-'watchlistedit-raw-added' => '{{PLURAL:$1|Ð\91Ñ\8bла Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð°|Ð\91Ñ\8bли Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ\8b\91Ñ\8bло Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81и|запиÑ\81ей}}:',
-'watchlistedit-raw-removed' => '{{PLURAL:$1|Ð\91Ñ\8bла Ñ\83далена|Ð\91Ñ\8bли Ñ\83даленÑ\8b\91Ñ\8bло Ñ\83далено}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81и|запиÑ\81ей}}:',
+'watchlistedit-raw-added' => '{{PLURAL:$1|Ð\91Ñ\8bла Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð°|Ð\91Ñ\8bло Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾|Ð\91Ñ\8bли Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ\8b}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81ей|запиÑ\81и}}:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|Ð\91Ñ\8bла Ñ\83далена|Ð\91Ñ\8bло Ñ\83далено|Ð\91Ñ\8bли Ñ\83даленÑ\8b}} $1 {{PLURAL:$1|запиÑ\81Ñ\8c|запиÑ\81ей|запиÑ\81и}}:',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'Изменения на страницах из списка',
@@ -4188,9 +4190,9 @@ MediaWiki распространяется в надежде, что она бу
 'fileduplicatesearch-legend' => 'Поиск дубликатов',
 'fileduplicatesearch-filename' => 'Имя файла:',
 'fileduplicatesearch-submit' => 'Найти',
-'fileduplicatesearch-info' => '$1 × $2 {{PLURAL:$2|пиксель|пикселя|пикселей}}<br />Размер файла: $3<br />MIME-тип: $4',
+'fileduplicatesearch-info' => '$1 × $2 {{PLURAL:$2|пиксель|пикселей|пикселя}}<br />Размер файла: $3<br />MIME-тип: $4',
 'fileduplicatesearch-result-1' => 'Файл «$1» не имеет идентичных дубликатов.',
-'fileduplicatesearch-result-n' => 'Файл Â«$1» Ð¸Ð¼ÐµÐµÑ\82 $2 {{PLURAL:$2|иденÑ\82иÑ\87нÑ\8bй Ð´Ñ\83бликаÑ\82|иденÑ\82иÑ\87нÑ\8bÑ\85 Ð´Ñ\83бликаÑ\82а|иденÑ\82иÑ\87нÑ\8bÑ\85 Ð´Ñ\83бликаÑ\82ов}}.',
+'fileduplicatesearch-result-n' => 'Файл Â«$1» Ð¸Ð¼ÐµÐµÑ\82 $2 {{PLURAL:$2|иденÑ\82иÑ\87нÑ\8bй Ð´Ñ\83бликаÑ\82|иденÑ\82иÑ\87нÑ\8bÑ\85 Ð´Ñ\83бликаÑ\82ов|иденÑ\82иÑ\87нÑ\8bÑ\85 Ð´Ñ\83бликаÑ\82а}}.',
 'fileduplicatesearch-noresults' => 'Не найден файл с именем «$1».',
 
 # Special:SpecialPages
@@ -4229,7 +4231,7 @@ MediaWiki распространяется в надежде, что она бу
 'tags' => 'Действующие метки изменений',
 'tag-filter' => 'Фильтр [[Special:Tags|меток]]:',
 'tag-filter-submit' => 'Отфильтровать',
-'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Метка|Метки}}]]: $2)',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|1=Метка|Метки}}]]: $2)',
 'tags-title' => 'Метки',
 'tags-intro' => 'На этой странице приведён список меток, которыми программное обеспечение отмечает правки, а также значения этих меток.',
 'tags-tag' => 'Имя метки',
@@ -4240,7 +4242,7 @@ MediaWiki распространяется в надежде, что она бу
 'tags-active-yes' => 'Да',
 'tags-active-no' => 'Нет',
 'tags-edit' => 'править',
-'tags-hitcount' => '$1 {{PLURAL:$1|изменение|изменения|изменений}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|изменение|изменений|изменения}}',
 
 # Special:ComparePages
 'comparepages' => 'Сравнение страниц',
@@ -4285,13 +4287,13 @@ MediaWiki распространяется в надежде, что она бу
 # New logging system
 'logentry-delete-delete' => '$1 {{GENDER:$2|удалил|удалила}} страницу $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|восстановил|восстановила}} страницу $3',
-'logentry-delete-event' => '$1 {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|$5 записи|$5 записей}} журнала на $3: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|$5 версии|$5 версий}} на странице $3: $4',
+'logentry-delete-event' => '$1 {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|1=$5 записи|$5 записей}} журнала на $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|1=$5 версии|$5 версий}} на странице $3: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|изменил|изменила}} видимость записей журнала $3',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|изменил|изменила}} видимость версий на странице $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|подавил|подавила}} страницу $3',
-'logentry-suppress-event' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|$5 записи|$5 записей}} журнала на $3: $4',
-'logentry-suppress-revision' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|$5 версии|$5 версий}} на странице $3: $4',
+'logentry-suppress-event' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|1=$5 записи|$5 записей}} журнала на $3: $4',
+'logentry-suppress-revision' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость {{PLURAL:$5|1=$5 версии|$5 версий}} на странице $3: $4',
 'logentry-suppress-event-legacy' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость записей журнала $3',
 'logentry-suppress-revision-legacy' => '$1 скрытно {{GENDER:$2|изменил|изменила}} видимость версий на странице $3',
 'revdelete-content-hid' => 'содержание скрыто',
@@ -4342,10 +4344,10 @@ MediaWiki распространяется в надежде, что она бу
 'api-error-badaccess-groups' => 'Вам не разрешено загружать файлы в эту вики.',
 'api-error-badtoken' => 'Внутренняя ошибка:  некорректный токен.',
 'api-error-copyuploaddisabled' => 'Загрузка по URL-адресу отключена на этом сервере.',
-'api-error-duplicate' => 'Уже {{PLURAL:$1|существует  [$2 другой файл]|существуют [$2 другие файлы]}} с таким же содержимым',
-'api-error-duplicate-archive' => 'Раньше на сайте {{PLURAL:$1|уже был [$2 файл]|были [$2 файлы]}} с точно таким же содержанием, но {{PLURAL:$1|он был удалён|они были удалены}}.',
-'api-error-duplicate-archive-popup-title' => 'Дубликаты {{PLURAL:$1|файла|файлов}}, которые уже были удалены.',
-'api-error-duplicate-popup-title' => 'Дубликат {{PLURAL:$1|файла|файлов}}',
+'api-error-duplicate' => 'Уже {{PLURAL:$1|1=существует [$2 другой файл]|существуют [$2 другие файлы]}} с таким же содержимым',
+'api-error-duplicate-archive' => 'Раньше на сайте {{PLURAL:$1|1=уже был [$2 файл]|были [$2 файлы]}} с точно таким же содержанием, но {{PLURAL:$1|1=он был удалён|они были удалены}}.',
+'api-error-duplicate-archive-popup-title' => 'Дубликаты {{PLURAL:$1|1=файла|файлов}}, которые уже были удалены.',
+'api-error-duplicate-popup-title' => 'Дубликат {{PLURAL:$1|1=файла|файлов}}',
 'api-error-empty-file' => 'Отправленный вами файл пуст.',
 'api-error-emptypage' => 'Не допускается создание новых пустых страниц.',
 'api-error-fetchfileerror' => 'Внутренняя ошибка: что-то пошло не так при получении файла.',
@@ -4354,7 +4356,7 @@ MediaWiki распространяется в надежде, что она бу
 'api-error-file-too-large' => 'Отправленный вами файл слишком велик.',
 'api-error-filename-tooshort' => 'Слишком короткое имя файла.',
 'api-error-filetype-banned' => 'Этот тип файлов запрещён.',
-'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|запрещённый тип файла|запрещённые типы файлов}}. {{PLURAL:$3|Разрешённый тип файлов —|Разрешённые типы файлов:}} $2.',
+'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|1=запрещённый тип файла|запрещённые типы файлов}}. {{PLURAL:$3|1=Разрешённый тип файлов —|Разрешённые типы файлов:}} $2.',
 'api-error-filetype-missing' => 'У этого файла отсутствует расширение.',
 'api-error-hookaborted' => 'Изменение, которые вы пытались сделать, прервано обработчиком расширения.',
 'api-error-http' => 'Внутренняя ошибка: не удаётся подключиться к серверу.',
@@ -4381,31 +4383,31 @@ MediaWiki распространяется в надежде, что она бу
 'api-error-verification-error' => 'Возможно, этот файл повреждён или имеет неправильное расширение.',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL:$1|секунда|секунды|секунд}}',
-'duration-minutes' => '$1 {{PLURAL:$1|минута|минуты|минут}}',
-'duration-hours' => '$1 {{PLURAL:$1|Ñ\87аÑ\81\87аÑ\81а|Ñ\87аÑ\81ов}}',
-'duration-days' => '$1 {{PLURAL:$1|день|дня|дней}}',
-'duration-weeks' => '$1 {{PLURAL:$1|неделя|недели|недель}}',
-'duration-years' => '$1 {{PLURAL:$1|год|года|леÑ\82}}',
-'duration-decades' => '$1 {{PLURAL:$1|десятилетие|десятилетия|десятилетий}}',
-'duration-centuries' => '$1 {{PLURAL:$1|век|века|веков}}',
-'duration-millennia' => '$1 {{PLURAL:$1|тысячелетие|тысячелетия|тысячелетий}}',
+'duration-seconds' => '$1 {{PLURAL:$1|секунда|секунд|секунды}}',
+'duration-minutes' => '$1 {{PLURAL:$1|минута|минут|минуты}}',
+'duration-hours' => '$1 {{PLURAL:$1|Ñ\87аÑ\81\87аÑ\81ов|Ñ\87аÑ\81а}}',
+'duration-days' => '$1 {{PLURAL:$1|день|дней|дня}}',
+'duration-weeks' => '$1 {{PLURAL:$1|неделя|недель|недели}}',
+'duration-years' => '$1 {{PLURAL:$1|год|леÑ\82|года}}',
+'duration-decades' => '$1 {{PLURAL:$1|десятилетие|десятилетий|десятилетия}}',
+'duration-centuries' => '$1 {{PLURAL:$1|век|веков|века}}',
+'duration-millennia' => '$1 {{PLURAL:$1|тысячелетие|тысячелетий|тысячелетия}}',
 
 # Image rotation
-'rotate-comment' => 'Ð\98зобÑ\80ажение Ð¿Ð¾Ð²Ñ\91Ñ\80нÑ\83Ñ\82о Ð½Ð° $1 Ð³Ñ\80адÑ\83Ñ\81{{PLURAL:$1||а|ов}} по часовой стрелке',
+'rotate-comment' => 'Ð\98зобÑ\80ажение Ð¿Ð¾Ð²Ñ\91Ñ\80нÑ\83Ñ\82о Ð½Ð° $1 Ð³Ñ\80адÑ\83Ñ\81{{PLURAL:$1||ов|а}} по часовой стрелке',
 
 # Limit report
 'limitreport-title' => 'Данные анализатора:',
 'limitreport-cputime' => 'Использование времени процессора',
-'limitreport-cputime-value' => '$1 {{PLURAL:$1|секунда|секунды|секунд}}',
+'limitreport-cputime-value' => '$1 {{PLURAL:$1|секунда|секунд|секунды}}',
 'limitreport-walltime' => 'Использование в режиме реального времени',
-'limitreport-walltime-value' => '$1 {{PLURAL:$1|секунда|секунды|секунд}}',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|секунда|секунд|секунды}}',
 'limitreport-ppvisitednodes' => 'Количество узлов, посещённых препроцессором',
 'limitreport-ppgeneratednodes' => 'Количество сгенерированных препроцессором узлов',
 'limitreport-postexpandincludesize' => 'Размер раскрытых включений',
-'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|байÑ\82|байÑ\82а|байÑ\82ов}}',
+'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|байÑ\82|байÑ\82ов|байÑ\82а}}',
 'limitreport-templateargumentsize' => 'Размер аргумента шаблона',
-'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|байÑ\82|байÑ\82а|байÑ\82ов}}',
+'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|байÑ\82|байÑ\82ов|байÑ\82а}}',
 'limitreport-expansiondepth' => 'Наибольшая глубина расширения',
 'limitreport-expensivefunctioncount' => 'Количество «дорогих» функций анализатора',
 
index 1d693f0..426479f 100644 (file)
@@ -1572,7 +1572,7 @@ $1",
 'filetype-mime-mismatch' => 'Росшырїня файлу ".$1" не одповідать ёго MIME тіпу ($2).',
 'filetype-badmime' => 'Не є дозволено наладововати файлы MIME тіп „$1“.',
 'filetype-bad-ie-mime' => 'Неможливо наладовати тот файл, бо Internet Explorer бы го тримав за „$1“, што є не дозволеный і потенціално небеспечный тіп файлу.',
-'filetype-unwanted-type' => "„.$1“''' є нежеланый формат файлу. {{plural:$3|Желаный формат файлів є|Желаны форматы файлів суть}} $2.",
+'filetype-unwanted-type' => "„.$1“''' є нежеланый формат файлу. {{PLURAL:$3|Желаный формат файлів є|Желаны форматы файлів суть}} $2.",
 'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|є недозволеный формат файлів|суть недозволены форматы файлів}}.
 {{PLURAL:$3|Дозволеный формат фалів|Дозволены форматы файлів суть}} $2.",
 'filetype-missing' => 'Файл не має росшырїня (наприклад, «.jpg»).',
@@ -1800,7 +1800,7 @@ $1',
 'nolinkstoimage' => 'На тот файл не одказує жадна сторінка',
 'morelinkstoimage' => 'Видїти [[Special:WhatLinksHere/$1|далшы одказы]] на тот файл.',
 'linkstoimage-redirect' => '$1 (напрямлїня файлу) $2',
-'duplicatesoffile' => '{{plural:$1|Наслїдуючій файл є дуплікат|Наслїдуючі $1 файлы суть дуплікаты|Наслїдуючіх $1 файлів є дуплікатами}} того файлу ([[Special:FileDuplicateSearch/$2|детайлы]]):',
+'duplicatesoffile' => '{{PLURAL:$1|Наслїдуючій файл є дуплікат|Наслїдуючі $1 файлы суть дуплікаты|Наслїдуючіх $1 файлів є дуплікатами}} того файлу ([[Special:FileDuplicateSearch/$2|детайлы]]):',
 'sharedupload' => 'Тот файл є з $1 і є доступным про іншы проекты.',
 'sharedupload-desc-there' => 'Тот файл походить з {{grammar:2sg|$1}} і можуть го хосновати другы проєкты.
 Веце інформацій обсягує ёго [$2 сторінка з пописом файлу].',
@@ -1897,7 +1897,7 @@ $1',
 'statistics-views-peredit' => 'Чісло зображінь на едітованя',
 'statistics-users' => 'Реґістрованы [[Special:ListUsers|хоснователї]]',
 'statistics-users-active' => 'Актівны хоснователї',
-'statistics-users-active-desc' => 'Хоснователї, котры в {{plural:$1|минулого дня|минулых  $1 днїв}} провели даяку операцію',
+'statistics-users-active-desc' => 'Хоснователї, котры в {{PLURAL:$1|минулого дня|минулых  $1 днїв}} провели даяку операцію',
 'statistics-mostpopular' => 'Найчітанїшы сторінкы',
 
 'pageswithprop' => 'Сторінкы з властностями',
@@ -2222,7 +2222,7 @@ $UNWATCHURL
 'exblank' => 'сторінка была порожня',
 'delete-confirm' => 'Змазаня  $1',
 'delete-legend' => 'Вымазати',
-'historywarning' => "'''Варованя:''' Сторінка, котру хочете змазати, має історію з приближно $1 {{plural:$1|ревізії|ревізіями}}:",
+'historywarning' => "'''Варованя:''' Сторінка, котру хочете змазати, має історію з приближно $1 {{PLURAL:$1|ревізії|ревізіями}}:",
 'confirmdeletetext' => 'Рыхтуєте ся вымазати сторінку і вшыткы єй лоґы едітовань.
 Просиме Вас, потвердьте, же справды тото хочете зробити, повно розумієте наслїдкы і же робите тото в одповідности з [[{{MediaWiki:Policy-url}}|правилами]].',
 'actioncomplete' => 'Дїя выконана',
@@ -2241,8 +2241,8 @@ $UNWATCHURL
 ** Порушїня авторьскых прав
 ** Вандалізм',
 'delete-edit-reasonlist' => 'Едітовати причіны вымазаня',
-'delete-toobig' => 'Тота сторінка має велику історію едітованя, через $1 {{plural:$1|верзії|верзій|верзій}}. Мазаня такых сторінок є обмеджено, жебы ся заборонило нехоченому нарушіню {{grammar:2sg|{{SITENAME}}}}.',
-'delete-warning-toobig' => 'Тота сторінка має велику історію едітацій, через $1 {{plural:$1|верзії|верзій|верзій}}. Мазаня такых сторінок може нарушыти датабазовы операцім {{grammar:2sg|{{SITENAME}}}}; мерькуйте.',
+'delete-toobig' => 'Тота сторінка має велику історію едітованя, через $1 {{PLURAL:$1|верзії|верзій|верзій}}. Мазаня такых сторінок є обмеджено, жебы ся заборонило нехоченому нарушіню {{grammar:2sg|{{SITENAME}}}}.',
+'delete-warning-toobig' => 'Тота сторінка має велику історію едітацій, через $1 {{PLURAL:$1|верзії|верзій|верзій}}. Мазаня такых сторінок може нарушыти датабазовы операцім {{grammar:2sg|{{SITENAME}}}}; мерькуйте.',
 
 # Rollback
 'rollback' => 'Вернути назад едітованя',
@@ -2633,7 +2633,7 @@ $1',
 'movelogpage' => 'Лоґ переменовань',
 'movelogpagetext' => 'Тото є список вшыткых переменованый сторінок.',
 'movesubpage' => '{{PLURAL:$1|Підсторінка|Підсторінкы}}',
-'movesubpagetext' => 'Тота сторінка має $1 {{plural:$1|підсторінку|підсторінкы|підсторінок}} ниже.',
+'movesubpagetext' => 'Тота сторінка має $1 {{PLURAL:$1|підсторінку|підсторінкы|підсторінок}} ниже.',
 'movenosubpage' => 'Тота сторінка не має підсторінок.',
 'movereason' => 'Причіна:',
 'revertmove' => 'вернути',
@@ -2987,7 +2987,7 @@ $1',
 
 # Special:NewFiles
 'newimages' => 'Ґалерія новых файлів',
-'imagelisttext' => "Ниже є {{plural:$1|єден файл|список '''$1'''&nbsp;файлів сортованых $2|список '''$1'''&nbsp;файлів сортованых $2}}.",
+'imagelisttext' => "Ниже є {{PLURAL:$1|єден файл|список '''$1'''&nbsp;файлів сортованых $2|список '''$1'''&nbsp;файлів сортованых $2}}.",
 'newimages-summary' => 'На тій шпеціалній сторінцї ся зображують остатнї наладованы файлы.',
 'newimages-legend' => 'Філтер',
 'newimages-label' => 'Назва файлу (або єй часть):',
index 8e8c6c1..72cb3d0 100644 (file)
@@ -722,7 +722,7 @@ $2',
 कृपया पुनः लिख्यताम्।',
 'wrongpasswordempty' => 'लिखितः कूटशब्दः रिक्तः विद्यते।
 कृपया पुनः लिख्यताम्।',
-'passwordtooshort' => 'कूटशब्दः न्यूनातिन्यूनं {{PLURAL: $1| 1 अक्षरात्मकः|$1 अक्षरात्मकमः}} अवश्यमेव भवेत्।',
+'passwordtooshort' => 'कूटशब्दः न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकमः}} अवश्यमेव भवेत्।',
 'password-name-match' => 'भवतः कूटशब्दः भवतः प्रयोक्तृनामतः अवश्यम् भिन्नं  भवेत् ।',
 'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति।',
 'mailmypassword' => 'नूतनः कूटशब्दः ईपत्रद्वारा प्रेष्यताम्',
index 8067903..6fa63bb 100644 (file)
@@ -1172,6 +1172,7 @@ Si si diponi di l'immàgina i' la risoruzioni originari, pa piazeri carriggalla.
 'deadendpages' => 'Pàgini chena iscidda',
 'deadendpagestext' => 'Li sighenti pàgini so chena cullegamenti bessu althri pàgini di {{SITENAME}}.',
 'protectedpages' => 'Pàgini prutiggiddi',
+'protectedpages-noredirect' => 'Cuà rinvii',
 'protectedpagesempty' => 'Abà nò vi so pàgini prutiggiddi.',
 'protectedtitles' => 'Tìturi prutiggiddi',
 'protectedtitlesempty' => 'Abà nò vi so tìturi prutiggiddi.',
index 07e8748..61856d8 100644 (file)
@@ -13,6 +13,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Gbënëngö-gbê',
index e6f652f..8f46757 100644 (file)
@@ -443,7 +443,7 @@ $1",
 'disclaimers' => 'වියාචනයන්',
 'disclaimerpage' => 'Project:පොදු වියාචන',
 'edithelp' => 'සංස්කරණ උදවු',
-'helppage' => 'උදවු:පටුන',
+'helppage' => 'Help:අන්තර්ගතයන්',
 'mainpage' => 'මුල් පිටුව',
 'mainpage-description' => 'මුල් පිටුව',
 'policy-url' => 'Project:ප්‍රතිපත්තිය',
@@ -465,8 +465,8 @@ $1",
 'youhavenewmessages' => 'ඔබ හට $1 ($2)',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|තවත් එක් පරිශීලකයෙකුගෙන්|පරිශීලකයන් $3 දෙනෙකුගෙන්}} ඔබ හට $1 ඇත ($2).',
 'youhavenewmessagesmanyusers' => 'බොහෝ පරිශීලකයන් වෙතින් ඔබ හට $1 ඇත ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|නව පණිවුඩයක්|නව පණිවුඩ}}',
-'newmessagesdifflinkplural' => 'අවසන් {{PLURAL:$1|වෙනස්වීම|වෙනස්වීම්}}',
+'newmessageslinkplural' => '{{PLURAL:$1|නව පණිවුඩයක්|999=nනව පණිවුඩ}}',
+'newmessagesdifflinkplural' => 'අවසන් {{PLURAL:$1|වෙනස්වීම|999=වෙනස්වීම්}}',
 'youhavenewmessagesmulti' => 'ඔබ හට $1 හි නව පණිවුඩ ඇත',
 'editsection' => 'සංස්කරණය',
 'editold' => 'සංස්කරණය',
@@ -1106,8 +1106,8 @@ $3 විසින් සපයා ඇති හේතුව ''$2'' වේ",
 'revdelete-hide-user' => 'සංස්කාරකගේ පරිශීලක නාමය/IP ලිපිනය සඟවන්න',
 'revdelete-hide-restricted' => 'අනෙකුන් මෙන්ම පරිපාලකවරුන් ගෙන්ද මෙම දත්ත යටපත්කරන්න',
 'revdelete-radio-same' => '(වෙනස් නොකරන්න)',
-'revdelete-radio-set' => 'à\94à·\80à·\8a',
-'revdelete-radio-unset' => 'නà·\90ත',
+'revdelete-radio-set' => 'à·\83à¶\9fà·\80නලද',
+'revdelete-radio-unset' => 'දà·\98à·\81à·\8aâ\80\8dයමà·\8fන',
 'revdelete-suppress' => 'අනෙකුන්ගෙන් මෙන්ම පරිපාලකයන්ගෙන්ද දත්ත යටපත් කරන්න',
 'revdelete-unsuppress' => 'ප්‍රතිෂ්ඨාපනය කරන ලද සංශෝධනයන් විෂයයෙහි පැනවුනු පරිසීමා ඉවත්කරන්න',
 'revdelete-log' => 'හේතුව:',
@@ -3936,7 +3936,7 @@ MediaWiki බෙදාහැර ඇත්තේ එය ප්‍රයෝජන
 'duration-minutes' => '{{PLURAL:$1|මිනිත්තු|මිනිත්තු}} $1 ක්',
 'duration-hours' => '{{PLURAL:$1|පැය|පැය}} $1 ක්',
 'duration-days' => '{{PLURAL:$1|දින|දින}} $1 ක්',
-'duration-weeks' => '{{PLURAL: $1|සති|සති}} $1 ක්',
+'duration-weeks' => '{{PLURAL:$1|සති|සති}} $1 ක්',
 'duration-years' => '{{PLURAL:$1|වසර|වසර}} $1 ක්',
 'duration-decades' => '{{PLURAL:$1|දශක|දශක}} $1 ක්',
 'duration-centuries' => '{{PLURAL:$1|ශතවර්ෂ|ශතවර්ෂ}} $1 ක්',
index cafa6b1..c4b1752 100644 (file)
@@ -1075,6 +1075,9 @@ Naslednji argumenti so bili izpuščeni.",
 'cantcreateaccount-text' => "Registracije z IP-naslova ('''$1''') je administrator(ka) [[User:$3|$3]] blokiral(a).
 
 Razlog, ki ga je $3 podal(a), je ''$2''.",
+'cantcreateaccount-range-text' => "Ustvarjanje računov z IP-naslovov v območju '''$1''', ki vključuje vaš IP-naslov ('''$4'''), je blokiral(-a) [[User:$3|$3]].
+
+Razlog, ki ga je podal(-a) $3, je ''$2''.",
 
 # History pages
 'viewpagelogs' => 'Poglej dnevniške zapise o strani',
@@ -1736,6 +1739,8 @@ Prosimo, vrnite se in naložite svojo datoteko pod drugim imenom.
 'file-exists-duplicate' => 'Ta datoteka je dvojnik {{PLURAL:$1|naslednje datoteke|naslednjih datotek}}:',
 'file-deleted-duplicate' => 'Datoteka je identična tej ([[:$1]]), ki je bila predhodno izbrisana.
 Preverite zgodovino brisanja datoteke, preden jo ponovno naložite.',
+'file-deleted-duplicate-notitle' => 'Datoteka, identična tej datoteki, je bila v preteklosti izbrisana in naslov je bil zatrt.
+Poprosite koga, ki ima možnost ogleda podatkov zatrtih datotek, da preveri položaj, preden nadaljujete s ponovnim nalaganjem.',
 'uploadwarning' => 'Opozorilo!',
 'uploadwarning-text' => 'Prosimo, spremenite opis datoteke spodaj in poskusite ponovno.',
 'savefile' => 'Shrani datoteko',
@@ -2124,6 +2129,7 @@ Sedaj je preusmeritev na [[$2]].',
 'protectedpages' => 'Zaščitene strani',
 'protectedpages-indef' => 'Samo neomejene zaščite',
 'protectedpages-cascade' => 'Le kaskadne zaščite',
+'protectedpages-noredirect' => 'Skrij preusmeritve',
 'protectedpagesempty' => 'Nobena stran ni trenutno zaščitena s temi parametri.',
 'protectedtitles' => 'Zaščiteni naslovi',
 'protectedtitlesempty' => 'Noben naslov ni trenutno zaščiten s temi parametri.',
@@ -2400,6 +2406,7 @@ Izbris takšnih strani je bil omejen v izogib neželenim motnjam {{GRAMMAR:dativ
 'delete-warning-toobig' => 'Ta stran ima obsežno zgodovino urejanja, tj. čez $1 {{PLURAL:$1|redakcijo|redakciji|redakcije|redakcij}}.
 Njeno brisanje lahko zmoti obratovanje zbirke podatkov {{GRAMMAR:dative|{{SITENAME}}}};
 nadaljujte s previdnostjo.',
+'deleting-backlinks-warning' => "'''Opozorilo:''' Druge strani se povezujejo na stran, ki jo nameravate izbrisati.",
 
 # Rollback
 'rollback' => 'Vrni spremembe',
@@ -3436,8 +3443,8 @@ Druga bodo po privzetem skrita.
 'exif-planarconfiguration-1' => 'grudast format',
 'exif-planarconfiguration-2' => 'ravninski format',
 
-'exif-xyresolution-i' => '$1 dpi ({{plural:$1|točka/palec|točki/palec|točke/palec|točk/palec|točk/palec}})',
-'exif-xyresolution-c' => '$1 dpc ({{plural:$1|točka/centimeter|točki/centimeter|točke/centimeter|točk/centimeter|točk/centimeter}})',
+'exif-xyresolution-i' => '$1 dpi ({{PLURAL:$1|točka/palec|točki/palec|točke/palec|točk/palec|točk/palec}})',
+'exif-xyresolution-c' => '$1 dpc ({{PLURAL:$1|točka/centimeter|točki/centimeter|točke/centimeter|točk/centimeter|točk/centimeter}})',
 
 'exif-colorspace-65535' => 'Neumerjeno',
 
@@ -3818,7 +3825,17 @@ Uporabite lahko tudi [[Special:EditWatchlist|standardni urejevalnik]].',
 'version-hook-name' => 'Ime razširitve',
 'version-hook-subscribedby' => 'Naročen s strani',
 'version-version' => '(Različica $1)',
-'version-license' => 'Licenca',
+'version-license' => 'Dovoljenje MediaWiki',
+'version-ext-license' => 'Dovoljenje',
+'version-ext-colheader-name' => 'Razširitev',
+'version-ext-colheader-version' => 'Različica',
+'version-ext-colheader-license' => 'Dovoljenje',
+'version-ext-colheader-description' => 'Opis',
+'version-ext-colheader-credits' => 'Avtorji',
+'version-license-title' => 'Dovoljenje za $1',
+'version-license-not-found' => 'Za razširitev nismo našli podrobnih informacij o dovoljenju.',
+'version-credits-title' => 'Zasluge za $1',
+'version-credits-not-found' => 'Za razširitev nismo našli podrobnih informacij o zaslugah.',
 'version-poweredby-credits' => "Ta wiki poganja '''[https://www.mediawiki.org/ MediaWiki]''', vse pravice pridržave © 2001-$1 $2.",
 'version-poweredby-others' => 'drugi',
 'version-poweredby-translators' => 'Prevajalci translatewiki.net',
@@ -4039,6 +4056,7 @@ V nasprotnem primeru lahko uporabite preprost obrazec spodaj. Vašo pripombo bom
 'api-error-overwrite' => 'Prepisovanje obstoječe datoteke ni dovoljeno.',
 'api-error-stashfailed' => 'Notranja napaka: strežnik ni uspel shraniti začasne datoteke.',
 'api-error-publishfailed' => 'Notranja napaka: strežnik ni uspel objaviti začasne datoteke.',
+'api-error-stasherror' => 'Pri nalaganju datoteke v hrambo je prišlo do napake.',
 'api-error-timeout' => 'Strežnik se ni odzval v pričakovanem času.',
 'api-error-unclassified' => 'Prišlo je do neznane napake',
 'api-error-unknown-code' => 'Neznana napaka: »$1«',
index e9e8351..075559a 100644 (file)
@@ -757,11 +757,11 @@ $2
 {{PLURAL:$3|Ky fjalëkalim i përkohshëm|Këto fjalëkalime të përkohshme}} do të përfundojë për {{PLURAL:$5|një ditë|$5 ditë}}.
 
 Ju duhet të kyçeni dhe të zgjidhni një fjalëkalim të ri tani. Nëse dikush tjetër e ka bërë këtë kërkesës, ose në qoftë se ju mbani mend fjalëkalimin tuaj origjinal, dhe ju nuk dëshirojni të ndryshoni atë, ju mund të injoroni këtë mesazh dhe do të vazhdoni përdorimin e fjalëkalimit tuaj të vjetër.',
-'passwordreset-emailtext-user' => 'Përdoruesi  $1 në {{SITENAME }} ka kërkuar një kujtesë për të dhënat e llogarisë suaj për {{SITENAME }} ($4). Përdoruesi në vijim {{PLURAL: $3 | llogaria është | llogaritë janë}} të lidhur me këtë postë elektronike: 
+'passwordreset-emailtext-user' => 'Përdoruesi  $1 në {{SITENAME }} ka kërkuar një kujtesë për të dhënat e llogarisë suaj për {{SITENAME }} ($4). Përdoruesi në vijim {{PLURAL:$3 | llogaria është | llogaritë janë}} të lidhur me këtë postë elektronike: 
 
 $2
 
-{{PLURAL: $3 | Ky fjalëkalim i përkohshëm | Këto fjalëkalime të përkohshme}} do të përfundojë në {{PLURAL: $5 | një ditë | $5 ditë}}.
+{{PLURAL:$3 | Ky fjalëkalim i përkohshëm | Këto fjalëkalime të përkohshme}} do të përfundojë në {{PLURAL:$5 | një ditë | $5 ditë}}.
 Ju duhet të kyçeni dhe të zgjidhni një fjalëkalim të ri tani. Nëse dikush tjetër e ka bërë këtë kërkesës, ose në qoftë se ju mbani mend fjalëkalimin tuaj origjinal, dhe ju nuk dëshirojni të ndryshoni atë, ju mund të injoroni këtë mesazh dhe do të vazhdoni përdorimin e fjalëkalimit tuaj të vjetër.',
 'passwordreset-emailelement' => 'Nofka: $1
 Fjalëkalimi i përkohshëm: $2',
index aad432b..f02f631 100644 (file)
@@ -515,12 +515,12 @@ $messages = array(
 'december-date' => '$1 децембар',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категорија|Категорије}}',
+'pagecategories' => '{{PLURAL:$1|1=Категорија|Категорије}}',
 'category_header' => 'Странице у категорији „$1“',
 'subcategories' => 'Поткатегорије',
 'category-media-header' => 'Датотеке у категорији „$1“',
 'category-empty' => "<div style=\"margin:2em 1em 0 1em; padding:0.5em; border:1px solid #AAA; text-align:center;\">''Ова категорија тренутно не садржи странице или датотеке.''</div>",
-'hidden-categories' => '{{PLURAL:$1|Сакривена категорија|Сакривене категорије}}',
+'hidden-categories' => '{{PLURAL:$1|1=Сакривена категорија|Сакривене категорије}}',
 'hidden-category-category' => 'Сакривене категорије',
 'category-subcat-count' => '{{PLURAL:$2|Ова категорија садржи само следећу поткатегорију.|Ова категорија има {{PLURAL:$1|следећу поткатегорију|следеће $1 поткатегорије|следећих $1 поткатегорија}}, од укупно $2.}}',
 'category-subcat-count-limited' => 'Ова категорија садржи {{PLURAL:$1|следећу поткатегорију|следеће $1 поткатегорије|следећих $1 поткатегорија}}.',
@@ -658,7 +658,7 @@ $1',
 
 'badaccess' => 'Грешке у овлашћењима',
 'badaccess-group0' => 'Није вам дозвољено да извршите захтевану радњу.',
-'badaccess-groups' => 'Радња је доступна само корисницима у {{PLURAL:$2|следећој групи|следећим групама}}:  $1.',
+'badaccess-groups' => 'Радња је доступна само корисницима у {{PLURAL:$2|1=следећој групи|следећим групама}}:  $1.',
 
 'versionrequired' => 'Потребно је издање $1 Медијавикија',
 'versionrequiredtext' => 'Потребно је издање $1 Медијавикија да бисте користили ову страницу.
@@ -672,8 +672,8 @@ $1',
 'youhavenewmessages' => 'Имате $1 ($2).',
 'youhavenewmessagesfromusers' => 'Имате $1 од {{PLURAL:$3|другог корисника|$3 корисника|$3 корисника}} ($2).',
 'youhavenewmessagesmanyusers' => 'Имате $1 од много корисника ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|нову поруку|999=нове поруке}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|последњу измену|999=последње измене}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=нову поруку|999=нове поруке}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|1=последњу измену|999=последње измене}}',
 'youhavenewmessagesmulti' => 'Имате нових порука на $1',
 'editsection' => 'уреди',
 'editold' => 'уреди',
@@ -766,7 +766,7 @@ $1',
 'badtitletext' => 'Наслов странице је неисправан, празан или је међујезички или међувики наслов погрешно повезан.
 Можда садржи знакове који се не могу користити у насловима.',
 'perfcached' => 'Следећи подаци су кеширани и могу бити застарели. Кеш садржи највише {{PLURAL:$1|један резултат|$1 резултата|$1 резултата}}.',
-'perfcachedts' => 'Следећи подаци су кеширании и последњи пут су ажурирани $2 у $3. Кеш садржи највише {{PLURAL:$4|један резултат|$4 резултата}}.',
+'perfcachedts' => 'Следећи подаци су кеширании и последњи пут су ажурирани $2 у $3. Кеш садржи највише {{PLURAL:$4|1=један резултат|$4 резултата}}.',
 'querypage-no-updates' => 'Ажурирање ове странице је тренутно онемогућено.
 Подаци који се овде налазе могу бити застарели.',
 'viewsource' => 'Изворни код',
@@ -781,7 +781,7 @@ $1',
 'editinginterface' => "'''Упозорење:''' уређујете страницу која се користи за приказивање текста корисничког окружења.
 Измене на овој страници ће утицати на све кориснике овог викија.
 Да бисте додали или изменили преводе свих викија, посетите [//translatewiki.net/wiki/Main_Page?setlang=sr_ec Транслејтвики], пројекат за локализацију Медијавикија.",
-'cascadeprotected' => 'Ова страница је закључана јер садржи {{PLURAL:$1|следећу страницу која је заштићена|следеће странице које су заштићене}} „преносивом“ заштитом:
+'cascadeprotected' => 'Ова страница је закључана јер садржи {{PLURAL:$1|1=следећу страницу која је заштићена|следеће странице које су заштићене}} „преносивом“ заштитом:
 $2',
 'namespaceprotected' => "Немате дозволу да уређујете странице у именском простору '''$1'''.",
 'customcssprotected' => 'Немате дозволу да мењате ову CSS страницу јер садржи личне поставке другог корисника.',
@@ -823,7 +823,7 @@ $2',
 'yourpasswordagain' => 'Потврда лозинке:',
 'createacct-yourpasswordagain' => 'Потврдите лозинку',
 'createacct-yourpasswordagain-ph' => 'Унесите лозинку још једном',
-'remembermypassword' => 'Запамти моју лозинку на овом прегледачу (најдуже $1 {{PLURAL:$1|дан|дана}})',
+'remembermypassword' => 'Запамти моју лозинку на овом прегледачу (најдуже $1 {{PLURAL:$1|1=дан|дана}})',
 'userlogin-remembermypassword' => 'Остави ме пријављеног/у',
 'userlogin-signwithsecure' => 'Користите сигурну конекцију',
 'yourdomainname' => 'Домен:',
@@ -981,18 +981,18 @@ $2',
 'passwordreset-email' => 'Е-адреса:',
 'passwordreset-emailtitle' => 'Детаљи налога на викију {{SITENAME}}',
 'passwordreset-emailtext-ip' => 'Неко, вероватно Ви, са ИП адресе $1 је затражио нову лозинку на викију {{SITENAME}} ($4).
-Следећи {{PLURAL:$3|кориснички налог је повезан|кориснички налози су повезани}} с овом е-адресом:
+Следећи {{PLURAL:$3|1=кориснички налог је повезан|кориснички налози су повезани}} с овом е-адресом:
 
 $2
 
-{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана}}.
+{{PLURAL:$3|1=Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|1=један дан|$5 дана}}.
 Пријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку и наставите користити стару лозинку.',
 'passwordreset-emailtext-user' => '{{GENDER:$1|Корисник|Корисница|Корисник}} је затражио подсетник о подацима за пријаву на викију {{SITENAME}} ($4).
-Следећи {{PLURAL:$3|кориснички налог је повезан|кориснички налози су повезани}} с овом е-адресом:
+Следећи {{PLURAL:$3|1=кориснички налог је повезан|кориснички налози су повезани}} с овом е-адресом:
 
 $2
 
-{{PLURAL:$3|Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана|$5 дана}}.
+{{PLURAL:$3|1=Привремена лозинка истиче|Привремене лозинке истичу}} за {{PLURAL:$5|један дан|$5 дана|$5 дана}}.
 Пријавите се и изаберите нову лозинку. Ако је неко други захтевао ову радњу или сте се сетили лозинке и не желите да је мењате, занемарите ову поруку.',
 'passwordreset-emailelement' => 'Корисничко име: $1
 Привремена лозинка: $2',
@@ -1186,11 +1186,11 @@ $2
 Последња ставка у историји је приказана испод:",
 'semiprotectedpagewarning' => "'''Напомена:''' ова страница је заштићена, тако да само регистровани корисници могу да је уређују.
 Последњи запис у дневнику је приказан испод:",
-'cascadeprotectedwarning' => "<div style=\"background: #FFBDBD; border: 1px solid #BB7979; color: #000000; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle; clear: both;\">'''Упозорење:''' Ова страница је заштићена тако да је могу уређивати само администратори, јер је она укључена у {{PLURAL:\$1|следећу страницу која је|следеће странице које су}} заштићене „преносивом“ заштитом:</div>",
+'cascadeprotectedwarning' => "<div style=\"background: #FFBDBD; border: 1px solid #BB7979; color: #000000; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle; clear: both;\">'''Упозорење:''' Ова страница је заштићена тако да је могу уређивати само администратори, јер је она укључена у {{PLURAL:\$1|1=следећу страницу која је|следеће странице које су}} заштићене „преносивом“ заштитом:</div>",
 'titleprotectedwarning' => "'''Упозорење: ова страница је заштићена тако да је могу направити само корисници [[Special:ListGroupRights|с одређеним правима]].'''",
-'templatesused' => '{{PLURAL:$1|Шаблон|Шаблони}} на овој страници:',
-'templatesusedpreview' => '{{PLURAL:$1|Шаблон|Шаблони}} у овом прегледу:',
-'templatesusedsection' => '{{PLURAL:$1|Шаблон|Шаблони}} у овом одељку:',
+'templatesused' => '{{PLURAL:$1|1=Шаблон|Шаблони}} на овој страници:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Шаблон|Шаблони}} у овом прегледу:',
+'templatesusedsection' => '{{PLURAL:$1|1=Шаблон|Шаблони}} у овом одељку:',
 'template-protected' => '(заштићен)',
 'template-semiprotected' => '(полузаштићен)',
 'hiddencategories' => 'Ова страница је члан {{PLURAL:$1|једне скривене категорије|$1 скривене категорије|$1 скривених категорија}}:',
@@ -1202,8 +1202,8 @@ $2
 'sectioneditnotsupported-title' => 'Уређивање одељка није подржано',
 'sectioneditnotsupported-text' => 'Уређивање одељка није подржано на овој страници.',
 'permissionserrors' => 'Грешка у дозволи',
-'permissionserrorstext' => 'Немате овлашћење за ту радњу из {{PLURAL:$1|следећег|следећих}} разлога:',
-'permissionserrorstext-withaction' => 'Немате дозволу за $2 из {{PLURAL:$1|следећег|следећих}} разлога:',
+'permissionserrorstext' => 'Немате овлашћење за ту радњу из {{PLURAL:$1|1=следећег|следећих}} разлога:',
+'permissionserrorstext-withaction' => 'Немате дозволу за $2 из {{PLURAL:$1|1=следећег|следећих}} разлога:',
 'recreate-moveddeleted-warn' => "'''Упозорење: поново правите страницу која је претходно обрисана.'''
 
 Размотрите да ли је прикладно да наставите с уређивањем ове странице.
@@ -1340,8 +1340,8 @@ $2
 'revdelete-no-file' => 'Тражена датотека не постоји.',
 'revdelete-show-file-confirm' => 'Желите ли да видите обрисану измену датотеке „<nowiki>$1</nowiki>“ од $2; $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Изабрана измена|Изабране измене}} странице '''[[:$1]]''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|1=Изабрана измена|Изабране измене}} странице '''[[:$1]]''''''",
+'logdelete-selected' => "'''{{PLURAL:$1|1=Изабрана ставка у историји|Изабране ставке у историји}}:'''",
 'revdelete-text' => "'''Обрисане измене ће и даље бити приказане у историји страница и записима, али делови њиховог садржаја неће бити доступни јавности.'''
 Други администратори на овом викију ће и даље имати приступ сакривеном садржају, а они ће тај садржај моћи да врате путем овог сучеља, осим ако нису постављена додатна ограничења.",
 'revdelete-confirm' => 'Потврдите да намеравате ово урадити, да разумете последице и да то чините у складу с [[{{MediaWiki:Policy-url}}|правилима]].',
@@ -1362,7 +1362,7 @@ $2
 'revdelete-suppress' => 'Сакриј податке од администратора и других корисника',
 'revdelete-unsuppress' => 'Уклони ограничења на враћеним изменама',
 'revdelete-log' => 'Разлог:',
-'revdelete-submit' => 'Примени на {{PLURAL:$1|изабрану измену|изабране измене}}',
+'revdelete-submit' => 'Примени на {{PLURAL:$1|1=изабрану измену|изабране измене}}',
 'revdelete-success' => "'''Видљивост измене је ажурирана.'''",
 'revdelete-failure' => "'''Не могу да ажурирам видљивост измене:'''
 $1",
@@ -1485,7 +1485,7 @@ $1",
 'searchall' => 'све',
 'showingresults' => "Испод {{PLURAL:$1|је приказан '''1''' резултат|су приказана '''$1''' резултата|је приказано '''$1''' резултата}} почев од броја '''$2'''.",
 'showingresultsnum' => "Испод {{PLURAL:$3|је приказан '''1''' резултат|су приказана '''$3''' резултата|је приказано '''$3''' резултата}} почев од броја '''$2'''.",
-'showingresultsheader' => "{{PLURAL:$5|Резултат '''$1''' од '''$3'''|Резултата '''$1 – $2''' од '''$3'''}} за '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|1=Резултат '''$1''' од '''$3'''|Резултата '''$1 – $2''' од '''$3'''}} за '''$4'''",
 'search-nonefound' => 'Нема поклапања.',
 'powersearch-legend' => 'Напредна претрага',
 'powersearch-ns' => 'Тражи у следећим именским просторима:',
@@ -1568,7 +1568,7 @@ $1",
 'youremail' => 'Е-адреса:',
 'username' => '{{GENDER:$1|Корисничко име}}:',
 'uid' => '{{GENDER:$1|Кориснички}} ID:',
-'prefs-memberingroups' => '{{GENDER:$2|Корисник|Корисница}} је члан {{PLURAL:$1|групе|група}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Корисник|Корисница}} је члан {{PLURAL:$1|1=групе|група}}:',
 'prefs-memberingroups-type' => '$1',
 'prefs-registration' => 'Време уписа:',
 'prefs-registration-date-time' => '$1',
@@ -1654,7 +1654,7 @@ $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}}:Аутоматски потврђени корисници',
@@ -1872,9 +1872,9 @@ $1",
 'filetype-badmime' => 'Датотеке MIME врсте „$1“ није дозвољено слати.',
 'filetype-bad-ie-mime' => 'Ова датотека се не може послати зато што би је Интернет експлорер уочио као „$1“, а то је забрањена и опасна врста датотеке.',
 'filetype-unwanted-type' => '„.$1“ је непожељна врста датотеке.
-{{PLURAL:$3|Пожељна врста датотеке је|Пожељне врсте датотека су}} $2.',
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|је забрањена врста датотеке|су забрањене врсте датотека}}.
-{{PLURAL:$3|Дозвољена врста датотеке је|Дозвољене врсте датотека су}} $2.',
+{{PLURAL:$3|1=Пожељна врста датотеке је|Пожељне врсте датотека су}} $2.',
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|1=је забрањена врста датотеке|су забрањене врсте датотека}}.
+{{PLURAL:$3|1=Дозвољена врста датотеке је|Дозвољене врсте датотека су}} $2.',
 'filetype-missing' => 'Ова датотека нема екстензију.',
 'empty-file' => 'Послата датотека је празна.',
 'file-too-large' => 'Послата датотека је превелика.',
@@ -1916,7 +1916,7 @@ $1",
 'fileexists-shared-forbidden' => 'Датотека с овим називом већ постоји у заједничком складишту.
 Вратите се и пошаљите датотеку с другим називом.
 [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Ово је дупликат {{PLURAL:$1|следеће датотеке|следећих датотека}}:',
+'file-exists-duplicate' => 'Ово је дупликат {{PLURAL:$1|1=следеће датотеке|следећих датотека}}:',
 'file-deleted-duplicate' => 'Датотека истоветна овој ([[:$1]]) је претходно обрисана.
 Погледајте историју брисања пре поновног слања.',
 'uploadwarning' => 'Упозорење при отпремању',
@@ -2201,7 +2201,7 @@ $1',
 
 # Random page
 'randompage' => 'Случајна страница',
-'randompage-nopages' => 'Нема страница у {{PLURAL:$2|следећем именском простору|следећим именским просторима}}: $1.',
+'randompage-nopages' => 'Нема страница у {{PLURAL:$2|1=следећем именском простору|следећим именским просторима}}: $1.',
 
 # Random page in category
 'randomincategory' => 'Случајна страница у категорији',
@@ -2323,7 +2323,7 @@ $1',
 'nopagetitle' => 'Не постоји таква страница',
 'nopagetext' => 'Тражена страница не постоји.',
 'pager-newer-n' => '{{PLURAL:$1|новији 1|новија $1|новијих $1}}',
-'pager-older-n' => '{{PLURAL:$1|старији 1|старијих $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=старији 1|старијих $1}}',
 'suppress' => 'Надзор',
 'querypage-disabled' => 'Ова посебна страница је онемогућена ради побољшања перформанси.',
 
@@ -2369,7 +2369,7 @@ $1',
 
 # Special:Categories
 'categories' => 'Категоријe',
-'categoriespagetext' => '{{PLURAL:$1|Следећа категорија садржи|Следеће категорије садрже}} странице или датотеке.
+'categoriespagetext' => '{{PLURAL:$1|1=Следећа категорија садржи|Следеће категорије садрже}} странице или датотеке.
 [[Special:UnusedCategories|Некоришћене категорије]] нису приказане овде.
 Погледајте и [[Special:WantedCategories|тражене категорије]].',
 'categoriesfrom' => 'Прикажи категорије почев од:',
@@ -2388,7 +2388,7 @@ $1',
 'linksearch-ok' => 'Претражи',
 'linksearch-text' => 'Могу се користити џокери попут „*.wikipedia.org“.
 Потребан је највиши домен, као „*.org“.<br />
-{{PLURAL:$2|Подржан протокол|Подржани протоколи}}: <code>$1</code> (задаје http:// ако не наведете протокол).',
+{{PLURAL:$2|1=Подржан протокол|Подржани протоколи}}: <code>$1</code> (задаје http:// ако не наведете протокол).',
 'linksearch-line' => '$1 веза у $2',
 'linksearch-error' => 'Џокери се могу појавити само на почетку адресе.',
 
@@ -2420,12 +2420,12 @@ $1',
 'listgrouprights-members' => '(списак чланова)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <code>($2)</code></span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <code>($2)</code></span>',
-'listgrouprights-addgroup' => 'додаје {{PLURAL:$2|следећу групу|следеће групе}}: $1',
-'listgrouprights-removegroup' => 'брише {{PLURAL:$2|следећу групу|следеће групе}}: $1',
+'listgrouprights-addgroup' => 'додаје {{PLURAL:$2|1=следећу групу|следеће групе}}: $1',
+'listgrouprights-removegroup' => 'брише {{PLURAL:$2|1=следећу групу|следеће групе}}: $1',
 'listgrouprights-addgroup-all' => 'додавање свих група',
 'listgrouprights-removegroup-all' => 'брисање свих група',
-'listgrouprights-addgroup-self' => 'додавање {{PLURAL:$2|групе|група}} на свој налог: $1',
-'listgrouprights-removegroup-self' => 'уклањање {{PLURAL:$2|групе|група}} са свог налога: $1',
+'listgrouprights-addgroup-self' => 'додавање {{PLURAL:$2|1=групе|група}} на свој налог: $1',
+'listgrouprights-removegroup-self' => 'уклањање {{PLURAL:$2|1=групе|група}} са свог налога: $1',
 'listgrouprights-addgroup-self-all' => 'Додај све групе на сопствени налог',
 'listgrouprights-removegroup-self-all' => 'Уклони све групе са сопственог налога',
 
@@ -2636,7 +2636,7 @@ $UNWATCHURL
 Ово су поставке странице '''$1''':",
 'protect-locked-access' => "Немате овлашћења за мењање степена заштите странице.
 Ово су тренутне поставке странице '''$1''':",
-'protect-cascadeon' => 'Ова страница је тренутно заштићена јер се налази на {{PLURAL:$1|страници која има|страницама које имају}} преносиву заштиту.
+'protect-cascadeon' => 'Ова страница је тренутно заштићена јер се налази на {{PLURAL:$1|1=страници која има|страницама које имају}} преносиву заштиту.
 Можете да промените степен заштите, али то неће утицати на преносиву заштиту.',
 'protect-default' => 'Дозволи свим корисницима',
 'protect-fallback' => 'Дозвољено само корисницима са дозволом „$1“',
@@ -2776,8 +2776,8 @@ $1',
 'isredirect' => 'преусмерење',
 'istemplate' => 'укључивање',
 'isimage' => 'веза до датотеке',
-'whatlinkshere-prev' => '{{PLURAL:$1|претходни|претходних $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|следећи|следећих $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=претходни|претходних $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=следећи|следећих $1}}',
 'whatlinkshere-links' => '← везе',
 'whatlinkshere-hideredirs' => '$1 преусмерења',
 'whatlinkshere-hidetrans' => '$1 укључивања',
@@ -2849,7 +2849,7 @@ $1',
 'blocklist-reason' => 'Разлог',
 'ipblocklist-submit' => 'Претражи',
 'ipblocklist-localblock' => 'Локално блокирање',
-'ipblocklist-otherblocks' => '{{PLURAL:$1|Друго блокирање|Друга блокирања}}',
+'ipblocklist-otherblocks' => '{{PLURAL:$1|1=Друго блокирање|Друга блокирања}}',
 'infiniteblock' => 'никада',
 'expiringblock' => 'истиче дана $1 у $2',
 'anononlyblock' => 'само анонимни',
@@ -2890,7 +2890,7 @@ $1',
 'ipb_hide_invalid' => 'Не могу да потиснем овај налог. Можда има превише измена.',
 'ipb_already_blocked' => '„$1“ је већ блокиран',
 'ipb-needreblock' => '$1 је већ блокиран. Желите ли да промените подешавања?',
-'ipb-otherblocks-header' => '{{PLURAL:$1|Друга блокада|Друге блокаде}}',
+'ipb-otherblocks-header' => '{{PLURAL:$1|1=Друга блокада|Друге блокаде}}',
 'unblock-hideuser' => 'Не можете деблокирати овог корисника јер је његово корисничко име сакривено.',
 'ipb_cant_unblock' => 'Грешка: блокада $1 не постоји. Можда је корисник деблокиран.',
 'ipb_blocked_as_range' => 'Грешка: ИП адреса $1 није директно блокирана и не може да се деблокира.
@@ -2988,7 +2988,7 @@ $1',
 'movepage-max-pages' => 'Највише $1 {{PLURAL:$1|страница је премештена|странице су премештене|страница је премештено}}, и више не може да буде аутоматски премештено.',
 'movelogpage' => 'Дневник премештања',
 'movelogpagetext' => 'Испод се налази списак премештања страница.',
-'movesubpage' => '{{PLURAL:$1|Подстраница|Подстранице}}',
+'movesubpage' => '{{PLURAL:$1|1=Подстраница|Подстранице}}',
 'movesubpagetext' => 'Ова страница има $1 {{PLURAL:$1|подстраницу приказану|подстранице приказане|подстраница приказаних}} испод.',
 'movenosubpage' => 'Ова страница нема подстрана.',
 'movereason' => 'Разлог:',
@@ -3125,7 +3125,7 @@ $1',
 'import-error-special' => 'Не могу да увезем страницу „$1“ јер она припада посебном именском простору које не прихвата странице.',
 'import-error-invalid' => 'Не могу да увезем страницу „$1“ јер је њен назив неисправан.',
 'import-error-unserialize' => 'Верзија $2 странице $1 не може бити прочитана/увезена. Записано је да верзија користи $3 тип садржаја у $4 формату.',
-'import-options-wrong' => '{{PLURAL:$2|Погрешна опција|Погрешне опције}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => '{{PLURAL:$2|1=Погрешна опција|Погрешне опције}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Наведена основна страница има неисправан наслов.',
 'import-rootpage-nosubpage' => 'Именски простор „$1“ основне странице не дозвољава подстранице.',
 
@@ -3244,14 +3244,14 @@ $1',
 'notacceptable' => 'Сервер не може да направи податке у формату погодном за ваш клијент.',
 
 # Attribution
-'anonymous' => 'Анонимни {{PLURAL:$1|корисник|корисници}} на пројекту {{SITENAME}}',
+'anonymous' => 'Анонимни {{PLURAL:$1|1=корисник|корисници}} на пројекту {{SITENAME}}',
 'siteuser' => '{{SITENAME}} корисник $1',
 'anonuser' => '{{SITENAME}} анониман корисник $1',
 'lastmodifiedatby' => 'Ову страницу је последњи пут {{GENDER:$4|изменио|изменила|изменио}} $3, $1 у $2.',
 'othercontribs' => 'Засновано на раду корисникâ $1.',
 'others' => 'други',
-'siteusers' => '{{PLURAL:$2|корисник|корисници}} на пројекту {{SITENAME}} $1',
-'anonusers' => '{{PLURAL:$2|анониман корисник|анонимни корисници}} на пројекту {{SITENAME}} $1',
+'siteusers' => '{{PLURAL:$2|1=корисник|корисници}} на пројекту {{SITENAME}} $1',
+'anonusers' => '{{PLURAL:$2|1=анониман корисник|анонимни корисници}} на пројекту {{SITENAME}} $1',
 'creditspage' => 'Аутори странице',
 'nocredits' => 'Не постоје подаци о аутору ове странице.',
 
@@ -3283,7 +3283,7 @@ $1',
 'pageinfo-robot-noindex' => 'Није дозвољено',
 'pageinfo-views' => 'Број прегледа',
 'pageinfo-watchers' => 'Број надгледача страница',
-'pageinfo-few-watchers' => 'Мање од $1 {{PLURAL:$1|пратиоца|пратилаца}}',
+'pageinfo-few-watchers' => 'Мање од $1 {{PLURAL:$1|1=пратиоца|пратилаца}}',
 'pageinfo-redirects-name' => 'Број преусмерења на ову страницу',
 'pageinfo-subpages-name' => 'Подстранице ове странице',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|преусмерење|преусмерења|преусмерења}}; $3 {{PLURAL:$3|непреусмерење|непреусмерења|непреусмерења}})',
@@ -3295,10 +3295,10 @@ $1',
 'pageinfo-authors' => 'Број засебних аутора',
 'pageinfo-recent-edits' => 'Број скорашњих измена (у последњих $1)',
 'pageinfo-recent-authors' => 'Број скорашњих засебних аутора',
-'pageinfo-magic-words' => '{{PLURAL:$1|Магична реч|Магичне речи}} ($1)',
-'pageinfo-hidden-categories' => '{{PLURAL:$1|Сакривена категорија|Сакривене категорије}} ($1)',
-'pageinfo-templates' => '{{PLURAL:$1|Укључени шаблон|Укључени шаблони}} ($1)',
-'pageinfo-transclusions' => '{{PLURAL:$1|Страница|Странице}} укључене у ($1)',
+'pageinfo-magic-words' => '{{PLURAL:$1|1=Магична реч|Магичне речи}} ($1)',
+'pageinfo-hidden-categories' => '{{PLURAL:$1|1=Сакривена категорија|Сакривене категорије}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|1=Укључени шаблон|Укључени шаблони}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|1=Страница|Странице}} укључене у ($1)',
 'pageinfo-toolboxlink' => 'Подаци о страници',
 'pageinfo-redirectsto' => 'Преусмерава на',
 'pageinfo-redirectsto-info' => 'подаци',
@@ -3367,7 +3367,7 @@ $1',
 'svg-long-error' => 'Неисправна SVG датотека: $1',
 'show-big-image' => 'Пуна величина',
 'show-big-image-preview' => 'Величина овог приказа: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Друга резолуција|Друге резолуције}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Друга резолуција|Друге резолуције}}: $1.',
 'show-big-image-size' => '$1 × $2 пиксела',
 'file-info-gif-looped' => 'петља',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|кадар|кадра|кадрова}}',
@@ -3400,15 +3400,15 @@ $1',
 'hours' => '{{PLURAL:$1|$1 сат|$1 сата|$1 сати}}',
 'days' => '{{PLURAL:$1|$1 дан|$1 дана|$1 дана}}',
 'weeks' => '{{PLURAL:$1|$1 седмица}}',
-'months' => '{{PLURAL:$1|$1 месец|$1 месеци}}',
-'years' => '{{PLURAL:$1|$1 година|$1 године}}',
+'months' => '{{PLURAL:$1|1=$1 месец|$1 месеци}}',
+'years' => '{{PLURAL:$1|1=$1 година|$1 године}}',
 'ago' => 'пре $1',
 'just-now' => 'управо сад',
 
 # Human-readable timestamps
-'hours-ago' => 'Пре $1 {{PLURAL:$1|сат|сати}}',
-'minutes-ago' => 'Пре $1 {{PLURAL:$1|минут|минута}}',
-'seconds-ago' => 'Пре $1 {{PLURAL:$1|секунда|секунди}}',
+'hours-ago' => 'Пре $1 {{PLURAL:$1|1=сат|сати}}',
+'minutes-ago' => 'Пре $1 {{PLURAL:$1|1=минут|минута}}',
+'seconds-ago' => 'Пре $1 {{PLURAL:$1|1=секунда|секунди}}',
 'monday-at' => 'Понедељак у $1',
 'tuesday-at' => 'Уторак у $1',
 'wednesday-at' => 'Среда у $1',
@@ -3933,7 +3933,7 @@ $8',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'све',
-'namespacesall' => 'Ñ\81ве',
+'namespacesall' => 'Ñ\81ви',
 'monthsall' => 'све',
 
 # Email address confirmation
@@ -4078,7 +4078,7 @@ $5
 
 # Friendlier slave lag warnings
 'lag-warn-normal' => 'Измене новије од $1 {{PLURAL:$1|секунде|секунде|секунди}} неће бити приказане.',
-'lag-warn-high' => 'Због преоптерећења базе података, измене новије од $1 {{PLURAL:$1|секунда|секунде}} неће бити приказане.',
+'lag-warn-high' => 'Због преоптерећења базе података, измене новије од $1 {{PLURAL:$1|1=секунда|секунде}} неће бити приказане.',
 
 # Watchlist editor
 'watchlistedit-numitems' => 'Ваш списак надгледања садржи {{PLURAL:$1|један наслов|$1 наслова|$1 наслова}}, без страница за разговор.',
@@ -4263,7 +4263,7 @@ $5
 'tags' => 'Важеће ознаке измена',
 'tag-filter' => 'Филтер за [[Special:Tags|ознаке]]:',
 'tag-filter-submit' => 'Филтрирај',
-'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Ознака|Ознаке}}]]: $2)',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|1=Ознака|Ознаке}}]]: $2)',
 'tags-title' => 'Ознаке',
 'tags-intro' => 'На овој страници је наведен списак ознака с којима програм може да означи измене и његово значење.',
 'tags-tag' => 'Назив ознаке',
@@ -4318,13 +4318,13 @@ $5
 # New logging system
 'logentry-delete-delete' => '$1 је {{GENDER:|обрисао|обрисала}} страницу $3',
 'logentry-delete-restore' => '$1 је {{GENDER:$2|вратио|вратила}} страницу $3',
-'logentry-delete-event' => '$1 је {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|догађаја|$5 догађаја}} у дневнику на $3: $4',
-'logentry-delete-revision' => '$1 је {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|измене|$5 измена}} на страници $3: $4',
+'logentry-delete-event' => '$1 је {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|1=догађаја|$5 догађаја}} у дневнику на $3: $4',
+'logentry-delete-revision' => '$1 је {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|1=измене|$5 измена}} на страници $3: $4',
 'logentry-delete-event-legacy' => '$1 је {{GENDER:$2|променио|променила}} видљивост догађаја у дневнику на $3',
 'logentry-delete-revision-legacy' => '$1 је {{GENDER:$2|променио|променила}} видљивост измена на страници $3',
 'logentry-suppress-delete' => '$1 је {{GENDER:$2|потиснуо|потиснула}} страницу $3',
-'logentry-suppress-event' => '$1 је тајно {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|догађаја|$5 догађаја}} у дневнику на $3: $4',
-'logentry-suppress-revision' => '$1 је тајно {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|измене|$5 измена}} на страници $3: $4',
+'logentry-suppress-event' => '$1 је тајно {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|1=догађаја|$5 догађаја}} у дневнику на $3: $4',
+'logentry-suppress-revision' => '$1 је тајно {{GENDER:$2|променио|променила}} видљивост {{PLURAL:$5|1=измене|$5 измена}} на страници $3: $4',
 'logentry-suppress-event-legacy' => '$1 је потајно {{GENDER:$2|променио|променила}} видљивост догађаја у дневнику на $3',
 'logentry-suppress-revision-legacy' => '$1 је тајно {{GENDER:$2|променио|променила}} видљивост измена на страници $3',
 'revdelete-content-hid' => 'садржај је сакривен',
@@ -4375,10 +4375,10 @@ $5
 'api-error-badaccess-groups' => 'Није вам дозвољено да отпремате датотеке на овај вики.',
 'api-error-badtoken' => 'Унутрашња грешка: неисправан жетон.',
 'api-error-copyuploaddisabled' => 'Отпремање путем адресе је онемогућено на овом серверу.',
-'api-error-duplicate' => 'Већ {{PLURAL:$1|постоји [$2 друга датотека]|постоје [$2 друге датотеке]}} с истим садржајем.',
-'api-error-duplicate-archive' => '{{PLURAL:$1|Постојала је [$2 друга датотека]|Постојале су [$2 друге датотеке]}} с истим садржајем, али {{PLURAL:$1|је обрисана|су обрисане}}.',
-'api-error-duplicate-archive-popup-title' => '{{PLURAL:$1|Дуплирана датотека која је већ обрисана|Дуплиране датотеке које су већ обрисане}}',
-'api-error-duplicate-popup-title' => '{{PLURAL:$1|Дуплирана датотека|Дуплиране датотеке}}',
+'api-error-duplicate' => 'Већ {{PLURAL:$1|1=постоји [$2 друга датотека]|постоје [$2 друге датотеке]}} с истим садржајем.',
+'api-error-duplicate-archive' => '{{PLURAL:$1|1=Постојала је [$2 друга датотека]|Постојале су [$2 друге датотеке]}} с истим садржајем, али {{PLURAL:$1|1=је обрисана|су обрисане}}.',
+'api-error-duplicate-archive-popup-title' => '{{PLURAL:$1|1=Дуплирана датотека која је већ обрисана|Дуплиране датотеке које су већ обрисане}}',
+'api-error-duplicate-popup-title' => '{{PLURAL:$1|1=Дуплирана датотека|Дуплиране датотеке}}',
 'api-error-empty-file' => 'Послата датотека је празна.',
 'api-error-emptypage' => 'Стварање нових празних страница није дозвољено.',
 'api-error-fetchfileerror' => 'Унутрашња грешка: дошло је до грешке при добављању датотеке.',
@@ -4387,7 +4387,7 @@ $5
 'api-error-file-too-large' => 'Послата датотека је превелика.',
 'api-error-filename-tooshort' => 'Назив датотеке је прекратак.',
 'api-error-filetype-banned' => 'Ова врста датотеке је забрањена.',
-'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|је забрањена врста датотеке|су забрањене врсте датотека}}. {{PLURAL:$3|Дозвољена је|Дозвољене су}} $2.',
+'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|1=је забрањена врста датотеке|су забрањене врсте датотека}}. {{PLURAL:$3|1=Дозвољена је|Дозвољене су}} $2.',
 'api-error-filetype-missing' => 'Датотеци недостаје наставак.',
 'api-error-hookaborted' => 'Измена је одбачена од куке за проширења.',
 'api-error-http' => 'Унутрашња грешка: не могу да се повежем са сервером.',
@@ -4428,7 +4428,7 @@ $5
 'rotate-comment' => 'Слика је ротирана у смеру казаљке на сату за {{PLURAL:$1|степени}}',
 
 # Limit report
-'limitreport-walltime-value' => '$1 {{PLURAL:$1|секунда|секунди}}',
+'limitreport-walltime-value' => '$1 {{PLURAL:$1|1=секунда|секунди}}',
 'limitreport-postexpandincludesize-value' => '$1/$2 бајтова',
 'limitreport-templateargumentsize-value' => '$1/$2 бајтова',
 
index d132cdc..790739c 100644 (file)
@@ -319,7 +319,7 @@ $messages = array(
 'tog-editsection' => 'Veze za uređivanje pojedinačnih odeljaka',
 'tog-editsectiononrightclick' => 'Uređivanje odeljaka desnim klikom na njihove naslove',
 'tog-showtoc' => 'Prikaži sadržaj stranica koje imaju više od tri podnaslova',
-'tog-rememberpassword' => 'Zapamti me na ovom pregledaču (najduže $1 {{PLURAL:$1|dan|dana}})',
+'tog-rememberpassword' => 'Zapamti me na ovom pregledaču (najduže $1 {{PLURAL:$1|1=dan|dana}})',
 'tog-watchcreations' => 'Dodaj stranice koje napravim i datoteke koje pošaljem u spisak nadgledanja',
 'tog-watchdefault' => 'Dodaj stranice i datoteke koje izmenim u spisak nadgledanja',
 'tog-watchmoves' => 'Dodaj stranice i datoteke koje premestim u spisak nadgledanja',
@@ -426,12 +426,12 @@ $messages = array(
 'december-date' => '$1. decembar',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Kategorija|Kategorije}}',
+'pagecategories' => '{{PLURAL:$1|1=Kategorija|Kategorije}}',
 'category_header' => 'Stranice u kategoriji „$1“',
 'subcategories' => 'Potkategorije',
 'category-media-header' => 'Datoteke u kategoriji „$1“',
 'category-empty' => "<div style=\"margin:2em 1em 0 1em; padding:0.5em; border:1px solid #AAA; text-align:center;\">''Ova kategorija trenutno ne sadrži stranice ili datoteke.''</div>",
-'hidden-categories' => '{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}}',
+'hidden-categories' => '{{PLURAL:$1|1=Sakrivena kategorija|Sakrivene kategorije}}',
 'hidden-category-category' => 'Sakrivene kategorije',
 'category-subcat-count' => '{{PLURAL:$2|Ova kategorija sadrži samo sledeću potkategoriju.|Ova kategorija ima {{PLURAL:$1|sledeću potkategoriju|sledeće $1 potkategorije|sledećih $1 potkategorija}}, od ukupno $2.}}',
 'category-subcat-count-limited' => 'Ova kategorija sadrži {{PLURAL:$1|sledeću potkategoriju|sledeće $1 potkategorije|sledećih $1 potkategorija}}.',
@@ -567,7 +567,7 @@ $1',
 
 'badaccess' => 'Greške u ovlašćenjima',
 'badaccess-group0' => 'Nije vam dozvoljeno da izvršite zahtevanu radnju.',
-'badaccess-groups' => 'Radnja je dostupna samo korisnicima u {{PLURAL:$2|sledećoj grupi|sledećim grupama}}:  $1.',
+'badaccess-groups' => 'Radnja je dostupna samo korisnicima u {{PLURAL:$2|1=sledećoj grupi|sledećim grupama}}:  $1.',
 
 'versionrequired' => 'Potrebno je izdanje $1 Medijavikija',
 'versionrequiredtext' => 'Potrebno je izdanje $1 Medijavikija da biste koristili ovu stranicu.
@@ -581,8 +581,8 @@ Pogledajte stranicu za [[Special:Version|izdanje]].',
 'youhavenewmessages' => 'Imate $1 ($2).',
 'youhavenewmessagesfromusers' => 'Imate $1 od {{PLURAL:$3|drugog korisnika|$3 korisnika|$3 korisnika}} ($2).',
 'youhavenewmessagesmanyusers' => 'Imate $1 od mnogo korisnika ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|novu poruku|999=nove poruke}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|poslednju izmenu|999=poslednje izmene}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=novu poruku|999=nove poruke}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|1=poslednju izmenu|999=poslednje izmene}}',
 'youhavenewmessagesmulti' => 'Imate novih poruka na $1',
 'editsection' => 'uredi',
 'editold' => 'uredi',
@@ -673,7 +673,7 @@ Nije dato nikakvo obrazloženje.',
 'badtitletext' => 'Naslov stranice je neispravan, prazan ili je međujezički ili međuviki naslov pogrešno povezan.
 Možda sadrži znakove koji se ne mogu koristiti u naslovima.',
 'perfcached' => 'Sledeći podaci su keširani i mogu biti zastareli. Keš sadrži najviše {{PLURAL:$1|jedan rezultat|$1 rezultata|$1 rezultata}}.',
-'perfcachedts' => 'Sledeći podaci su keširani i poslednji put su ažurirani $2 u $3. Keš sadrži najviše {{PLURAL:$4|jedan rezultat|$4 rezultata}}.',
+'perfcachedts' => 'Sledeći podaci su keširani i poslednji put su ažurirani $2 u $3. Keš sadrži najviše {{PLURAL:$4|1=jedan rezultat|$4 rezultata}}.',
 'querypage-no-updates' => 'Ažuriranje ove stranice je trenutno onemogućeno.
 Podaci koji se ovde nalaze mogu biti zastareli.',
 'viewsource' => 'Izvorni kod',
@@ -688,7 +688,7 @@ Da biste dodali ili izmenili prevode svih vikija, posetite [//translatewiki.net/
 'editinginterface' => "'''Upozorenje:''' uređujete stranicu koja se koristi za prikazivanje teksta korisničkog okruženja.
 Izmene na ovoj stranici će uticati na sve korisnike ovog vikija.
 Da biste dodali ili izmenili prevode svih vikija, posetite [//translatewiki.net/wiki/Main_Page?setlang=sr_ec Translejtviki], projekat za lokalizaciju Medijavikija.",
-'cascadeprotected' => 'Ova stranica je zaključana jer sadrži {{PLURAL:$1|sledeću stranicu koja je zaštićena|sledeće stranice koje su zaštićene}} „prenosivom“ zaštitom:
+'cascadeprotected' => 'Ova stranica je zaključana jer sadrži {{PLURAL:$1|1=sledeću stranicu koja je zaštićena|sledeće stranice koje su zaštićene}} „prenosivom“ zaštitom:
 $2',
 'namespaceprotected' => "Nemate dozvolu da uređujete stranice u imenskom prostoru '''$1'''.",
 'customcssprotected' => 'Nemate dozvolu da menjate ovu CSS stranicu jer sadrži lične postavke drugog korisnika.',
@@ -868,18 +868,18 @@ Možda ste već promenili lozinku ili ste zatražili novu privremenu lozinku.',
 'passwordreset-email' => 'E-adresa:',
 'passwordreset-emailtitle' => 'Detalji naloga na vikiju {{SITENAME}}',
 'passwordreset-emailtext-ip' => 'Neko, verovatno vi, sa IP adrese $1 je zatražio novu lozinku na vikiju {{SITENAME}} ($4).
-Sledeći {{PLURAL:$3|korisnički nalog je povezan|korisnički nalozi su povezani}} s ovom e-adresom:
+Sledeći {{PLURAL:$3|1=korisnički nalog je povezan|korisnički nalozi su povezani}} s ovom e-adresom:
 
 $2
 
-{{PLURAL:$3|Privremena lozinka ističe|Privremene lozinke ističu}} za {{PLURAL:$5|jedan dan|$5 dana|$5 dana}}.
+{{PLURAL:$3|1=Privremena lozinka ističe|Privremene lozinke ističu}} za {{PLURAL:$5|jedan dan|$5 dana|$5 dana}}.
 Prijavite se i izaberite novu lozinku. Ako je neko drugi zahtevao ovu radnju ili ste se setili lozinke i ne želite da je menjate, zanemarite ovu poruku.',
 'passwordreset-emailtext-user' => '{{GENDER:$1|Korisnik|Korisnica|Korisnik}} $1 je zatražio podsetnik o podacima za prijavu na vikiju {{SITENAME}} ($4).
-Sledeći {{PLURAL:$3|korisnički nalog je povezan|korisnički nalozi su povezani}} s ovom e-adresom:
+Sledeći {{PLURAL:$3|1=korisnički nalog je povezan|korisnički nalozi su povezani}} s ovom e-adresom:
 
 $2
 
-{{PLURAL:$3|Privremena lozinka ističe|Privremene lozinke ističu}} za {{PLURAL:$5|jedan dan|$5 dana|$5 dana}}.
+{{PLURAL:$3|1=Privremena lozinka ističe|Privremene lozinke ističu}} za {{PLURAL:$5|jedan dan|$5 dana|$5 dana}}.
 Prijavite se i izaberite novu lozinku. Ako je neko drugi zahtevao ovu radnju ili ste se setili lozinke i ne želite da je menjate, zanemarite ovu poruku.',
 'passwordreset-emailelement' => 'Korisničko ime: $1
 Privremena lozinka: $2',
@@ -1072,11 +1072,11 @@ Administrator koji je zaključao bazu podataka je naveo sledeće objašnjenje: $
 Poslednja stavka u istoriji je prikazana ispod:",
 'semiprotectedpagewarning' => "'''Napomena:''' ova stranica je zaštićena, tako da samo registrovani korisnici mogu da je uređuju.
 Poslednji zapis u dnevniku je prikazan ispod:",
-'cascadeprotectedwarning' => "<div style=\"background: #FFBDBD; border: 1px solid #BB7979; color: #000000; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle; clear: both;\">'''Upozorenje:''' Ova stranica je zaštićena tako da je mogu uređivati samo administratori, jer je ona uključena u {{PLURAL:\$1|sledeću stranicu koja je|sledeće stranice koje su}} zaštićene „prenosivom“ zaštitom:</div>",
+'cascadeprotectedwarning' => "<div style=\"background: #FFBDBD; border: 1px solid #BB7979; color: #000000; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle; clear: both;\">'''Upozorenje:''' Ova stranica je zaštićena tako da je mogu uređivati samo administratori, jer je ona uključena u {{PLURAL:\$1|1=sledeću stranicu koja je|sledeće stranice koje su}} zaštićene „prenosivom“ zaštitom:</div>",
 'titleprotectedwarning' => "'''Upozorenje: ova stranica je zaštićena tako da je mogu napraviti samo korisnici [[Special:ListGroupRights|s određenim pravima]].'''",
-'templatesused' => '{{PLURAL:$1|Šablon|Šabloni}} na ovoj stranici:',
-'templatesusedpreview' => '{{PLURAL:$1|Šablon|Šabloni}} u ovom pregledu:',
-'templatesusedsection' => '{{PLURAL:$1|Šablon|Šabloni}} u ovom odeljku:',
+'templatesused' => '{{PLURAL:$1|1=Šablon|Šabloni}} na ovoj stranici:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Šablon|Šabloni}} u ovom pregledu:',
+'templatesusedsection' => '{{PLURAL:$1|1=Šablon|Šabloni}} u ovom odeljku:',
 'template-protected' => '(zaštićen)',
 'template-semiprotected' => '(poluzaštićen)',
 'hiddencategories' => 'Ova stranica je član {{PLURAL:$1|jedne skrivene kategorije|$1 skrivene kategorije|$1 skrivenih kategorija}}:',
@@ -1088,8 +1088,8 @@ Možete se vratiti i urediti postojeću stranicu, ili se [[Special:UserLogin|pri
 'sectioneditnotsupported-title' => 'Uređivanje odeljka nije podržano',
 'sectioneditnotsupported-text' => 'Uređivanje odeljka nije podržano na ovoj stranici.',
 'permissionserrors' => 'Greška u dozvoli',
-'permissionserrorstext' => 'Nemate ovlašćenje za tu radnju iz {{PLURAL:$1|sledećeg|sledećih}} razloga:',
-'permissionserrorstext-withaction' => 'Nemate dozvolu za $2 iz {{PLURAL:$1|sledećeg|sledećih}} razloga:',
+'permissionserrorstext' => 'Nemate ovlašćenje za tu radnju iz {{PLURAL:$1|1=sledećeg|sledećih}} razloga:',
+'permissionserrorstext-withaction' => 'Nemate dozvolu za $2 iz {{PLURAL:$1|1=sledećeg|sledećih}} razloga:',
 'recreate-moveddeleted-warn' => "'''Upozorenje: ponovo pravite stranicu koja je prethodno obrisana.'''
 
 Razmotrite da li je prikladno da nastavite s uređivanjem ove stranice.
@@ -1225,8 +1225,8 @@ Ipak možete da vidite ovu razliku; više detalja možete naći u [{{fullurl:{{#
 'revdelete-no-file' => 'Tražena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Želite li da vidite obrisanu izmenu datoteke „<nowiki>$1</nowiki>“ od $2; $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izabrana izmena|Izabrane izmene}} stranice '''[[:$1]]''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|1=Izabrana izmena|Izabrane izmene}} stranice '''[[:$1]]''''''",
+'logdelete-selected' => "'''{{PLURAL:$1|1=Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:'''",
 'revdelete-text' => "'''Obrisane izmene će i dalje biti prikazane u istoriji stranica i zapisima, ali delovi njihovog sadržaja neće biti dostupni javnosti.'''
 Drugi administratori na ovom vikiju će i dalje imati pristup sakrivenom sadržaju, a oni će taj sadržaj moći da vrate putem ovog sučelja, osim ako nisu postavljena dodatna ograničenja.",
 'revdelete-confirm' => 'Potvrdite da nameravate ovo uraditi, da razumete posledice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
@@ -1247,7 +1247,7 @@ Drugi administratori na ovom vikiju će i dalje imati pristup sakrivenom sadrža
 'revdelete-suppress' => 'Sakrij podatke od administratora i drugih korisnika',
 'revdelete-unsuppress' => 'Ukloni ograničenja na vraćenim izmenama',
 'revdelete-log' => 'Razlog:',
-'revdelete-submit' => 'Primeni na {{PLURAL:$1|izabranu izmenu|izabrane izmene}}',
+'revdelete-submit' => 'Primeni na {{PLURAL:$1|1=izabranu izmenu|izabrane izmene}}',
 'revdelete-success' => "'''Vidljivost izmene je ažurirana.'''",
 'revdelete-failure' => "'''Ne mogu da ažuriram vidljivost izmene:'''
 $1",
@@ -1370,7 +1370,7 @@ Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{F
 'searchall' => 'sve',
 'showingresults' => "Ispod {{PLURAL:$1|je prikazan '''1''' rezultat|su prikazana '''$1''' rezultata|je prikazano '''$1''' rezultata}} počev od broja '''$2'''.",
 'showingresultsnum' => "Ispod {{PLURAL:$3|je prikazan '''1''' rezultat|su prikazana '''$3''' rezultata|je prikazano '''$3''' rezultata}} počev od broja '''$2'''.",
-'showingresultsheader' => "{{PLURAL:$5|Rezultat '''$1''' od '''$3'''|Rezultata '''$1 – $2''' od '''$3'''}} za '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|1=Rezultat '''$1''' od '''$3'''|Rezultata '''$1 – $2''' od '''$3'''}} za '''$4'''",
 'search-nonefound' => 'Nema poklapanja.',
 'powersearch-legend' => 'Napredna pretraga',
 'powersearch-ns' => 'Traži u sledećim imenskim prostorima:',
@@ -1453,7 +1453,7 @@ Ova radnja se ne može vratiti.',
 'youremail' => 'E-adresa:',
 'username' => '{{GENDER:$1|Korisničko ime}}:',
 'uid' => '{{GENDER:$1|Korisnički}} ID:',
-'prefs-memberingroups' => '{{GENDER:$2|Korisnik|Korisnica}} je član {{PLURAL:$1|grupe|grupa}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Korisnik|Korisnica}} je član {{PLURAL:$1|1=grupe|grupa}}:',
 'prefs-memberingroups-type' => '$1',
 'prefs-registration' => 'Vreme upisa:',
 'prefs-registration-date-time' => '$1',
@@ -1537,7 +1537,7 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'group-bot-member' => '{{GENDER:$1|bot}}',
 'group-sysop-member' => '{{GENDER:$1|administrator|administratorka}}',
 'group-bureaucrat-member' => '{{GENDER:$1|birokrata|birokratkinja}}',
-'group-suppress-member' => '{{GENDER:$1|revizor|revizorka|revizor}}',
+'group-suppress-member' => '{{GENDER:$1|revizor|revizorka}}',
 
 'grouppage-user' => '{{ns:project}}:Korisnici',
 'grouppage-autoconfirmed' => '{{ns:project}}:Automatski potvrđeni korisnici',
@@ -1746,9 +1746,9 @@ Promenite naziv datoteke i ponovo je pošaljite.',
 'filetype-badmime' => 'Datoteke MIME vrste „$1“ nije dozvoljeno slati.',
 'filetype-bad-ie-mime' => 'Ova datoteka se ne može poslati zato što bi je Internet eksplorer uočio kao „$1“, a to je zabranjena i opasna vrsta datoteke.',
 'filetype-unwanted-type' => '„.$1“ je nepoželjna vrsta datoteke.
-{{PLURAL:$3|Poželjna vrsta datoteke je|Poželjne vrste datoteka su}} $2.',
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|je zabranjena vrsta datoteke|su zabranjene vrste datoteka}}.
-{{PLURAL:$3|Dozvoljena vrsta datoteke je|Dozvoljene vrste datoteka su}} $2.',
+{{PLURAL:$3|1=Poželjna vrsta datoteke je|Poželjne vrste datoteka su}} $2.',
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|1=je zabranjena vrsta datoteke|su zabranjene vrste datoteka}}.
+{{PLURAL:$3|1=Dozvoljena vrsta datoteke je|Dozvoljene vrste datoteka su}} $2.',
 'filetype-missing' => 'Ova datoteka nema ekstenziju.',
 'empty-file' => 'Poslata datoteka je prazna.',
 'file-too-large' => 'Poslata datoteka je prevelika.',
@@ -1790,7 +1790,7 @@ Ako i dalje želite da pošaljete datoteku, vratite se i izaberite drugi naziv.
 'fileexists-shared-forbidden' => 'Datoteka s ovim nazivom već postoji u zajedničkom skladištu.
 Vratite se i pošaljite datoteku s drugim nazivom.
 [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Ovo je duplikat {{PLURAL:$1|sledeće datoteke|sledećih datoteka}}:',
+'file-exists-duplicate' => 'Ovo je duplikat {{PLURAL:$1|1=sledeće datoteke|sledećih datoteka}}:',
 'file-deleted-duplicate' => 'Datoteka istovetna ovoj ([[:$1]]) je prethodno obrisana.
 Pogledajte istoriju brisanja pre ponovnog slanja.',
 'uploadwarning' => 'Upozorenje pri otpremanju',
@@ -2075,7 +2075,7 @@ Pre brisanja proverite da li druge stranice vode do tih šablona.',
 
 # Random page
 'randompage' => 'Slučajna stranica',
-'randompage-nopages' => 'Nema stranica u {{PLURAL:$2|sledećem imenskom prostoru|sledećim imenskim prostorima}}: $1.',
+'randompage-nopages' => 'Nema stranica u {{PLURAL:$2|1=sledećem imenskom prostoru|sledećim imenskim prostorima}}: $1.',
 
 # Random redirect
 'randomredirect' => 'Slučajno preusmerenje',
@@ -2190,7 +2190,7 @@ Druge veb stranice mogu koristiti sliku preko direktne adrese, tako da i pored t
 'nopagetitle' => 'Ne postoji takva stranica',
 'nopagetext' => 'Tražena stranica ne postoji.',
 'pager-newer-n' => '{{PLURAL:$1|noviji 1|novija $1|novijih $1}}',
-'pager-older-n' => '{{PLURAL:$1|stariji 1|starijih $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=stariji 1|starijih $1}}',
 'suppress' => 'Nadzor',
 'querypage-disabled' => 'Ova posebna stranica je onemogućena radi poboljšanja performansi.',
 
@@ -2236,7 +2236,7 @@ Možda sadrži znakove koji se ne mogu koristiti u naslovima.',
 
 # Special:Categories
 'categories' => 'Kategorije',
-'categoriespagetext' => '{{PLURAL:$1|Sledeća kategorija sadrži|Sledeće kategorije sadrže}} stranice ili datoteke.
+'categoriespagetext' => '{{PLURAL:$1|1=Sledeća kategorija sadrži|Sledeće kategorije sadrže}} stranice ili datoteke.
 [[Special:UnusedCategories|Nekorišćene kategorije]] nisu prikazane ovde.
 Pogledajte i [[Special:WantedCategories|tražene kategorije]].',
 'categoriesfrom' => 'Prikaži kategorije počev od:',
@@ -2255,7 +2255,7 @@ Pogledajte i [[Special:WantedCategories|tražene kategorije]].',
 'linksearch-ok' => 'Pretraži',
 'linksearch-text' => 'Mogu se koristiti džokeri poput „*.wikipedia.org“.
 Potreban je najviši domen, kao „*.org“.<br />
-{{PLURAL:$2|Podržan protokol|Podržani protokoli}}: <code>$1</code> (zadaje http:// ako ne navedete protokol).',
+{{PLURAL:$2|1=Podržan protokol|Podržani protokoli}}: <code>$1</code> (zadaje http:// ako ne navedete protokol).',
 'linksearch-line' => '$1 veza u $2',
 'linksearch-error' => 'Džokeri se mogu pojaviti samo na početku adrese.',
 
@@ -2287,12 +2287,12 @@ Pogledajte [[{{MediaWiki:Listgrouprights-helppage}}|više detalja]] o pojedinač
 'listgrouprights-members' => '(spisak članova)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <code>($2)</code></span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <code>($2)</code></span>',
-'listgrouprights-addgroup' => 'dodaje {{PLURAL:$2|sledeću grupu|sledeće grupe}}: $1',
-'listgrouprights-removegroup' => 'briše {{PLURAL:$2|sledeću grupu|sledeće grupe}}: $1',
+'listgrouprights-addgroup' => 'dodaje {{PLURAL:$2|1=sledeću grupu|sledeće grupe}}: $1',
+'listgrouprights-removegroup' => 'briše {{PLURAL:$2|1=sledeću grupu|sledeće grupe}}: $1',
 'listgrouprights-addgroup-all' => 'dodavanje svih grupa',
 'listgrouprights-removegroup-all' => 'brisanje svih grupa',
-'listgrouprights-addgroup-self' => 'dodavanje {{PLURAL:$2|grupe|grupa}} na svoj nalog: $1',
-'listgrouprights-removegroup-self' => 'uklanjanje {{PLURAL:$2|grupe|grupa}} sa svog naloga: $1',
+'listgrouprights-addgroup-self' => 'dodavanje {{PLURAL:$2|1=grupe|grupa}} na svoj nalog: $1',
+'listgrouprights-removegroup-self' => 'uklanjanje {{PLURAL:$2|1=grupe|grupa}} sa svog naloga: $1',
 'listgrouprights-addgroup-self-all' => 'Dodaj sve grupe na sopstveni nalog',
 'listgrouprights-removegroup-self-all' => 'Ukloni sve grupe sa sopstvenog naloga',
 
@@ -2493,7 +2493,7 @@ Ovo su trenutne postavke stranice '''$1''':",
 Ovo su postavke stranice '''$1''':",
 'protect-locked-access' => "Nemate ovlašćenja za menjanje stepena zaštite stranice.
 Ovo su trenutne postavke stranice '''$1''':",
-'protect-cascadeon' => 'Ova stranica je trenutno zaštićena jer se nalazi na {{PLURAL:$1|stranici koja ima|stranicama koje imaju}} prenosivu zaštitu.
+'protect-cascadeon' => 'Ova stranica je trenutno zaštićena jer se nalazi na {{PLURAL:$1|1=stranici koja ima|stranicama koje imaju}} prenosivu zaštitu.
 Možete da promenite stepen zaštite, ali to neće uticati na prenosivu zaštitu.',
 'protect-default' => 'Dozvoli svim korisnicima',
 'protect-fallback' => 'Dozvoljeno samo korisnicima sa dozvolom „$1“',
@@ -2633,8 +2633,8 @@ Izveštaj o blokiranim korisnicima se nalazi ispod:',
 'isredirect' => 'preusmerenje',
 'istemplate' => 'uključivanje',
 'isimage' => 'veza ka datoteci',
-'whatlinkshere-prev' => '{{PLURAL:$1|prethodni|prethodnih $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|sledeći|sledećih $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=prethodni|prethodnih $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=sledeći|sledećih $1}}',
 'whatlinkshere-links' => '← veze',
 'whatlinkshere-hideredirs' => '$1 preusmerenja',
 'whatlinkshere-hidetrans' => '$1 uključivanja',
@@ -2706,7 +2706,7 @@ Blokiranja možete da pogledate [[Special:BlockList|ovde]].',
 'blocklist-reason' => 'Razlog',
 'ipblocklist-submit' => 'Pretraži',
 'ipblocklist-localblock' => 'Lokalno blokiranje',
-'ipblocklist-otherblocks' => '{{PLURAL:$1|Drugo blokiranje|Druga blokiranja}}',
+'ipblocklist-otherblocks' => '{{PLURAL:$1|1=Drugo blokiranje|Druga blokiranja}}',
 'infiniteblock' => 'nikada',
 'expiringblock' => 'ističe dana $1 u $2',
 'anononlyblock' => 'samo anonimni',
@@ -2747,7 +2747,7 @@ Tekuće zabrane i blokiranja možete naći [[Special:BlockList|ovde]].',
 'ipb_hide_invalid' => 'Ne mogu da potisnem ovaj nalog. Možda ima previše izmena.',
 'ipb_already_blocked' => '„$1“ je već blokiran',
 'ipb-needreblock' => '$1 je već blokiran. Želite li da promenite podešavanja?',
-'ipb-otherblocks-header' => '{{PLURAL:$1|Druga blokada|Druge blokade}}',
+'ipb-otherblocks-header' => '{{PLURAL:$1|1=Druga blokada|Druge blokade}}',
 'unblock-hideuser' => 'Ne možete deblokirati ovog korisnika jer je njegovo korisničko ime sakriveno.',
 'ipb_cant_unblock' => 'Greška: blokada $1 ne postoji. Možda je korisnik deblokiran.',
 'ipb_blocked_as_range' => 'Greška: IP adresa $1 nije direktno blokirana i ne može da se deblokira.
@@ -2845,7 +2845,7 @@ Izaberite drugo ime.',
 'movepage-max-pages' => 'Najviše $1 {{PLURAL:$1|stranica je premeštena|stranice su premeštene|stranica je premešteno}}, i više ne može da bude automatski premešteno.',
 'movelogpage' => 'Dnevnik premeštanja',
 'movelogpagetext' => 'Ispod se nalazi spisak premeštanja stranica.',
-'movesubpage' => '{{PLURAL:$1|Podstranica|Podstranice}}',
+'movesubpage' => '{{PLURAL:$1|1=Podstranica|Podstranice}}',
 'movesubpagetext' => 'Ova stranica ima $1 {{PLURAL:$1|podstranicu prikazanu|podstranice prikazane|podstranica prikazanih}} ispod.',
 'movenosubpage' => 'Ova stranica nema podstrana.',
 'movereason' => 'Razlog:',
@@ -2981,7 +2981,7 @@ Pokušajte ponovo.',
 'import-error-interwiki' => 'Ne mogu da uvezem stranicu „$1“ jer je njen naziv rezervisan za spoljno povezivanje (međuviki).',
 'import-error-special' => 'Ne mogu da uvezem stranicu „$1“ jer ona pripada posebnom imenskom prostoru koje ne prihvata stranice.',
 'import-error-invalid' => 'Ne mogu da uvezem stranicu „$1“ jer je njen naziv neispravan.',
-'import-options-wrong' => '{{PLURAL:$2|Pogrešna opcija|Pogrešne opcije}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => '{{PLURAL:$2|1=Pogrešna opcija|Pogrešne opcije}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Navedena osnovna stranica ima neispravan naslov.',
 'import-rootpage-nosubpage' => 'Imenski prostor „$1“ osnovne stranice ne dozvoljava podstranice.',
 
@@ -3100,14 +3100,14 @@ Pokušajte ponovo.',
 'notacceptable' => 'Server ne može da napravi podatke u formatu pogodnom za vaš klijent.',
 
 # Attribution
-'anonymous' => 'Anonimni {{PLURAL:$1|korisnik|korisnici}} na projektu {{SITENAME}}',
+'anonymous' => 'Anonimni {{PLURAL:$1|1=korisnik|korisnici}} na projektu {{SITENAME}}',
 'siteuser' => '{{SITENAME}} korisnik $1',
 'anonuser' => '{{SITENAME}} anoniman korisnik $1',
 'lastmodifiedatby' => 'Ovu stranicu je poslednji put {{GENDER:$4|izmenio|izmenila|izmenio}} $3, $1 u $2.',
 'othercontribs' => 'Zasnovano na radu korisnikâ $1.',
 'others' => 'drugi',
-'siteusers' => '{{PLURAL:$2|korisnik|korisnici}} na projektu {{SITENAME}} $1',
-'anonusers' => '{{PLURAL:$2|anoniman korisnik|anonimni korisnici}} na projektu {{SITENAME}} $1',
+'siteusers' => '{{PLURAL:$2|1=korisnik|korisnici}} na projektu {{SITENAME}} $1',
+'anonusers' => '{{PLURAL:$2|1=anoniman korisnik|anonimni korisnici}} na projektu {{SITENAME}} $1',
 'creditspage' => 'Autori stranice',
 'nocredits' => 'Ne postoje podaci o autoru ove stranice.',
 
@@ -3139,7 +3139,7 @@ Ovo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj li
 'pageinfo-robot-noindex' => 'Nije dozvoljeno',
 'pageinfo-views' => 'Broj pregleda',
 'pageinfo-watchers' => 'Broj nadgledača stranica',
-'pageinfo-few-watchers' => 'Manje od $1 {{PLURAL:$1|pratioca|pratilaca}}',
+'pageinfo-few-watchers' => 'Manje od $1 {{PLURAL:$1|1=pratioca|pratilaca}}',
 'pageinfo-redirects-name' => 'Broj preusmerenja na ovu stranicu',
 'pageinfo-subpages-name' => 'Podstranice ove stranice',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|preusmerenje|preusmerenja|preusmerenja}}; $3 {{PLURAL:$3|nepreusmerenje|nepreusmerenja|nepreusmerenja}})',
@@ -3151,10 +3151,10 @@ Ovo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj li
 'pageinfo-authors' => 'Broj zasebnih autora',
 'pageinfo-recent-edits' => 'Broj skorašnjih izmena (u poslednjih $1)',
 'pageinfo-recent-authors' => 'Broj skorašnjih zasebnih autora',
-'pageinfo-magic-words' => '{{PLURAL:$1|Magična reč|Magične reči}} ($1)',
-'pageinfo-hidden-categories' => '{{PLURAL:$1|Sakrivena kategorija|Sakrivene kategorije}} ($1)',
-'pageinfo-templates' => '{{PLURAL:$1|Uključeni šablon|Uključeni šabloni}} ($1)',
-'pageinfo-transclusions' => '{{PLURAL:$1|Stranica|Stranice}} uključene u ($1)',
+'pageinfo-magic-words' => '{{PLURAL:$1|1=Magična reč|Magične reči}} ($1)',
+'pageinfo-hidden-categories' => '{{PLURAL:$1|1=Sakrivena kategorija|Sakrivene kategorije}} ($1)',
+'pageinfo-templates' => '{{PLURAL:$1|1=Uključeni šablon|Uključeni šabloni}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|1=Stranica|Stranice}} uključene u ($1)',
 'pageinfo-toolboxlink' => 'Podaci o stranici',
 'pageinfo-redirectsto' => 'Preusmerava na',
 'pageinfo-redirectsto-info' => 'podaci',
@@ -3223,7 +3223,7 @@ Ako ga pokrenete, vaš računar može biti ugrožen.",
 'svg-long-error' => 'Neispravna SVG datoteka: $1',
 'show-big-image' => 'Puna veličina',
 'show-big-image-preview' => 'Veličina ovog prikaza: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Druga rezolucija|Druge rezolucije}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Druga rezolucija|Druge rezolucije}}: $1.',
 'show-big-image-size' => '$1 × $2 piksela',
 'file-info-gif-looped' => 'petlja',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|kadar|kadra|kadrova}}',
@@ -3773,7 +3773,7 @@ $8',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'sve',
-'namespacesall' => 'sve',
+'namespacesall' => 'svi',
 'monthsall' => 'sve',
 
 # Email address confirmation
@@ -4096,7 +4096,7 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'tags' => 'Važeće oznake izmena',
 'tag-filter' => 'Filter za [[Special:Tags|oznake]]:',
 'tag-filter-submit' => 'Filtriraj',
-'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Oznaka|Oznake}}]]: $2)',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|1=Oznaka|Oznake}}]]: $2)',
 'tags-title' => 'Oznake',
 'tags-intro' => 'Na ovoj stranici je naveden spisak oznaka s kojima program može da označi izmene i njegovo značenje.',
 'tags-tag' => 'Naziv oznake',
@@ -4151,13 +4151,13 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 # New logging system
 'logentry-delete-delete' => '$1 je {{GENDER:$2|obrisao|obrisala}} stranicu $3',
 'logentry-delete-restore' => '$1 je {{GENDER:$2|vratio|vratila}} stranicu $3',
-'logentry-delete-event' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|događaja|$5 daogađaja}} u dnevniku na $3: $4',
-'logentry-delete-revision' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|izmene|$5 izmena}} na stranici $3: $4',
+'logentry-delete-event' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|1=događaja|$5 daogađaja}} u dnevniku na $3: $4',
+'logentry-delete-revision' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|1=izmene|$5 izmena}} na stranici $3: $4',
 'logentry-delete-event-legacy' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost događaja u dnevniku na $3',
 'logentry-delete-revision-legacy' => '$1 je {{GENDER:$2|promenio|promenila}} vidljivost izmena na stranici $3',
 'logentry-suppress-delete' => '$1 je {{GENDER:$2|potisnuo|potisnula}} stranicu $3',
-'logentry-suppress-event' => '$1 je tajno {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|događaja|$5 događaja}} u dnevniku na $3: $4',
-'logentry-suppress-revision' => '$1 je tajno {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|izmene|$5 izmena}} na stranici $3: $4',
+'logentry-suppress-event' => '$1 je tajno {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|1=događaja|$5 događaja}} u dnevniku na $3: $4',
+'logentry-suppress-revision' => '$1 je tajno {{GENDER:$2|promenio|promenila}} vidljivost {{PLURAL:$5|1=izmene|$5 izmena}} na stranici $3: $4',
 'logentry-suppress-event-legacy' => '$1 је tajno {{GENDER:$2|promenio|promenila}} vidljivost događaj u dnevniku na $3',
 'logentry-suppress-revision-legacy' => '$1 je tajno {{GENDER:$2|promenio|promenila}} vidljivost izmena na stranici $3',
 'revdelete-content-hid' => 'sadržaj je sakriven',
@@ -4208,10 +4208,10 @@ U suprotnom, poslužite se jednostavnim obrascem ispod. Vaš komentar će stajat
 'api-error-badaccess-groups' => 'Nije vam dozvoljeno da otpremate datoteke na ovaj viki.',
 'api-error-badtoken' => 'Unutrašnja greška: neispravan žeton.',
 'api-error-copyuploaddisabled' => 'Otpremanje putem adrese je onemogućeno na ovom serveru.',
-'api-error-duplicate' => 'Već {{PLURAL:$1|postoji [$2 druga datoteka]|postoje [$2 druge datoteke]}} s istim sadržajem.',
-'api-error-duplicate-archive' => '{{PLURAL:$1|Postojala je [$2 druga datoteka]|Postojale su [$2 druge datoteke]}} s istim sadržajem, ali {{PLURAL:$1|je obrisana|su obrisane}}.',
-'api-error-duplicate-archive-popup-title' => '{{PLURAL:$1|Duplirana datoteka koja je već obrisana|Duplirane datoteke koje su već obrisane}}',
-'api-error-duplicate-popup-title' => '{{PLURAL:$1|Duplirana datoteka|Duplirane datoteke}}',
+'api-error-duplicate' => 'Već {{PLURAL:$1|1=postoji [$2 druga datoteka]|postoje [$2 druge datoteke]}} s istim sadržajem.',
+'api-error-duplicate-archive' => '{{PLURAL:$1|1=Postojala je [$2 druga datoteka]|Postojale su [$2 druge datoteke]}} s istim sadržajem, ali {{PLURAL:$1|1=je obrisana|su obrisane}}.',
+'api-error-duplicate-archive-popup-title' => '{{PLURAL:$1|1=Duplirana datoteka koja je već obrisana|Duplirane datoteke koje su već obrisane}}',
+'api-error-duplicate-popup-title' => '{{PLURAL:$1|1=Duplirana datoteka|Duplirane datoteke}}',
 'api-error-empty-file' => 'Poslata datoteka je prazna.',
 'api-error-emptypage' => 'Stvaranje novih praznih stranica nije dozvoljeno.',
 'api-error-fetchfileerror' => 'Unutrašnja greška: došlo je do greške pri dobavljanju datoteke.',
@@ -4220,7 +4220,7 @@ U suprotnom, poslužite se jednostavnim obrascem ispod. Vaš komentar će stajat
 'api-error-file-too-large' => 'Poslata datoteka je prevelika.',
 'api-error-filename-tooshort' => 'Naziv datoteke je prekratak.',
 'api-error-filetype-banned' => 'Ova vrsta datoteke je zabranjena.',
-'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|je zabranjena vrsta datoteke|su zabranjene vrste datoteka}}. {{PLURAL:$3|Dozvoljena je|Dozvoljene su}} $2.',
+'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|1=je zabranjena vrsta datoteke|su zabranjene vrste datoteka}}. {{PLURAL:$3|1=Dozvoljena je|Dozvoljene su}} $2.',
 'api-error-filetype-missing' => 'Datoteci nedostaje nastavak.',
 'api-error-hookaborted' => 'Izmena je odbačena od kuke za proširenja.',
 'api-error-http' => 'Unutrašnja greška: ne mogu da se povežem sa serverom.',
index 969503e..88698fc 100644 (file)
@@ -1468,7 +1468,7 @@ Notera dock att deras indexering av {{SITENAME}} kan vara något föråldrad.',
 'stub-threshold' => 'Gräns för <a href="#" class="stub">stubblänk</a>-formatering (byte):',
 'stub-threshold-disabled' => 'Avaktiverat',
 'recentchangesdays' => 'Antal dygn som skall visas i "senaste ändringarna":',
-'recentchangesdays-max' => 'Maximalt $1 {{PLURAL:$1|dygn|dygn}}',
+'recentchangesdays-max' => 'Maximalt $1 {{PLURAL:$1|dygn}}',
 'recentchangescount' => 'Antal redigeringar som visas som standard:',
 'prefs-help-recentchangescount' => 'Detta inkluderar senaste ändringarna, sidhistorik och loggar.',
 'prefs-help-watchlist-token2' => 'Detta är den hemliga nyckeln till webbflödet i din bevakningslista.
@@ -3013,7 +3013,7 @@ Spara den på din dator och ladda upp den här.',
 'importstart' => 'Importerar sidor....',
 'import-revision-count' => '$1 {{PLURAL:$1|version|versioner}}',
 'importnopages' => 'Det finns inga sidor att importera.',
-'imported-log-entries' => 'Importerade $1 {{PLURAL: $1 |loggpost|loggposter}}.',
+'imported-log-entries' => 'Importerade $1 {{PLURAL:$1 |loggpost|loggposter}}.',
 'importfailed' => 'Importen misslyckades: <nowiki>$1</nowiki>',
 'importunknownsource' => 'Okänd typ av importkälla',
 'importcantopen' => 'Misslyckades med att öppna importfilen.',
@@ -3312,7 +3312,7 @@ Om du kör den kan din dator skadas.",
 'seconds' => '{{PLURAL:$1|$1 sekund|$1 sekunder}}',
 'minutes' => '{{PLURAL:$1|$1 minut|$1 minuter}}',
 'hours' => '{{PLURAL:$1|$1 timme|$1 timmar}}',
-'days' => '{{PLURAL:$1|$1 dag|$1 dagar}}',
+'days' => '{{PLURAL:$1|$1 dygn}}',
 'weeks' => '{{PLURAL:$1|$1 vecka|$1 veckor}}',
 'months' => '{{PLURAL:$1|$1 månad|$1 månader}}',
 'years' => '{{PLURAL:$1|$1 år}}',
index 7c07526..72ab692 100644 (file)
@@ -350,7 +350,7 @@ $messages = array(
 'redirectpagesub' => 'Ukurasa wa kuelekeza',
 'lastmodifiedat' => 'Ukurasa huu umebadilishwa kwa mara ya mwisho tarehe $1, saa $2.',
 'viewcount' => 'Ukurasa huu umetembelewa mara {{PLURAL:$1|moja tu|$1}}.',
-'protectedpage' => 'Kurasa iliyolindwa',
+'protectedpage' => 'Ukurasa uliolindwa',
 'jumpto' => 'Rukia:',
 'jumptonavigation' => 'urambazaji',
 'jumptosearch' => 'tafuta',
@@ -550,11 +550,17 @@ Unaweza kuendelea kutumia {{SITENAME}} bila kutaja jina lako, au unaweza <span c
 'gotaccountlink' => 'Ingia',
 'userlogin-resetlink' => 'Umesahau maelezo yako ya kuingia?',
 'createacct-emailrequired' => 'Anwani ya barua pepe',
+'createacct-emailoptional' => 'Anwani ya barua pepe (si lazima)',
 'createacct-email-ph' => 'Weka anwani yako ya barua pepe',
 'createacct-another-email-ph' => 'Weka anwani ya barua pepe',
 'createaccountmail' => 'Kwa barua pepe',
+'createacct-realname' => 'Jina la kweli (si lazima)',
 'createaccountreason' => 'Sababu:',
 'createacct-reason' => 'Sababu',
+'createacct-benefit-heading' => '{{SITENAME}} inatengenezwa na watu kama wewe.',
+'createacct-benefit-body1' => '{{PLURAL:$1|haririo|maharirio}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|ukurasa|kurasa}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|mhariri|wahariri}} wa hivi karibuni',
 'badretype' => 'Maneno uliyoyaandika ni tofauti.',
 'userexists' => 'Jina la mtumiaji uliloingiza tayari linatumika.
 Tafadhali chagua jina lingine.',
@@ -659,17 +665,17 @@ Inawezekana ikawa tayari umefaulu kubadilisha neno lako la siri au neno la siri
 'passwordreset-capture-help' => 'Iwapo utatia alama kisanduku hiki, barua-pepe (pamoja na nenosiri la muda) litaoneshwa kwako na vilevile litatumwa kwa mtumiaji.',
 'passwordreset-email' => 'Anwani ya barua pepe:',
 'passwordreset-emailtitle' => 'Maelezo ya akaunti kwenye {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Kuna mtu (huenda ikawa ni wewe, kutoka anwani ya IP $1) aliyeomba kukumbushwa kuhusu maelezo ya akaunti yako katika {{SITENAME}} ($4). {{PLURAL:$3|Akaunti inayofuata imeunganishwa|Akaunti zinazofuata zimeunganishwa}} na anwani ya barua pepe hii:
+'passwordreset-emailtext-ip' => 'Kuna mtu (huenda ikawa ni wewe, kutoka anwani ya IP $1) aliyeomba neno la siri la akaunti yako liwekwe upya katika {{SITENAME}} ($4). {{PLURAL:$3|Akaunti inayofuata imeunganishwa|Akaunti zinazofuata zimeunganishwa}} na anwani ya barua pepe hii:
 
 $2
 
 {{PLURAL:$3|Neno la siri hili litakwisha|Maneno ya siri haya yatakwisha}} baada ya siku {{PLURAL:$5|$5}}.
 Tafadhali ingia sasa na uchague neno jipya la siri. Kama mtu mwingine ameomba hili, au ikiwa umekumbuka neno lako la siri na hutaki kulibadilisha tena, basi usijali ujumbe huu, na uendelee kutumia neno la siri lako la zamani.',
-'passwordreset-emailtext-user' => 'Mtumiaji $1 kwenye {{SITENAME}} ameomba akumbushwe maelezo ya akaunti yako katika {{SITENAME}} ($4). {{PLURAL:$3|Akaunti inayofuata imeunganishwa|Akaunti zinazofuata zimeunganishwa}} na anwani ya barua pepe hii:
+'passwordreset-emailtext-user' => 'Mtumiaji $1 kwenye {{SITENAME}} ameomba neno la siri la akaunti yako liwekwe upya katika {{SITENAME}} ($4). {{PLURAL:$3|Akaunti inayofuata imeunganishwa|Akaunti zinazofuata zimeunganishwa}} na anwani ya barua pepe hii:
 
 $2
 
-{{PLURAL:$3|Neno la siri hili litakwisha|Maneno ya siri haya yatakwisha}} baada ya siku {{PLURAL:$5|$5}}.
+{{PLURAL:$3|Neno la siri hili litakwisha|Maneno ya siri haya yatakwisha}} baada ya siku {{PLURAL:$5}}.
 Tafadhali ingia sasa na uchague neno jipya la siri. Kama mtu mwingine ameomba hili, au ikiwa umekumbuka neno lako la siri na hutaki kulibadilisha tena, basi usijali ujumbe huu, na uendelee kutumia neno la siri lako la zamani.',
 'passwordreset-emailelement' => 'Jina la mtumiaji: $1
 Neno la siri la muda: $2',
@@ -685,6 +691,7 @@ Neno la siri la muda: $2',
 'changeemail-oldemail' => 'Anwani ya barua pepe ya sasa:',
 'changeemail-newemail' => 'Anwani mpya ya barua pepe:',
 'changeemail-none' => '(hakuna)',
+'changeemail-password' => 'Neno lako la siri kuingia {{SITENAME}}:',
 'changeemail-submit' => 'Badilisha anwani ya barua pepe',
 'changeemail-cancel' => 'Batilisha',
 
@@ -901,7 +908,7 @@ Baadhi ya vigezo havitaweza kuingizwa.",
 'undo-success' => 'Sahihisho linaweza kutenguliwa.
 Tafadhali tazama linganisho lililopo chini ili kuthibitisha kwamba kutengua ndiyo inayotakiwa, na kisha uhifadhi mabadiliko ili kukamilisha kutengua sahihisho.',
 'undo-failure' => 'Haririo halikuweza kutenguliwa kwa kufuatia mgongano wa maharirio katikati.',
-'undo-norev' => 'Sahihisho halikuweza kutenguliwa kwa sababu halipo au limeshafutwa.',
+'undo-norev' => 'Haririo halikuweza kutenguliwa kwa sababu halipo au limeshafutwa.',
 'undo-summary' => 'Tengua pitio $1 lililoandikwa na [[Special:Contributions/$2|$2]] ([[User talk:$2|Majadiliano]])',
 
 # Account creation failure
@@ -1372,7 +1379,7 @@ Taarifa hii itakuwa wazi.',
 'rclistfrom' => 'Onyesha mabadiliko mapya kuanzia $1',
 'rcshowhideminor' => '$1 mabadiliko madogo',
 'rcshowhidebots' => 'roboti $1',
-'rcshowhideliu' => '$1 watumiaji sasa',
+'rcshowhideliu' => 'watumiaji $1 waliojisajili',
 'rcshowhideanons' => '$1 watumiaji bila majina',
 'rcshowhidepatr' => '$1 masahihisho yanayofanywa doria',
 'rcshowhidemine' => '$1 masahihisho yangu',
@@ -1951,12 +1958,8 @@ Anwani yako ya barua pepe ulioitaja katika [[Special:Preferences|mapendekezo yak
 'watchnologin' => 'Hujaingia',
 'watchnologintext' => 'Lazima uwe [[Special:UserLogin|umeshaingia]] ili uweze kuhariri orodha ya maangalizi yako.',
 'addwatch' => 'Ongeza kwenye orodha ya maangalizi',
-'addedwatchtext' => "Ukurasa \"[[:\$1]]\" umewekwa kwenye [[Special:Watchlist|maangalizi]] yako.
-Mabadiliko katika ukurasa huo na ukurasa wake wa majadiliano utaonekana hapo,
-na ukurasa utaonyeshwa wenye '''koze''' kwenye [[Special:RecentChanges|orodha ya mabadiliko ya karibuni]]
-ili kukusaidia kutambua.
-
-Ukitaka kufuta ukurasa huo kutoka maangalizi yako baadaye, bonyeza \"Acha kufuatilia\" katika mwamba pembeni.",
+'addedwatchtext' => 'Ukurasa "[[:$1]]" umewekwa kwenye [[Special:Watchlist|maangalizi]] yako.
+Mabadiliko katika ukurasa huo na ukurasa wake wa majadiliano utaonekana hapo.',
 'removewatch' => 'Ondoa kutoka orodha ya maangalizi',
 'removedwatchtext' => 'Ukurasa "[[:$1]]" umeondoshwa kutoka katika [[Special:Watchlist|maangalizi yako]].',
 'watch' => 'Fuatilia',
@@ -1984,15 +1987,22 @@ Ukitaka kufuta ukurasa huo kutoka maangalizi yako baadaye, bonyeza \"Acha kufuat
 'enotif_mailer' => 'Huduma ya taarifa ya barua pepe kutoka kwa {{SITENAME}}',
 'enotif_reset' => 'Weka alama kwa kurasa zote zilizotembelewa',
 'enotif_impersonal_salutation' => 'Kwa mtumiaji wa {{SITENAME}}',
+'enotif_subject_deleted' => '$2 {{GENDER:$2|alifuta}} ukurasa wa $1 katika {{SITENAME}}',
+'enotif_subject_created' => '$2 {{GENDER:$2|alianzisha}} ukurasa wa $1 katika {{SITENAME}}',
+'enotif_subject_moved' => '$2 {{GENDER:$2|alihamisha}} ukurasa wa $1 katika {{SITENAME}}',
+'enotif_subject_restored' => '$2 {{GENDER:$2|alirudisha}} ukurasa wa $1 katika {{SITENAME}}',
+'enotif_subject_changed' => '$2 {{GENDER:$2|alibadilisha}} ukurasa wa $1 katika {{SITENAME}}',
+'enotif_body_intro_deleted' => '$2 {{GENDER:$2|alifuta}} ukurasa wa $1 katika {{SITENAME}} tarehe $PAGEEDITDATE. Tazama $3.',
+'enotif_body_intro_created' => '$2 {{GENDER:$2|alianzisha}} ukurasa wa $1 katika {{SITENAME}} tarehe $PAGEEDITDATE. Tazama $3 kuona ukurasa ulivyo sasa hivi.',
+'enotif_body_intro_moved' => '$2 {{GENDER:$2|alihamisha}} ukurasa wa $1 katika {{SITENAME}} tarehe $PAGEEDITDATE. Tazama $3 kuona ukurasa ulivyo sasa hivi.',
+'enotif_body_intro_restored' => '$2 {{GENDER:$2|alirudisha}} ukurasa wa $1 katika {{SITENAME}} tarehe $PAGEEDITDATE. Tazama $3 kuona ukurasa ulivyo sasa hivi.',
+'enotif_body_intro_changed' => '$2 {{GENDER:$2|alibadilisha}} ukurasa wa $1 katika {{SITENAME}} tarehe $PAGEEDITDATE. Tazama $3 kuona ukurasa ulivyo sasa hivi.',
 'enotif_lastvisited' => 'Tazama $1 kwa mabadiliko yote tangu ziara yako ya mwisho.',
 'enotif_lastdiff' => 'Tazama badiliko hili hapo $1.',
 'enotif_anon_editor' => 'mtumiaji bila jina $1',
 'enotif_body' => 'Mpendwa $WATCHINGUSERNAME,
 
-
-$PAGEEDITOR $CHANGEDORCREATED ukurasa wa $PAGETITLE kwenye {{SITENAME}} saa $PAGEEDITDATE. Tazama $PAGETITLE_URL kuona ukurasa ulivyo sasa hivi.
-
-$NEWPAGE
+$PAGEINTRO $NEWPAGE
 
 Muhtasari wa mhariri: $PAGESUMMARY $PAGEMINOREDIT
 
@@ -2000,12 +2010,15 @@ Uwasiliane na mhariri kwa njia hizi:
 barua pepe: $PAGEEDITOR_EMAIL
 wiki: $PAGEEDITOR_WIKI
 
-Hutapata taarifa za mabadiliko mengine yatakayotokea kwenye ukurasa huu hadi utakapotazama ukurasa.
+Hutapata taarifa za mabadiliko mengine yatakayotokea kwenye ukurasa huu hadi utakapotazama ukurasa wakati umeingia akaunti yako.
 Au unaweza kuweka upya maombi ya kupewa taarifa kwa ajili ya kurasa zote zilizopo kwenye orodha yako ya maangalizi.
 
-             Kutoka kwa {{SITENAME}}
+             Kutoka kwa mashine ya kutoa taarifa ya {{SITENAME}}
 
 --
+Ukitaka kubadilisha mapendekezo yako kuhusu kutolewa taarifa, nenda
+{{canonicalurl:{{#special:Preferences}}}}
+
 Ukitaka kubadilisha mapendekezo yako yanayohusika orodha ya maangalizi yako, nenda
 {{canonicalurl:{{#special:EditWatchlist}}}}
 
@@ -2975,6 +2988,7 @@ Pia unaweza [[Special:EditWatchlist|kutumia kihariri cha kawaida]].',
 'version-other' => 'Zingine',
 'version-version' => '(Toleo $1)',
 'version-license' => 'Ruhusa',
+'version-ext-colheader-description' => 'Ufafanuzi',
 'version-poweredby-credits' => "Wiki hii inaendeshwa na bidhaa pepe ya '''[https://www.mediawiki.org/ MediaWiki]''', hakimiliki © 2001-$1 $2.",
 'version-poweredby-others' => 'wengine',
 'version-license-info' => 'MediaWiki ni bidhaa pepe huru; unaweza kuisambaza pamoja na kuitumia na kuibadilisha kutokana na masharti ya leseni ya GNU General Public License inayotolewa na Free Software Foundation (Shirika la Bidhaa Pepe Huru); ama toleo 2 la hakimiliki, ama (ukitaka) toleo lolote linalofuata.
@@ -2987,6 +3001,9 @@ Huwa unapokea [{{SERVER}}{{SCRIPTPATH}}/COPYING nakala ya GNU General Public Lic
 'version-software-version' => 'Toleo',
 'version-entrypoints-header-url' => 'KISARA Kioneshi Sanifu Raslimali',
 
+# Special:Redirect
+'redirect-submit' => 'Nenda',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Tafuta mafaili ya nakili',
 'fileduplicatesearch-summary' => 'Kutafuta mafaili ya nakili kwa kuzingatia thamani za reli.',
index 156104c..4b16b6b 100644 (file)
@@ -3637,11 +3637,11 @@ $5
 
 # Durations
 'duration-seconds' => '$1 {{PLURAL:$1|நொடி|நொடிகள்}}',
-'duration-minutes' => '{{PLURAL: $1|நிமிடம்|நிமிடங்கள்}}',
+'duration-minutes' => '{{PLURAL:$1|நிமிடம்|நிமிடங்கள்}}',
 'duration-hours' => '$1 {{PLURAL:$1|மணி|மணிகள்}} முன்பு',
 'duration-days' => '$1 {{PLURAL:$1|நாள்|நாட்கள்}}',
-'duration-weeks' => '{{PLURAL: $1|வாரம்|வாரங்கள்}}',
-'duration-years' => '{{PLURAL: $1|வருடம்|வருடங்கள்}}',
+'duration-weeks' => '{{PLURAL:$1|வாரம்|வாரங்கள்}}',
+'duration-years' => '{{PLURAL:$1|வருடம்|வருடங்கள்}}',
 'duration-decades' => '$1 {{PLURAL:$1|பத்தாண்டு|பத்தாண்டுகள்}}',
 'duration-centuries' => '$1 {{PLURAL:$1|நூற்றாண்டு|நூற்றாண்டுகள்}}',
 'duration-millennia' => '$1 {{PLURAL:$1|ஆயிரம் ஆண்டு|ஆயிரம் ஆண்டுகள்}}',
index 8818533..a15d8e9 100644 (file)
@@ -3648,7 +3648,7 @@ $5
 'duration-minutes' => '$1 {{PLURAL:$1|నిమిషం|నిమిషాలు}}',
 'duration-hours' => '$1 {{PLURAL:$1|గంట|గంటలు}}',
 'duration-days' => '$1 {{PLURAL:$1|రోజు|రోజులు}}',
-'duration-weeks' => '$1 {{PLURAL: $1|వారం|వారాలు}}',
+'duration-weeks' => '$1 {{PLURAL:$1|వారం|వారాలు}}',
 'duration-years' => '$1 {{PLURAL:$1|సంవత్సరం|సంవత్సరాలు}}',
 'duration-decades' => '$1 {{PLURAL:$1|దశాబ్దం|దశాబ్దాలు}}',
 'duration-centuries' => '$1 {{PLURAL:$1|శతాబ్దం|శతాబ్దాలు}}',
index 950bc05..ecb95ea 100644 (file)
@@ -1646,7 +1646,7 @@ $1",
 'filetype-badmime' => 'ไม่อนุญาตให้อัปโหลดไฟล์ที่เป็นไมม์ชนิด "$1"',
 'filetype-bad-ie-mime' => 'ไม่สามารถอัปโหลดไฟล์นี้เนื่องจากอินเทอร์เน็ตเอกซ์พลอเรอร์จะตรวจจับว่าเป็น "$1" ซึ่งเป็นชนิดไฟล์ที่ไม่อนุญาตและอาจเป็นอันตราย',
 'filetype-unwanted-type' => "{{PLURAL:\$3|ไฟล์|ไฟล์}}ชนิด '''\".\$1\"''' เป็นไฟล์ที่ไม่สามารถอัปโหลดได้ ไฟล์ที่สามารถใช้ได้ ได้แก่ \$2",
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL: $4|เป็นชนิดไฟล์ที่ไม่อนุญาต|เป็นชนิดไฟล์ที่ไม่อนุญาต}}
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|เป็นชนิดไฟล์ที่ไม่อนุญาต|เป็นชนิดไฟล์ที่ไม่อนุญาต}}
 {{PLURAL:$3|ชนิดไฟล์|ชนิดไฟล์}}ที่อนุญาตคือ $2',
 'filetype-missing' => 'นามสกุลไฟล์หายไป (เช่น ".jpg")',
 'empty-file' => 'ไฟล์ที่คุณส่งมานั้นว่าง',
@@ -1987,8 +1987,8 @@ $1',
 'nmembers' => '$1 หน้า',
 'nrevisions' => '$1 รุ่น',
 'nviews' => '$1 ครั้ง',
-'nimagelinks' => 'ใช้ใน $1 {{PLURAL: $1|หน้า|หน้า}}',
-'ntransclusions' => 'ใช้ใน $1 {{PLURAL: $1|หน้า|หน้า}}',
+'nimagelinks' => 'ใช้ใน $1 {{PLURAL:$1|หน้า|หน้า}}',
+'ntransclusions' => 'ใช้ใน $1 {{PLURAL:$1|หน้า|หน้า}}',
 'specialpage-empty' => 'ไม่มีผลลัพธ์รายงานนี้',
 'lonelypages' => 'หน้าสุดทาง',
 'lonelypagestext' => 'หน้าต่อไปนี้ไม่มีการเชื่อมโยงหรือถูกรวมไว้ในหน้าอื่นใน {{SITENAME}}',
index c93244a..0cc4454 100644 (file)
@@ -1939,7 +1939,7 @@ Nasugpo na ang mga ipinasok na <del>inekisan</del>.',
 'nrevisions' => '$1 {{PLURAL:$1|pagbabago|mga pagbabago}}',
 'nviews' => '$1 {{PLURAL:$1|pagtingin|mga pagtingin}}',
 'nimagelinks' => 'Ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}',
-'ntransclusions' => 'ginamit sa $1 {{plural:$1|pahina|mga pahina}}',
+'ntransclusions' => 'ginamit sa $1 {{PLURAL:$1|pahina|mga pahina}}',
 'specialpage-empty' => 'Walang resulta para sa ulat na ito.',
 'lonelypages' => 'Mga inulilang pahina',
 'lonelypagestext' => 'Ang mga sumusunod ng mga pahina ay hindi nakaturo mula sa ibang mga pahina sa wiking ito.',
index 9de93d8..db44436 100644 (file)
@@ -512,7 +512,7 @@ $messages = array(
 'qbpageoptions' => 'Bu sayfa',
 'qbmyoptions' => 'Sayfalarım',
 'faq' => 'SSS',
-'faqpage' => 'Proje:SSS',
+'faqpage' => 'Project:SSS',
 
 # Vector skin
 'vector-action-addsection' => 'Konu ekle',
@@ -603,16 +603,16 @@ $1',
 'copyright' => 'Aksi belirtilmedikçe içerik $1 altındadır.',
 'copyrightpage' => '{{ns:project}}:Telif hakları',
 'currentevents' => 'Güncel olaylar',
-'currentevents-url' => 'Proje: güncel olaylar',
+'currentevents-url' => 'Project:Güncel olaylar',
 'disclaimers' => 'Sorumluluk reddi',
-'disclaimerpage' => 'Proje: genel sorumluluk reddi',
+'disclaimerpage' => 'Project:Genel sorumluluk reddi',
 'edithelp' => 'Nasıl değiştirilir?',
 'helppage' => 'Help:İçindekiler',
 'mainpage' => 'Ana Sayfa',
 'mainpage-description' => 'Ana sayfa',
-'policy-url' => 'Proje: politika',
+'policy-url' => 'Project:İlkeler',
 'portal' => 'Topluluk portalı',
-'portal-url' => 'Proje: Topluluk portalı',
+'portal-url' => 'Project:Topluluk portali',
 'privacy' => 'Gizlilik ilkesi',
 'privacypage' => 'Project:Gizlilik ilkesi',
 
@@ -626,7 +626,7 @@ $1',
 'ok' => 'Tamam',
 'pagetitle-view-mainpage' => '{{SITENAME}}',
 'retrievedfrom' => '"$1" adresinden alındı.',
-'youhavenewmessages' => 'Yeni $1 var olan($2).',
+'youhavenewmessages' => '$1 {{PLURAL:$3|var}} ($2).',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|Başka bir kullanıcıdan|$3 kullanıcıdan}} $1 var ($2).',
 'youhavenewmessagesmanyusers' => 'Birçok kullanıcıdan $1 var ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|yeni mesajınız|yeni mesajlarınız}}',
@@ -2255,6 +2255,7 @@ Her satırın içerdiği bağlantılar; birinci ve ikinci yönlendirme, ayrıca
 'protectedpages' => 'Koruma altındaki sayfalar',
 'protectedpages-indef' => 'Sadece süresiz korumalar',
 'protectedpages-cascade' => 'Sadece ardışık korumalar',
+'protectedpages-noredirect' => 'Yönlendirmeleri gizle',
 'protectedpagesempty' => 'Şu anda, bu parametrelerle korunan hiç bir sayfa yok.',
 'protectedtitles' => 'Korunan başlıklar',
 'protectedtitlesempty' => 'Şu anda, bu parametrelerle korunan hiç bir başlık yok.',
@@ -2531,6 +2532,7 @@ Böyle sayfaların silinmesi, {{SITENAME}} sitesini bozmamak için sınırlanmak
 'delete-warning-toobig' => 'Bu sayfanın büyük bir değişiklik geçmişi var, $1 {{PLURAL:$1|revizyonun|revizyonun}} üzerinde.
 Bunu silmek {{SITENAME}} işlemlerini aksatabilir;
 dikkatle devam edin.',
+'deleting-backlinks-warning' => "'''Uyarı:''' Silmek üzere olduğunuz sayfaya başka sayfalardan bağlantılar var.",
 
 # Rollback
 'rollback' => 'değişiklikleri geri al',
@@ -3971,7 +3973,15 @@ Ayrıca [[Special:EditWatchlist|standart düzenleme sayfasını]] da kullanabili
 'version-hook-name' => 'Çengel adı',
 'version-hook-subscribedby' => 'Abone olan',
 'version-version' => '(Sürüm $1)',
-'version-license' => 'Lisans',
+'version-license' => 'MediaWiki Lisansı',
+'version-ext-license' => 'Lisans',
+'version-ext-colheader-name' => 'Uzantı',
+'version-ext-colheader-version' => 'Sürüm',
+'version-ext-colheader-license' => 'Lisans',
+'version-ext-colheader-description' => 'Açıklama',
+'version-ext-colheader-credits' => 'Yazarlar',
+'version-license-title' => '$1 için Lisans',
+'version-license-not-found' => 'Bu uzantı için detaylı lisans bilgisi bulunamadı.',
 'version-poweredby-credits' => "Bu wiki '''[https://www.mediawiki.org/ MediaWiki]''' programı kullanılarak oluşturulmuştur, telif © 2001-$1 $2.",
 'version-poweredby-others' => 'diğerleri',
 'version-poweredby-translators' => 'translatewiki.net çevirmenleri',
index 106179b..acf53f5 100644 (file)
@@ -330,12 +330,12 @@ $messages = array(
 'december-date' => '$1 Декабрь',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Төркем|Төркемнәр}}',
+'pagecategories' => '{{PLURAL:$1|1=Төркем|Төркемнәр}}',
 'category_header' => '«$1» төркемендәге битләр',
 'subcategories' => 'Төркемчәләр',
 'category-media-header' => '«$1» төркемендәге файллар',
 'category-empty' => "''Бу төркем әлегә буш.''",
-'hidden-categories' => '{{PLURAL:$1|Яшерен төркем|Яшерен төркемнәр}}',
+'hidden-categories' => '{{PLURAL:$1|1=Яшерен төркем|Яшерен төркемнәр}}',
 'hidden-category-category' => 'Яшерен төркемнәр',
 'category-subcat-count' => '{{PLURAL:$2|Бу төркемдә түбәндәге төркемчә генә бар.|$2 төркемчәдән {{PLURAL:$1|$1 төркемчә күрсәтелгән}}.}}',
 'category-subcat-count-limited' => 'Бу төркемдә {{PLURAL:$1|$1 төркемчә}} бар.',
@@ -409,7 +409,7 @@ $messages = array(
 'deletethispage' => 'Бу битне бетерү',
 'undeletethispage' => 'Бу битне кайтарырга',
 'undelete_short' => '$1 {{PLURAL:$1|үзгәртмәне}} торгызу',
-'viewdeleted_short' => '{{PLURAL:$1|1 бетерелгән үзгәртүне|$1 бетерелгән үзгәртүне}} карау',
+'viewdeleted_short' => '{{PLURAL:$1|1=1 бетерелгән үзгәртүне|$1 бетерелгән үзгәртүне}} карау',
 'protect' => 'Яклау',
 'protect_change' => 'үзгәртү',
 'protectthispage' => 'Бу битне яклау',
@@ -472,7 +472,7 @@ $1',
 
 'badaccess' => 'Керү хатасы',
 'badaccess-group0' => 'Сез сораган гамәлне башкара алмыйсыз.',
-'badaccess-groups' => 'Соралган гамәлне $1 {{PLURAL:$2|төркеменең|төркеменең}} кулланучылары гына башкара ала.',
+'badaccess-groups' => 'Соралган гамәлне $1 {{PLURAL:$2|1=төркеменең|төркеменең}} кулланучылары гына башкара ала.',
 
 'versionrequired' => 'MediaWikiның $1 версиясе таләп ителә',
 'versionrequiredtext' => 'Бу бит белән эшләү өчен MediaWikiның $1 версиясе кирәк. [[Special:Version|Кулланылучы программа версиясе турында мәгълүмат битен]] кара.',
@@ -485,7 +485,7 @@ $1',
 'youhavenewmessagesfromusers' => 'Сезгә {{PLURAL:$3|$3 кулланучыдан}} $1 килде ($2).',
 'youhavenewmessagesmanyusers' => 'Сез бик күп кулланучыдан $1 алдыгыз ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|яңа хәбәр}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|соңгы үзгәртү|соңгы үзгәртүләр}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|1=соңгы үзгәртү|соңгы үзгәртүләр}}',
 'youhavenewmessagesmulti' => 'Сезгә монда яңа хәбәрләр бар: $1',
 'editsection' => 'үзгәртү',
 'editold' => 'үзгәртү',
@@ -500,7 +500,7 @@ $1',
 'collapsible-expand' => 'Ачу',
 'thisisdeleted' => '$1 карарга яки торгызырга телисезме?',
 'viewdeleted' => '$1 карарга телисезме?',
-'restorelink' => '{{PLURAL:$1|1 бетерелгән үзгәртүне|$1 бетерелгән үзгәртүне}}',
+'restorelink' => '{{PLURAL:$1|1=1 бетерелгән үзгәртүне|$1 бетерелгән үзгәртүне}}',
 'feedlinks' => 'Шушылай:',
 'feed-invalid' => 'Язылу каналы тибы ялгыш',
 'feed-unavailable' => 'Синдикация тасмасы ябык',
@@ -585,7 +585,7 @@ $1',
 'viewyourtext' => "Сез '''үз төзәтмәләрегезне''' бу сәхифәдә карый һәм чыгарылма текстны күчермәли аласыз:",
 'protectedinterface' => 'Бу биттә программа тәэминатының интерфейс хәбәрләре бар. Вандализмга каршы көрәш сәбәпле, бу битне үзгәртү тыела. Әлеге хәбәрнең тәрҗемәсен өстәү яки үзгәртү өчен, зинһар өчен, MediaWiki [//translatewiki.net/ translatewiki.net] тәрҗемәләү сайтын кулланыгыз.',
 'editinginterface' => "'''Игътибар:''' Сез программа тәэминатының интерфейс тексты булган битне үзгәртәсез. Бу башка кулланучыларга да тәэсир итәчәк. Тәрҗемә өчен [//translatewiki.net/wiki/Main_Page?setlang=tt-cyrl translatewiki.net] локализацияләү проектын кулланыгыз.",
-'cascadeprotected' => 'Бу бит үзгәртүләрдән сакланган, чөнки ул каскадлы саклау кабул ителгән {{PLURAL:$1|биткә|битләргә}} өстәлгән:
+'cascadeprotected' => 'Бу бит үзгәртүләрдән сакланган, чөнки ул каскадлы саклау кабул ителгән {{PLURAL:$1|1=биткә|битләргә}} өстәлгән:
 $2',
 'namespaceprotected' => "'''$1''' исем киңлегендәге битләрне үзгәртү өчен сезнең рөхсәтегез юк.",
 'customcssprotected' => 'Сез бу CSS-сәхифәне үзгәртә алмыйсыз, чөнки монда башка кулланучының шәхси көйләнмәләре саклана',
@@ -676,7 +676,7 @@ $2',
 Зинһар, серсүзне алгач, системага яңадан керегез.',
 'blocked-mailpassword' => 'Сезнең IP адресыгыз белән битләр үзгәртеп һәм серсүзне яңартып булмый.',
 'eauthentsent' => 'Адрес үзгәртүне дәлилләү өчен аңа махсус хат җибәрелде. Хатта язылганнарны үтәвегез сорала.',
-'throttled-mailpassword' => 'Серсүзне электрон почтага җибәрү гамәлен сез {{PLURAL:$1|соңгы $1 сәгать}} эчендә кулландыгыз инде. Бу гамәлне явызларча куллануны кисәтү максатыннан аны $1 {{PLURAL:$1|сәгать}} аралыгында бер генә тапкыр башкарып була.',
+'throttled-mailpassword' => 'Серсүзне электрон почтага җибәрү гамәлен сез {{PLURAL:$1|1=соңгы $1 сәгать}} эчендә кулландыгыз инде. Бу гамәлне явызларча куллануны кисәтү максатыннан аны $1 {{PLURAL:$1|сәгать}} аралыгында бер генә тапкыр башкарып була.',
 'mailerror' => 'Хат җибәрү хатасы: $1',
 'acct_creation_throttle_hit' => 'Сезнең IP адресыннан бу тәүлек эчендә {{PLURAL:$1|$1 хисап язмасы}} төзелде инде. Шунлыктан бу гамәл сезнең өчен вакытлыча ябык.',
 'emailauthenticated' => 'Электрон почта адресыгыз расланды: $3, $2.',
@@ -731,21 +731,21 @@ $2',
 'passwordreset-email' => 'E-mail адресы:',
 'passwordreset-emailtitle' => '{{SITENAME}} хисап язмасы турында мәгълүматлар',
 'passwordreset-emailtext-ip' => 'Кемдер (бәлки, сездер, $1 IP-адресыннан) {{SITENAME}} ($4) проектында сезнең серсүзне искә төшерүне сорады.
-{{PLURAL:$3|Түбәндәге хисап язмасы|Түбәндәге хисап язмалары}} бу электрон әрҗә адресы белән бәйле:
+{{PLURAL:$3|1=Түбәндәге хисап язмасы|Түбәндәге хисап язмалары}} бу электрон әрҗә адресы белән бәйле:
 
 $2
 
-{{PLURAL:$3|Бу вакытлы серсүз|Бу вакытлы серсүзләр}} {{PLURAL:$5|$5 көн}} дәвамында эшлиячәкләр.
+{{PLURAL:$3|1=Бу вакытлы серсүз|Бу вакытлы серсүзләр}} {{PLURAL:$5|$5 көн}} дәвамында эшлиячәкләр.
 Сез системага керергә һәм яңа серсүз сайларга тиешсез.
 Әгәр сез серсүз сорамаган булсагыз яки элеккеге серсүзегезне искә төшерсәгез 
 һәм аны үзгәртергә теләмәсәгез, бу хатка җавап бирмәгез
 һәм элеккеге серсүзегезне кулланыгыз.',
 'passwordreset-emailtext-user' => '{{SITENAME}} проектыннан $1 кулланучысы {{SITENAME}} ($4) проектында сезнең серсүзне искә төшерүне сорады.
-{{PLURAL:$3|Түбәндәге хисап язмасы|Түбәндәге хисап язмалары}} бу электрон әрҗә адресы белән бәйле:
+{{PLURAL:$3|1=Түбәндәге хисап язмасы|Түбәндәге хисап язмалары}} бу электрон әрҗә адресы белән бәйле:
 
 $2
 
-{{PLURAL:$3|Бу вакытлы серсүз|Бу вакытлы серсүзләр}} {{PLURAL:$5|$5 көн}} дәвамында эшлиячәкләр.
+{{PLURAL:$3|1=Бу вакытлы серсүз|Бу вакытлы серсүзләр}} {{PLURAL:$5|$5 көн}} дәвамында эшлиячәкләр.
 Сез системага керергә һәм яңа серсүз сайларга тиешсез.
 Әгәр сез серсүз сорамаган булсагыз яки элеккеге серсүзегезне искә төшерсәгез 
 һәм аны үзгәртергә теләмәсәгез, бу хатка җавап бирмәгез
@@ -932,9 +932,9 @@ $2
 'cascadeprotectedwarning' => "'''Кисәтү:''' Бу битне идарәчеләр гына үзгәртә ала. Сәбәбе: ул {{PLURAL:$1|каскадлы яклау исемлегенә кертелгән}}:",
 'titleprotectedwarning' => "'''Кисәтү: Мондый исемле бит якланган, аны үзгәртү өчен [[Special:ListGroupRights|тиешле хокукка]] ия булу зарур.'''
 Аста күзәтү көндәлегендәге соңгы язма бирелгән:",
-'templatesused' => 'Бу биттә кулланылган {{PLURAL:$1|үрнәк|үрнәкләр}}:',
-'templatesusedpreview' => 'Алдан каралучы биттә кулланылган {{PLURAL:$1|үрнәк|үрнәкләр}}:',
-'templatesusedsection' => 'Бу бүлектә кулланылган {{PLURAL:$1|үрнәк|үрнәкләр}}:',
+'templatesused' => 'Бу биттә кулланылган {{PLURAL:$1|1=үрнәк|үрнәкләр}}:',
+'templatesusedpreview' => 'Алдан каралучы биттә кулланылган {{PLURAL:$1|1=үрнәк|үрнәкләр}}:',
+'templatesusedsection' => 'Бу бүлектә кулланылган {{PLURAL:$1|1=үрнәк|үрнәкләр}}:',
 'template-protected' => '(якланган)',
 'template-semiprotected' => '(өлешчә якланган)',
 'hiddencategories' => 'Бу бит $1 {{PLURAL:$1|яшерен төркемгә}} керә:',
@@ -944,8 +944,8 @@ $2
 'sectioneditnotsupported-title' => 'Бүлекләрне үзгәртү рөхсәт ителми.',
 'sectioneditnotsupported-text' => 'Бу биттә бүлекләрне үзгәртү рөхсәт ителми.',
 'permissionserrors' => 'Керү хокукы хаталары',
-'permissionserrorstext' => 'Түбәндәге {{PLURAL:$1|сәбәп|сәбәпләр}} аркасында сез бу гамәлне башкара алмыйсыз:',
-'permissionserrorstext-withaction' => '$2 гамәлен башкара алмыйсыз. {{PLURAL:$1|Сәбәбе|Сәбәпләре}}:',
+'permissionserrorstext' => 'Түбәндәге {{PLURAL:$1|1=сәбәп|сәбәпләр}} аркасында сез бу гамәлне башкара алмыйсыз:',
+'permissionserrorstext-withaction' => '$2 гамәлен башкара алмыйсыз. {{PLURAL:$1|1=Сәбәбе|Сәбәпләре}}:',
 'recreate-moveddeleted-warn' => "'''Игътибар: Сез бетерелгән бит урынына яңа бит ясамакчы буласыз.'''
 
 Сезгә чыннан да бу битне яңадан ясау кирәкме?
@@ -967,7 +967,7 @@ $2
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Игътибар:''' бу биттә хәтерне еш кулланучы функцияләр артык күп.
 
-Чикләү: $2 {{PLURAL:$2|куллану}}, бу очракта {{PLURAL:$1|$1 тапкыр}} башкарырга рөхсәт ителә.",
+Чикләү: $2 {{PLURAL:$2|1=куллану}}, бу очракта {{PLURAL:$1|$1 тапкыр}} башкарырга рөхсәт ителә.",
 'expensive-parserfunction-category' => 'Хәтерне еш кулланучы функцияләр күп булган битләр',
 'post-expand-template-inclusion-warning' => "'''Игътибар:''' Кулланылучы үрнәкләр артык зур.
 Кайберләре кабызылмаячак.",
@@ -1064,8 +1064,8 @@ $3 күрсәткән сәбәп: ''$2''",
 'revdelete-no-file' => 'Бу файл юк.',
 'revdelete-show-file-confirm' => 'Сез чыннан да «<nowiki>$1</nowiki>» файлының бетерелгән  $2, $3 версиясен карарга телисезме??',
 'revdelete-show-file-submit' => 'Әйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|Сайланган юрама|сайланган юрамалары}}:'''",
-'logdelete-selected' => "'''Журналның {{PLURAL:$1|Сайланган язма|сайланган язмалары}} :'''",
+'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=Сайланган юрама|сайланган юрамалары}}:'''",
+'logdelete-selected' => "'''Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :'''",
 'revdelete-legend' => 'Чикләүләр урнаштыр:',
 'revdelete-hide-text' => 'Битнең бу юрамасы текстын яшер',
 'revdelete-hide-image' => 'Файл эчендәгеләрне качыр',
@@ -1113,7 +1113,7 @@ $1",
 'compareselectedversions' => 'Сайланган юрамаларны чагыштыру',
 'showhideselectedversions' => 'Сайланган юрамаларны күрсәтү/яшерү',
 'editundo' => 'үткәрмәү',
-'diff-multi' => '({{PLURAL:$2|бер кулланучының|$2 кулланучының}} {{PLURAL:$1|арадагы $1 версиясе күрсәтелмәгән}})',
+'diff-multi' => '({{PLURAL:$2|1=бер кулланучының|$2 кулланучының}} {{PLURAL:$1|арадагы $1 версиясе күрсәтелмәгән}})',
 
 # Search results
 'searchresults' => 'Эзләү нәтиҗәләре',
@@ -1123,7 +1123,7 @@ $1",
 'nextn' => 'чираттагы {{PLURAL:$1|$1}}',
 'prevn-title' => 'Алдагы $1  {{PLURAL:$1|язма}}',
 'nextn-title' => 'Киләсе $1  {{PLURAL:$1|язма}}',
-'shown-title' => 'Сәхифәдә $1 {{PLURAL:$1|язма|язма}} күрсәтелсен',
+'shown-title' => 'Сәхифәдә $1 {{PLURAL:$1|1=язма|язма}} күрсәтелсен',
 'viewprevnext' => 'Күрсәтелүе: ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Бу вики-проекта «[[:$1]]» исемле бит бар инде'''",
 'searchmenu-new' => "'''«[[:$1]]»  исемле яңа бит ясау'''",
@@ -1138,7 +1138,7 @@ $1",
 'searchprofile-everything-tooltip' => 'Барлык битләрдә дә эзләү',
 'searchprofile-advanced-tooltip' => 'Бирелгән исемнәр мәйданында эзләү',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 сүз}})',
-'search-result-category-size' => '{{PLURAL:$1|1 әгъза|$1 әгъза}} ({{PLURAL:$2|1 асттөркем|$2 асттөркем}}, {{PLURAL:$3|1 файл|$3 файл}})',
+'search-result-category-size' => '{{PLURAL:$1|1=1 әгъза|$1 әгъза}} ({{PLURAL:$2|1=1 асттөркем|$2 асттөркем}}, {{PLURAL:$3|1=1 файл|$3 файл}})',
 'search-result-score' => 'Релевантлыгы: $1 %',
 'search-redirect' => '(юнәлтү $1)',
 'search-section' => '($1 бүлеге)',
@@ -1151,8 +1151,8 @@ $1",
 'searchrelated' => 'бәйләнгән',
 'searchall' => 'барлык',
 'showingresults' => "Аста № '''$2''' {{PLURAL:$1|башлап}} '''$1''' {{PLURAL:$1|результат}} күрсәтелгән.",
-'showingresultsnum' => "Аста № '''$2''' {{PLURAL:$3| башлап}} '''$3''' {{PLURAL:$3|результат}} күрсәтелгән.",
-'showingresultsheader' => "'''$4''' өчен {{PLURAL:$5|Результат '''$1''' сеннән '''$3'''|Результатлар '''$1 — $2''' сеннән  '''$3'''}}",
+'showingresultsnum' => "Аста № '''$2''' {{PLURAL:$3|башлап}} '''$3''' {{PLURAL:$3|результат}} күрсәтелгән.",
+'showingresultsheader' => "'''$4''' өчен {{PLURAL:$5|1=Результат '''$1''' сеннән '''$3'''|Результатлар '''$1 — $2''' сеннән  '''$3'''}}",
 'search-nonefound' => 'Сорауга туры килгән җаваплар табылмады.',
 'powersearch-legend' => 'Өстәмә эзләү',
 'powersearch-ns' => 'исемнәрендә эзләү',
@@ -1176,7 +1176,7 @@ $1",
 'prefs-rc' => 'Соңгы үзгәртүләр',
 'prefs-watchlist' => 'Күзәтү исемлеге',
 'prefs-watchlist-days' => 'Күзәтү исемлегендә күрсәтелгән көн саны:',
-'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|1=day|days}}',
 'prefs-watchlist-edits' => 'Киңәйтелгән күзәтү исемлегендә үзгәртүләрнең иң югары исәбе:',
 'prefs-watchlist-edits-max' => 'Максимум сан: 1000',
 'prefs-watchlist-token' => 'Күзәтү исемлеге токены:',
@@ -1338,7 +1338,7 @@ $1",
 'action-move' => 'бу битне күчерерге',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|үзгәртү|үзгәртү}}',
+'nchanges' => '$1 {{PLURAL:$1|1=үзгәртү|үзгәртү}}',
 'recentchanges' => 'Соңгы үзгәртүләр',
 'recentchanges-legend' => 'Соңгы үзгәртүләр көйләүләре',
 'recentchanges-summary' => 'Бу биттә {{grammar:genitive|{{SITENAME}}}} проектының соңгы үзгәртүләре күрсәтелә.',
@@ -1421,9 +1421,9 @@ $1",
 'filetype-badmime' => 'MIME-төре «$1» булган файллар, йөкләнмәячәк.',
 'filetype-bad-ie-mime' => 'Файлны йөкләргә мөмкин түгел, чөнки Internet Explorer аны «$1» дип кабул итәчәк.',
 'filetype-unwanted-type' => "'''\".\$1\"''' — тыелган файл төре.
-{{PLURAL:\$3|Мөмкин булган файл төре булып|Мөмкин булган файл төре:}} \$2.",
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|тыелган файл төре|тыелган файллар төре}}.
-{{PLURAL:$3|Киңәйтелгән файл төре булып|Киңәйтелгән  файл төрләре:}} $2.',
+{{PLURAL:\$3|1=Мөмкин булган файл төре булып|Мөмкин булган файл төре:}} \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|1=тыелган файл төре|тыелган файллар төре}}.
+{{PLURAL:$3|1=Киңәйтелгән файл төре булып|Киңәйтелгән  файл төрләре:}} $2.',
 'filetype-missing' => "Файлның киңәйтелмәсе юк ''(мәсәлән,«.jpg»)''.",
 'empty-file' => 'Сезнең тарафтан җибәрелгән файл буш.',
 'file-too-large' => 'Сезнең тарафтан җибәрелгән файл артык зур.',
@@ -1502,7 +1502,7 @@ PICT # төрле
 'filehist-comment' => 'Искәрмә',
 'filehist-missing' => 'Файл табылмады',
 'imagelinks' => 'Файлны куллану',
-'linkstoimage' => 'Бу файлга әлеге {{PLURAL:$1|бит|$1 бит}} сылтый:',
+'linkstoimage' => 'Бу файлга әлеге {{PLURAL:$1|1=бит|$1 бит}} сылтый:',
 'nolinkstoimage' => 'Бу файлга сылтаган битләр юк.',
 'duplicatesoffile' => '{{PLURAL:$1|Әлеге $1 файл }} астагы файлның күчерелмәсе булып тора ([[Special:FileDuplicateSearch/$2|тулырак]]):',
 'sharedupload' => "Бу файл $1'дан һәм башка проектларда кулланырга мөмкин.",
@@ -1617,8 +1617,8 @@ PICT # төрле
 'movethispage' => 'Бу битне күчерү',
 'nopagetitle' => 'Мондый бит юк',
 'nopagetext' => 'Күрсәтелгән бит юк.',
-'pager-newer-n' => '{{PLURAL:$1|1 яңарак|$1 яңарак}}',
-'pager-older-n' => '{{PLURAL:$1|1 искерәк|$1 искерәк}}',
+'pager-newer-n' => '{{PLURAL:$1|1=1 яңарак|$1 яңарак}}',
+'pager-older-n' => '{{PLURAL:$1|1=1 искерәк|$1 искерәк}}',
 'suppress' => 'Яшерү',
 
 # Book sources
@@ -1652,7 +1652,7 @@ PICT # төрле
 
 # Special:Categories
 'categories' => 'Төркемнәр',
-'categoriespagetext' => '{{PLURAL:$1|Әлеге төркем үз өченә|Әлеге төркемнәр  үз өченә}}   битләрне һәм медиа-файлларны ала.
+'categoriespagetext' => '{{PLURAL:$1|1=Әлеге төркем үз өченә|Әлеге төркемнәр  үз өченә}}   битләрне һәм медиа-файлларны ала.
 Аста [[Special:UnusedCategories|кулланылмаган төркемнәр]] кәрсәтелгән.
 Шулай ук  [[Special:WantedCategories|кирәкле төркемнәр исемлегендә]] карагыз.',
 'special-categories-sort-count' => 'исәп буенча тәртипләү',
@@ -1726,7 +1726,7 @@ PICT # төрле
 'unwatch' => 'Күзәтмәү',
 'unwatchthispage' => 'Күзәтүне туктат',
 'notanarticle' => 'Мәкалә түгел',
-'watchlist-details' => 'Күзәтү исемлегегездә, бәхәс битләрен санамыйча, {{PLURAL:$1|$1 бит|$1 бит}} бар.',
+'watchlist-details' => 'Күзәтү исемлегегездә, бәхәс битләрен санамыйча, {{PLURAL:$1|1=$1 бит|$1 бит}} бар.',
 'wlshowlast' => 'Баягы $1 сәгать $2 көн эчендә яки $3ны күрсәт',
 'watchlist-options' => 'Күзәтү исемлеге көйләүләре',
 
@@ -1816,7 +1816,7 @@ $UNWATCHURL
 'protect-unchain-permissions' => 'Өстәмә яклау чараларын ачу',
 'protect-text' => "Биредә сез '''$1''' бите өчен яклау дәрәҗәсене карый һәм үзгәрә аласыз.",
 'protect-locked-access' => "Хисап язмагызга битләрнең яклау дәрәҗәсен үзгәртү өчен хак җитми. '''$1''' битенең хәзерге көйләүләре:",
-'protect-cascadeon' => 'Бу бит якланган, чөнки ул әлеге каскадлы яклаулы {{PLURAL:$1|биткә|битләргә}} керә. Сез бу битнең яклау дәрәҗәсен үзгәртә аласыз, әмма каскадлы яклау үзгәрмәячәк.',
+'protect-cascadeon' => 'Бу бит якланган, чөнки ул әлеге каскадлы яклаулы {{PLURAL:$1|1=биткә|битләргә}} керә. Сез бу битнең яклау дәрәҗәсен үзгәртә аласыз, әмма каскадлы яклау үзгәрмәячәк.',
 'protect-default' => 'Яклаусыз',
 'protect-fallback' => '«$1»нең рөхсәте кирәк',
 'protect-level-autoconfirmed' => 'Яңа һәм теркәлмәгән кулланучыларны кысу',
@@ -1865,7 +1865,7 @@ $UNWATCHURL
 'undeleteviewlink' => 'карау',
 'undeleteinvert' => 'Киресен сайлау',
 'undeletecomment' => 'Сәбәп:',
-'undeletedrevisions' => '{{PLURAL:$1|1 үзгәртү|$1 үзгәртү}} торгызылды',
+'undeletedrevisions' => '{{PLURAL:$1|1=1 үзгәртү|$1 үзгәртү}} торгызылды',
 'undelete-search-submit' => 'Эзләү',
 'undelete-error-long' => 'Файлны торгызу вакытында хаталар чыкты:
 
@@ -1908,8 +1908,8 @@ $1',
 'isredirect' => 'юнәлтү бите',
 'istemplate' => 'кертүләр',
 'isimage' => 'файл сылтамасы',
-'whatlinkshere-prev' => '{{PLURAL:$1|алдагы|алдагы $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|чираттагы|чираттагы $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=алдагы|алдагы $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=чираттагы|чираттагы $1}}',
 'whatlinkshere-links' => '← сылтамалар',
 'whatlinkshere-hideredirs' => 'юнәлтүләрне $1',
 'whatlinkshere-hidetrans' => 'кертүләрне $1',
@@ -2114,10 +2114,10 @@ $1',
 'common.css' => '/*  Монда урнаштырылган CSS башкаларында да урнашачак */',
 
 # Attribution
-'anonymous' => '{{SITENAME}} сайтының аноним {{PLURAL:$1|кулланучысы|кулланучылары}}',
+'anonymous' => '{{SITENAME}} сайтының аноним {{PLURAL:$1|1=кулланучысы|кулланучылары}}',
 'siteuser' => '{{SITENAME}} кулланучысы $1',
 'othercontribs' => '«$1» эшенә нигезләнә.',
-'siteusers' => '{{SITENAME}} {{PLURAL:$2|кулланучысы|кулланучылары}} $1',
+'siteusers' => '{{SITENAME}} {{PLURAL:$2|1=кулланучысы|кулланучылары}} $1',
 'creditspage' => 'Рәхмәтләр',
 
 # Spam protection
@@ -2158,7 +2158,7 @@ $1',
 'imagemaxsize' => "Рәсемнең зурлыгына чикләүләр:<br />''(тасвирлау бите өчен)''",
 'thumbsize' => 'Рәсемнең кечерәйтелгән юрамасы өчен:',
 'widthheight' => '$1 × $2',
-'widthheightpage' => '$1 × $2, $3{{PLURAL:$1|бит|битләр}}',
+'widthheightpage' => '$1 × $2, $3{{PLURAL:$1|1=бит|битләр}}',
 'file-info' => 'файл зурлыгы: $1, MIME-тип: $2',
 'file-info-size' => '$1 × $2 нокта, файлның зурлыгы: $3, MIME тибы: $4',
 'file-nohires' => 'Югары ачыклык белән юрама юк.',
@@ -2512,8 +2512,8 @@ $1',
 'api-error-badtoken' => 'Эчке хата: дөрес булмаган токен.',
 'api-error-copyuploaddisabled' => 'URL-адрес буенча йөкләү бу серверда сүндерелгән.',
 'api-error-duplicate' => 'Мондый эчтәлекле {{PLURAL:$1|[$2 башка файл]}} да бар.',
-'api-error-duplicate-archive' => 'Элек сайтта мондый эчтәлекле {{PLURAL:$1|[$2 башка файл]}} бар иде инде, ләкин {{PLURAL:$1|аны бетерделәр|аларны бетерделәр}}.',
-'api-error-duplicate-archive-popup-title' => 'Кайчандыр бетерелгән {{PLURAL:$1|файлның|файлларның}} дубликатлары.',
+'api-error-duplicate-archive' => 'Элек сайтта мондый эчтәлекле {{PLURAL:$1|[$2 башка файл]}} бар иде инде, ләкин {{PLURAL:$1|1=аны бетерделәр|аларны бетерделәр}}.',
+'api-error-duplicate-archive-popup-title' => 'Кайчандыр бетерелгән {{PLURAL:$1|1=файлның|файлларның}} дубликатлары.',
 'api-error-duplicate-popup-title' => '{{PLURAL:$1|файлның}} дубликаты',
 'api-error-empty-file' => 'Сезнең тарафтан җибәрелгән файл буш.',
 'api-error-emptypage' => 'Яңа буш сәхифәләр төзү рөхсәт ителми',
index 8c09a7e..32d79bd 100644 (file)
@@ -14,6 +14,9 @@
 
 $fallback = 'fr';
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $messages = array(
 # Dates
 'sunday' => 'tāpati',
index 84570a2..d08eb16 100644 (file)
@@ -117,7 +117,7 @@ $messages = array(
 'tog-showtoolbar' => 'Өскертир херекселдерни көргүзер (JavaScript)',
 'tog-editondblclick' => 'Арынны өскертирде ийи катап базар (JavaScript)',
 'tog-editsection' => '[өскертири] деп холбаалар-биле section editing enable.',
-'tog-rememberpassword' => 'Мени бо компьютерге сактыры ($1 {{PLURAL:$1|хүн|хүн}} ишти)',
+'tog-rememberpassword' => 'Мени бо компьютерге сактыры ($1 {{PLURAL:$1|1=хүн|хүн}} ишти)',
 'tog-watchcreations' => 'Мээң чаяан арыннарымны хайгаарал даңзымче немээри.',
 'tog-watchdefault' => 'Мээң өскерткен арыннарымны хайгаарал даңзымче немээри.',
 'tog-watchmoves' => 'Мээң катап адаан арыннарымны хайгаарал даңзымче немээри.',
@@ -194,12 +194,12 @@ $messages = array(
 'subcategories' => 'Адаккы бөлүктер',
 'category-media-header' => '«$1» деп бөлүкте файлдар',
 'category-empty' => "''Амгы бо бөлүкте медиа база арыннар чок.''",
-'hidden-categories' => '{{PLURAL:$1|Чажыт аңгылал|Чажыт аңгылалдар}}',
+'hidden-categories' => '{{PLURAL:$1|1=Чажыт аңгылал|Чажыт аңгылалдар}}',
 'hidden-category-category' => 'Чажыт бөлүктер',
-'category-subcat-count' => '{{PLURAL:$2|Бо аңгылал чүгле дараазында аңгыламныг.|Бо аңгылалдың шупту $2 аңгыламнарның аразындан дараазында $1 аңгыламны көргүскен.}}',
-'category-subcat-count-limited' => 'Бо аңгылал {{PLURAL:$1|бир|$1}} аңгыламныг.',
-'category-article-count' => '{{PLURAL:$2|Бо аңгылал чүгле дараазында арыннарлыг.|Бо аңгылалдың шупту $2 арыннарының аразындан дараазында $1 арынын көргүскен.}}',
-'category-file-count' => '{{PLURAL:$2|Бо бөлүк чүгле чаңгыс файлдыг.|Бо бөлүктүң ниити $2 файлының $1 файлын көргүскен.}}',
+'category-subcat-count' => '{{PLURAL:$2|1=Бо аңгылал чүгле дараазында аңгыламныг.|Бо аңгылалдың шупту $2 аңгыламнарның аразындан дараазында $1 аңгыламны көргүскен.}}',
+'category-subcat-count-limited' => 'Бо аңгылал {{PLURAL:$1|1=бир|$1}} аңгыламныг.',
+'category-article-count' => '{{PLURAL:$2|1=Бо аңгылал чүгле дараазында арыннарлыг.|Бо аңгылалдың шупту $2 арыннарының аразындан дараазында $1 арынын көргүскен.}}',
+'category-file-count' => '{{PLURAL:$2|1=Бо бөлүк чүгле чаңгыс файлдыг.|Бо бөлүктүң ниити $2 файлының $1 файлын көргүскен.}}',
 'listingcontinuesabbrev' => '(уланчы)',
 'noindex-category' => 'Индекстелбес арынар',
 'broken-file-category' => 'Ажылдавайн турар файл-шөлүлгелиг арыннар',
@@ -260,8 +260,8 @@ $messages = array(
 'create-this-page' => 'Бо арынны чогаадыры',
 'delete' => 'Ыраары',
 'deletethispage' => 'Бо арынны ырадыры',
-'undelete_short' => '$1 {{PLURAL:$1|эдигни|эдиглерни}} катап үндүрери',
-'viewdeleted_short' => '{{PLURAL:$1|Бир ыраткан өскерлиишкинни|$1 ыраткан өскерлиишкиннерни}} көөрү',
+'undelete_short' => '$1 {{PLURAL:$1|1=эдигни|эдиглерни}} катап үндүрери',
+'viewdeleted_short' => '{{PLURAL:$1|1=Бир ыраткан өскерлиишкинни|$1 ыраткан өскерлиишкиннерни}} көөрү',
 'protect' => 'Камгалаары',
 'protect_change' => 'өскертири',
 'protectthispage' => 'Бо арынны камгалаар',
@@ -385,7 +385,7 @@ $messages = array(
 'yourname' => 'Aжыглакчының ады',
 'yourpassword' => 'Чажыт сөс',
 'yourpasswordagain' => 'Чажыт сөзүңерни катап бижиңер:',
-'remembermypassword' => 'Мени бо компьютерде сактып алыры ($1 {{PLURAL:$1|хүн|хүн}}ге чедир)',
+'remembermypassword' => 'Мени бо компьютерде сактып алыры ($1 {{PLURAL:$1|1=хүн|хүн}}ге чедир)',
 'login' => 'Кирери',
 'nav-login-createaccount' => 'Кирери / бүрүткел бижикти чогаадыры',
 'loginprompt' => '{{SITENAME}} сайтче кирерде, баштай «cookies»-ти чөшпээрээр ужурлуг Силер.',
@@ -511,11 +511,11 @@ Please check if you want to create/edit this page.',
 'editingcomment' => '«$1» деп арынны өскертип турар (чаа салбыр)',
 'yourtext' => 'Силерниң сөзүглелиңер',
 'yourdiff' => 'Ылгалдар',
-'templatesused' => 'Бо арында ажыглаан {{PLURAL:$1|Майык|Майыктар}}:',
+'templatesused' => 'Бо арында ажыглаан {{PLURAL:$1|1=Майык|Майыктар}}:',
 'template-protected' => '(камгалаан)',
 'template-semiprotected' => '(четпес камгалаан)',
 'hiddencategories' => 'Бо арын {{PLURAL:$1|$1 чажыт бөлүкке}} хамааржыр:',
-'permissionserrorstext-withaction' => "Мында «'''$2'''» силерниң эргеңер чок, {{PLURAL:$1|чылдагааны|чылдагааннары}}:",
+'permissionserrorstext-withaction' => "Мында «'''$2'''» силерниң эргеңер чок, {{PLURAL:$1|1=чылдагааны|чылдагааннары}}:",
 'recreate-moveddeleted-warn' => "'''Кичээңейлиг. Ооң мурнунда казыттынган арынны катап тургузар деп тур Силер.'''
 
 Ол арынны катап тургузары шынап-ла чугула бе, боданыңар.
@@ -595,8 +595,8 @@ Please check if you want to create/edit this page.',
 'searchresults-title' => '«$1» деп диле',
 'prevn' => 'эрткен {{PLURAL:$1|$1}}',
 'nextn' => 'дараазында {{PLURAL:$1|$1}}',
-'prevn-title' => 'Эрткен $1 {{PLURAL:$1|бижик|бижик}}',
-'nextn-title' => 'Дараазында $1 {{PLURAL:$1|бижик|бижик}}',
+'prevn-title' => 'Эрткен $1 {{PLURAL:$1|1=бижик|бижик}}',
+'nextn-title' => 'Дараазында $1 {{PLURAL:$1|1=бижик|бижик}}',
 'shown-title' => 'Арынга $1 {{PLURAL:$1|түңнел}} көргүзер',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) көөрү',
 'searchmenu-exists' => "'''Бо викиде \"[[:\$1]]\" деп арын бар.'''",
@@ -612,7 +612,7 @@ Please check if you want to create/edit this page.',
 'searchprofile-everything-tooltip' => 'Шупту арыннардан дилээри (сумележиишкиннерден база)',
 'searchprofile-advanced-tooltip' => 'Айыткан аттар делгемнеринден дилээри',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 сөс}})',
-'search-result-category-size' => '{{PLURAL:$1|1 кежигүүн|$1 кежигүүн}} ({{PLURAL:$2|1 аңгылам|$2 аңгылам}}, {{PLURAL:$3|1 файл|$3 файл}})',
+'search-result-category-size' => '{{PLURAL:$1|1=1 кежигүүн|$1 кежигүүн}} ({{PLURAL:$2|1=1 аңгылам|$2 аңгылам}}, {{PLURAL:$3|1=1 файл|$3 файл}})',
 'search-redirect' => '($1-н шиглелге)',
 'search-section' => '(«$1» деп салбыр)',
 'search-suggest' => 'Силер «$1» деп бодадыңар чадавас',
@@ -620,7 +620,7 @@ Please check if you want to create/edit this page.',
 'searcheverything-enable' => 'Шупту аттар делгемнеринден дилээри',
 'searchrelated' => 'холбаалыг',
 'searchall' => 'шупту',
-'showingresultsheader' => "«'''$4'''» дилээниниң {{PLURAL:$5|'''$3''' одуругдан '''$1''' түңнели|'''$3''' одуругдан '''$1—$2''' түңнелдери}}",
+'showingresultsheader' => "«'''$4'''» дилээниниң {{PLURAL:$5|1='''$3''' одуругдан '''$1''' түңнели|'''$3''' одуругдан '''$1—$2''' түңнелдери}}",
 'search-nonefound' => 'Айыткан негелдениң түңнели чок',
 'powersearch-ns' => 'Аттар делгемнеринден дилээри:',
 'powersearch-toggleall' => 'Шупту',
@@ -663,13 +663,13 @@ Please check if you want to create/edit this page.',
 'youremail' => 'Э-чагааңар:',
 'username' => 'Aжыглакчының ады:',
 'uid' => 'Ажыглакчынын саны (ID):',
-'prefs-memberingroups' => 'Силерниң {{PLURAL:$1|бөлүү|бөлүктери}}:',
+'prefs-memberingroups' => 'Силерниң {{PLURAL:$1|1=бөлүү|бөлүктери}}:',
 'prefs-registration' => 'Кажан даңзылатканыл:',
 'yourrealname' => 'Шын адыңар:',
 'yourlanguage' => 'Дылыңар:',
 'yournick' => 'Шола ат:',
 'badsiglength' => 'Хол үжүүңер эмин узун.
-It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
+It must not be more than $1 {{PLURAL:$1|1=character|characters}} long.',
 'yourgender' => 'Эр-кызы:',
 'gender-male' => 'Эр',
 'gender-female' => 'Кыс',
@@ -825,7 +825,7 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'filehist-filesize' => 'Файл хемчээли',
 'filehist-comment' => 'Тайылбыр',
 'imagelinks' => 'Файлдың ажыглаашкыны',
-'linkstoimage' => 'Бердинген файлче дараазында {{PLURAL:$1|арын шөлүдүп тур|$1 арын шөлүдүп тур}}:',
+'linkstoimage' => 'Бердинген файлче дараазында {{PLURAL:$1|1=арын шөлүдүп тур|$1 арын шөлүдүп тур}}:',
 'nolinkstoimage' => 'Бердинген файлче шөлүп турар арыннар чок.',
 'sharedupload-desc-here' => 'Моон $1 алган файл өске төлевилелдерге ажыглаттынып болур.
 Ооң [$2 допчу тайылбыр арынындан] медеглели адаанда бердинген.',
@@ -1053,8 +1053,8 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'isredirect' => 'шиглидер арын',
 'istemplate' => 'киирткен арыннар',
 'isimage' => 'файлдың холбаазы',
-'whatlinkshere-prev' => '{{PLURAL:$1|эрткен|эрткен $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|дараазында|дараазында $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=эрткен|эрткен $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|1=дараазында|дараазында $1}}',
 'whatlinkshere-links' => '← холбаалар',
 'whatlinkshere-hideredirs' => '$1-че шиглиглер',
 'whatlinkshere-hidetrans' => '$1 даңзылааннар',
@@ -1206,7 +1206,7 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'widthheightpage' => '$1x$2, $3 {{PLURAL:$3|арын}}',
 'file-info' => 'файлдың хемчээли: $1, MIME хевири: $2',
 'file-info-size' => '$1 × $2 пиксел, Файл хемчээли: $3, MIME хевири: $4',
-'file-info-size-pages' => '$1 × $2 пикcелдер, файл хемчээли: $3, MIME хевири: $4, $5 {{PLURAL:$5|арын|арын}}',
+'file-info-size-pages' => '$1 × $2 пикcелдер, файл хемчээли: $3, MIME хевири: $4, $5 {{PLURAL:$5|1=арын|арын}}',
 'file-nohires' => 'Оон улуг хевири чок',
 'svg-long-desc' => 'SVG файл, $1 x $2 пиксел, файл хемчээли: $3',
 'show-big-image' => 'Улуг чурумал',
@@ -1220,9 +1220,9 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
 'seconds' => '{{PLURAL: $1|$1 секунда|$1 секунда}}',
-'minutes' => '{{PLURAL: $1|$1 минут|$1 минут}}',
-'hours' => '{{PLURAL:$1|$1 шак|$1 шак}}',
-'days' => '{{PLURAL:$1|$1 хүн|$1 хүн}}',
+'minutes' => '{{PLURAL:$1|$1 минут|$1 минут}}',
+'hours' => '{{PLURAL:$1|1=$1 шак|$1 шак}}',
+'days' => '{{PLURAL:$1|1=$1 хүн|$1 хүн}}',
 'ago' => '$1 бурунгаар',
 
 # Bad image list
@@ -1374,13 +1374,13 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'feedback-cancel' => 'Соксаары',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL: $1|секунда|секунда}}',
-'duration-minutes' => '$1 {{PLURAL: $1|минут|минут}}',
-'duration-hours' => '$1 {{PLURAL: $1|шак|шак}}',
-'duration-days' => '$1 {{PLURAL:$1|хүн|хүн}}',
-'duration-weeks' => '$1 {{PLURAL: $1|чеди-хонук|чеди-хонук}}',
-'duration-years' => '$1 {{PLURAL: $1|чыл|чыл}}',
-'duration-decades' => '$1 {{PLURAL:$1|он хонук|он хонук}}',
-'duration-centuries' => '$1 {{PLURAL:$1|чүс чыл|чүс чыл}}',
+'duration-seconds' => '$1 {{PLURAL:$1|секунда|секунда}}',
+'duration-minutes' => '$1 {{PLURAL:$1|минут|минут}}',
+'duration-hours' => '$1 {{PLURAL:$1|шак|шак}}',
+'duration-days' => '$1 {{PLURAL:$1|1=хүн|хүн}}',
+'duration-weeks' => '$1 {{PLURAL:$1|чеди-хонук|чеди-хонук}}',
+'duration-years' => '$1 {{PLURAL:$1|чыл|чыл}}',
+'duration-decades' => '$1 {{PLURAL:$1|1=он хонук|он хонук}}',
+'duration-centuries' => '$1 {{PLURAL:$1|1=чүс чыл|чүс чыл}}',
 
 );
index 12d0c4b..5c7e3d1 100644 (file)
@@ -3072,7 +3072,7 @@ $1',
 'hours-abbrev' => '$1h',
 'days-abbrev' => '$1d',
 'seconds' => '{{PLURAL: $1|$1سېكۇنت}}',
-'minutes' => '{{PLURAL: $1|$1مىنۇت}}',
+'minutes' => '{{PLURAL:$1|$1مىنۇت}}',
 'hours' => '{{PLURAL:$1|$1سائەت}}',
 'days' => '{{PLURAL:$1|$1 كۈن}}',
 'months' => '{{PLURAL:$1|$1 ئاي}}',
@@ -3940,11 +3940,11 @@ MediaWiki ئىشلىتىش مەقسىتىنى ئاساس قىلىپ ئېلان 
 
 # Durations
 'duration-seconds' => '$1 {{PLURAL:$1|سېكۇنت}}',
-'duration-minutes' => '$1 {{PLURAL: $1|مىنۇت}}',
-'duration-hours' => '$1 {{PLURAL: $1|سائەت}}',
-'duration-days' => '$1 {{PLURAL: $1|كۈن}}',
-'duration-weeks' => '$1 {{PLURAL: $1|ھەپتە}}',
-'duration-years' => '$1 {{PLURAL: $1|يىل}}',
+'duration-minutes' => '$1 {{PLURAL:$1|مىنۇت}}',
+'duration-hours' => '$1 {{PLURAL:$1|سائەت}}',
+'duration-days' => '$1 {{PLURAL:$1|كۈن}}',
+'duration-weeks' => '$1 {{PLURAL:$1|ھەپتە}}',
+'duration-years' => '$1 {{PLURAL:$1|يىل}}',
 'duration-decades' => '$1 {{PLURAL:$1|ئون يىل}}',
 'duration-centuries' => '$1 {{PLURAL:$1|ئەسىر}}',
 'duration-millennia' => '$1 {{PLURAL:$1|مىڭ يىل}}',
index 1dd3eba..d038f48 100644 (file)
@@ -379,7 +379,7 @@ $messages = array(
 'tog-editsection' => 'Показувати посилання [ред.] для кожного розділу',
 'tog-editsectiononrightclick' => 'Редагувати розділи при клацанні правою кнопкою мишки на заголовку',
 'tog-showtoc' => 'Показувати зміст (для сторінок з більш ніж трьома заголовками)',
-'tog-rememberpassword' => "Запам'ятати мій обліковий запис для цього браузера (на строк не більше $1 {{PLURAL:$1|дня|днів}})",
+'tog-rememberpassword' => "Запам'ятати мій обліковий запис для цього браузера (на строк не більше $1 {{PLURAL:$1|1=дня|днів}})",
 'tog-watchcreations' => 'Додавати створені мною сторінки і завантажені мною файли до мого списку спостереження',
 'tog-watchdefault' => 'Додавати змінені мною сторінки та файли до мого списку спостереження',
 'tog-watchmoves' => 'Додавати перейменовані мною сторінки та файли до мого списку спостереження',
@@ -486,12 +486,12 @@ $messages = array(
 'december-date' => '$1 грудня',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Категорія|Категорії}}',
+'pagecategories' => '{{PLURAL:$1|1=Категорія|Категорії|Категорій}}',
 'category_header' => 'Сторінки в категорії «$1»',
 'subcategories' => 'Підкатегорії',
 'category-media-header' => 'Файли в категорії «$1»',
 'category-empty' => "''Ця категорія зараз порожня.''",
-'hidden-categories' => '{{PLURAL:$1|Прихована категорія|Приховані категорії}}',
+'hidden-categories' => '{{PLURAL:$1|1=Прихована категорія|Приховані категорії|Прихованих категорій}}',
 'hidden-category-category' => 'Приховані категорії',
 'category-subcat-count' => 'Показано $1 {{PLURAL:$1|підкатегорію з|підкатегорії з|підкатегорій із}} $2.',
 'category-subcat-count-limited' => 'У цій категорії {{PLURAL:$1|$1 підкатегорія|$1 підкатегорії|$1 підкатегорій}}.',
@@ -630,7 +630,7 @@ $1',
 
 'badaccess' => 'Помилка доступу',
 'badaccess-group0' => 'Вам не дозволено виконувати цю дію.',
-'badaccess-groups' => 'Дія, яку Ви хотіли зробити, дозволена лише користувачам із {{PLURAL:$2|групи|груп}}: $1.',
+'badaccess-groups' => 'Дія, яку Ви хотіли зробити, дозволена лише користувачам із {{PLURAL:$2|1=групи|груп}}: $1.',
 
 'versionrequired' => 'Потрібна MediaWiki версії $1',
 'versionrequiredtext' => 'Для роботи з цією сторінкою потрібна MediaWiki версії $1. Див. [[Special:Version|інформацію про версії програмного забезпечення, яке використовується]].',
@@ -640,10 +640,10 @@ $1',
 'pagetitle-view-mainpage' => '{{SITENAME}}',
 'retrievedfrom' => 'Отримано з $1',
 'youhavenewmessages' => 'Ви отримали $1 ($2).',
-'youhavenewmessagesfromusers' => 'Ви отримали $1 від {{PLURAL:$3|іншого дописувача|$3 інших дописувачів}} ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|1=Ви отримали|Ви отримали}} $1 від {{PLURAL:$3|1=іншого дописувача|$3 інших дописувачів}} ($2).',
 'youhavenewmessagesmanyusers' => 'Ви отримали $1 від багатьох дописувачів ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|нове повідомлення|999=нові повідомлення}}',
-'newmessagesdifflinkplural' => '{{PLURAL:$1|остання зміна|999=останні зміни}}',
+'newmessageslinkplural' => '{{PLURAL:$1|1=нове повідомлення|999=нові повідомлення}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|1=остання зміна|999=останні зміни}}',
 'youhavenewmessagesmulti' => 'Ви отримали нові повідомлення на $1',
 'editsection' => 'ред.',
 'editold' => 'ред.',
@@ -740,8 +740,8 @@ $1',
 'badtitle' => 'Неприпустима назва',
 'badtitletext' => 'Запитана назва сторінки неправильна, порожня, або неправильно зазначена міжмовна чи міжвікі назва.
 Можливо, в назві використовуються недопустимі символи.',
-'perfcached' => 'Наступні дані взяті з кешу і можуть бути застарілими. В кеші зберігається не більше  {{PLURAL:$1| запису| записів}}.',
-'perfcachedts' => 'Наступні дані взяті з кешу, востаннє він оновлювався о $1. У кеші зберігається не більше $4 {{PLURAL:$4|запису|записів}}.',
+'perfcached' => 'Наступні дані взяті з кешу і можуть бути застарілими. В кеші зберігається не більше {{PLURAL:$1|1=одного запису|$1 записів}}.',
+'perfcachedts' => 'Наступні дані взяті з кешу, востаннє він оновлювався о $1. У кеші зберігається не більше $4 {{PLURAL:$4|1=запису|записів}}.',
 'querypage-no-updates' => 'Зміни цієї сторінки зараз заборонені. Дані тут не можуть бути оновлені зараз.',
 'viewsource' => 'Перегляд',
 'viewsource-title' => 'Перегляд вихідного коду сторінки $1',
@@ -752,7 +752,7 @@ $1',
 'viewyourtext' => "Ви можете переглянути та скопіювати текст '''ваших редагувань''' на цій сторінці:",
 'protectedinterface' => 'Ця сторінка є частиною інтерфейсу програмного забезпечення цієї вікі і її можуть редагувати лише адміністратори проекту. Щоб додати або змінити переклади для усіх вікі, відвідайте [//translatewiki.net/ translatewiki.net], проект локалізації MediaWiki.',
 'editinginterface' => "'''Увага:''' Ви редагуєте сторінку, що є частиною текстового інтерфейсу. Зміни цієї сторінки спричинять зміну інтерфейсу для інших користувачів. Для перекладу повідомлення використовуйте [//translatewiki.net/wiki/Main_Page?setlang=uk translatewiki.net] — проект, що займається локалізацією MediaWiki.",
-'cascadeprotected' => 'Сторінка захищена від змін, оскільки її включено до {{PLURAL:$1|сторінки, для якої|наступних сторінок, для яких}} установлено каскадний захист: $2',
+'cascadeprotected' => 'Сторінка захищена від змін, оскільки її включено до {{PLURAL:$1|1=сторінки, для якої|наступних сторінок, для яких}} установлено каскадний захист: $2',
 'namespaceprotected' => 'У вас нема дозволу редагувати сторінки в просторі назв «$1».',
 'customcssprotected' => 'У вас немає прав на редагування цієї CSS-сторінки, так як вона містить особисті налаштування іншого користувача.',
 'customjsprotected' => 'У вас немає дозволу на редагування цієї JavaScript-сторінки, так як вона містить особисті налаштування іншого користувача.',
@@ -794,7 +794,7 @@ $1',
 'yourpasswordagain' => 'Повторний набір пароля:',
 'createacct-yourpasswordagain' => 'Підтвердіть пароль',
 'createacct-yourpasswordagain-ph' => 'Введіть пароль знову',
-'remembermypassword' => "Запам'ятати мій обліковий запис на цьому комп'ютері (на строк не більше $1 {{PLURAL:$1|дня|днів}})",
+'remembermypassword' => "Запам'ятати мій обліковий запис на цьому комп'ютері (на строк не більше $1 {{PLURAL:$1|1=дня|днів}})",
 'userlogin-remembermypassword' => "Запам'ятати мене",
 'userlogin-signwithsecure' => "Захищене з'єднання",
 'yourdomainname' => 'Ваш домен:',
@@ -890,7 +890,7 @@ $1',
 'blocked-mailpassword' => 'Редагування з вашої IP-адреси заборонено, заблокована також функція відновлення пароля.',
 'eauthentsent' => 'На вказану адресу електронної пошти відправлено лист.
 Щоб отримувати листи надалі, дотримуйтесь викладених там інструкцій для підтвердження того, що ця адреса належить вам.',
-'throttled-mailpassword' => 'Інструкція по відновленню паролю вже була вислана електронною поштою протягом {{PLURAL:$1|останньої години|останніх $1 годин}}.
+'throttled-mailpassword' => 'Інструкція по відновленню паролю вже була вислана електронною поштою протягом {{PLURAL:$1|1=останньої години|останніх $1 годин}}.
 Для попередження зловживань дозволено надсилати тільки одну інструкцію за {{PLURAL:$1|годину|$1 години|$1 годин}}.',
 'mailerror' => 'Помилка при відправці пошти: $1',
 'acct_creation_throttle_hit' => 'Відвідувачі з вашої IP-адреси вже створили $1 {{PLURAL:$1|обліковий запис|облікових записи|облікових записів}} за останню добу, що є максимумом для цього відрізка часу.
@@ -955,17 +955,17 @@ $1',
 'passwordreset-capture-help' => 'Якщо Ви встановите відмітку, Вам буде показаний електронний лист (із тимчасовим паролем), який буде відправлений користувачеві.',
 'passwordreset-email' => 'Адреса електронної пошти:',
 'passwordreset-emailtitle' => 'Деталі облікового запису на {{SITENAME}}',
-'passwordreset-emailtext-ip' => "Хтось (імовірно Ви, з IP-адреси $1) попросив нагадати деталі Вашого облікового запису для {{SITENAME}} ($4). З Вашою електронною скринькою пов'язан{{PLURAL:$3|ий такий запис|і такі записи}}:
+'passwordreset-emailtext-ip' => "Хтось (імовірно Ви, з IP-адреси $1) попросив нагадати деталі Вашого облікового запису для {{SITENAME}} ($4). З Вашою електронною скринькою пов'язан{{PLURAL:$3|1=ий такий запис|і такі записи}}:
 
 $2
 
-{{PLURAL:$3|Цей тимчасовий пароль|Ці тимчасові паролі}} стануть недійсні через {{PLURAL:$5|день|$5 дні|$5 днів}}.
+{{PLURAL:$3|1=Цей тимчасовий пароль|Ці тимчасові паролі}} стануть недійсні через {{PLURAL:$5|день|$5 дні|$5 днів}}.
 Ви маєте ввійти в систему і вибрати новий пароль. Якщо ж цей запит зробив хтось інший, або Ви пам'ятаєте свій старий пароль і не бажаєте його змінювати, можете просто проігнорувати це повідомлення та продовжувати використовувати старий пароль.",
-'passwordreset-emailtext-user' => "Користувач $1 з {{SITENAME}} попросив нагадати деталі Вашого облікового запису для {{SITENAME}} ($4). З Вашою електронною скринькою пов'язан{{PLURAL:$3|ий такий запис|і такі записи}}:
+'passwordreset-emailtext-user' => "Користувач $1 з {{SITENAME}} попросив нагадати деталі Вашого облікового запису для {{SITENAME}} ($4). З Вашою електронною скринькою пов'язан{{PLURAL:$3|1=ий такий запис|і такі записи}}:
 
 $2
 
-{{PLURAL:$3|Цей тимчасовий пароль|Ці тимчасові паролі}} стануть нечинні через {{PLURAL:$5|день|$5 дні|$5 днів}}.
+{{PLURAL:$3|1=Цей тимчасовий пароль|Ці тимчасові паролі}} стануть нечинні через {{PLURAL:$5|день|$5 дні|$5 днів}}.
 Ви маєте ввійти в систему і вибрати новий пароль. Якщо ж цей запит зробив хтось інший, або Ви пам'ятаєте свій старий пароль і не бажаєте його змінювати, можете просто проігнорувати це повідомлення та продовжувати використовувати старий пароль.",
 'passwordreset-emailelement' => "Ім'я користувача: $1
 Тимчасовий пароль: $2",
@@ -1169,12 +1169,12 @@ $2
 Останній запис журналу наведений нижче для довідки:",
 'semiprotectedpagewarning' => "'''Зауваження:''' Ця сторінка захищена так, що її можуть редагувати тільки зареєстровані користувачі.
 Останній запис журналу наведений нижче для довідки:",
-'cascadeprotectedwarning' => "'''Попередження:''' Цю сторінку можуть редагувати лише користувачі з групи «Адміністратори», оскільки вона включена {{PLURAL:$1|до сторінки, для якої|до наступних сторінок, для яких}} активовано каскадний захист:",
+'cascadeprotectedwarning' => "'''Попередження:''' Цю сторінку можуть редагувати лише користувачі з групи «Адміністратори», оскільки вона включена {{PLURAL:$1|1=до сторінки, для якої|до наступних сторінок, для яких}} активовано каскадний захист:",
 'titleprotectedwarning' => "'''Попередження. Ця сторінка була захищена так, що для її створення потрібні [[Special:ListGroupRights|особливі права]].'''
 Останній запис журналу наведений нижче для довідки:",
-'templatesused' => '{{PLURAL:$1|Шаблон, використаний|Шаблони, використані}} на цій сторінці:',
-'templatesusedpreview' => '{{PLURAL:$1|Шаблон, використаний|Шаблони, використані}} у цьому попередньому перегляді:',
-'templatesusedsection' => '{{PLURAL:$1|Шаблон, використаний|Шаблони, використані}} у цій секції:',
+'templatesused' => '{{PLURAL:$1|1=Шаблон, використаний|Шаблони, використані}} на цій сторінці:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Шаблон, використаний|Шаблони, використані}} у цьому попередньому перегляді:',
+'templatesusedsection' => '{{PLURAL:$1|1=Шаблон, використаний|Шаблони, використані}} у цій секції:',
 'template-protected' => '(захищено)',
 'template-semiprotected' => '(частково захищено)',
 'hiddencategories' => 'Ця сторінка належить до $1 {{PLURAL:$1|прихованої категорії|прихованих категорій|прихованих категорій}}:',
@@ -1186,8 +1186,8 @@ $2
 'sectioneditnotsupported-title' => 'Редагування окремих розділів не підтримується',
 'sectioneditnotsupported-text' => 'На цій сторінці не підтримується редагування окремих розділів',
 'permissionserrors' => 'Помилка доступу',
-'permissionserrorstext' => 'У вас нема прав на виконання цієї операції з {{PLURAL:$1|наступної причини|наступних причин}}:',
-'permissionserrorstext-withaction' => 'У вас нема дозволу на $2 з {{PLURAL:$1|такої причини|таких причин}}:',
+'permissionserrorstext' => 'У вас нема прав на виконання цієї операції з {{PLURAL:$1|1=наступної причини|наступних причин}}:',
+'permissionserrorstext-withaction' => 'У вас нема дозволу на $2 з {{PLURAL:$1|1=такої причини|таких причин}}:',
 'recreate-moveddeleted-warn' => "'''Попередження: ви намагаєтеся створити сторінку, яка раніше вже була вилучена.'''
 
 Перевірте, чи справді вам потрібно знову створювати цю сторінку.
@@ -1326,8 +1326,8 @@ $3 зазначив таку причину: ''$2''",
 'revdelete-no-file' => 'Зазначений файл не існує.',
 'revdelete-show-file-confirm' => 'Ви впевнені, що хочете переглянути вилучену версію файлу «<nowiki>$1</nowiki>» від $3 $2?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|Обрана версія|Обрані версії}} сторінки [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Обраний запис|Обрані записи}} журналу:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|1=Обрана версія|Обрані версії}} сторінки [[:$1]]:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:'''",
 'revdelete-text' => "'''Вилучені версії сторінок і подій будуть відображатися в історії сторінки та журналах, але частина їх вмісту не буде доступною звичайним користувачам.'''
 Доступ до прихованого змісту матимуть адміністратори проекту {{SITENAME}}, які зможуть відновити його за допомогою цього ж інтерфейсу,
 крім випадків, коли були встановлені додаткові обмеження власниками сайту.",
@@ -1349,7 +1349,7 @@ $3 зазначив таку причину: ''$2''",
 'revdelete-suppress' => 'Приховувати дані також і від адміністраторів',
 'revdelete-unsuppress' => 'Зняти обмеження з відновлених версій',
 'revdelete-log' => 'Причина:',
-'revdelete-submit' => 'Застосувати до {{PLURAL:$1|обраної версії|обраних версій}}',
+'revdelete-submit' => 'Застосувати до {{PLURAL:$1|1=обраної версії|обраних версій}}',
 'revdelete-success' => "'''Видимість версії успішно змінена.'''",
 'revdelete-failure' => "'''Видимість версії неможливо змінити:'''
 $1",
@@ -1424,9 +1424,9 @@ $1",
 'showhideselectedversions' => 'Показати/приховати обрані версії',
 'editundo' => 'скасувати',
 'diff-empty' => '(Немає відмінностей)',
-'diff-multi' => '({{PLURAL:$1|Одна проміжна версія одного користувача не показана|$1 проміжні версії {{PLURAL:$2|одного користувача|$2 користувачів}} не показані|$1 проміжних версій {{PLURAL:$2|одного користувача|$2 користувачів}} не показані}})',
-'diff-multi-manyusers' => '({{PLURAL:$1|не показана $1 проміжна я версія|не показані $1 проміжні версії|не показано $1 проміжних версій}}, зроблених більш, ніж {{PLURAL:$2|$1 користувачем|$2 користувачами}})',
-'difference-missing-revision' => '{{PLURAL:$2|$2 версія|$2 версії|$2 версій}} для цього порівняння ($1) не {{PLURAL:$2|знайдена|знайдені}}.
+'diff-multi' => '({{PLURAL:$1|Одна проміжна версія одного користувача не показана|$1 проміжні версії {{PLURAL:$2|1=одного користувача|$2 користувачів}} не показані|$1 проміжних версій {{PLURAL:$2|1=одного користувача|$2 користувачів}} не показано}})',
+'diff-multi-manyusers' => '({{PLURAL:$1|не показана $1 проміжна версія|не показані $1 проміжні версії|не показано $1 проміжних версій}}, зроблених більш, ніж {{PLURAL:$2|1=$1 користувачем|$2 користувачами}})',
+'difference-missing-revision' => '{{PLURAL:$2|$2 версія|$2 версії|$2 версій}} для цього порівняння ($1) не {{PLURAL:$2|1=знайдена|знайдені}}.
 
 Імовірно, ви перейшли за застарілим посиланням на порівняння версій вилученої сторінки.
 Подробиці можна дізнатися з [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журналу вилучень].',
@@ -1471,7 +1471,7 @@ $1",
 'searchall' => 'усі',
 'showingresults' => "Нижче {{PLURAL:$1|показане|показані|показані}} '''$1''' {{PLURAL:$1|результат|результати|результатів}}, починаючи з №&nbsp;'''$2'''",
 'showingresultsnum' => 'Нижче показано <strong>$3</strong> {{PLURAL:$3|результат|результати|результатів}}, починаючи з №&nbsp;<strong>$2</strong>.',
-'showingresultsheader' => "{{PLURAL:$5|Результат '''$1''' з '''$3'''|Результати '''$1 — $2''' з '''$3'''}} для '''$4'''",
+'showingresultsheader' => "{{PLURAL:$5|1=Результат '''$1''' з '''$3'''|Результати '''$1 — $2''' з '''$3'''}} для '''$4'''",
 'search-nonefound' => 'Не знайдено результатів, що відповідають запиту.',
 'powersearch-legend' => 'Розширений пошук',
 'powersearch-ns' => 'Пошук у просторах назв:',
@@ -1557,7 +1557,7 @@ $1",
 'youremail' => 'Адреса електронної пошти:',
 'username' => "{{GENDER:$1|Ім'я користувача|Ім'я користувачки}}:",
 'uid' => 'Ідентифікатор {{GENDER:$1|користувача}}:',
-'prefs-memberingroups' => '{{GENDER:$2|Член}} {{PLURAL:$1|групи|груп}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Член}} {{PLURAL:$1|1=групи|груп}}:',
 'prefs-memberingroups-type' => '$1',
 'prefs-registration' => 'Час реєстрації:',
 'prefs-registration-date-time' => '$1',
@@ -1882,9 +1882,9 @@ $1",
 'filetype-badmime' => 'Файли, що мають MIME-тип «$1», не можуть бути завантажені.',
 'filetype-bad-ie-mime' => 'Неможливо завантажити цей файл, оскільки Internet Explorer визначатиме його як «$1», тобто недозволеним і потенційно небезпечним типом файлу.',
 'filetype-unwanted-type' => "'''\".\$1\"''' — небажаний тип файлу.
-{{PLURAL:\$3|Бажаний тип файлів|Бажані типи файлів}}: \$2.",
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|недозволений тип файлів|недозволені типи файлів}}.
-{{PLURAL:$3|Дозволений тип файлів|Дозволені типи файлів}}: $2.',
+{{PLURAL:\$3|1=Бажаний тип файлів|Бажані типи файлів}}: \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' — {{PLURAL:$4|1=недозволений тип файлів|недозволені типи файлів}}.
+{{PLURAL:$3|1=Дозволений тип файлів|Дозволені типи файлів}}: $2.',
 'filetype-missing' => 'Відсутнє розширення файлу (наприклад, «.jpg»).',
 'empty-file' => 'Надісланий вами файл порожній.',
 'file-too-large' => 'Файл, який ви надіслали, завеликий.',
@@ -1920,7 +1920,7 @@ $1",
 [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'Файл із такою назвою вже існує у спільному сховищі файлів.
 Якщо ви все ж хочете завантажити цей файл, будь ласка, поверніться назад і змініть назву файлу. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'Цей файл є дублікатом {{PLURAL:$1|файлу|таких файлів}}:',
+'file-exists-duplicate' => 'Цей файл є дублікатом {{PLURAL:$1|1=файлу|таких файлів}}:',
 'file-deleted-duplicate' => 'Такий самий файл ([[:$1]]) уже вилучався раніше. Будь ласка, ознайомтеся з історією вилучень файлу перед тим, як завантажити його знову.',
 'uploadwarning' => 'Попередження',
 'uploadwarning-text' => 'Будь ласка, змініть наданий нижче опис файлу і спробуйте ще раз.',
@@ -2005,7 +2005,7 @@ $1',
 'backend-fail-connect' => 'Неможливо підключитися до сховища рушія "$1".',
 'backend-fail-internal' => 'Сталася невідома помилка у сховищі рушія "$1".',
 'backend-fail-contenttype' => 'Не вдалося визначити тип вмісту файла, щоб зберегти його в "$1".',
-'backend-fail-batchsize' => 'Серверна частина отримала блок із $1 {{PLURAL:$1|файлової операції|файлових операцій}}; обмеження складає $2 {{PLURAL:$2|файлову операцію|файлові операції|файлових операцій}}.',
+'backend-fail-batchsize' => 'Серверна частина отримала блок із $1 {{PLURAL:$1|1=файлової операції|файлових операцій}}; обмеження складає $2 {{PLURAL:$2|файлову операцію|файлові операції|файлових операцій}}.',
 'backend-fail-usable' => 'Файл «$1» не може бути прочитано чи записано через недостатні повноваження або відсутність каталогів (контейнерів).',
 
 # File journal errors
@@ -2120,8 +2120,8 @@ $1',
 'filehist-comment' => 'Коментар',
 'filehist-missing' => 'Файл відсутній',
 'imagelinks' => 'Використання файлу',
-'linkstoimage' => '{{PLURAL:$1|Наступна сторінка посилається|Наступні сторінки посилаються}} на цей файл:',
-'linkstoimage-more' => 'Більше $1 {{PLURAL:$1|сторінки|сторінок}} посилаються на цей файл.
+'linkstoimage' => '{{PLURAL:$1|1=Наступна сторінка посилається|Наступні сторінки посилаються}} на цей файл:',
+'linkstoimage-more' => 'Більше $1 {{PLURAL:$1|1=сторінки|сторінок}} посилаються на цей файл.
 У цьому списку {{PLURAL:$1|показане тільки $1 посилання|показані тільки $1 посилання|показані тільки $1 посилань}} на цей файл.
 Також доступний [[Special:WhatLinksHere/$2|повний список]].',
 'nolinkstoimage' => 'Нема сторінок, що посилаються на цей файл.',
@@ -2196,7 +2196,7 @@ $1',
 
 # Random page
 'randompage' => 'Випадкова стаття',
-'randompage-nopages' => 'Нема сторінок в {{PLURAL:$2|просторі назв|просторах назв}} $1.',
+'randompage-nopages' => 'Нема сторінок в {{PLURAL:$2|1=просторі назв|просторах назв}} $1.',
 
 # Random page in category
 'randomincategory' => 'Випадкова сторінка у категорії',
@@ -2227,7 +2227,7 @@ $1',
 'statistics-views-peredit' => 'Переглядів на редагування',
 'statistics-users' => 'Зареєстрованих [[Special:ListUsers|користувачів]]',
 'statistics-users-active' => 'Активні користувачі',
-'statistics-users-active-desc' => 'Користувачі, які здійснили якусь дію протягом {{PLURAL:$1|минулого дня|минулих $1 днів}}',
+'statistics-users-active-desc' => 'Користувачі, які здійснили якусь дію протягом {{PLURAL:$1|1=минулого дня|$1 минулих днів}}',
 'statistics-mostpopular' => 'Сторінки, які найчастіше переглядають',
 
 'pageswithprop' => 'Сторінки з перевизначеними властивостями',
@@ -2267,8 +2267,8 @@ $1',
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|член|члени|членів}}',
 'nrevisions' => '$1 {{PLURAL:$1|версія|версії|версій}}',
 'nviews' => '$1 {{PLURAL:$1|перегляд|перегляди|переглядів}}',
-'nimagelinks' => 'Використовується на $1 {{PLURAL:$1|сторінці|сторінках}}',
-'ntransclusions' => 'використовується на $1 {{PLURAL:$1|сторінці|сторінках}}',
+'nimagelinks' => 'Використовується на $1 {{PLURAL:$1|1=сторінці|сторінках}}',
+'ntransclusions' => 'використовується на $1 {{PLURAL:$1|1=сторінці|сторінках}}',
 'specialpage-empty' => 'Запит не дав результатів.',
 'lonelypages' => 'Статті-сироти',
 'lonelypagestext' => 'На такі сторінки нема посилань з інших сторінок і вони не включаються до інших сторінок {{grammar:genitive|{{SITENAME}}}}.',
@@ -2303,6 +2303,7 @@ $1',
 'protectedpages' => 'Захищені сторінки',
 'protectedpages-indef' => 'Тільки безстроково захищені',
 'protectedpages-cascade' => 'Тільки каскадний захист',
+'protectedpages-noredirect' => 'Сховати перенаправлення',
 'protectedpagesempty' => 'Зараз нема захищених сторінок із зазначеними параметрами',
 'protectedtitles' => 'Заборонені назви',
 'protectedtitlesempty' => 'Зараз нема захищених назв із зазначеними параметрами.',
@@ -2370,7 +2371,7 @@ $1',
 
 # Special:Categories
 'categories' => 'Категорії',
-'categoriespagetext' => '{{PLURAL:$1|Наступна категорія|Наступні категорії}} містять сторінки або медіа-файли.
+'categoriespagetext' => '{{PLURAL:$1|1=Наступна категорія містить|Наступні категорії містять}} сторінки або медіа-файли.
 Тут не показані [[Special:UnusedCategories|категорії, що не використовуються]].
 Див. також [[Special:WantedCategories|список необхідних категорій]].',
 'categoriesfrom' => 'Показати категорії, що починаються з:',
@@ -2389,7 +2390,7 @@ $1',
 'linksearch-ok' => 'Знайти',
 'linksearch-text' => 'Можна вживати підстановочні символи, наприклад, «*.wikipedia.org».
 Необхідно зазначити домен, принаймні верхнього рівня, наприклад «*.org».<br />
-{{PLURAL:$2|Підтримується протокол|Підтримуються протоколи}}: <code>$1</code> (за замовчуванням http:// , якщо жоден протокол не зазначено).',
+{{PLURAL:$2|1=Підтримується протокол|Підтримуються протоколи}}: <code>$1</code> (за замовчуванням http:// , якщо жоден протокол не зазначено).',
 'linksearch-line' => 'Посилання на $1 із $2',
 'linksearch-error' => 'Підстановочні знаки можуть використовуватися лише на початку адрес.',
 
@@ -2421,12 +2422,12 @@ $1',
 'listgrouprights-members' => '(список членів)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <code>($2)</code></span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <code>($2)</code></span>',
-'listgrouprights-addgroup' => 'може додавати в {{PLURAL:$2|групу|групи}}: $1',
-'listgrouprights-removegroup' => 'може виключати з {{PLURAL:$2|групи|груп}}: $1',
+'listgrouprights-addgroup' => 'може додавати в {{PLURAL:$2|1=групу|групи}}: $1',
+'listgrouprights-removegroup' => 'може виключати з {{PLURAL:$2|1=групи|груп}}: $1',
 'listgrouprights-addgroup-all' => 'може додавати до всіх груп',
 'listgrouprights-removegroup-all' => 'може виключати зі всіх груп',
-'listgrouprights-addgroup-self' => 'може додавати {{PLURAL:$2|групу|групи}} до свого облікового запису: $1',
-'listgrouprights-removegroup-self' => 'може вилучати {{PLURAL:$2|групу|групи}} зі свого облікового запису: $1',
+'listgrouprights-addgroup-self' => 'може додавати {{PLURAL:$2|1=групу|групи}} до свого облікового запису: $1',
+'listgrouprights-removegroup-self' => 'може вилучати {{PLURAL:$2|1=групу|групи}} зі свого облікового запису: $1',
 'listgrouprights-addgroup-self-all' => 'Може додавати всі групи до свого облікового запису',
 'listgrouprights-removegroup-self-all' => 'може вилучати всі групи зі свого облікового запису',
 
@@ -2557,7 +2558,7 @@ $UNWATCHURL
 'exblank' => 'стаття була порожньою',
 'delete-confirm' => 'Вилучення «$1»',
 'delete-legend' => 'Вилучення',
-'historywarning' => "'''Попередження:''' Сторінка, яку ви збираєтеся вилучити, має історію редагувань з приблизно $1 {{PLURAL:$1|версії|версій}}:",
+'historywarning' => "'''Попередження:''' Сторінка, яку ви збираєтеся вилучити, має історію редагувань з приблизно $1 {{PLURAL:$1|1=версії|версій}}:",
 'confirmdeletetext' => 'Ви збираєтесь вилучити сторінку і всі її журнали редагувань з бази даних.
 Будь ласка, підтвердіть, що ви бажаєте зробити це, повністю розумієте наслідки і що робите це у відповідності з [[{{MediaWiki:Policy-url}}|правилами]].',
 'actioncomplete' => 'Дію виконано',
@@ -2635,7 +2636,7 @@ $UNWATCHURL
 Поточні установки для сторінки '''$1''':",
 'protect-locked-access' => "У вашого облікового запису недостатньо прав для зміни рівня захисту сторінки.
 Поточні установки для сторінки: '''$1''':",
-'protect-cascadeon' => 'Ця сторінка захищена, бо вона включена {{PLURAL:$1|до зазначеної нижче сторінки, на яку|до нижчезазначених сторінок, на які}} встановлено каскадний захист. Ви можете змінити рівень захисту цієї сторінки, але це не вплине на каскадний захист.',
+'protect-cascadeon' => 'Ця сторінка захищена, бо вона включена {{PLURAL:$1|1=до зазначеної нижче сторінки, на яку|до нижчезазначених сторінок, на які}} встановлено каскадний захист. Ви можете змінити рівень захисту цієї сторінки, але це не вплине на каскадний захист.',
 'protect-default' => 'Дозволити всім користувачам',
 'protect-fallback' => 'Дозволено тільки користувачам із дозволом «$1»',
 'protect-level-autoconfirmed' => 'Дозволено тільки автопідтвердженим користувачам',
@@ -2680,7 +2681,7 @@ $UNWATCHURL
 'undeletepage' => 'Перегляд і відновлення вилучених сторінок',
 'undeletepagetitle' => "'''Нижче наведені вилучені версії [[:$1|$1]]'''.",
 'viewdeletedpage' => 'Переглянути видалені сторінки',
-'undeletepagetext' => '{{PLURAL:$1|Сторінка була вилучена, однак вона все ще знаходиться в архіві, тому може бути відновлена|Такі сторінки були вилучені, але вони все ще знаходяться в архіві і тому можуть бути відновлені}}. Архів періодично очищається.',
+'undeletepagetext' => '{{PLURAL:$1|1=Сторінка була вилучена, однак вона все ще знаходиться в архіві, тому може бути відновлена|Такі сторінки були вилучені, але вони все ще знаходяться в архіві і тому можуть бути відновлені}}. Архів періодично очищається.',
 'undelete-fieldset-title' => 'Відновити версії',
 'undeleteextrahelp' => "Для повного відновлення історії сторінки залиште всі поля порожніми й натисніть '''''«{{int:undeletebtn}}»'''''. 
 Для виконання часткового відновлення помітьте відповідні змінені поля, а потім натисніть '''''«{{int:undeletebtn}}»'''''.",
@@ -2843,7 +2844,7 @@ $1',
 'blocklist-reason' => 'Причина',
 'ipblocklist-submit' => 'Пошук',
 'ipblocklist-localblock' => 'Локальне блокування',
-'ipblocklist-otherblocks' => '{{PLURAL:$1|Інше блокування|Інші блокування}}',
+'ipblocklist-otherblocks' => '{{PLURAL:$1|1=Інше блокування|Інші блокування}}',
 'infiniteblock' => 'блокування на невизначений термін',
 'expiringblock' => 'закінчиться $1 $2',
 'anononlyblock' => 'тільки анонімів',
@@ -2881,7 +2882,7 @@ $1',
 'ipb_hide_invalid' => 'Неможливо приховати обліковий запис; з нього зроблено дуже багато редагувань.',
 'ipb_already_blocked' => '«$1» уже заблоковано. Для того, щоб призначити новий термін блокування, спочатку розблокуйте його.',
 'ipb-needreblock' => 'Користувач $1 вже заблокований. Хочете змінити параметри блокування?',
-'ipb-otherblocks-header' => '{{PLURAL:$1|Інше блокування|Інші блокування}}',
+'ipb-otherblocks-header' => '{{PLURAL:$1|1=Інше блокування|Інші блокування}}',
 'unblock-hideuser' => "Ви не можете розблокувати цього користувача, оскільки його ім'я було приховано.",
 'ipb_cant_unblock' => 'Помилка: блокування з ID $1 не знайдене.
 Можливо, користувач уже розблокований.',
@@ -2977,7 +2978,7 @@ $1',
 'movepage-max-pages' => '$1 {{PLURAL:$1|сторінка була перейменована|сторінки були перейменовані|сторінок були перейменовані}} — це максимум, більше сторінок не можна перейменувати автоматично.',
 'movelogpage' => 'Журнал перейменувань',
 'movelogpagetext' => 'Далі подано список перейменованих сторінок.',
-'movesubpage' => '{{PLURAL:$1|Підсторінка|Підсторінки}}',
+'movesubpage' => '{{PLURAL:$1|1=Підсторінка|Підсторінки}}',
 'movesubpagetext' => 'Ця сторінка має $1 {{PLURAL:$1|підсторінку|підсторінки|підсторінок}}.',
 'movenosubpage' => 'Ця сторінка не має підсторінок.',
 'movereason' => 'Причина:',
@@ -3108,7 +3109,7 @@ $2',
 'import-error-special' => 'Сторінку "$1" не імпортовано, оскільки вона належить до особливого простору імен, що не дозволяє створення сторінок.',
 'import-error-invalid' => 'Сторінку "$1" не імпортовано, оскільки його ім\'я неприпустиме.',
 'import-error-unserialize' => 'Версія $2 сторінки «$1» не може бути деструктурованою (десеріалізованою). Отримано повідомлення, що у цій версії використано модель $3 сериалізована як $4.',
-'import-options-wrong' => '{{PLURAL:$2|Неправильна опція|Неправильні опції}}: <nowiki>$1</nowiki>',
+'import-options-wrong' => '{{PLURAL:$2|1=Неправильна опція|Неправильні опції}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Вказана некоректна назва кореневої сторінки',
 'import-rootpage-nosubpage' => 'В просторі назв вказаної кореневої сторінки «$1» заборонені підсторінки',
 
@@ -3229,14 +3230,14 @@ $2',
 The wiki server can't provide data in a format your client can read.",
 
 # Attribution
-'anonymous' => '{{PLURAL:$1|Анонімний користувач|Анонімні користувачі}} {{grammar:genitive|{{SITENAME}}}}',
+'anonymous' => '{{PLURAL:$1|1=Анонімний користувач|Анонімні користувачі}} {{grammar:genitive|{{SITENAME}}}}',
 'siteuser' => 'Користувач {{grammar:genitive|{{SITENAME}}}} $1',
 'anonuser' => 'анонімний користувач {{grammar:genitive|{{SITENAME}}}} $1',
 'lastmodifiedatby' => 'Остання зміна $2, $1 користувачем $3.',
 'othercontribs' => 'Базується на праці $1.',
 'others' => 'інші',
-'siteusers' => '{{PLURAL:$2|Користувач|Користувачі}} {{grammar:genitive|{{SITENAME}}}} $1',
-'anonusers' => '{{PLURAL:$2|анонімний користувач|анонімні користувачі}} {{grammar:genitive|{{SITENAME}}}} $1',
+'siteusers' => '{{PLURAL:$2|1=Користувач|Користувачі}} {{grammar:genitive|{{SITENAME}}}} $1',
+'anonusers' => '{{PLURAL:$2|1=анонімний користувач|анонімні користувачі}} {{grammar:genitive|{{SITENAME}}}} $1',
 'creditspage' => 'Подяки',
 'nocredits' => 'Відсутній список користувачів для цієї статті',
 
@@ -3282,10 +3283,10 @@ The wiki server can't provide data in a format your client can read.",
 'pageinfo-authors' => 'Загальна кількість унікальних авторів',
 'pageinfo-recent-edits' => 'Кількість поточних редагувань в історії (протягом $1)',
 'pageinfo-recent-authors' => 'Кількість авторів за останній час',
-'pageinfo-magic-words' => '{{PLURAL:$1|Магічне слово|Магічні слова}} ($1)',
-'pageinfo-hidden-categories' => '{{PLURAL:$1|Прихована категорія|Приховані категорії}} ($1)',
-'pageinfo-templates' => 'Включено {{PLURAL:$1|шаблон|шаблонів}} ($1)',
-'pageinfo-transclusions' => 'Включено до ($1) {{PLURAL:$1|сторінки|сторінок}}',
+'pageinfo-magic-words' => '{{PLURAL:$1|1=Магічне слово|Магічні слова}} ($1)',
+'pageinfo-hidden-categories' => '{{PLURAL:$1|1=Прихована категорія|Приховані категорії}} ($1)',
+'pageinfo-templates' => 'Включено {{PLURAL:$1|1=шаблон|шаблонів}} ($1)',
+'pageinfo-transclusions' => 'Включено до ($1) {{PLURAL:$1|1=сторінки|сторінок}}',
 'pageinfo-toolboxlink' => 'Інформація про сторінку',
 'pageinfo-redirectsto' => 'Перенаправляє на',
 'pageinfo-redirectsto-info' => 'інформація',
@@ -3353,7 +3354,7 @@ $1',
 'svg-long-error' => 'неправильний SVG-файл: $1',
 'show-big-image' => 'Повна роздільність',
 'show-big-image-preview' => 'Розмір при попередньому перегляді: $1.',
-'show-big-image-other' => '{{PLURAL:$2|Інша роздільність|Інші роздільності}}: $1.',
+'show-big-image-other' => '{{PLURAL:$2|1=Інша роздільність|Інші роздільності}}: $1.',
 'show-big-image-size' => '$1 × $2 пікселів',
 'file-info-gif-looped' => 'кільцеве',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|кадр|кадри|кадрів}}',
@@ -4210,7 +4211,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'fileduplicatesearch-submit' => 'Знайти',
 'fileduplicatesearch-info' => '$1 × $2 пікселів<br />Розмір файлу: $3<br />MIME-тип: $4',
 'fileduplicatesearch-result-1' => 'Файл «$1» не має ідентичних.',
-'fileduplicatesearch-result-n' => 'Файл «$1» має {{PLURAL:$2|1 ідентичний дублікат|$2 ідентичних дублікатів}}.',
+'fileduplicatesearch-result-n' => 'Файл «$1» має {{PLURAL:$2|1=1 ідентичний дублікат|$2 ідентичні дублікати|$2 ідентичних дублікатів}}.',
 'fileduplicatesearch-noresults' => 'Файл з назвою «$1» не знайдено.',
 
 # Special:SpecialPages
@@ -4310,7 +4311,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2|змінив|змінила}} видимість записів журналу подій $3',
 'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|змінив|змінила}} видимість версій на сторінці $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|подавив|подавила}} сторінку $3',
-'logentry-suppress-event' => '$1 приховано {{GENDER:$2|змінив|змінила}} видимість для {{PLURAL:$5|$5 запису|$5 записів}} журналу на $3: $4',
+'logentry-suppress-event' => '$1 приховано {{GENDER:$2|змінив|змінила}} видимість для {{PLURAL:$5|1=$5 запису|$5 записів}} журналу на $3: $4',
 'logentry-suppress-revision' => '$1 приховано {{GENDER:$2|змінив|змінила}} видимість для {{PLURAL:$5 версії|$5 версій}} на сторінці $3: $4',
 'logentry-suppress-event-legacy' => '$1 приховано {{GENDER:$2|змінив|змінила}} видимість записів журналу $3',
 'logentry-suppress-revision-legacy' => '$1 приховано {{GENDER:$2|змінив|змінила}} видимість версій на сторінці $3',
@@ -4362,10 +4363,10 @@ MediaWiki поширюється в надії, що вона буде кори
 'api-error-badaccess-groups' => 'Вам не дозволено завантажувати файли до цього вікіпроекту.',
 'api-error-badtoken' => 'Внутрішня помилка: некоректний токен.',
 'api-error-copyuploaddisabled' => 'На цьому сервері вимкнене завантаження за URL-адресою.',
-'api-error-duplicate' => 'Вже {{PLURAL:$1|існує  [$2 інший файл]|існують [$2 інші файли]}} з таким самим вмістом.',
-'api-error-duplicate-archive' => 'Раніше на сайті вже {{PLURAL:$1|був [$2 файл]|були [$2 файли]}} з ідентичним вмістом, але {{PLURAL:$1|був|були}} вилучені.',
-'api-error-duplicate-archive-popup-title' => 'Дублікати {{PLURAL:$1|файла|файлів}}, які вже були вилучені',
-'api-error-duplicate-popup-title' => 'Дублікат {{PLURAL:$1| файлу|файлів}}',
+'api-error-duplicate' => 'Вже {{PLURAL:$1|1=існує  [$2 інший файл]|існують [$2 інші файли]}} з таким самим вмістом.',
+'api-error-duplicate-archive' => 'Раніше на сайті вже {{PLURAL:$1|1=був [$2 файл]|були [$2 файли]}} з ідентичним вмістом, але {{PLURAL:$1|1=його|їх}} вилучили.',
+'api-error-duplicate-archive-popup-title' => 'Дублікати {{PLURAL:$1|1=файла|файлів}}, які вже були вилучені',
+'api-error-duplicate-popup-title' => 'Дублікат {{PLURAL:$1|1=файлу|файлів}}',
 'api-error-empty-file' => 'Файл, який ви надіслали, порожній.',
 'api-error-emptypage' => 'Створення нової порожньої сторінки неприпустиме.',
 'api-error-fetchfileerror' => 'Внутрішня помилка: щось пішло не так під час отримання файлу.',
@@ -4374,7 +4375,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'api-error-file-too-large' => 'Файл, який ви надіслали, завеликий.',
 'api-error-filename-tooshort' => 'Назва файлу занадто коротка.',
 'api-error-filetype-banned' => 'Цей тип файлів заборонений.',
-'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|недозволений тип файлів|недозволені типи файлів}}. {{PLURAL:$3|Дозволений тип файлів|Дозволені типи файлів}}: $2.',
+'api-error-filetype-banned-type' => '$1 — {{PLURAL:$4|1=недозволений тип файлів|недозволені типи файлів}}. {{PLURAL:$3|1=Дозволений тип файлів|Дозволені типи файлів}}: $2.',
 'api-error-filetype-missing' => 'У цього файла відсутнє розширення.',
 'api-error-hookaborted' => 'Зміну, що Ви намагалися зробити, відкинуто обробником.',
 'api-error-http' => 'Внутрішня помилка: Не вдається підключитися до сервера.',
@@ -4391,6 +4392,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'api-error-overwrite' => 'Заміну існуючого файлу не дозволено.',
 'api-error-stashfailed' => 'Внутрішня помилка: сервер не зміг зберегти тимчасовий файл.',
 'api-error-publishfailed' => 'Внутрішня помилка: сервер не зміг опублікувати тимчасовий файл.',
+'api-error-stasherror' => 'Сталася помилка при завантаженні файлу у сховище.',
 'api-error-timeout' => 'Сервер не відповідає протягом очікуваного часу.',
 'api-error-unclassified' => 'Сталася невідома помилка.',
 'api-error-unknown-code' => 'Невідома помилка: «$1»',
@@ -4412,7 +4414,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'duration-millennia' => '$1 {{PLURAL:$1|тисячоліття|тисячоліття|тисячоліть}}',
 
 # Image rotation
-'rotate-comment' => 'Зображення повернуте на $1 {{PLURAL:$1|градус|градусів}} за годинниковою стрілкою',
+'rotate-comment' => 'Зображення повернуте на $1 {{PLURAL:$1|1=градус|градуси|градусів}} за годинниковою стрілкою',
 
 # Limit report
 'limitreport-title' => 'Аналізатор профілювання даних:',
index d5ba7ac..6e12cca 100644 (file)
@@ -2236,6 +2236,7 @@ Các mục <del>bị gạch bỏ</del> là các trang đã được sửa.',
 'protectedpages' => 'Trang bị khóa',
 'protectedpages-indef' => 'Chỉ hiển thị khóa vô hạn',
 'protectedpages-cascade' => 'Chỉ hiển thị khóa theo tầng',
+'protectedpages-noredirect' => 'Ẩn trang đổi hướng',
 'protectedpagesempty' => 'Hiện không có trang nào bị khóa với các thông số này.',
 'protectedtitles' => 'Tên trang bị khóa',
 'protectedtitlesempty' => 'Không có tựa trang nào bị khóa với các thông số như vậy.',
@@ -2509,6 +2510,7 @@ Việc xóa các trang như vậy bị hạn chế để ngăn ngừa phá hoạ
 'delete-warning-toobig' => 'Trang này có lịch sử sửa đổi lớn, đến hơn {{PLURAL:$1|lần|lần}} sửa đổi.
 Việc xóa các trang có thể làm tổn hại đến hoạt động của cơ sở dữ liệu {{SITENAME}};
 hãy cẩn trọng khi thực hiện.',
+'deleting-backlinks-warning' => "'''Cảnh báo:''' Có trang khác liên kết đến trang mà bạn sắp xóa.",
 
 # Rollback
 'rollback' => 'Lùi tất cả sửa đổi',
@@ -4261,6 +4263,7 @@ Nếu không thì bạn có thể điền biểu mẫu đơn giản ở dưới.
 'api-error-overwrite' => 'Không được ghi đè một tập tin đã tồn tại.',
 'api-error-stashfailed' => 'Lỗi nội bộ: Máy chủ bị thất bại trong việc lưu giữ tập tin tạm.',
 'api-error-publishfailed' => 'Lỗi nội bộ: Máy chủ bị thất bại trong việc xuất bản tập tin tạm.',
+'api-error-stasherror' => 'Đã xuất hiện lỗi khi tải tập tin lên hàng đợi.',
 'api-error-timeout' => 'Máy chủ không đáp ứng trong thời gian dự kiến.',
 'api-error-unclassified' => 'Gặp lỗi không ngờ',
 'api-error-unknown-code' => 'Lỗi không rõ: “$1”',
index 23f6917..f1e4564 100644 (file)
@@ -1399,7 +1399,7 @@ Lised dono jonon {{PLURAL:$1|padayümi balid|padayümis balid $1}} te lü ragiv
 'nolinkstoimage' => 'Pads nonik peyümons ad ragiv at.',
 'morelinkstoimage' => 'Logolös [[Special:WhatLinksHere/$1|yümis pluik]] ad ragiv at.',
 'linkstoimage-redirect' => '$1 (lüodükam ragiva) $2',
-'duplicatesoffile' => '{{Plural:$1|Ragiv fovik leigon|Ragivs fovik $1 leigons}} ko ragiv at ([[Special:FileDuplicateSearch/$2|nüns pluik]]):',
+'duplicatesoffile' => '{{PLURAL:$1|Ragiv fovik leigon|Ragivs fovik $1 leigons}} ko ragiv at ([[Special:FileDuplicateSearch/$2|nüns pluik]]):',
 'sharedupload' => 'Ragiv at binon se $1 e kanon pagebön fa proyegs votik.',
 'sharedupload-desc-here' => 'Ragiv at kömon de $1 e kanon pagebön fa proyegs votik.
 Bepenot su [$2 pad bepenota ragiva] onik pajonon dono.',
index f7ee5cf..00b610d 100644 (file)
@@ -49,17 +49,17 @@ $messages = array(
 'tog-hidepatrolled' => 'Käkiq perämäidsi muutmiisi nimekirän ärq muutmisõq, miä ommaq perräkaemisnimekirän',
 'tog-newpageshidepatrolled' => 'Käkiq vahtsidõ lehti nimekirän ärq ülekaeduq leheq',
 'tog-extendwatchlist' => 'Laendaq perräkaemisnimekirjä, et nätäq kõiki muutmiisi, mitte õnnõ kõgõ perämäidsi',
-'tog-usenewrc' => 'Laendõduq perämädseq muutmisõq (vaia JavaScripti)',
+'tog-usenewrc' => 'Sordiq viimädseq muutmisõq ja muutmisnimekirän leheküle perrä',
 'tog-numberheadings' => 'Päälkirjo automaatnummõrdus',
-'tog-showtoolbar' => 'Näütäq toimõndusõ riistakasti',
-'tog-editondblclick' => 'Artiklidõ toimõndaminõ topõltklõpsu pääle (JavaScript)',
+'tog-showtoolbar' => 'Näütäq toimõndusõ tüüriistaripa',
+'tog-editondblclick' => 'Toimõndaq artikliid topõltklõpsu pääle',
 'tog-editsection' => 'Lupaq lõikõ toimõndaq [toimõndaq]-linkõga',
-'tog-editsectiononrightclick' => 'Lupaq lõikõ toimõndaq hüäpoolidsõ klõpsutusõga <br /> lõigu päälkirä pääl (JavaScript)',
+'tog-editsectiononrightclick' => 'Lupaq lõikõ toimõndaq hüäpoolidsõ klõpsutusõga lõigu päälkirä pääl',
 'tog-showtoc' => 'Näütäq sisukõrda (rohkõmb ku kolmõ vaihõpäälkiräga lehile)',
 'tog-rememberpassword' => 'Salasõna miildejätmine tulõvaidsis kõrros (kõgõ inämb $1 {{PLURAL:$1|pääväs|pääväs}})',
-'tog-watchcreations' => 'Panõq mu luuduq leheq mu perräkaemisnimekirjä',
-'tog-watchdefault' => 'Kaeq vahtsidõ ja muudõtuidõ artiklidõ perrä',
-'tog-watchmoves' => 'Panõq mu ümbrenõstõduq leheküleq mu perräkaemisnimekirjä',
+'tog-watchcreations' => 'Panõq muq luuduq leheq ja üleslaadiduq teedüstüq muq perräkaemisnimekirjä',
+'tog-watchdefault' => 'Panõq perräkaemisnimekirjä muq muudõduq leheq ja teedüstüq',
+'tog-watchmoves' => 'Panõq muq ümbrenõstõduq leheq ja teedüstüq muq perräkaemisnimekirjä',
 'tog-watchdeletion' => 'Panõq mu kistutõduq leheküleq mu perräkaemisnimekirjä',
 'tog-minordefault' => 'Märgiq kõik parandusõq vaikimiisi väikeisis paranduisis',
 'tog-previewontop' => 'Näütäq proovikaehust inne, mitte perän toimõnduskasti',
@@ -71,7 +71,7 @@ $messages = array(
 'tog-shownumberswatching' => "Näütäq, ku pall'o pruukjit taa lehe perrä kaes",
 'tog-oldsig' => 'Parhillanõ alakirotus:',
 'tog-fancysig' => 'Pruugiq vikiteksti moodulist alakirotust (ilma automaatsõ lingildä)',
-'tog-uselivepreview' => 'Pruugiq kipõkaehust (JavaScript) (proomi)',
+'tog-uselivepreview' => 'Pruugiq õkvakipõkaehust (proomivõimalus)',
 'tog-forceeditsummary' => 'Annaq teedäq, ku olõ-i kirotõt kokkovõtõt',
 'tog-watchlisthideown' => 'Näüdäku-i perräkaemisnimekirän mu hindä toimõnduisi',
 'tog-watchlisthidebots' => 'Näüdäku-i perräkaemisnimekirän robotidõ toimõnduisi',
@@ -83,6 +83,8 @@ $messages = array(
 'tog-diffonly' => 'Näüdäku-i lahkominekide lehe all lehe täüt sissu',
 'tog-showhiddencats' => 'Näütäq käkitüid katõgoorijit',
 'tog-norollbackdiff' => 'Päält tagasivõtmist näüdäku-i lahkominekiid',
+'tog-useeditwarning' => 'Hoiadaq minno, ku ma lääq lehe päält ärq ilma ummi muutmiisi ärq pästmäldä',
+'tog-prefershttps' => 'Pruugiq nimega sisseminemises kõgõ kaidsõtut ütistüst',
 
 'underline-always' => 'Kõgõ',
 'underline-never' => 'Ei kunagi',
@@ -146,6 +148,18 @@ $messages = array(
 'oct' => 'rehek',
 'nov' => 'märtek',
 'dec' => 'jouluk',
+'january-date' => '$1. vahtsõaastakuu päiv',
+'february-date' => '$1. radokuu päiv',
+'march-date' => '$1. urbõkuu päiv',
+'april-date' => '$1. mahlakuu päiv',
+'may-date' => '$1. lehekuu päiv',
+'june-date' => '$1. piimäkuu päiv',
+'july-date' => '$1. hainakuu päiv',
+'august-date' => '$1. põimukuu päiv',
+'september-date' => '$1. süküskuu päiv',
+'october-date' => '$1. rehekuu päiv',
+'november-date' => '$1. märtekuu päiv',
+'december-date' => '$1. joulukuu päiv',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Katõgooria|Katõgooriaq}}',
@@ -171,6 +185,7 @@ $messages = array(
 'newwindow' => '(tulõ vallalõ vahtsõn aknõn)',
 'cancel' => 'Jätäq katski',
 'moredotdotdot' => 'Viil...',
+'morenotlisted' => 'Seo nimekiri olõ-õi tävveline.',
 'mypage' => 'Muq lehekülg',
 'mytalk' => 'Arotus',
 'anontalk' => 'Seo puutri võrgoaadrõsi arotus',
@@ -193,7 +208,7 @@ $messages = array(
 'vector-action-protect' => 'Kaidsaq',
 'vector-action-undelete' => 'Tiiq tagasi',
 'vector-action-unprotect' => 'Muudaq kaidsõt',
-'vector-simplesearch-preference' => 'Lupaq tävvendedüid otsmispakmiisi (õnnõ Vektori-kujundusõn)',
+'vector-simplesearch-preference' => 'Lupaq lihtsüstedüt otsmisripa (õnnõ Vektor-kujondusõn)',
 'vector-view-create' => 'Luuq',
 'vector-view-edit' => 'Toimõndaq',
 'vector-view-history' => 'Näütäq aoluku',
@@ -203,6 +218,7 @@ $messages = array(
 'namespaces' => 'Nimeruumiq',
 'variants' => 'Tõõsõndiq',
 
+'navigation-heading' => 'Juhtmisvaliguq',
 'errorpagetitle' => 'Viga',
 'returnto' => 'Tagasi lehe manoq $1.',
 'tagline' => 'Läteq: {{SITENAME}}',
@@ -224,6 +240,7 @@ $messages = array(
 'create-this-page' => 'Luuq seo leht',
 'delete' => 'Kistudaq ärq',
 'deletethispage' => 'Kistudaq seo artikli ärq',
+'undeletethispage' => 'Tiiq seo leht tagasi',
 'undelete_short' => 'Võtaq tagasi {{PLURAL:$1|üts muutminõ|$1 muutmist}}',
 'viewdeleted_short' => 'Kaeq {{PLURAL:$1|ütte|$1}} kistutõdut redaktsiooni',
 'protect' => 'Kaidsaq',
@@ -270,14 +287,14 @@ $1",
 # All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
 'aboutsite' => '{{SITENAME}} tutvustus',
 'aboutpage' => 'Project:Pääteedüs',
-'copyright' => 'Teksti või vabalt pruukiq litsendsi $1 perrä.',
+'copyright' => 'Teksti või vabalt pruukiq litsendsi $1 perrä, ku olõ-õi tõisildõ üteld.',
 'copyrightpage' => '{{ns:project}}:Tegijäõigusõq',
 'currentevents' => 'Miä sünnüs',
 'currentevents-url' => 'Project:Miä sünnüs',
 'disclaimers' => 'Hoiatuisi',
 'disclaimerpage' => 'Project:Üledseq hoiatusõq',
 'edithelp' => 'Toimõndamisoppus',
-'helppage' => 'Help:Oppus',
+'helppage' => 'Help:Sisukõrd',
 'mainpage' => 'Pääleht',
 'mainpage-description' => 'Pääleht',
 'policy-url' => 'Project:Säädüseq',
@@ -296,6 +313,10 @@ $1",
 'ok' => 'Hää külh',
 'retrievedfrom' => 'Vällä otsit teedüskogost "$1"',
 'youhavenewmessages' => 'Sul om $1 ($2).',
+'youhavenewmessagesfromusers' => 'Sullõ om $1 {{PLURAL:$3|ütelt|$3}} pruukjalt ($2).',
+'youhavenewmessagesmanyusers' => "Sullõ om $1 pall'odõlt pruukjilt ($2).",
+'newmessageslinkplural' => '{{PLURAL:$1|vahtsõnõ sõnnom|999=vahtsit sõnomit}}',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|viimäne muutminõ|999=viimädseq muutmisõq}}',
 'youhavenewmessagesmulti' => 'Sullõ om vahtsit sõnomit lehe pääl $1',
 'editsection' => 'toimõndaq',
 'editold' => 'toimõndaq',
@@ -319,6 +340,8 @@ $1",
 'page-rss-feed' => '$1 (RSS-söödüs)',
 'page-atom-feed' => '$1 (Atom-söödüs)',
 'red-link-title' => '$1 (säänest lehte olõ-i)',
+'sort-descending' => 'Panõq alanõvahe järekõrda',
+'sort-ascending' => 'Panõq nõsõvahe järekõrda',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Artikli',
@@ -345,6 +368,11 @@ Olõmanolõvaq tallitusleheküleq ommaq löüdäq leheküle päält [[Special:Sp
 # General errors
 'error' => 'Viga',
 'databaseerror' => 'Teedüskogo viga',
+'databaseerror-text' => "Teedüskogost perräküsümise man oll' viga.
+Viga või ollaq tarkvaran.",
+'databaseerror-textcl' => "Teedüskogost perräküsümise man oll' viga.",
+'databaseerror-query' => 'Perräküsümine: $1',
+'databaseerror-function' => 'Ülesannõq: $1',
 'databaseerror-error' => 'Viga: $1',
 'laggedslavemode' => 'Hoiatus: Taa lehe pääl pruugi-i ollaq perämäidsi muutmiisi.',
 'readonly' => 'Teedüskogo kirotuskaitsõ all',
@@ -363,6 +391,8 @@ Annaq taa lehe aadrõs viki [[Special:ListUsers/sysop|ülevänpidäjäle]].',
 'readonly_lag' => 'Teedüskogo panti automaatsõhe kinniq, et kõik teedüskogoserveriq saasiq kätte kõik värskiq muutmisõq',
 'internalerror' => 'Sisemäne viga',
 'internalerror_info' => 'Viga: $1',
+'fileappenderrorread' => 'Teedüstüt "$1" saa-as manopandmisõ aol lukõq.',
+'fileappenderror' => 'Teedüstüt "$1" saa-as manoq pandaq teedüstüle "$2".',
 'filecopyerror' => 'Es saaq teedüstüt "$1" teedüstüs "$2" kopidaq.',
 'filerenameerror' => 'Es saaq teedüstüt "$1" teedüstüs "$2" ümbre nimetäq.',
 'filedeleteerror' => 'Teedüstüt nimega "$1" saa-i ärq kistutaq.',
@@ -374,19 +404,24 @@ Annaq taa lehe aadrõs viki [[Special:ListUsers/sysop|ülevänpidäjäle]].',
 'badarticleerror' => 'Taad tallitust saa ei seo leheküle pääl tetäq.',
 'cannotdelete' => 'Lehekülge vai pilti "$1" saa ei ärq kistutaq. 
 Või-ollaq kiäki tõõnõ jo kistut\' taa ärq.',
+'cannotdelete-title' => 'Lehekülge "$1" saa-ai ärq kistutaq',
 'badtitle' => 'Viganõ päälkiri',
 'badtitletext' => "Küsüt artiklipäälkiri oll' kas viganõ, tühi vai sis
 võlssi näüdät kiili- vai wikidevaihõlinõ päälkiri.",
-'perfcached' => 'Järgmäne teedüs om puhvõrdõt ja pruugi ei ollaq kõgõ värskimb. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Järgmäne teedüs om puhvõrdõt ja om viimäte muudõt $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Järgmäne teedüs om puhvõrdõt ja pruugi ei ollaq kõgõ värskimb. 
+Puhvrin om {{PLURAL:$1|üts tullõm|$1 tulõmit}}.',
+'perfcachedts' => 'Järgmõne teedüs om vaihõmälon. Viimäne vahtsõndamisaig: $2, kell $3. Puhvrin om kooniq {{PLURAL:$4|üts tullõm|$4 tulõmit}}.',
 'querypage-no-updates' => 'Taad lehe teedüst parhilla värskis ei tetäq.',
 'viewsource' => 'Kaeq lätteteksti',
+'viewsource-title' => 'Lehe $1 lätteteksti kaeminõ',
 'actionthrottled' => 'Tallitusõ kibõhus piirõt',
 'actionthrottledtext' => "Taa tallitusõ mitmit kõrdo tegemine om prahipandjidõ peräst ärq keelet. Olõt taad lühkü ao seen pall'o hulga tennüq. Prooviq veidükese ao peräst vahtsõst.",
-'protectedpagetext' => 'Taa lehekülg om kirotuskaidsõt.',
+'protectedpagetext' => 'Taa lehekülg om kirotuskaidsõt, taad saa-ai muutaq.',
 'viewsourcetext' => 'Võit kaiaq ja kopidaq taa lehe lättekoodi:',
-'protectedinterface' => "Taa lehe pääl om tarkvara pruukjapalgõ tekst. Leht om lukku pant, et taad saasi-i ärq ts'urkiq.",
-'editinginterface' => "'''Hoiatus:''' Sa toimõndat tarkvara pruukjapalgõ tekstiga lehte. Ku siin midä muudat, mõotas tuu pruukjapalõt. Ümbrepandmisõs tasos pruukiq MediaWiki ümbrepandmisõ tüüriista [//translatewiki.net/wiki/Main_Page?setlang=fiu-vro translatewiki.net].",
+'viewyourtext' => "Saat kaiaq ja kopidaq noidõ muutmiisi lätteteksti, miä sa seo lehe pääle '''esiq''' tennüq olõt:",
+'protectedinterface' => "Taa lehe pääl om tarkvara pruukjapalgõ tekst. Leht om lukku pant, et taad saasi-i ärq ts'urkiq. 
+Ku tahat tetäq ümbrepandmiisi (midä pruukvaq kõik vikiq) pruugiq tuus MediaWiki ümbrepandmisõ tüükeskkunda [//translatewiki.net/ translatewiki.net].",
+'editinginterface' => "'''Hoiatus:''' Sa toimõndat tarkvara pruukjapalgõ tekstiga lehte. Ku siin midä muudat, mõotas tuu pruukjapalõt. Ümbrepandmisõs tasos pruukiq MediaWiki ümbrepandmisõ tüükeskkunda [//translatewiki.net/ translatewiki.net].",
 'cascadeprotected' => 'Taa leht om kirotuskaidsõt, selle et taa {{PLURAL:$1|kuulus alanolõvidõ kaidsõtuidõ lehti hulka|kuulus alanolõvidõ kaidsõtuidõ lehti hulka}}:
 $2',
 'namespaceprotected' => "Sul olõ-i lubat toimõndaq nimeruumi '''$1''' lehti.",
@@ -422,6 +457,7 @@ Tähelepandmisõs: niikavva, ku sa olõ-i tühäs tennüq uma võrgokaeja vaihõ
 'createaccount' => 'Tiiq pruukjanimi ärq',
 'gotaccount' => "Ku sul jo om uma pruukjanimi, sis '''$1'''.",
 'gotaccountlink' => 'võit nimega sisse minnäq',
+'userlogin-resetlink' => 'Kas olõt uma salasõna ärq unõhtanuq?',
 'createaccountmail' => 'e-postiga',
 'createaccountreason' => 'Põhjus:',
 'badretype' => 'Kirotõduq salasõnaq ei klapiq kokko.',
@@ -441,7 +477,7 @@ Kaeq kiräpilt üle vai [[Special:UserLogin/signup|luuq vahtsõnõ pruukjanimi]]
 'wrongpassword' => 'Kirotõt võlss salasõna. Prooviq vahtsõst.',
 'wrongpasswordempty' => 'Salasõna tohe-i tühi ollaq.',
 'passwordtooshort' => "Salasõna om viganõ vai pall'o lühkü. Taan piät olõma vähämbält {{PLURAL:$1|1 märk|$1 märki}} ja taa tohe-i ollaq sama, miä su pruukjanimi.",
-'mailmypassword' => 'Saadaq mullõ e-postiga vahtsõnõ salasõna',
+'mailmypassword' => 'Vahtsõndaq umma salasõnna',
 'passwordremindertitle' => '{{SITENAME}} salasõna miildetulõtus',
 'passwordremindertext' => 'Kiäki (arvadaq saq esiq, puutri võrgonummõr $1),
 pallõl\' vahtsõt sisseminegi salasõnna {{SITENAME}} ($4) jaos.
@@ -498,7 +534,7 @@ Või-ollaq olõt jo uma salasõna ärq muutnuq vai küsünüq vahtsõ aotlidsõ
 'bold_tip' => 'Paks kiri',
 'italic_sample' => 'Liuhkakiri',
 'italic_tip' => 'Liuhkakiri',
-'link_sample' => 'Lingitäv päälkiri',
+'link_sample' => 'Lingi päälkiri',
 'link_tip' => 'Siselink',
 'extlink_sample' => 'http://www.example.com Lingi nimi',
 'extlink_tip' => 'Välislink (unõhtagu-i ette pandaq http://)',
@@ -579,6 +615,9 @@ Ku sa johtuq siiäq kogõmaldaq, sis klõpsaq võrgokaeja '''Tagasi'''-nuppi.",
 'noarticletext' => 'Seo leht om parlaq tühi.
 Võit [[Special:Search/{{PAGENAME}}|otsiq soe lehe nimme]]  tõisi lehti päält vai
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} uuriq muutmisnimekirjo] vai [{{fullurl:{{FULLPAGENAME}}|action=edit}} puuduolõva leheküle esiq luvvaq]</span>.',
+'noarticletext-nopermission' => 'Seo lehe pääl olõ-õi parlaq teksti.
+Võit [[Special:Search/{{PAGENAME}}|otsiq soe lehe nimme]] tõisi lehti päält vai
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} uuriq muutmisnimekirjo]</span>, a sul olõ-õi õigust seod lehte alostaq.',
 'userpage-userdoesnotexist' => 'Pruukjanimme "<nowiki>$1</nowiki>" olõ-i kirjä pant. Kaeq perrä, kas olõt iks kimmäs, et tahat taad lehte toimõndaq.',
 'userpage-userdoesnotexist-view' => 'Pruukjanimme "$1" olõ-õi kirjä pant.',
 'clearyourcache' => "'''Panõq tähele:''' perän pästmist piät muutmiisi nägemises uma võrgokaeja vaihõmälo tühäs tegemä. '''Mozillal / Firofoxil / Safaril''' hoiaq all nõstmisnuppi ''Shift'' ja vaodaq ''Reload'' vai ''Ctrl-R'' (Macil ''Command-R''); Konqueroril vaodaq ''Reload'' vai ''F5''. Operal puhastaq vaihõmälo ja võtaq valikust ''Tools → Preferences''. Internet Exploreril hoiaq ''Ctrl'' ja vaodaq ''Refresh'' vai vaodaq  ''ctrl-f5''.",
@@ -589,7 +628,8 @@ Võit [[Special:Search/{{PAGENAME}}|otsiq soe lehe nimme]]  tõisi lehti päält
 'userinvalidcssjstitle' => "'''Miildetulõtus:''' Olõ-i stiili nimega \"\$1\". Piäq meelen, et pruukja säedüq .css- and .js-leheq piät nakkama väiku algustähega.",
 'updated' => '(Värskis tett)',
 'note' => "'''Miildetulõtus:'''",
-'previewnote' => "'''Taa om õnnõ proovikaehus; muutmisõq olõ-i pästedüq!'''",
+'previewnote' => "'''Seo om õnnõ proovikaehus!''' 
+Suq tettüq muutmisõq olõ-õi viil pästedüq!",
 'previewconflict' => "Taa proovikaehus näütäs, kuis ülembädsen toimõtuskastin ollõv tekst' päält pästmist vällä nägemä nakkas.",
 'session_fail_preview' => "'''Annaq andis! Su toimõndust saa-s pästäq, selle et su tüükõrra teedüs om kaoma lännüq. Olõq hää, proomiq viilkõrd. Ku tuust olõ-i kassu, proomiq nii, et läät nime alt vällä ja sis jälq tagasi sisse.'''",
 'session_fail_preview_html' => "'''Annaq andis, mi saa-i tallitaq su toimõndust, selle et toimõnduskõrra teedüs om kaoma lännüq.'''
@@ -633,13 +673,19 @@ Võit toimõndaq olõmanolõvit lehti vai [[Special:UserLogin|minnäq nimega sis
 'permissionserrorstext-withaction' => 'Sul olõ-õi lubat {{lcfirst:$2}} {{PLURAL:$1|järgmädsel põhjusõl|järgmäidsil põhjuisil}}:',
 'recreate-moveddeleted-warn' => "'''Hoiatus: Sa proovit vahtsõst luvvaq lehte, miä om ärq kistutõt.'''
 
-Kas tahat taad lehte tõtõstõ toimõndaq? Kaeq ka sissekirotust seo lehe ärqkistutamisõ kotsilõ:",
+Märgiq perrä, kas tahat taad lehte tõtõstõ luvvaq. 
+Tan ommaq nätäq seo lehe innembädseq ärqkistutamisõq ja tõistõ paika pandmisõq:",
+'moveddeleted-notice' => 'Seo leht om ärq kistutõt.
+Tan om lehe kistutamiisi ja tõistõ paika pandmiisi nimekiri.',
 'edit-conflict' => 'Samaaignõ toimõndus.',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Hoiatus:''' Pruugitavidõ näüdüsside maht om pall'o suur.
 Tuuperäst ossa näüdüssit näüdädä-äi.",
 'post-expand-template-inclusion-category' => 'Leheküleq, mil om näüdüsside mahupiir ületet',
+'post-expand-template-argument-warning' => "'''Hoiatus:''' Seo lehe pääl om näüdüs, mil vähämbält üts muutuja om määrät pall'o suurõs.
+Sääntseq muutujaq ommaq vaihõlõ jätedüq.",
+'post-expand-template-argument-category' => 'Leheq, kon om näüdüsside seen vaihõlõjätetüisi muutujit',
 
 # "Undo" feature
 'undo-success' => "Tagasivõtminõ läts' kõrda. Kaeq üle, kas taa om tuu, midä sa tetäq tahtsõt ja pästäq muutusõq.",
@@ -672,8 +718,8 @@ Seletüs: (viim) = lahkominegiq viimätsest kujost,
 (minev) = lahkominegiq minevädsest kujost, ts = väiku (tsill'okõnõ) muutminõ",
 'history-fieldset-title' => 'Kaeq muutmiisi aoluku',
 'history-show-deleted' => 'Õnnõ kistutõduq',
-'histfirst' => 'Edimädseq',
-'histlast' => 'Viimädseq',
+'histfirst' => 'Kõgõ vanõmbaq',
+'histlast' => 'Kõgõ vahtsõmbaq',
 'historysize' => '({{PLURAL:$1|1 bait|$1 baiti}})',
 'historyempty' => '(tühi)',
 
@@ -730,14 +776,14 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 'revertmerge' => 'Lüüq jälki lahko',
 
 # Diffs
-'history-title' => '"$1" muutmiisi nimekiri',
+'history-title' => 'Lehekülje "$1" muutmiisi aolugu',
 'lineno' => 'Rida $1:',
 'compareselectedversions' => 'Võrdõlõq valituid kujjõ',
 'editundo' => 'võtaq tagasi',
-'diff-multi' => '(Kujjõ vaihõl {{PLURAL:$1|üts näütämäldä muutminõ|$1 näütämäldä muutmist}}.)',
+'diff-multi' => '(Naidõ kujjõ vaihõl om {{PLURAL:$1|üts toimõndus|$1 kujjo, miä ommaq {{PLURAL:$2|üte pruukja tettüq|$2 esiq pruukja tettüq}}}}.)',
 
 # Search results
-'searchresults' => 'Otsmisõ tulõmusõq',
+'searchresults' => 'Otsmisõ tulõmiq',
 'searchresults-title' => 'Otsmisõ "$1" tulõmiq',
 'titlematches' => "Artiklipäälkir'ost löüt",
 'textmatches' => 'Artiklitekstest löüt',
@@ -748,6 +794,7 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 'nextn-title' => '{{PLURAL:$1|Järgmäne tulõmus|Järgmädseq $1 tulõmust}}',
 'shown-title' => 'Näütäq lehe kotsilõ $1 {{PLURAL:$1|tulõmus|tulõmust}}',
 'viewprevnext' => 'Näütäq ($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''Lehekülg päälkiräga \"[[:\$1]]\" om olõman.''' {{PLURAL:\$2|0=|Kaeq ka tõisi otsmistulõmit.}}",
 'searchmenu-new' => "'''Luuq leht päälkiräga \"[[:\$1]]\".'''",
 'searchprofile-articles' => 'Sisuleheq',
 'searchprofile-project' => 'Abi- ja projektileheq',
@@ -825,7 +872,9 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 Taa tohe-i ollaq rohkõmb ku $1 {{PLURAL:$1|märk|märki}}.",
 'email' => 'e-posti aadrõs',
 'prefs-help-realname' => "* <strong>Peris nimi</strong> (piä-i kirotama): ku taa teedäq annat, sis pruugitas taad pruukjanime asõmõl lehekülgi tegijide nimekir'on.",
-'prefs-help-email' => 'E-postiaadrõssit piä-i kirotama, a taa lupa tõisil pruukjil sullõ kirotaq ilma su aadrõssit nägemäldäq. Taast om sis kah kassu, ku uma salasõna ärq johtut unõhtama.',
+'prefs-help-email' => 'E-postiaadrõssit piä-i kirotama, a taa lupa sul telliq vahtsõ salasõna, ku uma salasõna ärq johtut unõhtama.',
+'prefs-help-email-others' => 'Nii saavaq ka tõõsõq pruukjaq sullõ kirotaq lingi kaudu su arotuslehe pääl
+ilma, et nä näesiq suq e-posti-aadrõssit.',
 'prefs-help-email-required' => 'E-postiaadrõs piät olõma.',
 
 # User rights
@@ -925,7 +974,7 @@ Taa tohe-i ollaq rohkõmb ku $1 {{PLURAL:$1|märk|märki}}.",
 'rclistfrom' => 'Näütäq muutmiisi kuupääväst $1 pääle',
 'rcshowhideminor' => '$1 väikuq parandusõq',
 'rcshowhidebots' => '$1 robodiq',
-'rcshowhideliu' => '$1 nimega pruukjaq',
+'rcshowhideliu' => '$1 nimega pruukjat',
 'rcshowhideanons' => '$1 nimeldä pruukjaq',
 'rcshowhidepatr' => '$1 kontrolliduq muutmisõq',
 'rcshowhidemine' => '$1 mu toimõndusõq.',
@@ -940,7 +989,7 @@ Taa tohe-i ollaq rohkõmb ku $1 {{PLURAL:$1|märk|märki}}.",
 'number_of_watching_users_pageview' => '[{{PLURAL:$1|$1 perräkaejat|üts perräkaeja}}]',
 'rc_categories' => 'Õnnõ katõgoorijist (eräldedäs märgiga "|")',
 'rc_categories_any' => 'Miä taht',
-'rc-enhanced-expand' => 'Näütäq ütsikasjo (nõud JavaScripti)',
+'rc-enhanced-expand' => 'Näütäq ütsikasjo',
 'rc-enhanced-hide' => "Käkiq ütsikas'aq ärq",
 
 # Recent changes linked
@@ -1047,7 +1096,7 @@ Ku ülekaet teedüstü om sama pilt alguperälidsen suurusõn, sis olõ-i vaia e
 'listfiles_description' => 'Seletüs',
 
 # File description page
-'file-anchor-link' => 'Pilt',
+'file-anchor-link' => 'Teedüstü',
 'filehist' => 'Teedüstü aolugu',
 'filehist-help' => "Klõpsaq kuupäävä/kelläao pääl, et nätäq määne taa teedüstü sis oll'.",
 'filehist-deleteall' => 'kistudaq kõik ärq',
@@ -1172,6 +1221,7 @@ Ku ülekaet teedüstü om sama pilt alguperälidsen suurusõn, sis olõ-i vaia e
 'protectedpages' => 'Kaidsõduq leheq',
 'protectedpagesempty' => 'Olõ-i kaidsõtuid lehti.',
 'listusers' => 'Pruukjaq',
+'usercreated' => '{{GENDER:$3|Luud}} $1 kell $2',
 'newpages' => 'Vahtsõq leheküleq',
 'newpages-username' => 'Pruukjanimi:',
 'ancientpages' => 'Kõgõ vanõmbaq leheküleq',
@@ -1223,6 +1273,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:LinkSearch
 'linksearch' => 'Välislingiq',
 'linksearch-ok' => 'Otsminõ',
+'linksearch-line' => '$1 on lingit lehekülelt $2',
 
 # Special:ListUsers
 'listusersfrom' => 'Näütäq pruukjit alostõn:',
@@ -1323,6 +1374,7 @@ As\'a kotsilõ mano kaiaq ja küssü saat lehe päält: {{canonicalurl:{{MediaWi
 'confirmdeletetext' => 'Sa kistutat teedüskogost periselt ärq lehe vai pildi üten kõgõ timä aoluuga.
 Kinnüdäq, et sa tahat tuud tõtõstõ tetäq, et sa saat arvo, miä tuust tullaq või ja et tuu, miä sa tiit, klapis [[{{MediaWiki:Policy-url}}|sisekõrraga]].',
 'actioncomplete' => 'Tallitus valmis',
+'actionfailed' => 'Tallitus lää-äs kõrda',
 'deletedtext' => '"$1" om ärq kistutõt.
 Perämäidsi kistutuisi nimekirjä näet siist: $2.',
 'dellogpage' => 'Kistutõduq leheküleq',
@@ -1426,25 +1478,28 @@ Perämäidsi kistutuisi ja tagasitegemiisi saat kaiaq [[Special:Log/delete|kistu
 # Namespace form on various pages
 'namespace' => 'Nimeruum:',
 'invert' => 'Näütäq kõiki päält validu nimeruumi',
-'blanknamespace' => '(Artikliq)',
+'blanknamespace' => '(artikliq)',
 
 # Contributions
-'contributions' => 'Pruukja kirotusõq',
+'contributions' => '{{GENDER:$1|Pruukja}} toimõndusõq',
 'contributions-title' => 'Pruukja $1 toimõndusõq',
 'mycontris' => 'Hindä kirotusõq',
-'contribsub2' => 'Pruukja "$1 ($2)" kirotusõq',
+'contribsub2' => 'Pruukja {{GENDER:$3|$1}} ($2) toimõndusõq',
 'nocontribs' => 'Sääntsit muutmiisi es lövväq.',
-'uctop' => '(kõgõ vahtsõmb)',
+'uctop' => '(parhillanõ)',
 'month' => 'Alostõn kuust (ja varrampa):',
 'year' => 'Alostõn aastagast (ja varrampa):',
 
 'sp-contributions-newbies' => 'Näütäq õnnõ vahtsidõ pruukjidõ toimõnduisi',
 'sp-contributions-newbies-sub' => 'Vahtsidõ pruukjidõ toimõndusõq',
 'sp-contributions-blocklog' => 'Kinniqpidämisnimekiri',
+'sp-contributions-uploads' => 'üleslaatmisõq',
+'sp-contributions-logs' => 'muutmisnimekiräq',
 'sp-contributions-talk' => 'arotus',
 'sp-contributions-userrights' => 'Pruukja õiguisi muutminõ',
 'sp-contributions-search' => 'Otsiq muutmiisi',
 'sp-contributions-username' => 'Puutri võrgoaadrõs vai pruukjanimi:',
+'sp-contributions-toponly' => 'Näütäq õnnõ kõgõ vahtsõmbit toimõnduisi',
 'sp-contributions-submit' => 'Otsiq',
 
 # What links here
@@ -1456,13 +1511,14 @@ Perämäidsi kistutuisi ja tagasitegemiisi saat kaiaq [[Special:Log/delete|kistu
 'nolinkshere-ns' => "Valitun nimeruumin näütä-i ütegi lehe päält linke lehe '''[[:$1]]''' pääle.",
 'isredirect' => 'ümbresaatmislehekülg',
 'istemplate' => 'pruugit näüdüssen',
-'isimage' => 'pildilink',
+'isimage' => 'teedüstülink',
 'whatlinkshere-prev' => '← {{PLURAL:$1|mineväne leht|$1 mineväst lehte}}',
 'whatlinkshere-next' => '{{PLURAL:$1|mineväne leht|$1 mineväst lehte}} →',
 'whatlinkshere-links' => '← lingiq',
 'whatlinkshere-hideredirs' => '$1 ümbresaatmisõq',
 'whatlinkshere-hidetrans' => '$1 näüdüsses pruukmisõq',
 'whatlinkshere-hidelinks' => '$1 lingiq',
+'whatlinkshere-hideimages' => 'Teedüstülingiq ($1)',
 'whatlinkshere-filters' => 'Sõglaq',
 
 # Block/unblock
@@ -1513,7 +1569,7 @@ Perämäidsi kistutuisi ja tagasitegemiisi saat kaiaq [[Special:Log/delete|kistu
 'blocklink' => 'piäq kinniq',
 'unblocklink' => 'võtaq kinniqpidämine maaha',
 'change-blocklink' => 'muudaq kinniqpidämist',
-'contribslink' => 'kirotusõq',
+'contribslink' => 'toimõndusõq',
 'autoblocker' => 'Olõt automaatsõhe kinniq peet, selle et jaat puutri võrgoaadrõssit pruukjaga $1. Kinniqpidämise põhjus: $2.',
 'blocklogpage' => 'Kinniqpidämiisi nimekiri',
 'blocklogentry' => 'pidi kinniq pruukja vai puutri võrgoaadrõsi "[[$1]]". Kinniqpidämise tähtaig $2 $3',
@@ -1787,7 +1843,7 @@ Kokkovõttõria pääle või kirotaq tagasivõtmisõ põhjusõ.',
 'file-info-size' => '$1 × $2 pikslit, $3, MIME-tüüp: $4',
 'file-nohires' => 'Taast terävämpä pilti olõ-i saiaq.',
 'svg-long-desc' => 'SVG-teedüstü, põhisuurus $1 × $2 pikslit, teedüstü suurus $3',
-'show-big-image' => 'Täüsterräv kujo',
+'show-big-image' => 'Algteedüstü',
 
 # Special:NewFiles
 'newimages' => 'Vahtsõq pildiq',
@@ -1808,7 +1864,7 @@ Kokkovõttõria pääle või kirotaq tagasivõtmisõ põhjusõ.',
 'metadata-help' => 'Seon teedüstün om lisateedüst, miä om arvadaq peri pildinudsijast, digikaamõrast vai pilditoimõndusprogrammist. Ku teedüstüt om peräst timä tegemist muudõt, sis pruugi-i taa teedüs inämb õigõ ollaq.',
 'metadata-expand' => 'Näütäq kõiki sisuseletüisi',
 'metadata-collapse' => 'Näütäq õnnõ tähtsämbit sisuseletüisi',
-'metadata-fields' => 'Naaq riaq ommaq nätäq pildilehe pääl, ku sisuseletüse tapõl om tühi.
+'metadata-fields' => 'Naid pildi metateedüse väljo näüdätäs pildi seletüslehe vähändedün kahusõn. Ülejäänüq teedüs om vaikimiisi käkit.
 * make
 * model
 * datetimeoriginal
@@ -1821,6 +1877,12 @@ Kokkovõttõria pääle või kirotaq tagasivõtmisõ põhjusõ.',
 * imagedescription
 * gpslatitude
 * gpslongitude
+* gpsaltitude
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
 * gpsaltitude',
 
 # Exif tags
@@ -2156,6 +2218,9 @@ Prooviq harilikku kaehust.',
 'watchlisttools-edit' => 'Kaeq ja toimõndaq perräkaemisnimekirjä',
 'watchlisttools-raw' => 'Toimõndaq lätteteedüstüt',
 
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Hoiatus:\'\'\' Sortmisvõti "$2" tühistäs ärq innembädse sortmisvõtmõ "$1".',
+
 # Special:Version
 'version' => 'Kujo',
 'version-version' => '(Kujo $1)',
@@ -2181,6 +2246,19 @@ Prooviq harilikku kaehust.',
 'specialpages-group-wiki' => 'Vikiteedüseq ja tüüriistaq',
 'specialpages-group-redirects' => 'Ümbrenäütämistallitusleheq',
 
+# External image whitelist
+'external_image_whitelist' => '  #Jätäq seo rida muutmalda kujo pääle<pre>
+#Panõq regulaaravaldusõ osaq (õnnõ //-märke vaihõl ollõv jago) allapoolõ
+#Naaq pandasõq vastama vikivälitside pilte internetiaadrõssidõga
+#Nuuq, miä vastasõq, näüdätäseq ku pildiq, muido näüdätäs õnnõ pildi link
+#Märgiga # päälenakkajaq riaq ommaq kommõntaariq
+#Seo tii-i vaiht suuril ja väikeisil tähil
+
+#Panõq kõik regulaaravaldusq osaq seo joonõ kotsilõ. Jätäq seo rida muutmalda</pre>',
+
+# Special:Tags
+'tag-filter' => '[[Special:Tags|Märkmisfiltri]]:',
+
 # New logging system
 'rightsnone' => '(olõ-i õiguisi)',
 
index 335d72f..c270cf5 100644 (file)
@@ -55,6 +55,9 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => 'Categoreye_copene',
 );
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $specialPageAliases = array(
        'Allpages'                  => array( 'Totes_les_pådjes' ),
        'Block'                     => array( 'Bloker', 'Blocaedje' ),
index 466695a..48e7bee 100644 (file)
@@ -51,6 +51,9 @@ $namespaceAliases = array(
        'Discussion_Catégorie' => NS_CATEGORY_TALK,
 );
 
+// Remove French aliases
+$namespaceGenderAliases = array();
+
 $specialPageAliases = array(
        'CreateAccount'             => array( 'Sos am sàq' ),
        'Listfiles'                 => array( 'Limu nataal yi' ),
index a979862..9228ef1 100644 (file)
@@ -70,7 +70,7 @@ $messages = array(
 'tog-editsection' => '«Чиклх» заавр болвчн хүвд үзүлх',
 'tog-editsectiononrightclick' => 'Һарчига барун индстлһар хүвиг чиклх (JavaScript кергтә)',
 'tog-showtoc' => 'Һарг үзүлх (3 икәр толһата халхсд)',
-'tog-rememberpassword' => 'Намаг эн тоолдврт тодлх ($1 {{PLURAL:$1|өдрт|өдрмүдт}} икәр биш)',
+'tog-rememberpassword' => 'Намаг эн тоолдврт тодлх ($1 {{PLURAL:$1|1=өдрт|өдрмүдт}} икәр биш)',
 'tog-watchcreations' => 'Би эврәннь немгдсн халхс шинҗллһнә сеткүлд немх',
 'tog-watchdefault' => 'Би эврәннь чиклсн халхс шинҗллһнә сеткүлд немх',
 'tog-watchmoves' => 'Би эврәннь көндсн халхс шинҗллһнә сеткүлд немх',
@@ -162,19 +162,19 @@ $messages = array(
 'dec' => 'Бар',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Әәшл|Әәшлүд}}',
+'pagecategories' => '{{PLURAL:$1|1=Әәшл|Әәшлүд}}',
 'category_header' => '«$1» әәшлд бәәдг халхс',
 'subcategories' => 'Баһар әәшлүд',
 'category-media-header' => '«$1» әәшлд бәәдг боомгуд',
 'category-empty' => "''Тер әәшл хоосн болҗана.''",
-'hidden-categories' => '{{PLURAL:$1|Бултулсн әәшл|Бултулсн әәшлүд}}',
+'hidden-categories' => '{{PLURAL:$1|1=Бултулсн әәшл|Бултулсн әәшлүд}}',
 'hidden-category-category' => 'Бултулсн әәшлүд',
-'category-subcat-count' => '{{PLURAL:$2|Тер әәшл эн һанцхн баһар әәшлтә.|{{PLURAL:$1|$1 баһар әәшл үзүлв|$1 баһар әәшлүд үзүлв|$1 баһар әәшлүд}} $2 ут туршдан үзүлв.}}',
-'category-subcat-count-limited' => 'Тер әәшлд {{PLURAL:$1|нег баһар әәшл|$1 баһар әәшлүд}} болҗана.',
-'category-article-count' => '{{PLURAL:$2|Тер әәшл һанцхн халхта.|{{PLURAL:$1|$1 халхиг үзүлв|$1 халхсиг үзүлв|$1 халхсиг үзүлв}}, $2 ут туршдан.}}',
-'category-article-count-limited' => 'Тер әәшлд {{PLURAL:$1|нег халх|$1 халхс}} болҗана.',
-'category-file-count' => '{{PLURAL:$2|Тер әәшлд һанцхн халх болҗана.|Терүнәс {{PLURAL:$1|нег боомг үзүлсн|$1 боомгуд үзүлсн}} $2 ут туршдан.}}',
-'category-file-count-limited' => 'Эн {{PLURAL:$1|боомг|$1 боомгуд}} тер әәшлд болҗана.',
+'category-subcat-count' => '{{PLURAL:$2|Тер әәшл эн һанцхн баһар әәшлтә.|{{PLURAL:$1|$1 баһар әәшл үзүлв|$1 баһар әәшлүд|$1 баһар әәшлүд үзүлв}} $2 ут туршдан үзүлв.}}',
+'category-subcat-count-limited' => 'Тер әәшлд {{PLURAL:$1|1=нег баһар әәшл|$1 баһар әәшлүд}} болҗана.',
+'category-article-count' => '{{PLURAL:$2|Тер әәшл һанцхн халхта.|{{PLURAL:$1|$1 халхсиг үзүлв|$1 халхиг үзүлв|$1 халхсиг үзүлв}}, $2 ут туршдан.}}',
+'category-article-count-limited' => 'Тер әәшлд {{PLURAL:$1|1=нег халх|$1 халхс}} болҗана.',
+'category-file-count' => '{{PLURAL:$2|Тер әәшлд һанцхн халх болҗана.|Терүнәс {{PLURAL:$1|1=нег боомг үзүлсн|$1 боомгуд үзүлсн}} $2 ут туршдан.}}',
+'category-file-count-limited' => 'Эн {{PLURAL:$1|1=боомг|$1 боомгуд}} тер әәшлд болҗана.',
 'listingcontinuesabbrev' => '(цааранднь)',
 'index-category' => 'Индекссн халхс',
 'noindex-category' => 'Индекссн биш халхс',
@@ -295,7 +295,7 @@ $1',
 
 'badaccess' => 'Зөвәнә эндү',
 'badaccess-group0' => 'Та сурсн үүл кеҗ болшго.',
-'badaccess-groups' => 'Эн үүл һанцхн {{PLURAL:$2|багас|багудас}} $1 кеҗ чадна.',
+'badaccess-groups' => 'Эн үүл һанцхн {{PLURAL:$2|1=багас|багудас}} $1 кеҗ чадна.',
 
 'versionrequired' => "MediaWiki'н $1 һарц кергтә",
 'versionrequiredtext' => "Тер халх олзхар, MediaWiki'н $1 һарц кергтә.
@@ -316,7 +316,7 @@ $1',
 'hidetoc' => 'бултулх',
 'thisisdeleted' => '$1 гүүһәд хәләхү аль хәрүлхү?',
 'viewdeleted' => '$1 үзүлхү?',
-'restorelink' => '{{PLURAL:$1|$1 һарһсн сольлһн|$1 һарһсн сольлһн}}',
+'restorelink' => '{{PLURAL:$1|1=$1 һарһсн сольлһн|$1 һарһсн сольлһн}}',
 'feedlinks' => 'Тер бәәдлтә',
 'feed-invalid' => 'Буру бичгдлһнә төлә сүвин янз.',
 'feed-unavailable' => 'Синдикацин сүв орлһта биш',
@@ -381,7 +381,7 @@ $1',
 'yourname' => 'Демнчна нернь:',
 'yourpassword' => 'Нууц үг:',
 'yourpasswordagain' => 'Нууц үгиг давтн:',
-'remembermypassword' => 'Намаг эн тоолдврд тодлх ($1 {{PLURAL:$1|өдрт|өдрмүдт}} икәр биш)',
+'remembermypassword' => 'Намаг эн тоолдврд тодлх ($1 {{PLURAL:$1|1=өдрт|өдрмүдт}} икәр биш)',
 'yourdomainname' => 'Тана домен:',
 'login' => 'Орлһн',
 'nav-login-createaccount' => 'Харһх / бичгдлһн кех',
@@ -495,12 +495,12 @@ $1',
 'copyrightwarning2' => "Буйн болтха, цуг өгүллһн {{SITENAME}} төлә чиклсн аль һарһсн бәәдг чадта тускар тодлтн.  Та тана бичсн чилклсн аль делгрңсн бәәҗ седхлә биш, эн ормд бичә бичтн.<br /> Дәкәд та маднд эн эврәнь бичсн, күмн әмтнә хазас аль цацу сул медснәс бәәдг үгән өгнәт ($1 хәләтн). '''Зөвән авхла уга, харссн бичсн күүнә көдлмш бичә тәвтн!'''",
 'semiprotectedpagewarning' => "'''Оньган өгтн:''' тер халх харссн болҗана, тер учрар эниг бичгдлһтә демнчнр һанцхн чиклҗ чадна.
 Нөкд төлә, эн шидрә сеткүлин бичвр:",
-'templatesused' => 'Эн халхд олзлсн {{PLURAL:$1|зурас|зурас}}:',
-'templatesusedpreview' => '{{PLURAL:$1|Кевләр|Кевләрмүд}} эн хәләврт олзлсн:',
+'templatesused' => 'Эн халхд олзлсн {{PLURAL:$1|1=зурас|зурас}}:',
+'templatesusedpreview' => '{{PLURAL:$1|1=Кевләр|Кевләрмүд}} эн хәләврт олзлсн:',
 'template-protected' => '(харссн)',
 'template-semiprotected' => '(зәрм харссн)',
 'hiddencategories' => 'Эн халх тер $1 {{PLURAL:$1|бултулсн әәшләс|бултулсн әәшлүдәс|бултулсн әәшлүдәс}}:',
-'permissionserrorstext-withaction' => 'Та $2 кеҗ болшго. Юнгад гихлә, эн {{PLURAL:$1|учрар|учрар}}:',
+'permissionserrorstext-withaction' => 'Та $2 кеҗ болшго. Юнгад гихлә, эн {{PLURAL:$1|1=учрар|учрар}}:',
 'edit-conflict' => 'Чикллһнә керүл.',
 
 # Parser/template warnings
@@ -587,7 +587,7 @@ $1',
 'prefs-rc' => 'Шидрә сольлһн',
 'prefs-watchlist' => 'Шинҗллһнә сеткүл',
 'prefs-watchlist-days' => 'Шинҗллһнә седкүлд үзүлсн ик гисн өдрин то:',
-'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|1=day|days}}',
 'prefs-misc' => 'Талдан',
 'prefs-resetpass' => 'Нууц угиг сольҗ',
 'prefs-email' => "E-mail'ын көгүд",
@@ -624,7 +624,7 @@ $1',
 'youremail' => 'E-mail хайг:',
 'username' => 'Демнчна нер:',
 'uid' => 'Демнчна тойг (ID):',
-'prefs-memberingroups' => '{{PLURAL:$1|Багин|Багдудин}} хүв:',
+'prefs-memberingroups' => '{{PLURAL:$1|1=Багин|Багдудин}} хүв:',
 'prefs-registration' => 'Темдглҗ  бүртклһнә цаг:',
 'yourrealname' => 'Үнн нерн:',
 'yourlanguage' => 'Бәәдлин келн:',
@@ -682,7 +682,7 @@ $1',
 'action-edit' => 'эн халхиг чиклх',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|сольлһн|сольлһн}}',
+'nchanges' => '$1 {{PLURAL:$1|1=сольлһн|сольлһн}}',
 'recentchanges' => 'Шидрә сольлһн',
 'recentchanges-legend' => 'Шидрә сольлһна көгүд',
 'recentchanges-summary' => 'Эн цагин дараһар бичсн шидрә сольлһн',
@@ -790,13 +790,13 @@ $1',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байд|байдуд|байдуд}}',
-'nmembers' => '$1 {{PLURAL:$1|мөч|мөчин|мөчүд}}',
+'nmembers' => '$1 {{PLURAL:$1|мөч|мөчүд|мөчин}}',
 'prefixindex' => 'Цуг халхс эн эклцтә',
 'newpages' => 'Шин халхс',
 'move' => 'Көндәх',
 'movethispage' => 'Эн халхд шин нер аль шин орм өгх',
-'pager-newer-n' => '{{PLURAL:$1|шинәр 1|шинәр $1}}',
-'pager-older-n' => '{{PLURAL:$1|көгшәр 1|көгшәр $1}}',
+'pager-newer-n' => '{{PLURAL:$1|1=шинәр 1|шинәр $1}}',
+'pager-older-n' => '{{PLURAL:$1|1=көгшәр 1|көгшәр $1}}',
 
 # Book sources
 'booksources' => 'Дегтрин делгүрс',
@@ -900,7 +900,7 @@ $2 шидрә һарһлһна төлә хәләтн.',
 'protect-text' => "Энд та '''$1''' халхин харсллһна кемҗән хәләҗ,  хүврлҗ чаднат.",
 'protect-locked-access' => "Эн халхна харсллһна кемҗән сольҗ, тана бичгдлһна зөв тату.
 Ода болсн '''$1''' халхна көгүд:",
-'protect-cascadeon' => 'Эн халх харссн. Юнгад гихлә, тер халх {{PLURAL:$1|эн халхд|тенд халхсд}} каскад харсллһта. Тадн эн халхна харсллһна кемҗән сольх чаднат, болв тер үүл каскад харлсһиг цокҗ чадшго.',
+'protect-cascadeon' => 'Эн халх харссн. Юнгад гихлә, тер халх {{PLURAL:$1|1=эн халхд|тенд халхсд}} каскад харсллһта. Тадн эн халхна харсллһна кемҗән сольх чаднат, болв тер үүл каскад харлсһиг цокҗ чадшго.',
 'protect-default' => 'Цуг демнчнрд зөвән өгҗ',
 'protect-fallback' => '$1 зөв кергтә',
 'protect-level-autoconfirmed' => 'Шин болн нер уга демнчнрас харсх',
@@ -950,7 +950,7 @@ $2 шидрә һарһлһна төлә хәләтн.',
 'isredirect' => 'авч оддг халх',
 'istemplate' => 'оруллһн',
 'isimage' => 'зургин  заалһ',
-'whatlinkshere-prev' => '{{PLURAL:$1|урдк|урдк $1}}',
+'whatlinkshere-prev' => '{{PLURAL:$1|1=урдк|урдк $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|дарук|дарук|дарук}} $1',
 'whatlinkshere-links' => '← заалһуд',
 'whatlinkshere-hideredirs' => '$1 авч одлһн',
@@ -1175,7 +1175,7 @@ $2 шидрә һарһлһна төлә хәләтн.',
 'livepreview-ready' => 'Белднә... Болһсн!',
 
 # Watchlist editor
-'watchlistedit-numitems' => 'Тана шинҗллһнә сеткүл {{PLURAL:$1|1 гешүтә|$1 гешүдтә}}, меткән халхста.',
+'watchlistedit-numitems' => 'Тана шинҗллһнә сеткүл {{PLURAL:$1|1=1 гешүтә|$1 гешүдтә}}, меткән халхста.',
 'watchlistedit-noitems' => 'Тана шинҗллһнә сеткүл хоосн бәәнә.',
 'watchlistedit-normal-title' => 'Шинҗллһнә сеткүлиг чиклх',
 
index ff6c503..f163bdc 100644 (file)
@@ -3699,7 +3699,7 @@ $5
 'version-parser-extensiontags' => 'פארזער פארברייטערן טאַגן',
 'version-hook-name' => 'נאמען פון hook',
 'version-version' => '(ווערסיע $1)',
-'version-license' => 'ליצענץ',
+'version-license' => '×\9e×¢×\93×\99×¢×\95×\95×\99ק×\99 ×\9c×\99צענץ',
 'version-poweredby-others' => 'אַנדערע',
 'version-poweredby-translators' => 'translatewiki.net איבערזעצער',
 'version-credits-summary' => 'מיר ווילן אנערקענען די פֿאלגנדע מענטשן פֿאר זייער בײַשטײַערוג צו [[Special:Version|מעדיעוויקי]].',
index 76becba..23538e0 100644 (file)
@@ -1819,6 +1819,7 @@ $1",
 'fileexists-shared-forbidden' => '共享文件库中存在该名称的文件。如果你仍想上传你的文件,请返回使用其他名称。[[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => '本文件是以下{{PLURAL:$1|文件}}的副本:',
 'file-deleted-duplicate' => '一个相同名称的文件 ([[:$1]]) 在先前删除过。您应该在重新上传之前检查一下该文件之删除纪录。',
+'file-deleted-duplicate-notitle' => '之前有与此相同的文件被删除和取消标题。您应该询问查看过改文件数据的任何人以复查重新上传时的诸多问题。',
 'uploadwarning' => '上传警告',
 'uploadwarning-text' => '请修改下面的文件说明并重试。',
 'savefile' => '保存文件',
@@ -2139,7 +2140,7 @@ $1',
 'nviews' => '$1次浏览',
 'nimagelinks' => '用于$1个页面中',
 'ntransclusions' => '用于$1个页面中',
-'specialpage-empty' => 'æ\97 è¯¥æ\8a¥å\91\8aç\9a\84结果。',
+'specialpage-empty' => 'æ­¤æ\8a¥å\91\8aæ\97 结果。',
 'lonelypages' => '孤立页面',
 'lonelypagestext' => '以下页面没有被{{SITENAME}}的其它页面链接或包含。',
 'uncategorizedpages' => '未归类页面',
@@ -2173,6 +2174,7 @@ $1',
 'protectedpages' => '受保护页面',
 'protectedpages-indef' => '仅无限期保护',
 'protectedpages-cascade' => '仅连锁保护',
+'protectedpages-noredirect' => '隐藏重定向',
 'protectedpagesempty' => '在这些参数下没有页面正在保护。',
 'protectedtitles' => '受保护标题',
 'protectedtitlesempty' => '在这些参数之下并无标题正在保护。',
@@ -3150,7 +3152,7 @@ $2',
 'markedaspatrolled' => '标记为已检查',
 'markedaspatrolledtext' => '[[:$1]]的已选中修订版本已被标识为已巡查。',
 'rcpatroldisabled' => '最新更改检查被关闭',
-'rcpatroldisabledtext' => '最新更改检查的功能目前已关闭。',
+'rcpatroldisabledtext' => '最近更改巡查功能目前已关闭。',
 'markedaspatrollederror' => '不能标志为已检查',
 'markedaspatrollederrortext' => '你需要指定一个版本以标记为已巡查。',
 'markedaspatrollederror-noautopatrol' => '你不能把自己的更改标记为已检查。',
@@ -3863,7 +3865,17 @@ $5
 'version-hook-name' => '钩名',
 'version-hook-subscribedby' => '署名',
 'version-version' => '(版本$1)',
-'version-license' => '授权协议',
+'version-license' => 'MediaWiki协议',
+'version-ext-license' => '授权',
+'version-ext-colheader-name' => '扩展',
+'version-ext-colheader-version' => '版本',
+'version-ext-colheader-license' => '协议',
+'version-ext-colheader-description' => '说明',
+'version-ext-colheader-credits' => '作者',
+'version-license-title' => '用于$1的授权',
+'version-license-not-found' => '没有找到与此拓展相关的授权信息。',
+'version-credits-title' => '用于$1的信用',
+'version-credits-not-found' => '没有找到与此拓展相关的信用信息。',
 'version-poweredby-credits' => "本Wiki由'''[https://www.mediawiki.org/ MediaWiki]'''驱动,版权所有 © 2001-$1 $2。",
 'version-poweredby-others' => '其他',
 'version-poweredby-translators' => 'translatewiki.net上的翻译者',
@@ -4083,6 +4095,7 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'api-error-overwrite' => '不允许覆盖现有文件。',
 'api-error-stashfailed' => '内部错误:服务器保存临时文件失败。',
 'api-error-publishfailed' => '内部错误:服务器发布临时文件失败。',
+'api-error-stasherror' => '上传文件存档时出现错误。',
 'api-error-timeout' => '服务器没有在预期内响应。',
 'api-error-unclassified' => '出现未知错误。',
 'api-error-unknown-code' => '未知错误:$1',
index a3f214b..187a69c 100644 (file)
@@ -1761,6 +1761,7 @@ $1",
 如果{{GENDER:|你|妳|你}}仍然想去上載它的話,請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => '這個檔案是跟以下的{{PLURAL:$1|一|多}}個檔案重覆:',
 'file-deleted-duplicate' => '一個相同名稱的檔案 ([[:$1]]) 在先前刪除過。您應該在重新上傳之前檢查一下該檔案之刪除紀錄。',
+'file-deleted-duplicate-notitle' => '此前同內容檔案已刪除並將之取消標題。您應詢問與既有檔案之相關用戶以複查再度上載之相關問題。',
 'uploadwarning' => '上載警告',
 'uploadwarning-text' => '請修改以下的檔案描述並重試。',
 'savefile' => '儲存檔案',
@@ -2124,6 +2125,7 @@ $1',
 'protectedpages' => '受保護頁面',
 'protectedpages-indef' => '只有無期之保護頁面',
 'protectedpages-cascade' => '只有連鎖之保護頁面',
+'protectedpages-noredirect' => '隱藏重定向',
 'protectedpagesempty' => '在這些參數下沒有頁面正在保護。',
 'protectedtitles' => '受保護標題',
 'protectedtitlesempty' => '在這些參數之下並無標題正在保護。',
@@ -3829,7 +3831,17 @@ $5
 'version-hook-name' => '鈎名',
 'version-hook-subscribedby' => '利用於',
 'version-version' => '(版本 $1)',
-'version-license' => '授權',
+'version-license' => 'MediaWiki許可證',
+'version-ext-license' => '授權',
+'version-ext-colheader-name' => '擴展',
+'version-ext-colheader-version' => '版本',
+'version-ext-colheader-license' => '許可證',
+'version-ext-colheader-description' => '說明',
+'version-ext-colheader-credits' => '作者',
+'version-license-title' => '用於$1之許可證',
+'version-license-not-found' => '並無與此拓展相關之許可證資訊。',
+'version-credits-title' => '用於$1之信用',
+'version-credits-not-found' => '並無與此拓展相關之信用資訊。',
 'version-poweredby-credits' => "此維基由'''[https://www.mediawiki.org/ MediaWiki]'''驅動,版權所有 © 2001-$1 $2。",
 'version-poweredby-others' => '其他',
 'version-poweredby-translators' => 'translatewiki.net 上的翻譯者',
@@ -4048,6 +4060,7 @@ MediaWiki是基於使用目的而加以發佈,然而不負任何擔保責任
 'api-error-overwrite' => '不允許覆蓋現有檔案。',
 'api-error-stashfailed' => '內部錯誤:伺服器保存臨時檔案失敗。',
 'api-error-publishfailed' => '內部錯誤:伺服器發佈臨時檔案失敗。',
+'api-error-stasherror' => '上載檔案存檔時出錯。',
 'api-error-timeout' => '伺服器沒有在預期的時間內回應。',
 'api-error-unclassified' => '發生未知錯誤。',
 'api-error-unknown-code' => '未知錯誤:$1',
index 523be7e..8ae5a5a 100644 (file)
@@ -71,7 +71,7 @@ class FixDoubleRedirects extends Maintenance {
                        'rd_from = pa.page_id',
                        'rd_namespace = pb.page_namespace',
                        'rd_title = pb.page_title',
-                       '(rd_interwiki IS NULL OR rd_interwiki = "")', // bug 40352
+                       'rd_interwiki IS NULL OR rd_interwiki = ' . $dbr->addQuotes( '' ), // bug 40352
                        'pb.page_is_redirect' => 1,
                );
 
index 80a31bc..d3c70d6 100644 (file)
@@ -131,6 +131,7 @@ $wgIgnoredMessages = array(
        'signupstart',
        'signupend',
        'signupend-https',
+       'emailsender',
        'sitenotice',
        'sitesubtitle',
        'sitetitle',
@@ -449,6 +450,7 @@ $wgOptionalMessages = array(
        'hebrew-calendar-m11-gen',
        'hebrew-calendar-m12-gen',
        'version-api',
+       'version-version',
        'version-svn-revision',
        'semicolon-separator',
        'comma-separator',
index 2af682e..d9ef44a 100644 (file)
@@ -550,6 +550,7 @@ $wgMessageStructure = array(
                'invalidemailaddress',
                'cannotchangeemail',
                'emaildisabled',
+               'emailsender',
                'accountcreated',
                'accountcreatedtext',
                'createaccount-title',
@@ -1413,6 +1414,7 @@ $wgMessageStructure = array(
                'fileexists-shared-forbidden',
                'file-exists-duplicate',
                'file-deleted-duplicate',
+               'file-deleted-duplicate-notitle',
                'uploadwarning',
                'uploadwarning-text',
                'savefile',
@@ -1808,6 +1810,7 @@ $wgMessageStructure = array(
                'protectedpages-indef',
                'protectedpages-summary',
                'protectedpages-cascade',
+               'protectedpages-noredirect',
                'protectedpagesempty',
                'protectedtitles',
                'protectedtitles-summary',
@@ -2274,6 +2277,7 @@ $wgMessageStructure = array(
                'blockipsuccesstext',
                'ipb-blockingself',
                'ipb-confirmhideuser',
+               'ipb-confirmaction',
                'ipb-edit-dropdown',
                'ipb-unblock-addr',
                'ipb-unblock',
@@ -3662,6 +3666,16 @@ $wgMessageStructure = array(
                'version-version',
                'version-svn-revision',
                'version-license',
+               'version-ext-license',
+               'version-ext-colheader-name',
+               'version-ext-colheader-version',
+               'version-ext-colheader-license',
+               'version-ext-colheader-description',
+               'version-ext-colheader-credits',
+               'version-license-title',
+               'version-license-not-found',
+               'version-credits-title',
+               'version-credits-not-found',
                'version-poweredby-credits',
                'version-poweredby-others',
                'version-poweredby-translators',
@@ -3903,6 +3917,7 @@ $wgMessageStructure = array(
                'api-error-overwrite',
                'api-error-stashfailed',
                'api-error-publishfailed',
+               'api-error-stasherror',
                'api-error-timeout',
                'api-error-unclassified',
                'api-error-unknown-code',
index 0becb37..4489ddb 100644 (file)
@@ -1054,6 +1054,7 @@ return array(
        ),
        'mediawiki.special.block' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
+               'styles' => 'resources/mediawiki.special/mediawiki.special.block.css',
                'dependencies' => array(
                        'mediawiki.util',
                ),
@@ -1177,6 +1178,9 @@ return array(
                'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
+       'mediawiki.special.version' => array(
+               'styles' => 'resources/mediawiki.special/mediawiki.special.version.css',
+       ),
 
        /* MediaWiki Tests */
 
index 441bc91..3def37c 100644 (file)
@@ -1,7 +1,7 @@
-/* This is cldrpluralparser 1.0, ported to MediaWiki ResourceLoader */
+/* This is CLDRPluralRuleParser v1.1, ported to MediaWiki ResourceLoader */
 
 /**
-* cldrpluralparser.js
+* CLDRPluralRuleParser.js
 * A parser engine for CLDR plural rules.
 *
 * Copyright 2012 GPLV3+, Santhosh Thottingal
 * @author Amir Aharoni
 */
 
+( function ( mw ) {
 /**
  * Evaluates a plural rule in CLDR syntax for a number
- * @param rule
- * @param number
- * @return true|false|null
+ * @param {string} rule
+ * @param {integer} number
+ * @return {boolean} true if evaluation passed, false if evaluation failed.
  */
-( function( mw ) {
 
 function pluralRuleParser(rule, number) {
        /*
        Syntax: see http://unicode.org/reports/tr35/#Language_Plural_Rules
        -----------------------------------------------------------------
-
        condition     = and_condition ('or' and_condition)*
+               ('@integer' samples)?
+               ('@decimal' samples)?
        and_condition = relation ('and' relation)*
-       relation      = is_relation | in_relation | within_relation | 'n' <EOL>
+       relation      = is_relation | in_relation | within_relation
        is_relation   = expr 'is' ('not')? value
-       in_relation   = expr ('not')? 'in' range_list
+       in_relation   = expr (('not')? 'in' | '=' | '!=') range_list
        within_relation = expr ('not')? 'within' range_list
-       expr          = 'n' ('mod' value)?
+       expr          = operand (('mod' | '%') value)?
+       operand       = 'n' | 'i' | 'f' | 't' | 'v' | 'w'
        range_list    = (range | value) (',' range_list)*
        value         = digit+
        digit         = 0|1|2|3|4|5|6|7|8|9
        range         = value'..'value
-
+       samples       = sampleRange (',' sampleRange)* (',' ('…'|'...'))?
+       sampleRange   = decimalValue '~' decimalValue
+       decimalValue  = value ('.' value)?
        */
+
+       // we don't evaluate the samples section of the rule. Ignore it.
+       rule = rule.split('@')[0].trim();
+
+       if (!rule.length) {
+               // empty rule or 'other' rule.
+               return true;
+       }
        // Indicates current position in the rule as we parse through it.
        // Shared among all parsing functions below.
-       var pos = 0;
-
-       var whitespace = makeRegexParser(/^\s+/);
-       var digits = makeRegexParser(/^\d+/);
-
-       var _n_ = makeStringParser('n');
-       var _is_ = makeStringParser('is');
-       var _mod_ = makeStringParser('mod');
-       var _not_ = makeStringParser('not');
-       var _in_ = makeStringParser('in');
-       var _within_ = makeStringParser('within');
-       var _range_ = makeStringParser('..');
-       var _comma_ = makeStringParser(',');
-       var _or_ = makeStringParser('or');
-       var _and_ = makeStringParser('and');
+       var pos = 0,
+               operand,
+               expression,
+               relation,
+               result,
+               whitespace = makeRegexParser(/^\s+/),
+               value = makeRegexParser(/^\d+/),
+               _n_ = makeStringParser('n'),
+               _i_ = makeStringParser('i'),
+               _f_ = makeStringParser('f'),
+               _t_ = makeStringParser('t'),
+               _v_ = makeStringParser('v'),
+               _w_ = makeStringParser('w'),
+               _is_ = makeStringParser('is'),
+               _isnot_ = makeStringParser('is not'),
+               _isnot_sign_ = makeStringParser('!='),
+               _equal_ = makeStringParser('='),
+               _mod_ = makeStringParser('mod'),
+               _percent_ = makeStringParser('%'),
+               _not_ = makeStringParser('not'),
+               _in_ = makeStringParser('in'),
+               _within_ = makeStringParser('within'),
+               _range_ = makeStringParser('..'),
+               _comma_ = makeStringParser(','),
+               _or_ = makeStringParser('or'),
+               _and_ = makeStringParser('and');
 
        function debug() {
-               /* console.log.apply(console, arguments);*/
+               // console.log.apply(console, arguments);
        }
 
        debug('pluralRuleParser', rule, number);
 
        // Try parsers until one works, if none work return null
+
        function choice(parserSyntax) {
-               return function () {
+               return function() {
                        for (var i = 0; i < parserSyntax.length; i++) {
                                var result = parserSyntax[i]();
                                if (result !== null) {
@@ -79,6 +103,7 @@ function pluralRuleParser(rule, number) {
        // Try several parserSyntax-es in a row.
        // All must succeed; otherwise, return null.
        // This is the only eager one.
+
        function sequence(parserSyntax) {
                var originalPos = pos;
                var result = [];
@@ -95,8 +120,9 @@ function pluralRuleParser(rule, number) {
 
        // Run the same parser over and over until it fails.
        // Must succeed a minimum of n times; otherwise, return null.
+
        function nOrMore(n, p) {
-               return function () {
+               return function() {
                        var originalPos = pos;
                        var result = [];
                        var parsed = p();
@@ -113,21 +139,21 @@ function pluralRuleParser(rule, number) {
        }
 
        // Helpers -- just make parserSyntax out of simpler JS builtin types
-
        function makeStringParser(s) {
                var len = s.length;
-               return function () {
+               return function() {
                        var result = null;
                        if (rule.substr(pos, len) === s) {
                                result = s;
                                pos += len;
                        }
+
                        return result;
                };
        }
 
        function makeRegexParser(regex) {
-               return function () {
+               return function() {
                        var matches = rule.substr(pos).match(regex);
                        if (matches === null) {
                                return null;
@@ -137,62 +163,166 @@ function pluralRuleParser(rule, number) {
                };
        }
 
+       /*
+        * integer digits of n.
+        */
+       function i() {
+               var result = _i_();
+               if (result === null) {
+                       debug(' -- failed i', parseInt(number, 10));
+                       return result;
+               }
+               result = parseInt(number, 10);
+               debug(' -- passed i ', result);
+               return result;
+       }
+
+       /*
+        * absolute value of the source number (integer and decimals).
+        */
        function n() {
                var result = _n_();
                if (result === null) {
-                       debug(" -- failed n");
+                       debug(' -- failed n ', number);
                        return result;
                }
-               result = parseInt(number, 10);
-               debug(" -- passed n ", result);
+               result = parseFloat(number, 10);
+               debug(' -- passed n ', result);
+               return result;
+       }
+
+       /*
+        * visible fractional digits in n, with trailing zeros.
+        */
+       function f() {
+               var result = _f_();
+               if (result === null) {
+                       debug(' -- failed f ', number);
+                       return result;
+               }
+               result = (number + '.').split('.')[1] || 0;
+               debug(' -- passed f ', result);
+               return result;
+       }
+
+       /*
+        * visible fractional digits in n, without trailing zeros.
+        */
+       function t() {
+               var result = _t_();
+               if (result === null) {
+                       debug(' -- failed t ', number);
+                       return result;
+               }
+               result = (number + '.').split('.')[1].replace(/0$/, '') || 0;
+               debug(' -- passed t ', result);
+               return result;
+       }
+
+       /*
+        * number of visible fraction digits in n, with trailing zeros.
+        */
+       function v() {
+               var result = _v_();
+               if (result === null) {
+                       debug(' -- failed v ', number);
+                       return result;
+               }
+               result = (number + '.').split('.')[1].length || 0;
+               debug(' -- passed v ', result);
+               return result;
+       }
+
+       /*
+        * number of visible fraction digits in n, without trailing zeros.
+        */
+       function w() {
+               var result = _w_();
+               if (result === null) {
+                       debug(' -- failed w ', number);
+                       return result;
+               }
+               result = (number + '.').split('.')[1].replace(/0$/, '').length || 0;
+               debug(' -- passed w ', result);
                return result;
        }
 
-       var expression = choice([mod, n]);
+       // operand       = 'n' | 'i' | 'f' | 't' | 'v' | 'w'
+       operand = choice([n, i, f, t, v, w]);
+
+       // expr          = operand (('mod' | '%') value)?
+       expression = choice([mod, operand]);
 
        function mod() {
-               var result = sequence([n, whitespace, _mod_, whitespace, digits]);
+               var result = sequence([operand, whitespace, choice([_mod_, _percent_]), whitespace, value]);
                if (result === null) {
-                       debug(" -- failed mod");
+                       debug(' -- failed mod');
                        return null;
                }
-               debug(" -- passed mod");
+               debug(' -- passed ' + parseInt(result[0], 10) + ' ' + result[2] + ' ' + parseInt(result[4], 10));
                return parseInt(result[0], 10) % parseInt(result[4], 10);
        }
 
        function not() {
                var result = sequence([whitespace, _not_]);
                if (result === null) {
-                       debug(" -- failed not");
+                       debug(' -- failed not');
                        return null;
-               } else {
-                       return result[1];
                }
+
+               return result[1];
        }
 
+       // is_relation   = expr 'is' ('not')? value
        function is() {
-               var result = sequence([expression, whitespace, _is_, nOrMore(0, not), whitespace, digits]);
+               var result = sequence([expression, whitespace, choice([_is_]), whitespace, value]);
                if (result !== null) {
-                       debug(" -- passed is");
-                       if (result[3][0] === 'not') {
-                               return result[0] !== parseInt(result[5], 10);
-                       } else {
-                               return result[0] === parseInt(result[5], 10);
+                       debug(' -- passed is : ' + result[0] + ' == ' + parseInt(result[4], 10));
+                       return result[0] === parseInt(result[4], 10);
+               }
+               debug(' -- failed is');
+               return null;
+       }
+
+       // is_relation   = expr 'is' ('not')? value
+       function isnot() {
+               var result = sequence([expression, whitespace, choice([_isnot_, _isnot_sign_]), whitespace, value]);
+               if (result !== null) {
+                       debug(' -- passed isnot: ' + result[0] + ' != ' + parseInt(result[4], 10));
+                       return result[0] !== parseInt(result[4], 10);
+               }
+               debug(' -- failed isnot');
+               return null;
+       }
+
+       function not_in() {
+               var result = sequence([expression, whitespace, _isnot_sign_, whitespace, rangeList]);
+               if (result !== null) {
+                       debug(' -- passed not_in: ' + result[0] + ' != ' + result[4]);
+                       var range_list = result[4];
+                       for (var i = 0; i < range_list.length; i++) {
+                               if (parseInt(range_list[i], 10) === parseInt(result[0], 10)) {
+                                       return false;
+                               }
                        }
+                       return true;
                }
-               debug(" -- failed is");
+               debug(' -- failed not_in');
                return null;
        }
 
+       // range_list    = (range | value) (',' range_list)*
        function rangeList() {
-               // range_list    = (range | value) (',' range_list)*
-               var result = sequence([choice([range, digits]), nOrMore(0, rangeTail)]);
+               var result = sequence([choice([range, value]), nOrMore(0, rangeTail)]);
                var resultList = [];
                if (result !== null) {
-                       resultList = resultList.concat(result[0], result[1][0]);
+                       resultList = resultList.concat(result[0]);
+                       if (result[1][0]) {
+                               resultList = resultList.concat(result[1][0]);
+                       }
                        return resultList;
                }
-               debug(" -- failed rangeList");
+               debug(' -- failed rangeList');
                return null;
        }
 
@@ -202,111 +332,141 @@ function pluralRuleParser(rule, number) {
                if (result !== null) {
                        return result[1];
                }
-               debug(" -- failed rangeTail");
+               debug(' -- failed rangeTail');
                return null;
        }
 
+       // range         = value'..'value
+
        function range() {
                var i;
-               var result = sequence([digits, _range_, digits]);
+               var result = sequence([value, _range_, value]);
                if (result !== null) {
-                       debug(" -- passed range");
+                       debug(' -- passed range');
                        var array = [];
                        var left = parseInt(result[0], 10);
                        var right = parseInt(result[2], 10);
-                       for ( i = left; i <= right; i++) {
+                       for (i = left; i <= right; i++) {
                                array.push(i);
                        }
                        return array;
                }
-               debug(" -- failed range");
+               debug(' -- failed range');
                return null;
        }
 
        function _in() {
                // in_relation   = expr ('not')? 'in' range_list
-               var result = sequence([expression, nOrMore(0, not), whitespace, _in_, whitespace, rangeList]);
+               var result = sequence([expression, nOrMore(0, not), whitespace, choice([_in_, _equal_]), whitespace, rangeList]);
                if (result !== null) {
-                       debug(" -- passed _in");
+                       debug(' -- passed _in:' + result);
                        var range_list = result[5];
                        for (var i = 0; i < range_list.length; i++) {
-                               if (parseInt(range_list[i], 10) === result[0]) {
+                               if (parseInt(range_list[i], 10) === parseInt(result[0], 10)) {
                                        return (result[1][0] !== 'not');
                                }
                        }
                        return (result[1][0] === 'not');
                }
-               debug(" -- failed _in ");
+               debug(' -- failed _in ');
                return null;
        }
 
+       /*
+        * The difference between in and within is that in only includes integers in the specified range,
+        * while within includes all values.
+        */
+
        function within() {
-               var result = sequence([expression, whitespace, _within_, whitespace, rangeList]);
+               // within_relation = expr ('not')? 'within' range_list
+               var result = sequence([expression, nOrMore(0, not), whitespace, _within_, whitespace, rangeList]);
                if (result !== null) {
-                       debug(" -- passed within ");
-                       var range_list = result[4];
-                       return (parseInt( range_list[0],10 )<= result[0] && result[0] <= parseInt( range_list[1], 10));
+                       debug(' -- passed within');
+                       var range_list = result[5];
+                       if ((result[0] >= parseInt(range_list[0], 10)) &&
+                               (result[0] < parseInt(range_list[range_list.length - 1], 10))) {
+                               return (result[1][0] !== 'not');
+                       }
+                       return (result[1][0] === 'not');
                }
-               debug(" -- failed within ");
+               debug(' -- failed within ');
                return null;
        }
 
+       // relation      = is_relation | in_relation | within_relation
+       relation = choice([is, not_in, isnot, _in, within]);
 
-       var relation = choice([is, _in, within]);
-
+       // and_condition = relation ('and' relation)*
        function and() {
-               var result = sequence([relation, whitespace, _and_, whitespace, condition]);
+               var result = sequence([relation, nOrMore(0, andTail)]);
                if (result) {
-                       debug(" -- passed and");
-                       return result[0] && result[4];
+                       if (!result[0]) {
+                               return false;
+                       }
+                       for (var i = 0; i < result[1].length; i++) {
+                               if (!result[1][i]) {
+                                       return false;
+                               }
+                       }
+                       return true;
                }
-               debug(" -- failed and");
+               debug(' -- failed and');
                return null;
        }
 
-       function or() {
-               var result = sequence([relation, whitespace, _or_, whitespace, condition]);
-               if (result) {
-                       debug(" -- passed or");
-                       return result[0] || result[4];
+       // ('and' relation)*
+       function andTail() {
+               var result = sequence([whitespace, _and_, whitespace, relation]);
+               if (result !== null) {
+                       debug(' -- passed andTail' + result);
+                       return result[3];
                }
-               debug(" -- failed or");
+               debug(' -- failed andTail');
                return null;
-       }
 
-       var condition = choice([and, or, relation]);
+       }
+       //  ('or' and_condition)*
+       function orTail() {
+               var result = sequence([whitespace, _or_, whitespace, and]);
+               if (result !== null) {
+                       debug(' -- passed orTail: ' + result[3]);
+                       return result[3];
+               }
+               debug(' -- failed orTail');
+               return null;
 
-       function isInt(n) {
-               return parseFloat(n) % 1 === 0;
        }
 
+       // condition     = and_condition ('or' and_condition)*
+       function condition() {
+               var result = sequence([and, nOrMore(0, orTail)]);
+               if (result) {
+                       for (var i = 0; i < result[1].length; i++) {
+                               if (result[1][i]) {
+                                       return true;
+                               }
+                       }
+                       return result[0];
 
-       function start() {
-               if (!isInt(number)) {
-                       return false;
                }
-               var result = condition();
-               return result;
+               return false;
        }
 
-
-       var result = start();
-
+       result = condition();
        /*
         * For success, the pos must have gotten to the end of the rule
         * and returned a non-null.
         * n.b. This is part of language infrastructure, so we do not throw an internationalizable message.
         */
-       if (result === null || pos !== rule.length) {
-               // throw new Error("Parse error at position " + pos.toString() + " in input: " + rule + " result is " + result);
+       if (result === null) {
+               throw new Error('Parse error at position ' + pos.toString() + ' for rule: ' + rule);
        }
 
-       return result;
-}
+       if (pos !== rule.length) {
+               debug('Warning: Rule not parsed completely. Parser stopped at ' + rule.substr(0, pos) + ' for rule: ' + rule);
+       }
 
-/* For module loaders, e.g. NodeJS, NPM */
-if (typeof module !== 'undefined' && module.exports) {
-       module.exports = pluralRuleParser;
+       return result;
 }
 
 /* pluralRuleParser ends here */
diff --git a/resources/mediawiki.special/mediawiki.special.block.css b/resources/mediawiki.special/mediawiki.special.block.css
new file mode 100644 (file)
index 0000000..899a9f3
--- /dev/null
@@ -0,0 +1,7 @@
+/**
+ * Styling for Special:Block
+ */
+
+label[for="mw-input-wpConfirm"] {
+       font-weight: bold;
+}
diff --git a/resources/mediawiki.special/mediawiki.special.version.css b/resources/mediawiki.special/mediawiki.special.version.css
new file mode 100644 (file)
index 0000000..917426a
--- /dev/null
@@ -0,0 +1,14 @@
+/**
+ * Adds additional styling to the extension title/version list
+**/
+.mw-version-ext-name {
+       font-weight: bold;
+}
+
+.mw-version-ext-vcs-timestamp {
+       white-space: nowrap;
+}
+
+th.mw-version-ext-col-label {
+       font-size: 0.9em;
+}
\ No newline at end of file
index 0855534..15992f8 100644 (file)
@@ -1 +1,61 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"><path d="M4 1.533v9.671l4.752-4.871z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="12"
+   height="12"
+   id="svg2"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="arrow-collapsed-ltr.svg">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     id="namedview7"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="7.833847"
+     inkscape:cy="7.3054094"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(1.0559311,0,0,1.0825058,-404.86649,-609.71107)"
+     id="layer1">
+    <path
+       d="m 387.20944,564.65683 0,8.93354 4.49986,-4.49987 z"
+       id="arrow"
+       style="fill:#797979;fill-opacity:1;stroke:none"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index b22b3fc..a643689 100644 (file)
@@ -1 +1,61 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"><path d="M8 1.533v9.671l-4.752-4.871z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="12"
+   height="12"
+   id="svg2"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="arrow-collapsed-ltr.svg">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     id="namedview7"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="14.764482"
+     inkscape:cy="6.45175"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(-1.0559311,0,0,1.0825058,416.86649,-609.71107)"
+     id="layer1">
+    <path
+       d="m 387.20944,564.65683 0,8.93354 4.49986,-4.49987 z"
+       id="arrow"
+       style="fill:#797979;fill-opacity:1;stroke:none"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index e255dba..4012bb5 100644 (file)
@@ -1 +1,61 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"><path d="M1.165 3.624h9.671l-4.871 4.752z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="12"
+   height="12"
+   id="svg2"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="arrow-collapsed-rtl.svg">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     id="namedview7"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="9.7488178"
+     inkscape:cy="6.45175"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(0,1.0559311,1.0825058,0,-610.0796,-405.24226)"
+     id="layer1">
+    <path
+       d="m 387.20944,564.65683 0,8.93354 4.49986,-4.49987 z"
+       id="arrow"
+       style="fill:#797979;fill-opacity:1;stroke:none"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index 2d45653..65f3fbe 100644 (file)
@@ -163,6 +163,10 @@ h1, h2, h3, h4, h5, h6 {
        font-weight: bold;
 }
 
+dt {
+       font-weight: bold;
+}
+
 p {
        margin: 1em 0;
        line-height: 1.2em;
index 6058cdc..0aa76f5 100644 (file)
@@ -1 +1,18 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 256 256"><defs><linearGradient x1=".085" y1=".085" x2=".915" y2=".915" id="a"><stop offset="0" stop-color="#E3702D"/><stop offset=".107" stop-color="#EA7D31"/><stop offset=".35" stop-color="#F69537"/><stop offset=".5" stop-color="#FB9E3A"/><stop offset=".702" stop-color="#EA7C31"/><stop offset=".887" stop-color="#DE642B"/><stop offset="1" stop-color="#D95B29"/></linearGradient></defs><rect width="256" height="256" rx="55" ry="55" fill="#CC5D15"/><rect width="246" height="246" rx="50" ry="50" x="5" y="5" fill="#F49C52"/><rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#a)"/><circle cx="68" cy="189" r="24" fill="#FFF"/><path d="M160 213h-34a82 82 0 0 0-82-82v-34a116 116 0 0 1 116 116zM184 213a140 140 0 0 0-140-140v-35a175 175 0 0 1 175 175z" fill="#FFF"/></svg>
\ No newline at end of file
+<?xml version="1.0"?>\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="128px" height="128px" id="RSSicon" viewBox="0 0 256 256">\r
+<defs>\r
+<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915" id="RSSg">\r
+<stop  offset="0.0" stop-color="#E3702D"/><stop  offset="0.1071" stop-color="#EA7D31"/>\r
+<stop  offset="0.3503" stop-color="#F69537"/><stop  offset="0.5" stop-color="#FB9E3A"/>\r
+<stop  offset="0.7016" stop-color="#EA7C31"/><stop  offset="0.8866" stop-color="#DE642B"/>\r
+<stop  offset="1.0" stop-color="#D95B29"/>\r
+</linearGradient>\r
+</defs>\r
+<rect width="256" height="256" rx="55" ry="55" x="0"  y="0"  fill="#CC5D15"/>\r
+<rect width="246" height="246" rx="50" ry="50" x="5"  y="5"  fill="#F49C52"/>\r
+<rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#RSSg)"/>\r
+<circle cx="68" cy="189" r="24" fill="#FFF"/>\r
+<path d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" fill="#FFF"/>\r
+<path d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" fill="#FFF"/>\r
+</svg>\r
index 89ad09c..2797305 100644 (file)
@@ -1 +1,12 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="21.059" height="21.06"><path fill="#575757" d="M10.529 0c-5.814 0-10.529 4.714-10.529 10.529s4.715 10.53 10.529 10.53c5.816 0 10.529-4.715 10.529-10.53s-4.712-10.529-10.529-10.529zm-.002 16.767c-.861 0-1.498-.688-1.498-1.516 0-.862.637-1.534 1.498-1.534.828 0 1.5.672 1.5 1.534 0 .827-.672 1.516-1.5 1.516zm2.137-6.512c-.723.568-1 .931-1 1.739v.5h-2.205v-.603c0-1.517.449-2.136 1.154-2.688.707-.552 1.139-.845 1.139-1.637 0-.672-.414-1.051-1.24-1.051-.707 0-1.328.189-1.982.638l-1.051-1.807c.861-.604 1.93-1.034 3.342-1.034 1.912 0 3.516 1.051 3.516 3.066-.001 1.43-.794 2.188-1.673 2.877z"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\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
+        width="21.059px" height="21.06px" viewBox="0 0 21.059 21.06" enable-background="new 0 0 21.059 21.06" xml:space="preserve">\r
+<path fill="#575757" d="M10.529,0C4.715,0,0,4.714,0,10.529s4.715,10.53,10.529,10.53c5.816,0,10.529-4.715,10.529-10.53\r
+       S16.346,0,10.529,0z M10.527,16.767c-0.861,0-1.498-0.688-1.498-1.516c0-0.862,0.637-1.534,1.498-1.534c0.828,0,1.5,0.672,1.5,1.534\r
+       C12.027,16.078,11.355,16.767,10.527,16.767z M12.664,10.255c-0.723,0.568-1,0.931-1,1.739v0.5H9.459v-0.603\r
+       c0-1.517,0.449-2.136,1.154-2.688c0.707-0.552,1.139-0.845,1.139-1.637c0-0.672-0.414-1.051-1.24-1.051\r
+       c-0.707,0-1.328,0.189-1.982,0.638L7.479,5.346c0.861-0.604,1.93-1.034,3.342-1.034c1.912,0,3.516,1.051,3.516,3.066\r
+       C14.336,8.808,13.543,9.566,12.664,10.255z"/>\r
+</svg>\r
index 310294a..b068915 100644 (file)
@@ -1176,14 +1176,15 @@ table.floatleft {
        display: none;
 }
 
-/* For developpers */
+/* For developers */
 .xdebug-error {
        position: absolute;
        z-index: 99;
 }
 
 .mw-editsection,
-.toctoggle {
+.toctoggle,
+#jump-to-nav {
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
index 90098da..d0c4729 100644 (file)
@@ -1 +1,37 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6.001 2.998l5.001 5-5.001 5z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="16"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-1036.0288)"
+     id="layer1">
+    <path
+       d="M 10.028624,3.7729932 8.1976442,6.9443424 6.3666649,3.7729932 z"
+       transform="matrix(0,-2.7307791,1.576616,0,0.05143855,1066.4148)"
+       id="path2985"
+       style="fill:#797979;fill-opacity:1;stroke:none" />
+  </g>
+</svg>
index 5b10a43..8c5e04b 100644 (file)
@@ -1 +1,37 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M9.999 13.002l-5.001-5 5.001-5z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="16"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-1036.0288)"
+     id="layer1">
+    <path
+       d="M 10.028624,3.7729932 8.1976442,6.9443424 6.3666649,3.7729932 z"
+       transform="matrix(0,2.7307791,-1.576616,0,15.948561,1021.6428)"
+       id="path2985"
+       style="fill:#797979;fill-opacity:1;stroke:none" />
+  </g>
+</svg>
index 60af0c2..f2edf26 100644 (file)
@@ -1 +1,37 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="22" height="16"><path d="M15.502 6.001l-5 5.001-5-5.001z" fill="#929292"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="22"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-1036.3622)"
+     id="layer1">
+    <path
+       d="M 10.028624,3.7729932 8.1976442,6.9443424 6.3666649,3.7729932 z"
+       transform="matrix(2.7307791,0,0,1.576616,-11.885956,1036.4136)"
+       id="path2985"
+       style="fill:#929292;fill-opacity:1;stroke:none" />
+  </g>
+</svg>
index a8856e2..9218ff2 100644 (file)
@@ -1 +1,37 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="22" height="16"><path d="M15.502 6.001l-5 5.001-5-5.001z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="22"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-1036.3622)"
+     id="layer1">
+    <path
+       d="M 10.028624,3.7729932 8.1976442,6.9443424 6.3666649,3.7729932 z"
+       transform="matrix(2.7307791,0,0,1.576616,-11.885956,1036.4136)"
+       id="path2985"
+       style="fill:#797979;fill-opacity:1;stroke:none" />
+  </g>
+</svg>
index 5a3ebb5..60704d2 100644 (file)
@@ -1 +1,37 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M13.002 6.001l-5 5.001-5-5.001z" fill="#797979"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="16"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-1036.3622)"
+     id="layer1">
+    <path
+       d="M 10.028624,3.7729932 8.1976442,6.9443424 6.3666649,3.7729932 z"
+       transform="matrix(2.7307791,0,0,1.576616,-14.385956,1036.4136)"
+       id="path2985"
+       style="fill:#797979;fill-opacity:1;stroke:none" />
+  </g>
+</svg>
index 81b22a5..d88b57f 100644 (file)
@@ -1 +1,88 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#b2bf46"/><stop offset="1" stop-color="#c8d17b"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="22.263" y1="9.142" x2="22.263" y2="5.389" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.97 0 0 .97 858.756 710.263)"/></defs><path d="M2.779.529v5.788c-.303.034-.606.105-.909.242-1.087.492-1.625 1.48-1.212 2.212.413.732 1.61.916 2.697.424.877-.397 1.38-1.109 1.333-1.758v-3.971h2.94v2.849c-.309.031-.63.102-.939.242-1.075.486-1.621 1.488-1.212 2.212.408.724 1.592.911 2.667.424.874-.395 1.389-1.112 1.333-1.758v-6.91h-6.698z" fill="url(#b)" stroke="#757f2a" stroke-width=".97"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg6167"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="Nowy dokument 22">
+  <defs
+     id="defs6169">
+    <linearGradient
+       id="linearGradient6707">
+      <stop
+         style="stop-color:#b2bf46;stop-opacity:1;"
+         offset="0"
+         id="stop6709" />
+      <stop
+         style="stop-color:#c8d17b;stop-opacity:1;"
+         offset="1"
+         id="stop6711" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6707"
+       id="linearGradient6713"
+       x1="22.262903"
+       y1="9.1418257"
+       x2="22.262903"
+       y2="5.3889236"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.96979296,0,0,0.96979296,858.75554,710.2631)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="45.254834"
+     inkscape:cx="7.6304965"
+     inkscape:cy="5.5914204"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1014"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata6172">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-877.85712,-710.2193)">
+    <path
+       style="fill:url(#linearGradient6713);fill-opacity:1;stroke:#757f2a;stroke-width:0.96979296px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 880.63649,710.74799 0,5.78845 c -0.30291,0.0337 -0.60613,0.10534 -0.90918,0.24245 -1.08747,0.49204 -1.62536,1.48002 -1.21224,2.21234 0.41311,0.73233 1.60977,0.91632 2.69723,0.42429 0.87694,-0.39677 1.37959,-1.10894 1.33347,-1.75775 l 0,-0.15153 0,-3.81856 2.93968,0 0,2.84876 c -0.30894,0.0309 -0.62965,0.10227 -0.93948,0.24245 -1.07493,0.48636 -1.6206,1.48846 -1.21225,2.21234 0.40836,0.72389 1.59201,0.91065 2.66694,0.42429 0.87404,-0.39547 1.38893,-1.11233 1.33346,-1.75775 l 0,-0.15153 0,-6.75825 -6.69763,0 z"
+       id="path6186"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index 74d6124..1055769 100644 (file)
@@ -1 +1,213 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#e2e2e2"/><stop offset="1" stop-color="#f8f8f8"/></linearGradient><linearGradient><stop offset="0" stop-color="#e2e2e2"/><stop offset="1" stop-color="#e2e2e2"/></linearGradient><radialGradient xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.407 0 0 2.143 6.798 -4.713)" cx="-16.719" cy="3.344" fx="-16.719" fy="3.344" r="2"/><radialGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.407 0 0 2.143 810.354 682.735)" cx="-16.719" cy="3.344" fx="-16.719" fy="3.344" r="2"/></defs><g><path d="M1.484.492v9.094h7.031v-6.844l-2.25-2.25h-4.781z" fill="#fff" stroke="#878787" stroke-width=".9" stroke-linecap="square"/><path d="M2.953 2.086v6.094h4v-5.281h-.844v-.813h-3.156z" fill="url(#b)"/><g style="line-height:125%" font-size="1" letter-spacing="0" word-spacing="0" font-family="Sans"><path d="M2.97 2.087h.099v.646h.355v.083h-.454v-.729"/><path d="M3.717 2.332l-.114.057-.042.154.042.155.115.056.114-.057.042-.154-.042-.154-.114-.057m0-.076c.078 0 .139.025.184.076.045.051.067.121.067.211 0 .089-.022.16-.067.211-.045.051-.106.076-.184.076s-.14-.025-.185-.076c-.044-.051-.066-.121-.066-.211s.022-.16.066-.211c.045-.051.106-.076.185-.076"/><path d="M4.433 2.353l-.033-.013-.039-.004-.117.05-.041.142v.288h-.09v-.547h.09v.085l.074-.074.11-.024.021.001.025.003v.092"/><path d="M4.975 2.52v.044h-.413l.056.142.14.048.1-.013.097-.038v.085l-.099.031-.103.011c-.087 0-.156-.025-.208-.076-.051-.051-.076-.119-.076-.206 0-.089.024-.16.072-.213.049-.053.114-.079.196-.079.074 0 .132.024.174.071.043.047.065.111.065.193m-.09-.026l-.042-.118-.106-.044-.121.043-.052.12h.32"/><path d="M5.548 2.374l.081-.089.11-.029.132.06.046.17v.33h-.09v-.327l-.028-.117-.085-.038-.11.046-.041.126v.309h-.09v-.327l-.028-.117-.086-.038-.109.047-.041.126v.309h-.09v-.547h.09v.085l.074-.074.102-.024.101.03.062.088"/><path d="M2.966 3.519h.09v.547h-.09v-.547m0-.213h.09v.114h-.09v-.114"/><path d="M3.33 3.984v.29h-.09v-.755h.09v.083l.071-.072.104-.024c.066 0 .12.026.162.079.042.053.063.122.063.208s-.021.155-.063.208c-.041.053-.095.079-.162.079l-.104-.023-.071-.073m.306-.191l-.041-.155-.112-.057-.112.057-.041.155.041.156.112.056.112-.056.041-.156"/><path d="M4.227 3.535v.085l-.079-.029-.085-.01-.101.021-.033.061.024.049.096.034.031.007.136.058.041.104-.06.121-.166.044-.092-.009-.1-.025v-.093l.098.039.096.013.098-.021.034-.061-.025-.056-.108-.038-.031-.007-.121-.054-.037-.1.055-.119.155-.042.094.007.081.022"/><path d="M4.39 3.85v-.331h.09v.328l.03.117.091.039.115-.046.043-.126v-.31h.09v.547h-.09v-.084l-.076.074-.1.024c-.063 0-.111-.019-.143-.059l-.049-.171m.226-.344"/><path d="M5.46 3.624l.081-.089.11-.029.132.06.046.17v.33h-.09v-.327l-.028-.117-.085-.038-.11.046-.041.126v.309h-.09v-.327l-.028-.117-.086-.038-.109.047-.041.126v.309h-.09v-.547h.09v.085l.074-.074.102-.024.101.03.062.088"/><path d="M3.326 4.852v-.296h.09v.76h-.09v-.082l-.072.073-.104.023c-.066 0-.12-.026-.162-.079-.041-.053-.062-.122-.062-.208s.021-.155.062-.208c.042-.053.096-.079.162-.079l.104.024.072.072m-.306.191l.041.156.112.056.112-.056.041-.156-.041-.155-.112-.057-.112.057-.041.155"/><path d="M3.813 4.832l-.114.057-.042.154.042.155.115.056.114-.057.042-.154-.042-.154-.114-.057m0-.076c.078 0 .139.025.184.076.045.051.067.121.067.211 0 .089-.022.16-.067.211-.045.051-.106.076-.184.076-.079 0-.14-.025-.185-.076-.044-.051-.066-.121-.066-.211s.022-.16.066-.211c.045-.051.106-.076.185-.076"/><path d="M4.212 4.556h.09v.76h-.09v-.76"/><path d="M4.701 4.832l-.114.057-.042.154.042.155.115.056.114-.057.042-.154-.042-.154-.114-.057m0-.076c.078 0 .139.025.184.076.045.051.067.121.067.211 0 .089-.022.16-.067.211-.045.051-.106.076-.184.076-.079 0-.14-.025-.185-.076-.044-.051-.066-.121-.066-.211s.022-.16.066-.211c.045-.051.106-.076.185-.076"/><path d="M5.418 4.853l-.033-.013-.039-.004-.117.05-.041.142v.288h-.09v-.547h.09v.085l.074-.074.11-.024.021.001.025.003v.092"/><path d="M3.315 6.035v.085l-.079-.029-.085-.01-.101.021-.033.061.024.049.096.034.031.007.136.058.041.104-.06.121-.166.044-.092-.009-.1-.025v-.093l.098.039.096.013.098-.021.034-.061-.025-.056-.108-.038-.031-.007-.121-.054-.037-.1.055-.119.155-.042.094.007.081.022"/><path d="M3.487 6.019h.09v.547h-.09v-.547m0-.213h.09v.114h-.09v-.114"/><path d="M3.854 5.864v.155h.185v.07h-.185v.297l.018.086.075.019h.092v.075h-.092l-.144-.039-.04-.142v-.297h-.066v-.07h.066v-.155h.09"/><path d="M4.724 6.291l-.151.025-.042.085.031.076.086.028.12-.053.045-.141v-.02h-.089m.179-.037v.312h-.09v-.083l-.077.074-.112.023-.134-.047-.049-.126.061-.139c.041-.031.103-.047.185-.047h.126v-.009l-.041-.096-.114-.034-.091.011-.085.034v-.083l.096-.028.09-.01c.079 0 .138.021.177.061.039.041.059.103.059.187"/><path d="M5.515 6.124l.081-.089.11-.029.132.06.046.17v.33h-.09v-.327l-.028-.117-.085-.038-.11.046-.041.126v.309h-.09v-.327l-.028-.117-.086-.038-.109.047-.041.126v.309h-.09v-.547h.09v.085l.074-.074.102-.024.101.03.062.088"/><path d="M6.531 6.27v.044h-.413l.056.142.14.048.1-.013.097-.038v.085l-.099.031-.103.011c-.087 0-.156-.025-.208-.076-.051-.051-.076-.119-.076-.206 0-.089.024-.16.072-.213.049-.053.114-.079.196-.079.074 0 .132.024.174.071.043.047.065.111.065.193m-.09-.026l-.042-.118-.106-.044-.121.043-.052.12h.32"/><path d="M6.768 5.864v.155h.185v.07h-.185v.297l.018.086.075.019h.092v.075h-.092l-.144-.039-.04-.142v-.297h-.066v-.07h.066v-.155h.09"/></g><path d="M6.172.414v2.359h2.344" stroke="#878787" stroke-width=".9" fill="none"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg7339"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="document-icon.svg">
+  <defs
+     id="defs7341">
+    <linearGradient
+       id="linearGradient7918">
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="0"
+         id="stop7920" />
+      <stop
+         style="stop-color:#f8f8f8;stop-opacity:1;"
+         offset="1"
+         id="stop7922" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7902">
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="0"
+         id="stop7904" />
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="1"
+         id="stop7906" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7918"
+       id="radialGradient7931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.4065972,0,0,2.1428629,6.7977966,-4.7132748)"
+       cx="-16.71875"
+       cy="3.344311"
+       fx="-16.71875"
+       fy="3.344311"
+       r="2" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7918"
+       id="radialGradient7968"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.4065972,0,0,2.1428629,810.35359,682.73485)"
+       cx="-16.71875"
+       cy="3.344311"
+       fx="-16.71875"
+       fy="3.344311"
+       r="2" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="32"
+     inkscape:cx="3.7383502"
+     inkscape:cy="5.7078811"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7344">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-783.57141,-687.36218)">
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-opacity:1;stroke:#878787;stroke-width:0.89999998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 785.05579,687.85437 0,9.09375 7.03125,0 0,-6.84375 -2.25,-2.25 -4.78125,0 z"
+       id="rect7358" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient7968);fill-opacity:1;stroke:none"
+       d="m 786.52454,689.44812 0,6.09375 4,0 0,-5.28125 -0.84375,0 0,-0.8125 -3.15625,0 z"
+       id="rect7896" />
+    <g
+       style="font-size:1px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       id="text7952">
+      <path
+         d="m 786.54126,689.4494 0.0986,0 0,0.646 0.35498,0 0,0.083 -0.45361,0 0,-0.72901"
+         style=""
+         id="path2999" />
+      <path
+         d="m 787.28833,689.69452 c -0.0482,0 -0.0863,0.0189 -0.11426,0.0566 -0.028,0.0374 -0.042,0.0889 -0.042,0.1543 0,0.0654 0.0138,0.11702 0.0415,0.15478 0.028,0.0374 0.0662,0.0562 0.11475,0.0562 0.0479,0 0.0858,-0.0189 0.11377,-0.0566 0.028,-0.0378 0.042,-0.0892 0.042,-0.15429 0,-0.0648 -0.014,-0.11605 -0.042,-0.15381 -0.028,-0.0381 -0.0659,-0.0571 -0.11377,-0.0571 m 0,-0.0762 c 0.0781,0 0.13949,0.0254 0.18408,0.0762 0.0446,0.0508 0.0669,0.12109 0.0669,0.21094 0,0.0895 -0.0223,0.15983 -0.0669,0.21093 -0.0446,0.0508 -0.10596,0.0762 -0.18408,0.0762 -0.0784,0 -0.13997,-0.0254 -0.18457,-0.0762 -0.0443,-0.0511 -0.0664,-0.12142 -0.0664,-0.21093 0,-0.0898 0.0221,-0.16016 0.0664,-0.21094 0.0446,-0.0508 0.10612,-0.0762 0.18457,-0.0762"
+         style=""
+         id="path3001" />
+      <path
+         d="m 788.00464,689.71552 c -0.0101,-0.006 -0.0212,-0.0101 -0.0332,-0.0127 -0.0117,-0.003 -0.0247,-0.004 -0.0391,-0.004 -0.0508,0 -0.0898,0.0166 -0.11718,0.0498 -0.027,0.0329 -0.0405,0.0802 -0.0405,0.14209 l 0,0.28809 -0.0903,0 0,-0.54688 0.0903,0 0,0.085 c 0.0189,-0.0332 0.0435,-0.0578 0.0737,-0.0737 0.0303,-0.0163 0.0671,-0.0244 0.11035,-0.0244 0.006,0 0.013,4.9e-4 0.0205,0.001 0.007,6.5e-4 0.0158,0.002 0.0249,0.003 l 4.9e-4,0.0923"
+         style=""
+         id="path3003" />
+      <path
+         d="m 788.54614,689.88251 0,0.0439 -0.41308,0 c 0.004,0.0618 0.0225,0.10905 0.0557,0.1416 0.0335,0.0322 0.0801,0.0483 0.13965,0.0483 0.0345,0 0.0679,-0.004 0.1001,-0.0127 0.0326,-0.008 0.0648,-0.0212 0.0967,-0.0381 l 0,0.085 c -0.0322,0.0137 -0.0653,0.0241 -0.0991,0.0312 -0.0339,0.007 -0.0682,0.0108 -0.10303,0.0108 -0.0872,0 -0.15641,-0.0254 -0.20752,-0.0762 -0.0508,-0.0508 -0.0762,-0.11946 -0.0762,-0.20605 0,-0.0895 0.0241,-0.16048 0.0723,-0.21289 0.0485,-0.0527 0.11377,-0.0791 0.1958,-0.0791 0.0736,0 0.13168,0.0238 0.17432,0.0713 0.043,0.0472 0.0645,0.11149 0.0645,0.19287 m -0.0898,-0.0264 c -6.5e-4,-0.0491 -0.0145,-0.0884 -0.0415,-0.11768 -0.0267,-0.0293 -0.0622,-0.0439 -0.10644,-0.0439 -0.0501,0 -0.0903,0.0142 -0.12061,0.0425 -0.0299,0.0283 -0.0472,0.0682 -0.0517,0.11963 l 0.32031,-4.9e-4"
+         style=""
+         id="path3005" />
+      <path
+         d="m 789.11938,689.73651 c 0.0225,-0.0404 0.0493,-0.0701 0.0806,-0.0893 0.0312,-0.0192 0.068,-0.0288 0.11035,-0.0288 0.057,0 0.10091,0.02 0.13184,0.0601 0.0309,0.0397 0.0464,0.0964 0.0464,0.16992 l 0,0.33008 -0.0903,0 0,-0.32715 c 0,-0.0524 -0.009,-0.0913 -0.0278,-0.1167 -0.0186,-0.0254 -0.0469,-0.0381 -0.085,-0.0381 -0.0466,0 -0.0833,0.0155 -0.11035,0.0464 -0.027,0.0309 -0.0405,0.0731 -0.0405,0.12646 l 0,0.30909 -0.0903,0 0,-0.32715 c 0,-0.0527 -0.009,-0.0916 -0.0278,-0.1167 -0.0186,-0.0254 -0.0472,-0.0381 -0.0859,-0.0381 -0.0459,0 -0.0824,0.0156 -0.10938,0.0469 -0.027,0.0309 -0.0405,0.0729 -0.0405,0.12597 l 0,0.30909 -0.0903,0 0,-0.54688 0.0903,0 0,0.085 c 0.0205,-0.0335 0.0451,-0.0583 0.0737,-0.0742 0.0286,-0.016 0.0627,-0.0239 0.10205,-0.0239 0.0397,0 0.0734,0.0101 0.10107,0.0303 0.028,0.0202 0.0487,0.0495 0.062,0.0879"
+         style=""
+         id="path3007" />
+      <path
+         d="m 786.53735,690.88153 0.0899,0 0,0.54688 -0.0899,0 0,-0.54688 m 0,-0.21289 0.0899,0 0,0.11377 -0.0899,0 0,-0.11377"
+         style=""
+         id="path3009" />
+      <path
+         d="m 786.90161,691.34637 0,0.29004 -0.0903,0 0,-0.75488 0.0903,0 0,0.083 c 0.0189,-0.0326 0.0426,-0.0566 0.0713,-0.0723 0.029,-0.016 0.0635,-0.0239 0.10352,-0.0239 0.0664,0 0.12028,0.0264 0.16162,0.0791 0.0417,0.0527 0.0625,0.12207 0.0625,0.20801 0,0.0859 -0.0208,0.15527 -0.0625,0.208 -0.0413,0.0527 -0.0952,0.0791 -0.16162,0.0791 -0.04,0 -0.0745,-0.008 -0.10352,-0.0234 -0.0286,-0.0159 -0.0524,-0.0402 -0.0713,-0.0728 m 0.30567,-0.19091 c -10e-6,-0.0661 -0.0137,-0.11784 -0.041,-0.15528 -0.027,-0.0378 -0.0643,-0.0566 -0.11182,-0.0566 -0.0475,0 -0.085,0.0189 -0.1123,0.0566 -0.027,0.0374 -0.0405,0.0892 -0.0405,0.15528 0,0.0661 0.0135,0.118 0.0405,0.15576 0.0273,0.0374 0.0648,0.0562 0.1123,0.0562 0.0475,0 0.0848,-0.0187 0.11182,-0.0562 0.0273,-0.0378 0.041,-0.0897 0.041,-0.15576"
+         style=""
+         id="path3011" />
+      <path
+         d="m 787.7981,690.89764 0,0.085 c -0.0254,-0.013 -0.0518,-0.0228 -0.0791,-0.0293 -0.0273,-0.007 -0.0557,-0.01 -0.085,-0.01 -0.0446,0 -0.0781,0.007 -0.10058,0.0205 -0.0221,0.0137 -0.0332,0.0342 -0.0332,0.0615 0,0.0208 0.008,0.0373 0.0239,0.0493 0.0159,0.0117 0.048,0.023 0.0962,0.0337 l 0.0308,0.007 c 0.0638,0.0137 0.10905,0.033 0.13575,0.0581 0.027,0.0247 0.0405,0.0594 0.0405,0.10401 0,0.0508 -0.0202,0.091 -0.0605,0.1206 -0.04,0.0296 -0.0952,0.0444 -0.16553,0.0444 -0.0293,0 -0.0599,-0.003 -0.0918,-0.009 -0.0316,-0.006 -0.0649,-0.014 -0.1001,-0.0254 l 0,-0.0928 c 0.0332,0.0173 0.0659,0.0303 0.0982,0.0391 0.0322,0.008 0.0641,0.0127 0.0957,0.0127 0.0423,0 0.0749,-0.007 0.0977,-0.0215 0.0228,-0.0147 0.0342,-0.0352 0.0342,-0.0615 0,-0.0244 -0.008,-0.0431 -0.0249,-0.0562 -0.0163,-0.013 -0.0522,-0.0255 -0.10792,-0.0376 l -0.0312,-0.007 c -0.0557,-0.0117 -0.0959,-0.0296 -0.1206,-0.0537 -0.0247,-0.0244 -0.0371,-0.0578 -0.0371,-0.1001 0,-0.0514 0.0182,-0.0912 0.0547,-0.11914 0.0365,-0.028 0.0882,-0.042 0.15527,-0.042 0.0332,0 0.0644,0.002 0.0937,0.007 0.0293,0.005 0.0563,0.0122 0.0811,0.022"
+         style=""
+         id="path3013" />
+      <path
+         d="m 787.96167,691.21259 0,-0.33106 0.0898,0 0,0.32764 c 0,0.0518 0.0101,0.0907 0.0303,0.1167 0.0202,0.0257 0.0505,0.0386 0.0908,0.0386 0.0485,0 0.0868,-0.0155 0.11474,-0.0464 0.0283,-0.0309 0.0425,-0.0731 0.0425,-0.12646 l 0,-0.31006 0.0898,0 0,0.54688 -0.0898,0 0,-0.084 c -0.0218,0.0332 -0.0472,0.0579 -0.0762,0.0742 -0.0286,0.0159 -0.062,0.0239 -0.1001,0.0239 -0.0628,0 -0.11051,-0.0195 -0.14306,-0.0586 -0.0326,-0.0391 -0.0488,-0.0962 -0.0488,-0.17138 m 0.22607,-0.34424 0,0"
+         style=""
+         id="path3015" />
+      <path
+         d="m 789.03149,690.98651 c 0.0225,-0.0404 0.0493,-0.0701 0.0806,-0.0893 0.0312,-0.0192 0.068,-0.0288 0.11035,-0.0288 0.057,0 0.10091,0.02 0.13184,0.0601 0.0309,0.0397 0.0464,0.0964 0.0464,0.16992 l 0,0.33008 -0.0903,0 0,-0.32715 c 0,-0.0524 -0.009,-0.0913 -0.0278,-0.1167 -0.0186,-0.0254 -0.0469,-0.0381 -0.085,-0.0381 -0.0465,0 -0.0833,0.0155 -0.11035,0.0464 -0.027,0.0309 -0.0405,0.0731 -0.0405,0.12646 l 0,0.30909 -0.0903,0 0,-0.32715 c 0,-0.0527 -0.009,-0.0916 -0.0278,-0.1167 -0.0186,-0.0254 -0.0472,-0.0381 -0.0859,-0.0381 -0.0459,0 -0.0824,0.0156 -0.10938,0.0469 -0.027,0.0309 -0.0405,0.0729 -0.0405,0.12597 l 0,0.30909 -0.0903,0 0,-0.54688 0.0903,0 0,0.085 c 0.0205,-0.0335 0.0451,-0.0583 0.0737,-0.0742 0.0286,-0.016 0.0627,-0.0239 0.10205,-0.0239 0.0397,0 0.0734,0.0101 0.10107,0.0303 0.028,0.0202 0.0487,0.0495 0.062,0.0879"
+         style=""
+         id="path3017" />
+      <path
+         d="m 786.89722,692.21454 0,-0.2959 0.0898,0 0,0.75977 -0.0898,0 0,-0.082 c -0.0189,0.0326 -0.0428,0.0568 -0.0718,0.0728 -0.0286,0.0156 -0.0631,0.0234 -0.10352,0.0234 -0.0661,0 -0.11995,-0.0264 -0.16162,-0.0791 -0.0413,-0.0527 -0.062,-0.12207 -0.062,-0.208 0,-0.0859 0.0207,-0.15528 0.062,-0.20801 0.0417,-0.0527 0.0955,-0.0791 0.16162,-0.0791 0.0404,0 0.0749,0.008 0.10352,0.0239 0.029,0.0156 0.0529,0.0397 0.0718,0.0723 m -0.30616,0.19092 c 0,0.0661 0.0135,0.118 0.0405,0.15576 0.0274,0.0374 0.0648,0.0562 0.11231,0.0562 0.0475,0 0.085,-0.0187 0.1123,-0.0562 0.0273,-0.0378 0.041,-0.0897 0.041,-0.15576 0,-0.0661 -0.0137,-0.11784 -0.041,-0.15528 -0.0273,-0.0378 -0.0648,-0.0566 -0.1123,-0.0566 -0.0475,0 -0.085,0.0189 -0.11231,0.0566 -0.027,0.0374 -0.0405,0.0892 -0.0405,0.15528"
+         style=""
+         id="path3019" />
+      <path
+         d="m 787.38403,692.19452 c -0.0482,0 -0.0863,0.0189 -0.11425,0.0566 -0.028,0.0374 -0.042,0.0889 -0.042,0.1543 0,0.0654 0.0138,0.11702 0.0415,0.15478 0.028,0.0374 0.0662,0.0562 0.11474,0.0562 0.0478,0 0.0858,-0.0189 0.11377,-0.0566 0.028,-0.0378 0.042,-0.0892 0.042,-0.15429 0,-0.0648 -0.014,-0.11605 -0.042,-0.15381 -0.028,-0.0381 -0.0659,-0.0571 -0.11377,-0.0571 m 0,-0.0762 c 0.0781,0 0.13949,0.0254 0.18409,0.0762 0.0446,0.0508 0.0669,0.12109 0.0669,0.21094 0,0.0895 -0.0223,0.15983 -0.0669,0.21093 -0.0446,0.0508 -0.10596,0.0762 -0.18409,0.0762 -0.0785,0 -0.13997,-0.0254 -0.18457,-0.0762 -0.0443,-0.0511 -0.0664,-0.12142 -0.0664,-0.21093 0,-0.0898 0.0221,-0.16016 0.0664,-0.21094 0.0446,-0.0508 0.10612,-0.0762 0.18457,-0.0762"
+         style=""
+         id="path3021" />
+      <path
+         d="m 787.78345,691.91864 0.0898,0 0,0.75977 -0.0898,0 0,-0.75977"
+         style=""
+         id="path3023" />
+      <path
+         d="m 788.27271,692.19452 c -0.0482,0 -0.0863,0.0189 -0.11426,0.0566 -0.028,0.0374 -0.042,0.0889 -0.042,0.1543 -10e-6,0.0654 0.0138,0.11702 0.0415,0.15478 0.028,0.0374 0.0662,0.0562 0.11475,0.0562 0.0479,0 0.0858,-0.0189 0.11376,-0.0566 0.028,-0.0378 0.042,-0.0892 0.042,-0.15429 0,-0.0648 -0.014,-0.11605 -0.042,-0.15381 -0.028,-0.0381 -0.0659,-0.0571 -0.11376,-0.0571 m 0,-0.0762 c 0.0781,0 0.13948,0.0254 0.18408,0.0762 0.0446,0.0508 0.0669,0.12109 0.0669,0.21094 0,0.0895 -0.0223,0.15983 -0.0669,0.21093 -0.0446,0.0508 -0.10596,0.0762 -0.18408,0.0762 -0.0785,0 -0.13998,-0.0254 -0.18458,-0.0762 -0.0443,-0.0511 -0.0664,-0.12142 -0.0664,-0.21093 0,-0.0898 0.0221,-0.16016 0.0664,-0.21094 0.0446,-0.0508 0.10612,-0.0762 0.18458,-0.0762"
+         style=""
+         id="path3025" />
+      <path
+         d="m 788.98901,692.21552 c -0.0101,-0.006 -0.0212,-0.0101 -0.0332,-0.0127 -0.0117,-0.003 -0.0247,-0.004 -0.0391,-0.004 -0.0508,0 -0.0898,0.0166 -0.11719,0.0498 -0.027,0.0329 -0.0405,0.0802 -0.0405,0.14209 l 0,0.28809 -0.0903,0 0,-0.54688 0.0903,0 0,0.085 c 0.0189,-0.0332 0.0435,-0.0578 0.0737,-0.0737 0.0303,-0.0163 0.0671,-0.0244 0.11036,-0.0244 0.006,0 0.013,4.9e-4 0.0205,0.001 0.007,6.5e-4 0.0158,0.002 0.0249,0.003 l 4.8e-4,0.0923"
+         style=""
+         id="path3027" />
+      <path
+         d="m 786.88599,693.39764 0,0.085 c -0.0254,-0.013 -0.0518,-0.0228 -0.0791,-0.0293 -0.0273,-0.007 -0.0557,-0.01 -0.085,-0.01 -0.0446,0 -0.0781,0.007 -0.10058,0.0205 -0.0221,0.0137 -0.0332,0.0342 -0.0332,0.0615 0,0.0208 0.008,0.0373 0.0239,0.0493 0.0159,0.0117 0.048,0.023 0.0962,0.0337 l 0.0308,0.007 c 0.0638,0.0137 0.10905,0.033 0.13575,0.0581 0.027,0.0247 0.0405,0.0594 0.0405,0.10401 0,0.0508 -0.0202,0.091 -0.0605,0.1206 -0.04,0.0296 -0.0952,0.0444 -0.16553,0.0444 -0.0293,0 -0.0599,-0.003 -0.0918,-0.009 -0.0316,-0.006 -0.0649,-0.014 -0.1001,-0.0254 l 0,-0.0928 c 0.0332,0.0173 0.0659,0.0303 0.0982,0.0391 0.0322,0.008 0.0641,0.0127 0.0957,0.0127 0.0423,0 0.0749,-0.007 0.0977,-0.0215 0.0228,-0.0147 0.0342,-0.0352 0.0342,-0.0615 0,-0.0244 -0.008,-0.0431 -0.0249,-0.0562 -0.0163,-0.013 -0.0522,-0.0255 -0.10791,-0.0376 l -0.0312,-0.007 c -0.0557,-0.0117 -0.0959,-0.0296 -0.12061,-0.0537 -0.0247,-0.0244 -0.0371,-0.0578 -0.0371,-0.1001 0,-0.0514 0.0182,-0.0912 0.0547,-0.11914 0.0365,-0.028 0.0882,-0.042 0.15527,-0.042 0.0332,0 0.0644,0.002 0.0937,0.007 0.0293,0.005 0.0563,0.0122 0.0811,0.022"
+         style=""
+         id="path3029" />
+      <path
+         d="m 787.05884,693.38153 0.0898,0 0,0.54688 -0.0898,0 0,-0.54688 m 0,-0.21289 0.0898,0 0,0.11377 -0.0898,0 0,-0.11377"
+         style=""
+         id="path3031" />
+      <path
+         d="m 787.42505,693.22626 0,0.15527 0.18506,0 0,0.0698 -0.18506,0 0,0.29688 c 0,0.0446 0.006,0.0732 0.0181,0.0859 0.0124,0.0127 0.0373,0.019 0.0747,0.019 l 0.0923,0 0,0.0752 -0.0923,0 c -0.0693,0 -0.11719,-0.0129 -0.14355,-0.0386 -0.0264,-0.026 -0.0396,-0.0732 -0.0396,-0.1416 l 0,-0.29688 -0.0659,0 0,-0.0698 0.0659,0 0,-0.15527 0.0903,0"
+         style=""
+         id="path3033" />
+      <path
+         d="m 788.29565,693.6535 c -0.0726,0 -0.12288,0.008 -0.15087,0.0249 -0.028,0.0166 -0.042,0.0449 -0.042,0.085 0,0.0319 0.0104,0.0573 0.0312,0.0762 0.0212,0.0185 0.0498,0.0278 0.0859,0.0278 0.0498,0 0.0897,-0.0176 0.11963,-0.0527 0.0303,-0.0355 0.0454,-0.0825 0.0454,-0.14112 l 0,-0.02 -0.0894,0 m 0.1792,-0.0371 0,0.31202 -0.0898,0 0,-0.083 c -0.0205,0.0332 -0.0461,0.0578 -0.0767,0.0737 -0.0306,0.0156 -0.068,0.0234 -0.11231,0.0234 -0.056,0 -0.10058,-0.0156 -0.13378,-0.0469 -0.0329,-0.0316 -0.0493,-0.0737 -0.0493,-0.12646 0,-0.0615 0.0205,-0.10791 0.0615,-0.13916 0.0413,-0.0312 0.10287,-0.0469 0.18457,-0.0469 l 0.12598,0 0,-0.009 c 0,-0.0413 -0.0137,-0.0732 -0.041,-0.0957 -0.027,-0.0228 -0.0651,-0.0342 -0.11425,-0.0342 -0.0312,0 -0.0617,0.004 -0.0913,0.0112 -0.0296,0.007 -0.0581,0.0187 -0.0854,0.0337 l 0,-0.083 c 0.0329,-0.0127 0.0648,-0.0221 0.0957,-0.0283 0.0309,-0.007 0.061,-0.01 0.0903,-0.01 0.0791,0 0.13819,0.0205 0.17725,0.0615 0.0391,0.041 0.0586,0.10319 0.0586,0.18652"
+         style=""
+         id="path3035" />
+      <path
+         d="m 789.08618,693.48651 c 0.0225,-0.0404 0.0493,-0.0701 0.0806,-0.0893 0.0312,-0.0192 0.068,-0.0288 0.11035,-0.0288 0.057,0 0.10091,0.02 0.13184,0.0601 0.0309,0.0397 0.0464,0.0964 0.0464,0.16992 l 0,0.33008 -0.0903,0 0,-0.32715 c 0,-0.0524 -0.009,-0.0913 -0.0278,-0.1167 -0.0186,-0.0254 -0.0469,-0.0381 -0.085,-0.0381 -0.0466,0 -0.0833,0.0155 -0.11035,0.0464 -0.027,0.0309 -0.0405,0.0731 -0.0405,0.12646 l 0,0.30909 -0.0903,0 0,-0.32715 c 0,-0.0527 -0.009,-0.0916 -0.0278,-0.1167 -0.0186,-0.0254 -0.0472,-0.0381 -0.0859,-0.0381 -0.0459,0 -0.0824,0.0156 -0.10938,0.0469 -0.027,0.0309 -0.0405,0.0729 -0.0405,0.12597 l 0,0.30909 -0.0903,0 0,-0.54688 0.0903,0 0,0.085 c 0.0205,-0.0335 0.0451,-0.0583 0.0737,-0.0742 0.0286,-0.016 0.0627,-0.0239 0.10206,-0.0239 0.0397,0 0.0734,0.0101 0.10107,0.0303 0.028,0.0202 0.0487,0.0495 0.062,0.0879"
+         style=""
+         id="path3037" />
+      <path
+         d="m 790.10278,693.63251 0,0.0439 -0.41308,0 c 0.004,0.0618 0.0225,0.10905 0.0557,0.1416 0.0335,0.0322 0.0801,0.0483 0.13965,0.0483 0.0345,0 0.0679,-0.004 0.1001,-0.0127 0.0326,-0.008 0.0648,-0.0212 0.0967,-0.0381 l 0,0.085 c -0.0322,0.0137 -0.0653,0.0241 -0.0991,0.0312 -0.0339,0.007 -0.0682,0.0108 -0.10303,0.0108 -0.0872,0 -0.15641,-0.0254 -0.20752,-0.0762 -0.0508,-0.0508 -0.0762,-0.11946 -0.0762,-0.20605 0,-0.0895 0.0241,-0.16048 0.0723,-0.21289 0.0485,-0.0527 0.11377,-0.0791 0.1958,-0.0791 0.0736,0 0.13168,0.0238 0.17432,0.0713 0.043,0.0472 0.0645,0.11149 0.0645,0.19287 m -0.0898,-0.0264 c -6.5e-4,-0.0491 -0.0145,-0.0884 -0.0415,-0.11768 -0.0267,-0.0293 -0.0622,-0.0439 -0.10645,-0.0439 -0.0501,0 -0.0903,0.0142 -0.12061,0.0425 -0.0299,0.0283 -0.0472,0.0682 -0.0517,0.11963 l 0.32031,-4.9e-4"
+         style=""
+         id="path3039" />
+      <path
+         d="m 790.33911,693.22626 0,0.15527 0.18506,0 0,0.0698 -0.18506,0 0,0.29688 c 0,0.0446 0.006,0.0732 0.0181,0.0859 0.0124,0.0127 0.0373,0.019 0.0747,0.019 l 0.0923,0 0,0.0752 -0.0923,0 c -0.0693,0 -0.11718,-0.0129 -0.14355,-0.0386 -0.0264,-0.026 -0.0395,-0.0732 -0.0395,-0.1416 l 0,-0.29688 -0.0659,0 0,-0.0698 0.0659,0 0,-0.15527 0.0903,0"
+         style=""
+         id="path3041" />
+    </g>
+    <path
+       style="fill:none;stroke:#878787;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 789.74329,687.77624 0,2.35938 2.34375,0"
+       id="path7894"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index 177a3b3..d77b879 100644 (file)
@@ -1 +1,132 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><defs><marker orient="auto" overflow="visible"><path d="M-.958-4.259c-1.134 0-2.056.922-2.056 2.056 0 .394.143.736.336 1.049l-.07.056c-.373-.513-.954-.867-1.636-.867-1.134 0-2.056.922-2.056 2.056s.922 2.056 2.056 2.056c.596 0 1.121-.265 1.496-.671-.075.213-.126.433-.126.671 0 1.134.922 2.056 2.056 2.056s2.056-.922 2.056-2.056c0-.476-.189-.896-.462-1.245.813.158 1.627.477 2.224 1.399-.443-.443-.727-1.248-.727-2.336l-.378-.028.35-.014c0-1.087.27-1.893.713-2.336-.575.889-1.354 1.216-2.14 1.385.243-.337.42-.728.42-1.175 0-1.134-.922-2.056-2.056-2.056z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker><marker orient="auto" overflow="visible"><path d="M0-2.828l-2.828 2.828 2.828 2.828 2.828-2.828-2.828-2.828z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker><marker orient="auto" overflow="visible"><path d="M10 0l4-4-14 4 14 4-4-4z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker></defs><g transform="translate(-826.429 -698.791)"><rect width="5.982" height="5.982" x="826.929" y="702.309" fill="#fff" stroke="#06c"/><g><path d="M831.194 698.791h5.234v5.391l-1.571 1.545-1.31-1.31-2.725 2.725-2.689-2.689 2.808-2.808-1.311-1.311z" fill="#06f"/><path d="M835.424 699.795l.022 4.885-1.817-1.817-2.881 2.881-1.228-1.228 2.881-2.881-1.851-1.851z" fill="#fff"/></g></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="external-link-ltr-icon.svg"
+   inkscape:export-filename="/run/user/1000/gvfs/sftp:host=users.v-lo.krakow.pl,user=m4tx/home/WWW/m4tx/WWW/Wikimedia/skins/vector/images/external-link-ltr-icon.png"
+   inkscape:export-xdpi="144.13724"
+   inkscape:export-ydpi="144.13724">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Club"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Club"
+       style="overflow:visible">
+      <path
+         id="path3996"
+         d="M -1.5971367,-7.0977635 C -3.4863874,-7.0977635 -5.0235187,-5.5606321 -5.0235187,-3.6713813 C -5.0235187,-3.0147015 -4.7851656,-2.4444556 -4.4641095,-1.9232271 C -4.5028609,-1.8911157 -4.5437814,-1.8647646 -4.5806531,-1.8299921 C -5.2030765,-2.6849849 -6.1700514,-3.2751330 -7.3077730,-3.2751330 C -9.1970245,-3.2751331 -10.734155,-1.7380016 -10.734155,0.15124914 C -10.734155,2.0404999 -9.1970245,3.5776313 -7.3077730,3.5776313 C -6.3143268,3.5776313 -5.4391540,3.1355702 -4.8137404,2.4588126 C -4.9384274,2.8137041 -5.0235187,3.1803000 -5.0235187,3.5776313 C -5.0235187,5.4668819 -3.4863874,7.0040135 -1.5971367,7.0040135 C 0.29211394,7.0040135 1.8292454,5.4668819 1.8292454,3.5776313 C 1.8292454,2.7842354 1.5136868,2.0838028 1.0600576,1.5031550 C 2.4152718,1.7663868 3.7718375,2.2973711 4.7661444,3.8340272 C 4.0279463,3.0958289 3.5540908,1.7534117 3.5540908,-0.058529361 L 2.9247554,-0.10514681 L 3.5074733,-0.12845553 C 3.5074733,-1.9403966 3.9580199,-3.2828138 4.6962183,-4.0210121 C 3.7371277,-2.5387813 2.4390549,-1.9946496 1.1299838,-1.7134486 C 1.5341802,-2.2753578 1.8292454,-2.9268556 1.8292454,-3.6713813 C 1.8292454,-5.5606319 0.29211394,-7.0977635 -1.5971367,-7.0977635 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:0.74587913pt"
+         transform="scale(0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="DiamondM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DiamondM"
+       style="overflow:visible">
+      <path
+         id="path3849"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible">
+      <path
+         id="path3767"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="11.725312"
+     inkscape:cy="5.6780159"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-826.42859,-698.79077)">
+    <rect
+       style="fill:#ffffff;stroke:#0066cc;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+       id="rect2996"
+       width="5.9821429"
+       height="5.9821429"
+       x="826.92859"
+       y="702.30865"
+       inkscape:export-filename="/home/m4tx/Pulpit/eheheh.png"
+       inkscape:export-xdpi="90.085777"
+       inkscape:export-ydpi="90.085777" />
+    <g
+       id="g4815"
+       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,762.87,-359.88339)"
+       inkscape:export-filename="/home/m4tx/Pulpit/eheheh.png"
+       inkscape:export-xdpi="90.085777"
+       inkscape:export-ydpi="90.085777">
+      <path
+         sodipodi:nodetypes="cccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4777"
+         d="m 796.90819,700.28317 3.70127,-3.70126 3.81174,3.81175 -0.0189,2.20336 -1.85234,0 0,3.8543 -3.80233,0 0,-3.97108 -1.8536,0 z"
+         style="fill:#0066ff;fill-opacity:1;stroke:none" />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path4779"
+         d="m 800.60946,698.00244 3.46986,3.43865 -2.5702,0 0,4.07436 -1.7362,0 0,-4.07436 -2.61754,-3.6e-4 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    </g>
+  </g>
+</svg>
index 2e435b7..7ddf89e 100644 (file)
@@ -1 +1,133 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><defs><marker orient="auto" overflow="visible"><path d="M-.958-4.259c-1.134 0-2.056.922-2.056 2.056 0 .394.143.736.336 1.049l-.07.056c-.373-.513-.954-.867-1.636-.867-1.134 0-2.056.922-2.056 2.056s.922 2.056 2.056 2.056c.596 0 1.121-.265 1.496-.671-.075.213-.126.433-.126.671 0 1.134.922 2.056 2.056 2.056s2.056-.922 2.056-2.056c0-.476-.189-.896-.462-1.245.813.158 1.627.477 2.224 1.399-.443-.443-.727-1.248-.727-2.336l-.378-.028.35-.014c0-1.087.27-1.893.713-2.336-.575.889-1.354 1.216-2.14 1.385.243-.337.42-.728.42-1.175 0-1.134-.922-2.056-2.056-2.056z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker><marker orient="auto" overflow="visible"><path d="M0-2.828l-2.828 2.828 2.828 2.828 2.828-2.828-2.828-2.828z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker><marker orient="auto" overflow="visible"><path d="M10 0l4-4-14 4 14 4-4-4z" fill-rule="evenodd" stroke="#000" stroke-width="NaN"/></marker></defs><g transform="translate(-826.429 -698.791)"><rect width="5.982" height="5.982" x="-835.929" y="702.309" transform="scale(-1 1)" fill="#fff" stroke="#06c"/><g><path d="M831.663 698.791h-5.234v5.391l1.571 1.545 1.31-1.31 2.725 2.725 2.689-2.689-2.808-2.808 1.311-1.311z" fill="#06f"/><path d="M827.433 699.795l-.022 4.885 1.817-1.817 2.881 2.881 1.228-1.228-2.881-2.881 1.851-1.851z" fill="#fff"/></g></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="external-link-ltr-icon.svg"
+   inkscape:export-filename="/run/user/1000/gvfs/sftp:host=users.v-lo.krakow.pl,user=m4tx/home/WWW/m4tx/WWW/Wikimedia/skins/vector/images/external-link-ltr-icon.png"
+   inkscape:export-xdpi="144.13724"
+   inkscape:export-ydpi="144.13724">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Club"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Club"
+       style="overflow:visible">
+      <path
+         id="path3996"
+         d="M -1.5971367,-7.0977635 C -3.4863874,-7.0977635 -5.0235187,-5.5606321 -5.0235187,-3.6713813 C -5.0235187,-3.0147015 -4.7851656,-2.4444556 -4.4641095,-1.9232271 C -4.5028609,-1.8911157 -4.5437814,-1.8647646 -4.5806531,-1.8299921 C -5.2030765,-2.6849849 -6.1700514,-3.2751330 -7.3077730,-3.2751330 C -9.1970245,-3.2751331 -10.734155,-1.7380016 -10.734155,0.15124914 C -10.734155,2.0404999 -9.1970245,3.5776313 -7.3077730,3.5776313 C -6.3143268,3.5776313 -5.4391540,3.1355702 -4.8137404,2.4588126 C -4.9384274,2.8137041 -5.0235187,3.1803000 -5.0235187,3.5776313 C -5.0235187,5.4668819 -3.4863874,7.0040135 -1.5971367,7.0040135 C 0.29211394,7.0040135 1.8292454,5.4668819 1.8292454,3.5776313 C 1.8292454,2.7842354 1.5136868,2.0838028 1.0600576,1.5031550 C 2.4152718,1.7663868 3.7718375,2.2973711 4.7661444,3.8340272 C 4.0279463,3.0958289 3.5540908,1.7534117 3.5540908,-0.058529361 L 2.9247554,-0.10514681 L 3.5074733,-0.12845553 C 3.5074733,-1.9403966 3.9580199,-3.2828138 4.6962183,-4.0210121 C 3.7371277,-2.5387813 2.4390549,-1.9946496 1.1299838,-1.7134486 C 1.5341802,-2.2753578 1.8292454,-2.9268556 1.8292454,-3.6713813 C 1.8292454,-5.5606319 0.29211394,-7.0977635 -1.5971367,-7.0977635 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:0.74587913pt"
+         transform="scale(0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="DiamondM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DiamondM"
+       style="overflow:visible">
+      <path
+         id="path3849"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible">
+      <path
+         id="path3767"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="11.725312"
+     inkscape:cy="5.6780159"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-826.42859,-698.79077)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#0066cc;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2996"
+       width="5.9821429"
+       height="5.9821429"
+       x="-835.92859"
+       y="702.30865"
+       inkscape:export-filename="/home/m4tx/Pulpit/eheheh.png"
+       inkscape:export-xdpi="90.085777"
+       inkscape:export-ydpi="90.085777"
+       transform="scale(-1,1)" />
+    <g
+       id="g4815"
+       transform="matrix(-0.70710678,0.70710678,0.70710678,0.70710678,899.98717,-359.88339)"
+       inkscape:export-filename="/home/m4tx/Pulpit/eheheh.png"
+       inkscape:export-xdpi="90.085777"
+       inkscape:export-ydpi="90.085777">
+      <path
+         sodipodi:nodetypes="cccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4777"
+         d="m 796.90819,700.28317 3.70127,-3.70126 3.81174,3.81175 -0.0189,2.20336 -1.85234,0 0,3.8543 -3.80233,0 0,-3.97108 -1.8536,0 z"
+         style="fill:#0066ff;fill-opacity:1;stroke:none" />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path4779"
+         d="m 800.60946,698.00244 3.46986,3.43865 -2.5702,0 0,4.07436 -1.7362,0 0,-4.07436 -2.61754,-3.6e-4 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none" />
+    </g>
+  </g>
+</svg>
index b7b953a..cd2106d 100644 (file)
@@ -1 +1,128 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#e2e2e2"/><stop offset="1" stop-color="#f8f8f8"/></linearGradient><linearGradient><stop offset="0" stop-color="#e2e2e2"/><stop offset="1" stop-color="#e2e2e2"/></linearGradient><radialGradient xlink:href="#a" cx="-16.719" cy="3.344" fx="-16.719" fy="3.344" r="2" gradientTransform="matrix(1.407 0 0 2.143 6.798 -4.713)" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.407 0 0 2.143 6.798 -4.713)" cx="-16.719" cy="3.344" fx="-16.719" fy="3.344" r="2"/></defs><g><path d="M1.484.492v9.094h7.031v-6.844l-2.25-2.25h-4.781z" fill="#fff" stroke="#878787" stroke-width=".9" stroke-linecap="square"/><path d="M2.953 2.086v6.094h4v-5.281h-.844v-.813h-3.156z" fill="url(#b)"/><path d="M6.172.414v2.359h2.344" stroke="#878787" stroke-width=".9" fill="none"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg7339"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="Nowy dokument 30">
+  <defs
+     id="defs7341">
+    <linearGradient
+       id="linearGradient7918">
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="0"
+         id="stop7920" />
+      <stop
+         style="stop-color:#f8f8f8;stop-opacity:1;"
+         offset="1"
+         id="stop7922" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7902">
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="0"
+         id="stop7904" />
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1;"
+         offset="1"
+         id="stop7906" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7918"
+       id="radialGradient7924"
+       cx="-16.71875"
+       cy="3.344311"
+       fx="-16.71875"
+       fy="3.344311"
+       r="2"
+       gradientTransform="matrix(1.4065972,0,0,2.1428629,6.7977966,-4.7132748)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7918"
+       id="radialGradient7931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.4065972,0,0,2.1428629,6.7977966,-4.7132748)"
+       cx="-16.71875"
+       cy="3.344311"
+       fx="-16.71875"
+       fy="3.344311"
+       r="2" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="1.5361037"
+     inkscape:cy="9.1135498"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1014"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7344">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-783.57141,-687.36218)">
+    <g
+       id="g7926"
+       transform="translate(19.984375,0.08593751)">
+      <path
+         transform="translate(783.57141,687.36218)"
+         id="rect7358"
+         d="m -18.5,0.40625 0,9.09375 7.03125,0 0,-6.84375 -2.25,-2.25 -4.78125,0 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:#878787;stroke-width:0.89999998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="rect7896"
+         transform="translate(783.57141,687.36218)"
+         d="m -17.03125,2 0,6.09375 4,0 0,-5.28125 -0.84375,0 0,-0.8125 -3.15625,0 z"
+         style="fill:url(#radialGradient7931);fill-opacity:1;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         transform="translate(783.57141,687.36218)"
+         inkscape:connector-curvature="0"
+         id="path7894"
+         d="m -13.8125,0.32812497 0,2.35937503 2.34375,0"
+         style="fill:none;stroke:#878787;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+  </g>
+</svg>
index 907a1e5..1c40d4a 100644 (file)
@@ -1 +1,123 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#fff8bb"/><stop offset="1" stop-color="#e9d84d"/></linearGradient><radialGradient xlink:href="#a" cx="806.977" cy="720.043" fx="806.977" fy="720.043" r="4.572" gradientTransform="matrix(.662 0 0 1.135 273.096 -96.976)" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.662 0 0 1.135 273.096 -96.976)" cx="806.977" cy="720.043" fx="806.977" fy="720.043" r="4.572"/></defs><g transform="translate(-817.857 -715.934) translate(14.985 -.121)"><rect y="719.494" x="803.372" height="6.061" width="8.144" fill="url(#b)" stroke="#888a85" stroke-linejoin="round" stroke-miterlimit="2"/><path transform="matrix(.987 0 0 2.052 802.051 715.321)" d="M2.462 2.013c0-.785 1.329-1.421 2.967-1.421 1.639 0 2.967.636 2.967 1.421h-2.967z" stroke="#888a85" stroke-width=".68" stroke-miterlimit="2" fill="none"/><path d="M807.326 723.575v-1.126" stroke="#ac5f08" stroke-width="1.045" stroke-linecap="square" stroke-opacity=".691" fill="none"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg3813"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lock-icon.svg">
+  <defs
+     id="defs3815">
+    <linearGradient
+       id="linearGradient4348">
+      <stop
+         style="stop-color:#fff8bb;stop-opacity:1;"
+         offset="0"
+         id="stop4350" />
+      <stop
+         style="stop-color:#e9d84d;stop-opacity:1;"
+         offset="1"
+         id="stop4352" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4348"
+       id="radialGradient4354"
+       cx="806.97711"
+       cy="720.04266"
+       fx="806.97711"
+       fy="720.04266"
+       r="4.5721774"
+       gradientTransform="matrix(0.66177697,-3.2424834e-7,5.5632116e-7,1.1354276,273.09596,-96.976308)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4348"
+       id="radialGradient4394"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.66177697,-3.2424834e-7,5.5632116e-7,1.1354276,273.09596,-96.976308)"
+       cx="806.97711"
+       cy="720.04266"
+       fx="806.97711"
+       fy="720.04266"
+       r="4.5721774" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6568542"
+     inkscape:cx="-65.758796"
+     inkscape:cy="-20.849434"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3818">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-817.85712,-715.93359)">
+    <g
+       id="g4389"
+       transform="translate(14.984745,-0.12063576)">
+      <rect
+         y="719.4939"
+         x="803.37238"
+         height="6.0609155"
+         width="8.1443548"
+         id="rect3832"
+         style="fill:url(#radialGradient4394);fill-opacity:1;stroke:#888a85;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:end="6.2831853"
+         sodipodi:start="3.1415927"
+         transform="matrix(0.98668274,0,0,2.0515802,802.05109,715.32099)"
+         d="m 2.4622467,2.0134813 c 0,-0.7845354 1.3285159,-1.42052694 2.9673232,-1.4205269 1.6388072,3e-8 2.9673229,0.6359916 2.9673229,1.420527 l -2.9673231,0 z"
+         sodipodi:ry="1.420527"
+         sodipodi:rx="2.9673231"
+         sodipodi:cy="2.0134814"
+         sodipodi:cx="5.4295697"
+         id="path4346"
+         style="fill:none;stroke:#888a85;stroke-width:0.68014622;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none"
+         sodipodi:type="arc" />
+      <path
+         style="fill:none;stroke:#ac5f08;stroke-width:1.04513526px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.69072164"
+         d="m 807.32587,723.57494 0,-1.12645"
+         id="path4368"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
index 01ec42f..43b4ce8 100644 (file)
@@ -1 +1,138 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="b"><stop offset="0" stop-color="#d2d2d2"/><stop offset="1" stop-color="#f6f6f6" stop-opacity="0"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#888a85"/><stop offset="1" stop-color="#888a85" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" x1="847.072" y1="696.069" x2="847.072" y2="699.293" gradientUnits="userSpaceOnUse" gradientTransform="translate(14)"/><radialGradient xlink:href="#b" cx="861.142" cy="699.012" fx="861.142" fy="699.012" r="4.987" gradientTransform="matrix(1.182 0 0 1.186 -156.483 -109.777)" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#b" id="c" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.182 0 0 1.186 -156.483 -109.777)" cx="861.142" cy="699.012" fx="861.142" fy="699.012" r="4.987"/></defs><g><path d="M.498 4.758l4.513-4.277 4.491 4.256v4.782h-8.96z" fill="url(#c)" stroke="#888a85" stroke-width=".97" stroke-linejoin="round"/><path d="M2.044 4.92l2.964-2.809 2.949 2.795" fill="#a8a7a3"/><path d="M1.751 9.042l3.26-3.149 3.239 3.117-3.241-1.906z" fill="#888a85"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg4396"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="Nowy dokument 10">
+  <defs
+     id="defs4398">
+    <linearGradient
+       id="linearGradient4947">
+      <stop
+         style="stop-color:#d2d2d2;stop-opacity:1;"
+         offset="0"
+         id="stop4949" />
+      <stop
+         style="stop-color:#f6f6f6;stop-opacity:0;"
+         offset="1"
+         id="stop4951" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4927">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop4929" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop4931" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4927"
+       id="linearGradient4933"
+       x1="847.07153"
+       y1="696.06909"
+       x2="847.07153"
+       y2="699.29285"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(14,0)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4947"
+       id="radialGradient4953"
+       cx="861.14233"
+       cy="699.01233"
+       fx="861.14233"
+       fy="699.01233"
+       r="4.987131"
+       gradientTransform="matrix(1.1817158,0,0,1.1856764,-156.48316,-109.77743)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4947"
+       id="radialGradient4962"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1817158,0,0,1.1856764,-156.48316,-109.77743)"
+       cx="861.14233"
+       cy="699.01233"
+       fx="861.14233"
+       fy="699.01233"
+       r="4.987131" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="8"
+     inkscape:cx="17.964337"
+     inkscape:cy="-3.5009398"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1014"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4401">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-832.14288,-690.2193)">
+    <g
+       id="g4957"
+       transform="translate(-23.99948,-20.005085)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4415"
+         d="m 856.64003,714.98211 4.51344,-4.27677 4.49122,4.2557 0,4.78239 -8.96019,0 z"
+         style="fill:url(#radialGradient4962);fill-opacity:1;stroke:#888a85;stroke-width:0.96960205px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="ccc"
+         style="fill:#a8a7a3;fill-opacity:1;stroke:none"
+         d="m 858.18557,715.14414 2.96409,-2.80866 2.94949,2.79482"
+         id="path4937"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path4955"
+         d="m 857.89337,719.26617 3.26025,-3.14859 3.23877,3.11734 -3.24112,-1.90625 z"
+         style="fill:#888a85;fill-opacity:1;stroke:none" />
+    </g>
+  </g>
+</svg>
index d9aa615..b8f2102 100644 (file)
@@ -1 +1,220 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#ccc" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" x1="902.612" y1="696.328" x2="902.612" y2="694.043" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#a" gradientUnits="userSpaceOnUse" x1="902.612" y1="696.328" x2="902.612" y2="694.043"/><linearGradient xlink:href="#a" gradientUnits="userSpaceOnUse" x1="902.612" y1="696.328" x2="902.612" y2="694.043" gradientTransform="translate(-19.988 .003)"/><linearGradient xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="translate(-29.988 .003)" x1="902.612" y1="696.328" x2="902.612" y2="694.043"/><linearGradient xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="translate(-907.845 -687.359)" x1="902.612" y1="696.328" x2="902.612" y2="694.043"/><linearGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" gradientTransform="translate(-19.988 .003)" x1="902.612" y1="696.328" x2="902.612" y2="694.043"/></defs><g transform="translate(-877.857 -687.362)"><g style="line-height:125%" font-size="1.028" letter-spacing="0" word-spacing="0" font-family="Sans" font-weight="bold"><path d="M879.878 689.399h.193v.604h.339v.146h-.533v-.75" style="-inkscape-font-specification:Sans Bold"/><path d="M880.525 689.587h.18v.562h-.18v-.562m0-.219h.18v.147h-.18v-.147" style="-inkscape-font-specification:Sans Bold"/><path d="M881.059 690.068v.295h-.18v-.776h.18v.082l.082-.072.104-.024c.069 0 .126.028.171.083.044.055.067.126.067.212 0 .087-.022.158-.067.213-.044.055-.101.082-.171.082l-.104-.023-.082-.073m.12-.364l-.089.043-.031.122.031.123.089.042.088-.042.031-.123-.031-.123-.088-.042" style="-inkscape-font-specification:Sans Bold"/><path d="M882.055 689.604v.137l-.111-.036-.101-.012-.076.013-.025.039.019.033.068.017.032.005.186.058.048.126c0 .06-.022.105-.066.135-.044.03-.11.045-.198.045l-.116-.009-.122-.026v-.137l.11.039.115.013.079-.015.027-.043-.019-.036-.073-.019-.032-.004-.168-.056-.048-.124.061-.133.188-.043.104.008.119.024" style="-inkscape-font-specification:Sans Bold"/><path d="M882.223 689.93v-.344h.181v.056l-.001.115-.001.092.004.098.012.043.029.027.041.01.088-.043.032-.12v-.278h.18v.562h-.18v-.081l-.086.073-.1.023c-.065 0-.115-.02-.149-.06-.034-.04-.051-.098-.051-.174" style="-inkscape-font-specification:Sans Bold"/><path d="M883.483 689.68l.081-.079.103-.028c.065 0 .114.02.148.06.034.04.051.098.051.174v.343h-.181v-.293l.001-.014.001-.02-.018-.086-.057-.027-.079.042-.029.122v.276h-.181v-.293l-.016-.12-.057-.027-.08.043-.028.121v.277h-.181v-.562h.181v.082l.076-.072.095-.024.103.028.068.079" style="-inkscape-font-specification:Sans Bold"/></g><path d="M885.296 689.482l-.169.421h.339l-.17-.421m-.07-.113h.142l.352.845h-.13l-.084-.217h-.416l-.084.217h-.132l.352-.845" style="-inkscape-font-specification:Sans" font-size="1.212" letter-spacing="0" word-spacing="0" font-family="Sans"/><g style="line-height:125%" font-size="1" letter-spacing="0" word-spacing="0" font-family="Sans"><path d="M883.89 691.504h.133l.323.61v-.61h.096v.729h-.133l-.323-.61v.61h-.096v-.729"/><path d="M885.101 691.937v.044h-.413l.056.142.14.048.1-.013.097-.038v.085l-.099.031-.103.011c-.087 0-.156-.025-.208-.076-.051-.051-.076-.119-.076-.206 0-.089.024-.16.072-.213.049-.053.114-.079.196-.079.074 0 .132.024.174.071.043.047.065.111.065.193m-.09-.026l-.042-.118-.106-.044-.121.043-.052.12h.32"/><path d="M885.197 691.686h.09l.112.427.112-.427h.106l.112.427.112-.427h.09l-.143.547h-.106l-.118-.448-.118.448h-.106l-.143-.547"/></g><g style="line-height:125%" font-size="1" letter-spacing="0" word-spacing="0" font-family="Sans"><path d="M883.89 693.527h.133l.323.61v-.61h.096v.729h-.133l-.323-.61v.61h-.096v-.729"/><path d="M885.101 693.96v.044h-.413l.056.142.14.048.1-.013.097-.038v.085l-.099.031-.103.011c-.087 0-.156-.025-.208-.076-.051-.051-.076-.119-.076-.206 0-.089.024-.16.072-.213.049-.053.114-.079.196-.079.074 0 .132.024.174.071.043.047.065.111.065.193m-.09-.026l-.042-.118-.106-.044-.121.043-.052.12h.32"/><path d="M885.197 693.709h.09l.112.427.112-.427h.106l.112.427.112-.427h.09l-.143.547h-.106l-.118-.448-.118.448h-.106l-.143-.547"/></g><rect width="2.875" height="2.875" x="879.969" y="691.463" fill="#c0c1be" stroke="#000" stroke-width=".1" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="2"/><path d="M878.388 687.893v7.436999999999999c0 .831.669 1.5 1.5 1.5h5.936999999999999c.831 0 1.5-.669 1.5-1.5v-7.438h-8.938z" fill="url(#b)" stroke="#888a85"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg4983"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="news-icon.svg">
+  <defs
+     id="defs4985">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5528">
+      <stop
+         style="stop-color:#cccccc;stop-opacity:1;"
+         offset="0"
+         id="stop5530" />
+      <stop
+         style="stop-color:#cccccc;stop-opacity:0;"
+         offset="1"
+         id="stop5532" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient5534"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient5566"
+       gradientUnits="userSpaceOnUse"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient3048"
+       gradientUnits="userSpaceOnUse"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303"
+       gradientTransform="translate(-19.98763,0.00341)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient3799"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-29.98763,0.00341)"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient3821"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-907.84475,-687.35877)"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5528"
+       id="linearGradient3824"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-19.98763,0.00341)"
+       x1="902.61218"
+       y1="696.32751"
+       x2="902.61218"
+       y2="694.04303" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="45.254834"
+     inkscape:cx="0.50343757"
+     inkscape:cy="4.9811997"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4988">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-877.85712,-687.36218)">
+    <g
+       style="font-size:41.13991928px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       id="text5536">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 879.87841,689.39933 0.19335,0 0,0.60364 0.33948,0 0,0.14614 -0.53283,0 0,-0.74978"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3051" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 880.52524,689.58665 0.17978,0 0,0.56246 -0.17978,0 0,-0.56246 m 0,-0.21896 0.17978,0 0,0.14664 -0.17978,0 0,-0.14664"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3053" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 881.05857,690.06775 0,0.29529 -0.17979,0 0,-0.77639 0.17979,0 0,0.0824 c 0.0248,-0.0328 0.0522,-0.0569 0.0824,-0.0723 0.0301,-0.0157 0.0648,-0.0236 0.10396,-0.0236 0.0693,0 0.12621,0.0276 0.17074,0.0829 0.0445,0.0549 0.0668,0.12572 0.0668,0.21243 0,0.0867 -0.0223,0.15769 -0.0668,0.21293 -0.0445,0.0549 -0.10144,0.0824 -0.17074,0.0824 -0.0392,0 -0.0738,-0.008 -0.10396,-0.0231 -0.0301,-0.0157 -0.0576,-0.04 -0.0824,-0.0728 m 0.11952,-0.36409 c -0.0385,0 -0.0681,0.0142 -0.0889,0.0427 -0.0204,0.0281 -0.0306,0.0688 -0.0306,0.12203 0,0.0532 0.0102,0.0941 0.0306,0.12254 0.0208,0.0281 0.0504,0.0422 0.0889,0.0422 0.0385,0 0.0678,-0.0141 0.0879,-0.0422 0.0204,-0.0281 0.0306,-0.069 0.0306,-0.12254 0,-0.0536 -0.0102,-0.0944 -0.0306,-0.12253 -0.0201,-0.0281 -0.0494,-0.0422 -0.0879,-0.0422"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3055" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 882.05543,689.60423 0,0.13659 c -0.0385,-0.0161 -0.0757,-0.0281 -0.11149,-0.0362 -0.0358,-0.008 -0.0696,-0.0121 -0.10144,-0.0121 -0.0341,0 -0.0596,0.004 -0.0763,0.0131 -0.0164,0.008 -0.0246,0.0214 -0.0246,0.0392 0,0.0144 0.006,0.0255 0.0186,0.0332 0.0127,0.008 0.0353,0.0134 0.0678,0.0171 l 0.0316,0.005 c 0.0921,0.0117 0.15401,0.031 0.18582,0.0578 0.0318,0.0268 0.0477,0.0688 0.0477,0.12605 -10e-6,0.0599 -0.0221,0.10496 -0.0663,0.13509 -0.0442,0.0301 -0.11015,0.0452 -0.19787,0.0452 -0.0372,0 -0.0757,-0.003 -0.11551,-0.009 -0.0395,-0.006 -0.0802,-0.0144 -0.12203,-0.0261 l 0,-0.1366 c 0.0358,0.0174 0.0725,0.0305 0.10998,0.0392 0.0378,0.009 0.0762,0.0131 0.115,0.0131 0.0352,0 0.0616,-0.005 0.0793,-0.0146 0.0178,-0.01 0.0266,-0.0241 0.0266,-0.0432 0,-0.0161 -0.006,-0.028 -0.0186,-0.0357 -0.0121,-0.008 -0.0363,-0.0142 -0.0728,-0.0186 l -0.0316,-0.004 c -0.08,-0.01 -0.1361,-0.0286 -0.16824,-0.0557 -0.0321,-0.0271 -0.0482,-0.0683 -0.0482,-0.12354 0,-0.0596 0.0204,-0.10379 0.0613,-0.13258 0.0408,-0.0288 0.10345,-0.0432 0.18782,-0.0432 0.0331,0 0.068,0.003 0.10446,0.008 0.0365,0.005 0.0762,0.0129 0.11902,0.0236"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3057" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 882.22266,689.93015 0,-0.3435 0.18079,0 0,0.0563 c 0,0.0305 -1.7e-4,0.0688 -5e-4,0.115 -3.3e-4,0.0459 -5e-4,0.0765 -5e-4,0.0919 0,0.0452 10e-4,0.0778 0.004,0.0979 0.002,0.0198 0.006,0.0342 0.0121,0.0432 0.007,0.0117 0.0169,0.0208 0.0286,0.0271 0.0121,0.006 0.0258,0.01 0.0412,0.01 0.0375,0 0.067,-0.0144 0.0884,-0.0432 0.0214,-0.0288 0.0321,-0.0688 0.0321,-0.12003 l 0,-0.27771 0.17978,0 0,0.56246 -0.17978,0 0,-0.0814 c -0.0271,0.0328 -0.0559,0.0571 -0.0864,0.0728 -0.0301,0.0154 -0.0634,0.0231 -0.0999,0.0231 -0.0649,0 -0.1145,-0.0199 -0.14865,-0.0598 -0.0338,-0.0398 -0.0507,-0.0978 -0.0507,-0.17376"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3059" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 883.48317,689.68006 c 0.0228,-0.0348 0.0497,-0.0613 0.0809,-0.0793 0.0315,-0.0184 0.066,-0.0276 0.10345,-0.0276 0.0646,0 0.11383,0.0199 0.14765,0.0598 0.0338,0.0398 0.0507,0.0978 0.0507,0.17376 l 0,0.3425 -0.18079,0 0,-0.29328 c 3.3e-4,-0.004 5e-4,-0.009 5e-4,-0.0136 3.3e-4,-0.005 5e-4,-0.0114 5e-4,-0.0201 0,-0.0398 -0.006,-0.0686 -0.0176,-0.0864 -0.0117,-0.0181 -0.0306,-0.0271 -0.0567,-0.0271 -0.0342,0 -0.0606,0.0141 -0.0794,0.0422 -0.0184,0.0281 -0.028,0.0688 -0.0286,0.12203 l 0,0.27621 -0.18079,0 0,-0.29328 c 0,-0.0623 -0.005,-0.10228 -0.0161,-0.12003 -0.0107,-0.0181 -0.0298,-0.0271 -0.0573,-0.0271 -0.0345,0 -0.0611,0.0142 -0.0798,0.0427 -0.0187,0.0281 -0.0281,0.0685 -0.0281,0.12103 l 0,0.27671 -0.18079,0 0,-0.56246 0.18079,0 0,0.0824 c 0.0221,-0.0318 0.0474,-0.0557 0.0758,-0.0718 0.0288,-0.0161 0.0604,-0.0241 0.0949,-0.0241 0.0388,0 0.0732,0.009 0.10295,0.0281 0.0298,0.0187 0.0524,0.045 0.0678,0.0788"
+         style="font-size:1.02849805px;font-weight:bold;-inkscape-font-specification:Sans Bold"
+         id="path3061" />
+    </g>
+    <g
+       transform="scale(1.0447384,0.95717741)"
+       style="font-size:48.46436691px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       id="text5540">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 847.3858,720.32852 -0.1621,0.43956 0.3248,0 -0.1627,-0.43956 m -0.0674,-0.11773 0.13548,0 0.33662,0.88327 -0.12423,0 -0.0805,-0.22659 -0.39815,0 -0.0805,0.22659 -0.12601,0 0.33721,-0.88327"
+         style="font-size:1.21160913px;-inkscape-font-specification:Sans"
+         id="path3064" />
+    </g>
+    <g
+       style="font-size:1px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       id="text5544">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 883.88953,691.50378 0.13281,0 0.32324,0.60987 0,-0.60987 0.0957,0 0,0.72901 -0.13281,0 -0.32324,-0.60987 0,0.60987 -0.0957,0 0,-0.72901"
+         id="path3067" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 885.10144,691.93689 0,0.0439 -0.41309,0 c 0.004,0.0619 0.0225,0.10905 0.0557,0.14161 0.0335,0.0322 0.0801,0.0483 0.13965,0.0483 0.0345,0 0.0679,-0.004 0.10009,-0.0127 0.0326,-0.008 0.0648,-0.0212 0.0967,-0.0381 l 0,0.085 c -0.0322,0.0137 -0.0653,0.0241 -0.0991,0.0312 -0.0339,0.007 -0.0682,0.0107 -0.10302,0.0107 -0.0872,0 -0.15642,-0.0254 -0.20752,-0.0762 -0.0508,-0.0508 -0.0762,-0.11947 -0.0762,-0.20606 0,-0.0895 0.0241,-0.16048 0.0723,-0.21289 0.0485,-0.0527 0.11377,-0.0791 0.1958,-0.0791 0.0736,0 0.13167,0.0238 0.17432,0.0713 0.043,0.0472 0.0645,0.11149 0.0645,0.19287 m -0.0898,-0.0264 c -6.5e-4,-0.0492 -0.0145,-0.0884 -0.0415,-0.11767 -0.0267,-0.0293 -0.0622,-0.0439 -0.10644,-0.0439 -0.0501,0 -0.0903,0.0142 -0.12061,0.0425 -0.0299,0.0283 -0.0472,0.0682 -0.0518,0.11963 l 0.32032,-4.9e-4"
+         id="path3069" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 885.19666,691.68591 0.0898,0 0.1123,0.42676 0.11182,-0.42676 0.10596,0 0.1123,0.42676 0.11182,-0.42676 0.0898,0 -0.14306,0.54688 -0.10596,0 -0.11768,-0.44824 -0.11816,0.44824 -0.10596,0 -0.14306,-0.54688"
+         id="path3071" />
+    </g>
+    <g
+       style="font-size:1px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       id="text5548">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 883.88953,693.52722 0.13281,0 0.32324,0.60986 0,-0.60986 0.0957,0 0,0.72901 -0.13281,0 -0.32324,-0.60987 0,0.60987 -0.0957,0 0,-0.72901"
+         id="path3074" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 885.10144,693.96033 0,0.0439 -0.41309,0 c 0.004,0.0618 0.0225,0.10905 0.0557,0.1416 0.0335,0.0322 0.0801,0.0483 0.13965,0.0483 0.0345,0 0.0679,-0.004 0.10009,-0.0127 0.0326,-0.008 0.0648,-0.0212 0.0967,-0.0381 l 0,0.085 c -0.0322,0.0137 -0.0653,0.0241 -0.0991,0.0312 -0.0339,0.007 -0.0682,0.0108 -0.10302,0.0108 -0.0872,0 -0.15642,-0.0254 -0.20752,-0.0762 -0.0508,-0.0508 -0.0762,-0.11946 -0.0762,-0.20605 0,-0.0895 0.0241,-0.16048 0.0723,-0.21289 0.0485,-0.0527 0.11377,-0.0791 0.1958,-0.0791 0.0736,0 0.13167,0.0238 0.17432,0.0713 0.043,0.0472 0.0645,0.11149 0.0645,0.19287 m -0.0898,-0.0264 c -6.5e-4,-0.0491 -0.0145,-0.0884 -0.0415,-0.11768 -0.0267,-0.0293 -0.0622,-0.0439 -0.10644,-0.0439 -0.0501,0 -0.0903,0.0142 -0.12061,0.0425 -0.0299,0.0283 -0.0472,0.0682 -0.0518,0.11963 l 0.32032,-4.9e-4"
+         id="path3076" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 885.19666,693.70935 0.0898,0 0.1123,0.42676 0.11182,-0.42676 0.10596,0 0.1123,0.42676 0.11182,-0.42676 0.0898,0 -0.14306,0.54688 -0.10596,0 -0.11768,-0.44825 -0.11816,0.44825 -0.10596,0 -0.14306,-0.54688"
+         id="path3078" />
+    </g>
+    <rect
+       style="fill:#c0c1be;fill-opacity:1;stroke:#000000;stroke-width:0.10008001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none"
+       id="rect5552"
+       width="2.8749001"
+       height="2.8749392"
+       x="879.96875"
+       y="691.46332" />
+    <path
+       style="fill:url(#linearGradient3824);fill-opacity:1;stroke:#888a85;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 878.38837,687.89343 0,7.40625 c -2.1e-4,0.0102 0,0.021 0,0.0312 0,0.8311 0.6689,1.5 1.5,1.5 l 5.90625,0 c 0.0102,2.1e-4 0.021,0 0.0312,0 0.8311,0 1.5,-0.6689 1.5,-1.5 0,-0.0206 8.2e-4,-0.0421 0,-0.0625 l 0,-7.375 -8.9375,0 z"
+       id="path3797"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
index 5808387..f37517d 100644 (file)
@@ -1 +1,113 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#e9e9e9"/><stop offset="1" stop-color="#e9e9e9" stop-opacity="0"/></linearGradient><radialGradient xlink:href="#a" cx="755.806" cy="683.849" fx="755.806" fy="683.849" r="2.656" gradientTransform="matrix(2.49 0 0 2.523 -1126.003 -1041.542)" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.49 0 0 2.523 -1126.003 -1041.542)" cx="755.806" cy="683.849" fx="755.806" fy="683.849" r="2.656"/></defs><g><path transform="matrix(1.021 0 0 .971 11.015 -.069)" d="M-8.625.438c-.485 0-.875.39-.875.875v4.375c0 .485.39.875.875.875h.125v2.674l3.451-2.674h2.517c.485 0 .875-.39.875-.875v-4.375c0-.485-.39-.875-.875-.875z" fill="#fff" stroke="#888a85" stroke-width=".989" stroke-linecap="square" stroke-miterlimit="9.8"/><path d="M3.243 1.55c-.336 0-.605.232-.605.52v2.599c0 .288.27.52.605.52h.086v1.589l2.387-1.589h1.741c.336 0 .605-.232.605-.52v-2.599c0-.288-.27-.52-.605-.52z" fill="url(#b)"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg5587"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="talk-icon.svg">
+  <defs
+     id="defs5589">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6134">
+      <stop
+         style="stop-color:#e9e9e9;stop-opacity:1;"
+         offset="0"
+         id="stop6136" />
+      <stop
+         style="stop-color:#e9e9e9;stop-opacity:0;"
+         offset="1"
+         id="stop6138" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6134"
+       id="radialGradient6140"
+       cx="755.80591"
+       cy="683.84875"
+       fx="755.80591"
+       fy="683.84875"
+       r="2.656485"
+       gradientTransform="matrix(2.4898047,0,0,2.5230165,-1126.0032,-1041.5417)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6134"
+       id="radialGradient6146"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4898047,0,0,2.5230165,-1126.0032,-1041.5417)"
+       cx="755.80591"
+       cy="683.84875"
+       fx="755.80591"
+       fy="683.84875"
+       r="2.656485" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="45.254834"
+     inkscape:cx="8.6391885"
+     inkscape:cy="3.9760181"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5592">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-763.57141,-681.64789)">
+    <g
+       id="g6142"
+       transform="matrix(1.0212411,0,0,0.97119998,-5.0201418,19.699049)">
+      <path
+         sodipodi:nodetypes="sssscccsssss"
+         inkscape:connector-curvature="0"
+         id="rect5606"
+         transform="translate(763.57141,681.64789)"
+         d="m -8.625,0.4375 c -0.4851513,0 -0.875,0.38984873 -0.875,0.875 l 0,4.375 c 0,0.4851513 0.3898487,0.875 0.875,0.875 l 0.125,0 0,2.6739053 3.4513641,-2.6739053 2.5173859,0 c 0.4851513,0 0.875,-0.3898487 0.875,-0.875 l 0,-4.375 c 0,-0.48515127 -0.3898487,-0.875 -0.875,-0.875 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:#888a85;stroke-width:0.98900002;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:9.80000019;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="fill:url(#radialGradient6146);fill-opacity:1;stroke:none"
+         d="m 755.96029,683.3154 c -0.32861,0 -0.59267,0.23853 -0.59267,0.53539 l 0,2.67695 c 0,0.29685 0.26406,0.53539 0.59267,0.53539 l 0.0847,0 0,1.63611 2.33776,-1.63611 1.70516,0 c 0.32862,0 0.59268,-0.23854 0.59268,-0.53539 l 0,-2.67695 c 0,-0.29686 -0.26406,-0.53539 -0.59268,-0.53539 z"
+         id="path6124"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssscccsssss" />
+    </g>
+  </g>
+</svg>
index 0ecd63e..767d510 100644 (file)
@@ -1 +1,424 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="13.837"><defs><linearGradient id="g"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="f"><stop offset="0" stop-color="#727e0a"/><stop offset="1" stop-color="#5b6508"/></linearGradient><linearGradient id="e"><stop offset="0" stop-color="#e9b15e"/><stop offset="1" stop-color="#966416"/></linearGradient><linearGradient id="d"><stop offset="0" stop-color="#3b74bc"/><stop offset="1" stop-color="#2d5990"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#c9c9c9"/></linearGradient><linearGradient id="b"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#f4d9b1"/><stop offset="1" stop-color="#df9725"/></linearGradient><radialGradient cx="29.345" cy="17.064" r="9.162" fx="29.345" fy="17.064" xlink:href="#a" gradientUnits="userSpaceOnUse"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" xlink:href="#b" gradientUnits="userSpaceOnUse"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" xlink:href="#c" gradientUnits="userSpaceOnUse"/><radialGradient cx="28.09" cy="27.203" r="13.565" fx="28.09" fy="27.203" xlink:href="#d" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.298 0 0 .885 -8.359 4.94)"/><radialGradient cx="29.345" cy="17.064" r="9.162" fx="29.345" fy="17.064" xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.788 0 0 .788 6.221 3.618)"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" xlink:href="#c" gradientUnits="userSpaceOnUse" gradientTransform="translate(.707)"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" xlink:href="#b" gradientUnits="userSpaceOnUse"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" xlink:href="#c" gradientUnits="userSpaceOnUse" gradientTransform="translate(-12.418 -7)"/><radialGradient cx="29.345" cy="17.064" r="9.162" fx="29.345" fy="17.064" xlink:href="#e" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.788 0 0 .788 6.221 3.618)"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" xlink:href="#b" gradientUnits="userSpaceOnUse"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" xlink:href="#c" gradientUnits="userSpaceOnUse" gradientTransform="translate(-13.125 -7)"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" xlink:href="#b" gradientUnits="userSpaceOnUse"/><radialGradient cx="16.215" cy="19.836" r="13.565" fx="16.215" fy="19.836" xlink:href="#f" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1 0 0 .682 0 8.234)"/><linearGradient x1="20.662" y1="35.818" x2="22.627" y2="36.218" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.983 .182 -.182 .983 6.232 -2.651)"/><linearGradient x1="22.687" y1="36.39" x2="21.408" y2="35.74" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-.978 .21 .21 .978 55.11 -3.945)"/><linearGradient x1="20.662" y1="35.818" x2="22.627" y2="36.218" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.983 .182 -.182 .983 -7.072 -9.825)"/><linearGradient x1="22.687" y1="36.39" x2="21.408" y2="35.74" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-.978 .21 .21 .978 41.806 -11.119)"/><linearGradient x1="22.687" y1="36.39" x2="21.408" y2="35.74" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-.978 .21 .21 .978 41.806 -11.119)"/><linearGradient x1="20.662" y1="35.818" x2="22.627" y2="36.218" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.983 .182 -.182 .983 -7.072 -9.825)"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" xlink:href="#c" gradientUnits="userSpaceOnUse" gradientTransform="translate(-12.418 -7)"/><radialGradient cx="16.215" cy="19.836" r="13.565" fx="16.215" fy="19.836" xlink:href="#f" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1 0 0 .682 0 8.234)"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" id="h" xlink:href="#b" gradientUnits="userSpaceOnUse"/><radialGradient cx="28.09" cy="27.203" r="13.565" fx="28.09" fy="27.203" id="i" xlink:href="#d" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.298 0 0 .885 -8.359 4.94)"/><linearGradient x1="30.936" y1="29.553" x2="30.936" y2="35.803" id="j" xlink:href="#c" gradientUnits="userSpaceOnUse"/><radialGradient cx="31.113" cy="19.009" r="8.662" fx="31.113" fy="19.009" id="k" xlink:href="#b" gradientUnits="userSpaceOnUse"/><radialGradient cx="29.345" cy="17.064" r="9.162" fx="29.345" fy="17.064" id="l" xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.788 0 0 .788 6.221 3.618)"/><linearGradient x1="20.662" y1="35.818" x2="22.627" y2="36.218" id="m" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.983 .182 -.182 .983 6.232 -2.651)"/><linearGradient x1="22.687" y1="36.39" x2="21.408" y2="35.74" id="n" xlink:href="#g" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-.978 .21 .21 .978 55.11 -3.945)"/></defs><g color="#000"><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.693 0 0 .374 -15.548 3.481)" fill="url(#h)" fill-rule="evenodd" overflow="visible"/><path d="M4.046 12.398h4.137c1.172 0 2.332-.43 2.758-1.655.404-1.163.069-3.378-2.551-5.171h-4.895c-2.62 1.655-2.947 3.917-2.344 5.24.614 1.347 1.655 1.586 2.896 1.586z" fill="url(#i)" fill-rule="evenodd" stroke="#204a87" stroke-linecap="round" stroke-linejoin="round" overflow="visible" stroke-width="0.39"/><path d="M4.321 6.193c1.241 1.103 1.793 5.102 1.793 5.102s.552-3.999 1.517-5.171l-3.309.069z" fill="url(#j)" fill-rule="evenodd" overflow="visible"/><path d="M5.21 6.607s-.839.648-.767 1.428c-.796-.702-.819-2.048-.819-2.048l1.586.62z" fill="#729fcf" fill-rule="evenodd" overflow="visible"/><path d="M4.018 11.992l4.092-.009c1.029 0 2.049-.377 2.422-1.453.355-1.022-.037-2.967-2.338-4.542l-4.495-.095c-2.301 1.453-2.747 3.441-2.208 4.697.538 1.256 1.324 1.393 2.526 1.401z" opacity=".215" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" overflow="visible" fill="none" stroke-width="0.39"/><path d="M6.941 6.607s.839.648.767 1.428c.796-.702.819-2.048.819-2.048l-1.586.62z" fill="#729fcf" fill-rule="evenodd" overflow="visible"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.39 0 0 .39 -6.138 -2.475)" fill="url(#k)" fill-rule="evenodd" overflow="visible"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" fill="url(#l)" fill-rule="evenodd" stroke="#c17d11" stroke-linecap="round" stroke-linejoin="round" overflow="visible" transform="matrix(.39 0 0 .39 -6.089 -3.84)"/><path d="M39.775 19.009a8.662 8.662 0 1 1-17.324 0 8.662 8.662 0 1 1 17.324 0z" transform="matrix(.342 0 0 .342 -4.598 -2.929)" opacity=".196" stroke="#fff" stroke-width="1.14" stroke-linecap="round" stroke-linejoin="round" overflow="visible" fill="none"/><path d="M2.433 12.062c-.487-.213-.704-.725-.704-.725.328-1.587 1.451-2.748 1.451-2.748s-.889 2.5-.746 3.473z" opacity=".228" fill="url(#m)" fill-rule="evenodd" overflow="visible"/><path d="M9.806 11.728c.48-.227.704-.781.704-.781-.374-1.577-1.551-2.669-1.551-2.669s.961 2.474.847 3.45z" opacity=".228" fill="url(#n)" fill-rule="evenodd" overflow="visible"/></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.1"
+   width="12"
+   height="13.837458"
+   id="svg2108">
+  <metadata
+     id="metadata68">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3">
+    <linearGradient
+       id="linearGradient4356">
+      <stop
+         id="stop4358"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4360"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4344">
+      <stop
+         id="stop4346"
+         style="stop-color:#727e0a;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4348"
+         style="stop-color:#5b6508;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4338">
+      <stop
+         id="stop4340"
+         style="stop-color:#e9b15e;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4342"
+         style="stop-color:#966416;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4163">
+      <stop
+         id="stop4165"
+         style="stop-color:#3b74bc;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4167"
+         style="stop-color:#2d5990;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         id="stop3826"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3828"
+         style="stop-color:#c9c9c9;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3816">
+      <stop
+         id="stop3818"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3820"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3800">
+      <stop
+         id="stop3802"
+         style="stop-color:#f4d9b1;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3804"
+         style="stop-color:#df9725;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="29.344931"
+       cy="17.064077"
+       r="9.1620579"
+       fx="29.344931"
+       fy="17.064077"
+       id="radialGradient3806"
+       xlink:href="#linearGradient3800"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient3822"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient3830"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="28.089741"
+       cy="27.203083"
+       r="13.56536"
+       fx="28.089741"
+       fy="27.203083"
+       id="radialGradient4169"
+       xlink:href="#linearGradient4163"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297564,0,0,0.884831,-8.358505,4.940469)" />
+    <radialGradient
+       cx="29.344931"
+       cy="17.064077"
+       r="9.1620579"
+       fx="29.344931"
+       fy="17.064077"
+       id="radialGradient4171"
+       xlink:href="#linearGradient3800"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.787998,0,0,0.787998,6.221198,3.617627)" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient4175"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.707108,0)" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient4179"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient4326"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-12.41789,-7)" />
+    <radialGradient
+       cx="29.344931"
+       cy="17.064077"
+       r="9.1620579"
+       fx="29.344931"
+       fy="17.064077"
+       id="radialGradient4328"
+       xlink:href="#linearGradient4338"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.787998,0,0,0.787998,6.221198,3.617627)" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient4330"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient4332"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-13.125,-7)" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient4336"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="16.214741"
+       cy="19.836468"
+       r="13.56536"
+       fx="16.214741"
+       fy="19.836468"
+       id="radialGradient4350"
+       xlink:href="#linearGradient4344"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.681917,0,8.233773)" />
+    <linearGradient
+       x1="20.661695"
+       y1="35.817974"
+       x2="22.626925"
+       y2="36.217758"
+       id="linearGradient4362"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" />
+    <linearGradient
+       x1="22.686766"
+       y1="36.3904"
+       x2="21.408455"
+       y2="35.739632"
+       id="linearGradient4366"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.1096,-3.945209)" />
+    <linearGradient
+       x1="20.661695"
+       y1="35.817974"
+       x2="22.626925"
+       y2="36.217758"
+       id="linearGradient4372"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.07212,-9.82492)" />
+    <linearGradient
+       x1="22.686766"
+       y1="36.3904"
+       x2="21.408455"
+       y2="35.739632"
+       id="linearGradient4374"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" />
+    <linearGradient
+       x1="22.686766"
+       y1="36.3904"
+       x2="21.408455"
+       y2="35.739632"
+       id="linearGradient1366"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" />
+    <linearGradient
+       x1="20.661695"
+       y1="35.817974"
+       x2="22.626925"
+       y2="36.217758"
+       id="linearGradient1369"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.07212,-9.82492)" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient1372"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-12.41789,-7)" />
+    <radialGradient
+       cx="16.214741"
+       cy="19.836468"
+       r="13.56536"
+       fx="16.214741"
+       fy="19.836468"
+       id="radialGradient1381"
+       xlink:href="#linearGradient4344"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.681917,0,8.233773)" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient2243"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="28.089741"
+       cy="27.203083"
+       r="13.56536"
+       fx="28.089741"
+       fy="27.203083"
+       id="radialGradient2245"
+       xlink:href="#linearGradient4163"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297564,0,0,0.884831,-8.358505,4.940469)" />
+    <linearGradient
+       x1="30.935921"
+       y1="29.553486"
+       x2="30.935921"
+       y2="35.803486"
+       id="linearGradient2247"
+       xlink:href="#linearGradient3824"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="31.112698"
+       cy="19.008621"
+       r="8.6620579"
+       fx="31.112698"
+       fy="19.008621"
+       id="radialGradient2249"
+       xlink:href="#linearGradient3816"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="29.344931"
+       cy="17.064077"
+       r="9.1620579"
+       fx="29.344931"
+       fy="17.064077"
+       id="radialGradient2251"
+       xlink:href="#linearGradient3800"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.787998,0,0,0.787998,6.221198,3.617627)" />
+    <linearGradient
+       x1="20.661695"
+       y1="35.817974"
+       x2="22.626925"
+       y2="36.217758"
+       id="linearGradient2253"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" />
+    <linearGradient
+       x1="22.686766"
+       y1="36.3904"
+       x2="21.408455"
+       y2="35.739632"
+       id="linearGradient2255"
+       xlink:href="#linearGradient4356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.1096,-3.945209)" />
+  </defs>
+  <g
+     transform="translate(-5.0000039,-32.070112)"
+     id="layer1"
+     style="display:inline" />
+  <g
+     transform="translate(-5.0000039,-32.070112)"
+     id="layer2"
+     style="display:inline">
+    <g
+       transform="matrix(0.39012793,0,0,0.39012793,-1.0891578,28.22979)"
+       id="g2230">
+      <path
+         d="m 39.774755,19.008621 a 8.6620579,8.6620579 0 1 1 -17.324115,0 8.6620579,8.6620579 0 1 1 17.324115,0 z"
+         transform="matrix(1.77551,0,0,0.959183,-24.25322,18.77153)"
+         id="path4306"
+         style="color:#000000;fill:url(#radialGradient2243);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 25.986174,41.636039 10.606602,0 c 3.005204,0 5.980484,-1.101932 7.071067,-4.242641 1.035639,-2.982476 0.176777,-8.662058 -6.540737,-13.258252 l -12.551146,0 c -6.717514,4.24264 -7.556991,10.044831 -6.010407,13.435028 1.575595,3.45379 4.24264,4.065865 7.424621,4.065865 z"
+         id="path4308"
+         style="color:#000000;fill:url(#radialGradient2245);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 26.693281,25.726136 c 3.18198,2.828427 4.596194,13.081476 4.596194,13.081476 0,0 1.414213,-10.253048 3.889087,-13.258252 l -8.485281,0.176776 z"
+         id="path4310"
+         style="color:#000000;fill:url(#linearGradient2247);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 28.972721,26.786797 c 0,0 -2.151323,1.660335 -1.965991,3.660533 -2.041226,-1.800794 -2.099873,-5.251524 -2.099873,-5.251524 l 4.065864,1.590991 z"
+         id="path4312"
+         style="color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 25.914862,40.593933 10.493447,-0.0221 c 2.639723,0 5.253161,-0.967919 6.211112,-3.726667 0.909689,-2.61976 -0.09472,-7.608614 -5.995279,-11.645837 L 25.099417,24.956264 c -5.900557,3.726667 -7.04262,8.823219 -5.662029,12.044182 1.380592,3.220963 3.395211,3.57139 6.477474,3.593487 z"
+         id="path4314"
+         style="opacity:0.21518986;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.99999976px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 33.410795,26.786797 c 0,0 2.151323,1.660335 1.965991,3.660533 2.041226,-1.800794 2.099873,-5.251524 2.099873,-5.251524 l -4.065864,1.590991 z"
+         id="path4316"
+         style="color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 39.774755,19.008621 a 8.6620579,8.6620579 0 1 1 -17.324115,0 8.6620579,8.6620579 0 1 1 17.324115,0 z"
+         transform="translate(-0.125,3.5)"
+         id="path4318"
+         style="color:#000000;fill:url(#radialGradient2249);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 39.774755,19.008621 a 8.6620579,8.6620579 0 1 1 -17.324115,0 8.6620579,8.6620579 0 1 1 17.324115,0 z"
+         id="path4320"
+         style="color:#000000;fill:url(#radialGradient2251);fill-opacity:1;fill-rule:evenodd;stroke:#c17d11;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 39.774755,19.008621 a 8.6620579,8.6620579 0 1 1 -17.324115,0 8.6620579,8.6620579 0 1 1 17.324115,0 z"
+         transform="matrix(0.877095,0,0,0.877095,3.823927,2.336267)"
+         id="path4322"
+         style="opacity:0.19620254;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.14012825px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 21.85179,40.775197 c -1.247607,-0.544969 -1.805994,-1.858277 -1.805994,-1.858277 0.841281,-4.069136 3.719925,-7.046216 3.719925,-7.046216 0,0 -2.279321,6.411514 -1.913931,8.904493 z"
+         id="path4354"
+         style="opacity:0.22784807;color:#000000;fill:url(#linearGradient2253);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+      <path
+         d="m 40.757497,39.916846 c 1.231251,-0.580978 1.80438,-2.002321 1.80438,-2.002321 -0.95912,-4.042983 -3.976149,-6.842821 -3.976149,-6.842821 0,0 2.464593,6.342602 2.171769,8.845142 z"
+         id="path4364"
+         style="opacity:0.22784807;color:#000000;fill:url(#linearGradient2255);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible" />
+    </g>
+  </g>
+</svg>
index 3bc28eb..d5e44b6 100644 (file)
@@ -1 +1,162 @@
-<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10"><defs><linearGradient id="a"><stop offset="0" stop-color="#ccc"/><stop offset="1" stop-color="#dfdfdf"/></linearGradient><radialGradient xlink:href="#a" cx="5.003" cy="4.965" fx="5.003" fy="4.965" r="5" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" cx="5.003" cy="4.965" fx="5.003" fy="4.965" r="5"/></defs><g><path d="M8.116 9.404l-.619-.928s.177.928.928 1.016c.751.088 1.193.088 1.193.088" stroke="#5f6060" stroke-width=".9" fill="none"/><path d="M9.518 4.965a4.514 4.514 0 1 1-9.028 0 4.514 4.514 0 1 1 9.028 0z" transform="translate(-903.571 -715.934) translate(903.464 715.902)" fill="url(#b)" stroke="#848484" stroke-width=".9" stroke-linecap="square" stroke-miterlimit="9.8"/><g fill="#818181"><path d="M4.777 2.577c.087.432-.193.852-.625.938-.432.087-.852-.193-.938-.625-.087-.432.193-.852.625-.938.432-.087.852.193.938.625z"/><path d="M3.196 4.676c.087.432-.193.852-.625.938-.432.087-.852-.193-.938-.625-.087-.432.193-.852.625-.938.432-.087.852.193.938.625z"/><path d="M7.35 3.113c.087.432-.193.852-.625.938-.432.087-.852-.193-.938-.625-.087-.432.193-.852.625-.938.432-.087.852.193.938.625z"/><path d="M4.926 6.654c.087.432-.193.852-.625.938-.432.087-.852-.193-.938-.625-.087-.432.193-.852.625-.938.432-.087.852.193.938.625z"/><path d="M7.391 5.741c.087.432-.193.852-.625.938-.432.087-.852-.193-.938-.625-.087-.432.193-.852.625-.938.432-.087.852.193.938.625z"/></g></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="10"
+   height="10"
+   id="svg6734"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="video-icon.svg">
+  <defs
+     id="defs6736">
+    <linearGradient
+       id="linearGradient7265">
+      <stop
+         style="stop-color:#cccccc;stop-opacity:1;"
+         offset="0"
+         id="stop7267" />
+      <stop
+         style="stop-color:#dfdfdf;stop-opacity:1;"
+         offset="1"
+         id="stop7269" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7265"
+       id="radialGradient7271"
+       cx="5.0034118"
+       cy="4.9650207"
+       fx="5.0034118"
+       fy="4.9650207"
+       r="4.9996192"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7265"
+       id="radialGradient7327"
+       gradientUnits="userSpaceOnUse"
+       cx="5.0034118"
+       cy="4.9650207"
+       fx="5.0034118"
+       fy="4.9650207"
+       r="4.9996192" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="4.0209944"
+     inkscape:cy="7.104383"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1920"
+     inkscape:window-height="1014"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata6739">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-903.57141,-715.93359)">
+    <path
+       style="fill:none;stroke:#5f6060;stroke-width:0.89999998000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 911.68723,725.33709 -0.61872,-0.92808 c 0,0 0.17677,0.92808 0.92808,1.01647 0.7513,0.0884 1.19324,0.0884 1.19324,0.0884"
+       id="path7292"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient7327);fill-opacity:1;stroke:#848484;stroke-width:0.89999998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:9.80000019;stroke-opacity:1;stroke-dasharray:none"
+       id="path6755"
+       sodipodi:cx="5.0034118"
+       sodipodi:cy="4.9650207"
+       sodipodi:rx="4.5141191"
+       sodipodi:ry="4.5141191"
+       d="m 9.5175309,4.9650207 a 4.5141191,4.5141191 0 1 1 -9.02823828,0 4.5141191,4.5141191 0 1 1 9.02823828,0 z"
+       transform="translate(903.4637,715.9024)" />
+    <g
+       id="g7310"
+       transform="matrix(0.897287,0,0,0.897287,111.13225,74.055304)">
+      <path
+         transform="matrix(1.4672484,-0.2948259,0.2948259,1.4672484,880.61345,716.13137)"
+         d="M 5.03125,2.59375 C 5.03125,2.9216691 4.7654191,3.1875 4.4375,3.1875 4.1095809,3.1875 3.84375,2.9216691 3.84375,2.59375 3.84375,2.2658309 4.1095809,2 4.4375,2 4.7654191,2 5.03125,2.2658309 5.03125,2.59375 z"
+         sodipodi:ry="0.59375"
+         sodipodi:rx="0.59375"
+         sodipodi:cy="2.59375"
+         sodipodi:cx="4.4375"
+         id="path7300"
+         style="fill:#818181;fill-opacity:1;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#818181;fill-opacity:1;stroke:none"
+         id="path7302"
+         sodipodi:cx="4.4375"
+         sodipodi:cy="2.59375"
+         sodipodi:rx="0.59375"
+         sodipodi:ry="0.59375"
+         d="M 5.03125,2.59375 C 5.03125,2.9216691 4.7654191,3.1875 4.4375,3.1875 4.1095809,3.1875 3.84375,2.9216691 3.84375,2.59375 3.84375,2.2658309 4.1095809,2 4.4375,2 4.7654191,2 5.03125,2.2658309 5.03125,2.59375 z"
+         transform="matrix(1.4672484,-0.2948259,0.2948259,1.4672484,878.85062,718.47146)" />
+      <path
+         transform="matrix(1.4672484,-0.2948259,0.2948259,1.4672484,883.48161,716.7296)"
+         d="M 5.03125,2.59375 C 5.03125,2.9216691 4.7654191,3.1875 4.4375,3.1875 4.1095809,3.1875 3.84375,2.9216691 3.84375,2.59375 3.84375,2.2658309 4.1095809,2 4.4375,2 4.7654191,2 5.03125,2.2658309 5.03125,2.59375 z"
+         sodipodi:ry="0.59375"
+         sodipodi:rx="0.59375"
+         sodipodi:cy="2.59375"
+         sodipodi:cx="4.4375"
+         id="path7304"
+         style="fill:#818181;fill-opacity:1;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#818181;fill-opacity:1;stroke:none"
+         id="path7306"
+         sodipodi:cx="4.4375"
+         sodipodi:cy="2.59375"
+         sodipodi:rx="0.59375"
+         sodipodi:ry="0.59375"
+         d="M 5.03125,2.59375 C 5.03125,2.9216691 4.7654191,3.1875 4.4375,3.1875 4.1095809,3.1875 3.84375,2.9216691 3.84375,2.59375 3.84375,2.2658309 4.1095809,2 4.4375,2 4.7654191,2 5.03125,2.2658309 5.03125,2.59375 z"
+         transform="matrix(1.4672484,-0.2948259,0.2948259,1.4672484,880.77974,720.67629)" />
+      <path
+         transform="matrix(1.4672484,-0.2948259,0.2948259,1.4672484,883.52712,719.65906)"
+         d="M 5.03125,2.59375 C 5.03125,2.9216691 4.7654191,3.1875 4.4375,3.1875 4.1095809,3.1875 3.84375,2.9216691 3.84375,2.59375 3.84375,2.2658309 4.1095809,2 4.4375,2 4.7654191,2 5.03125,2.2658309 5.03125,2.59375 z"
+         sodipodi:ry="0.59375"
+         sodipodi:rx="0.59375"
+         sodipodi:cy="2.59375"
+         sodipodi:cx="4.4375"
+         id="path7308"
+         style="fill:#818181;fill-opacity:1;stroke:none"
+         sodipodi:type="arc" />
+    </g>
+  </g>
+</svg>
diff --git a/tests/phpunit/includes/RunningStatTest.php b/tests/phpunit/includes/RunningStatTest.php
deleted file mode 100644 (file)
index e24c088..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/**
- * PHP Unit tests for RunningStat class.
- * @covers RunningStat
- */
-class RunningStatTest extends MediaWikiTestCase {
-
-       public $points = array(
-               49.7168, 74.3804,  7.0115, 96.5769, 34.9458,
-               36.9947, 33.8926, 89.0774, 23.7745, 73.5154,
-               86.1322, 53.2124, 16.2046, 73.5130, 10.4209,
-               42.7299, 49.3330, 47.0215, 34.9950, 18.2914,
-       );
-
-       /**
-        * Verify that the statistical moments and extrema computed by RunningStat
-        * match expected values.
-        * @covers RunningStat::push
-        * @covers RunningStat::count
-        * @covers RunningStat::getMean
-        * @covers RunningStat::getVariance
-        * @covers RunningStat::getStdDev
-        */
-       public function testRunningStatAccuracy() {
-               $rstat = new RunningStat();
-               foreach( $this->points as $point ) {
-                       $rstat->push( $point );
-               }
-
-               $mean = array_sum( $this->points ) / count( $this->points );
-               $variance = array_sum( array_map( function ( $x ) use ( $mean ) {
-                       return pow( $mean - $x, 2 );
-               }, $this->points ) ) / ( count( $rstat ) - 1 );
-               $stddev = sqrt( $variance );
-               $min = min( $this->points );
-               $max = max( $this->points );
-
-               $this->assertEquals( count( $rstat ), count( $this->points ) );
-               $this->assertEquals( $rstat->min, min( $this->points ) );
-               $this->assertEquals( $rstat->max, max( $this->points ) );
-               $this->assertEquals( $rstat->getMean(), $mean );
-               $this->assertEquals( $rstat->getVariance(), $variance );
-               $this->assertEquals( $rstat->getStdDev(), $stddev );
-       }
-
-       /**
-        * When one RunningStat instance is merged into another, the state of the
-        * target RunningInstance should have the state that it would have had if
-        * all the data had been accumulated by it alone.
-        * @covers RunningStat::merge
-        * @covers RunningStat::count
-        */
-       public function testRunningStatMerge() {
-               $expected = new RunningStat();
-
-               foreach( $this->points as $point ) {
-                       $expected->push( $point );
-               }
-
-               // Split the data into two sets
-               $sets = array_chunk( $this->points, floor( count( $this->points ) / 2 ) );
-
-               // Accumulate the first half into one RunningStat object
-               $first = new RunningStat();
-               foreach( $sets[0] as $point ) {
-                       $first->push( $point );
-               }
-
-               // Accumulate the second half into another RunningStat object
-               $second = new RunningStat();
-               foreach( $sets[1] as $point ) {
-                       $second->push( $point );
-               }
-
-               // Merge the second RunningStat object into the first
-               $first->merge( $second );
-
-               $this->assertEquals( count( $first ), count( $this->points ) );
-               $this->assertEquals( $first, $expected );
-       }
-}
index 23e6503..7d18206 100644 (file)
@@ -45,14 +45,14 @@ class TestUser {
                $this->user->setPassword( $this->password );
                $this->user->setEmail( $this->email );
                $this->user->setRealName( $this->realname );
-               // remove all groups, replace with any groups specified
-               foreach ( $this->user->getGroups() as $group ) {
-                       $this->user->removeGroup( $group );
+
+               // Adjust groups by adding any missing ones and removing any extras
+               $currentGroups = $this->user->getGroups();
+               foreach ( array_diff( $this->groups, $currentGroups ) as $group ) {
+                       $this->user->addGroup( $group );
                }
-               if ( count( $this->groups ) ) {
-                       foreach ( $this->groups as $group ) {
-                               $this->user->addGroup( $group );
-                       }
+               foreach ( array_diff( $currentGroups, $this->groups ) as $group ) {
+                       $this->user->removeGroup( $group );
                }
                $this->user->saveSettings();
        }
index f64a784..4c59f47 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @group Database
  * @file
  * @author Antoine Musso
  * @copyright © 2013 Antoine Musso
  * @copyright © 2013 Wikimedia Foundation Inc.
  */
-
-class FakeLBFactory extends LBFactory {
-       function __construct( $conf ) {}
-       function newMainLB( $wiki = false ) {}
-       function getMainLB( $wiki = false ) {}
-       function newExternalLB( $cluster, $wiki = false ) {}
-       function &getExternalLB( $cluster, $wiki = false ) {}
-       function forEachLB( $callback, $params = array() ) {}
-}
-
 class LBFactoryTest extends MediaWikiTestCase {
 
-       function setup() {
-               parent::setup();
-               FakeLBFactory::destroyInstance();
-       }
-
        /**
-        * @dataProvider provideDeprecatedLbfactoryClasses
+        * @dataProvider getLBFactoryClassProvider
         */
-       function testLbfactoryClassBackcompatibility( $expected, $deprecated ) {
+       public function testGetLBFactoryClass( $expected, $deprecated ) {
                $mockDB = $this->getMockBuilder( 'DatabaseMysql' )
-                       -> disableOriginalConstructor()
+                       ->disableOriginalConstructor()
                        ->getMock();
-               $this->setMwGlobals( 'wgLBFactoryConf',
-                       array(
-                               'class'          => $deprecated,
-                               'connection'     => $mockDB,
-                               # Various other parameters required:
-                               'sectionsByDB'   => array(),
-                               'sectionLoads'   => array(),
-                               'serverTemplate' => array(),
-                       )
-               );
 
-               global $wgLBFactoryConf;
-               $this->assertArrayHasKey( 'class', $wgLBFactoryConf );
-               $this->assertEquals( $wgLBFactoryConf['class'], $deprecated );
+               $config = array(
+                       'class'          => $deprecated,
+                       'connection'     => $mockDB,
+                       # Various other parameters required:
+                       'sectionsByDB'   => array(),
+                       'sectionLoads'   => array(),
+                       'serverTemplate' => array(),
+               );
 
-               # The point of this test is to call a deprecated interface and make
-               # sure it keeps back compatibility, so skip the deprecation warning.
                $this->hideDeprecated( '$wgLBFactoryConf must be updated. See RELEASE-NOTES for details' );
-               $lbfactory = FakeLBFactory::singleton();
-               $this->assertInstanceOf( $expected, $lbfactory,
-                       "LBFactory passed $deprecated should yield the new class $expected" );
+               $result = LBFactory::getLBFactoryClass( $config );
+
+               $this->assertEquals( $expected, $result );
        }
 
-       function provideDeprecatedLbfactoryClasses() {
+       public function getLBFactoryClassProvider() {
                return array(
                        # Format: new class, old class
                        array( 'LBFactorySimple', 'LBFactory_Simple' ),
index 39c3959..c41acef 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 
 /**
- * Unit tests for the HTMLCheckMatrix + HTMLFormField
- * @todo the tests for the two classes could be split up
+ * Unit tests for the HTMLCheckMatrix
+ * @covers HTMLCheckMatrix
  */
 class HtmlCheckMatrixTest extends MediaWikiTestCase {
        static private $defaultOptions = array(
@@ -11,12 +11,9 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
                'fieldname' => 'test',
        );
 
-       /**
-        * @covers HTMLCheckMatrix::__construct
-        */
        public function testPlainInstantiation() {
                try {
-                       $form = new HTMLCheckMatrix( array() );
+                       new HTMLCheckMatrix( array() );
                } catch ( MWException $e ) {
                        $this->assertInstanceOf( 'HTMLFormFieldRequiredOptionsException', $e );
                        return;
@@ -25,32 +22,23 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
                $this->fail( 'Expected MWException indicating missing parameters but none was thrown.' );
        }
 
-       /**
-        * @covers HTMLCheckMatrix::__construct
-        */
        public function testInstantiationWithMinimumRequiredParameters() {
-               $form = new HTMLCheckMatrix( self::$defaultOptions );
+               new HTMLCheckMatrix( self::$defaultOptions );
                $this->assertTrue( true ); // form instantiation must throw exception on failure
        }
 
-       /**
-        * @covers HTMLFormField::validate
-        */
        public function testValidateCallsUserDefinedValidationCallback() {
                $called = false;
                $field = new HTMLCheckMatrix( self::$defaultOptions + array(
-                       'validation-callback' => function() use ( &$called ) {
-                               $called = true;
-                               return false;
-                       },
-               ) );
+                               'validation-callback' => function() use ( &$called ) {
+                                               $called = true;
+                                               return false;
+                                       },
+                       ) );
                $this->assertEquals( false, $this->validate( $field, array() ) );
                $this->assertTrue( $called );
        }
 
-       /**
-        * @covers HTMLFormField::validate
-        */
        public function testValidateRequiresArrayInput() {
                $field = new HTMLCheckMatrix( self::$defaultOptions );
                $this->assertEquals( false, $this->validate( $field, null ) );
@@ -60,17 +48,11 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
                $this->assertEquals( true, $this->validate( $field, array() ) );
        }
 
-       /**
-        * @covers HTMLFormField::validate
-        */
        public function testValidateAllowsOnlyKnownTags() {
                $field = new HTMLCheckMatrix( self::$defaultOptions );
                $this->assertInternalType( 'string', $this->validate( $field, array( 'foo' ) ) );
        }
 
-       /**
-        * @covers HTMLFormField::validate
-        */
        public function testValidateAcceptsPartialTagList() {
                $field = new HTMLCheckMatrix( self::$defaultOptions );
                $this->assertTrue( $this->validate( $field, array() ) );
@@ -84,12 +66,11 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
         * foreach ( $field->filterDataForSubmit( $data ) as $k => $v ) {
         *     $user->setOption( $k, $v );
         * }
-        * @covers HTMLFormField::filterDataForSubmit
         */
        public function testValuesForcedOnRemainOn() {
                $field = new HTMLCheckMatrix( self::$defaultOptions + array(
-                       'force-options-on' => array( 'c2-r1' ),
-               ) );
+                               'force-options-on' => array( 'c2-r1' ),
+                       ) );
                $expected = array(
                        'c1-r1' => false,
                        'c1-r2' => false,
@@ -99,13 +80,10 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
                $this->assertEquals( $expected, $field->filterDataForSubmit( array() ) );
        }
 
-       /**
-        * @covers HTMLFormField::filterDataForSubmit
-        */
        public function testValuesForcedOffRemainOff() {
                $field = new HTMLCheckMatrix( self::$defaultOptions + array(
-                       'force-options-off' => array( 'c1-r2', 'c2-r2' ),
-               ) );
+                               'force-options-off' => array( 'c1-r2', 'c2-r2' ),
+                       ) );
                $expected = array(
                        'c1-r1' => true,
                        'c1-r2' => false,
@@ -122,4 +100,5 @@ class HtmlCheckMatrixTest extends MediaWikiTestCase {
                        array( self::$defaultOptions['fieldname'] => $submitted )
                );
        }
+
 }
diff --git a/tests/phpunit/includes/libs/MWMessagePackTest.php b/tests/phpunit/includes/libs/MWMessagePackTest.php
new file mode 100644 (file)
index 0000000..b99ef86
--- /dev/null
@@ -0,0 +1,70 @@
+<?php
+/**
+ * PHP Unit tests for MWMessagePack
+ * @covers MWMessagePack
+ */
+class MWMessagePackTest extends MediaWikiTestCase {
+
+       /**
+        * Provides test cases for MWMessagePackTest::testMessagePack
+        *
+        * Returns an array of test cases. Each case is an array of (type, value,
+        * expected encoding as hex string). The expected values were generated
+        * using <https://github.com/msgpack/msgpack-php>, which includes a
+        * serialization function.
+        */
+       public function provider() {
+               return array(
+                       array( 'nil', null, 'c0' ),
+                       array( 'bool', true, 'c3' ),
+                       array( 'bool', false, 'c2' ),
+                       array( 'positive fixnum', 0, '00' ),
+                       array( 'positive fixnum', 1, '01' ),
+                       array( 'positive fixnum', 5, '05' ),
+                       array( 'positive fixnum', 35, '23' ),
+                       array( 'uint 8', 128, 'cc80' ),
+                       array( 'uint 16', 1000, 'cd03e8' ),
+                       array( 'uint 32', 100000, 'ce000186a0' ),
+                       array( 'uint 64', 10000000000, 'cf00000002540be400' ),
+                       array( 'negative fixnum', -1, 'ff' ),
+                       array( 'negative fixnum', -2, 'fe' ),
+                       array( 'int 8', -128, 'd080' ),
+                       array( 'int 8', -35, 'd0dd' ),
+                       array( 'int 16', -1000, 'd1fc18' ),
+                       array( 'int 32', -100000, 'd2fffe7960' ),
+                       array( 'int 64', -10000000000, 'd3fffffffdabf41c00' ),
+                       array( 'int 64', -223372036854775807, 'd3fce66c50e2840001' ),
+                       array( 'int 64', -9223372036854775807, 'd38000000000000001' ),
+                       array( 'double', 0.1, 'cb3fb999999999999a' ),
+                       array( 'double', 1.1, 'cb3ff199999999999a' ),
+                       array( 'double', 123.456, 'cb405edd2f1a9fbe77' ),
+                       array( 'fix raw', '', 'a0' ),
+                       array( 'fix raw', 'foobar', 'a6666f6f626172' ),
+                       array(
+                               'raw 16',
+                               'Lorem ipsum dolor sit amet amet.',
+                               'da00204c6f72656d20697073756d20646f6c6f722073697420616d657420616d65742e'
+                       ),
+                       array(
+                               'fix array',
+                               array( 'abc', 'def', 'ghi' ),
+                               '93a3616263a3646566a3676869'
+                       ),
+                       array(
+                               'fix map',
+                               array( 'one' => 1, 'two' => 2 ),
+                               '82a36f6e6501a374776f02'
+                       ),
+               );
+       }
+
+       /**
+        * Verify that values are serialized correctly.
+        * @covers MWMessagePack::pack
+        * @dataProvider provider
+        */
+       public function testPack( $type, $value, $expected ) {
+               $actual = bin2hex( MWMessagePack::pack( $value ) );
+               $this->assertEquals( $actual, $expected, $type );
+       }
+}
diff --git a/tests/phpunit/includes/libs/RunningStatTest.php b/tests/phpunit/includes/libs/RunningStatTest.php
new file mode 100644 (file)
index 0000000..e24c088
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+/**
+ * PHP Unit tests for RunningStat class.
+ * @covers RunningStat
+ */
+class RunningStatTest extends MediaWikiTestCase {
+
+       public $points = array(
+               49.7168, 74.3804,  7.0115, 96.5769, 34.9458,
+               36.9947, 33.8926, 89.0774, 23.7745, 73.5154,
+               86.1322, 53.2124, 16.2046, 73.5130, 10.4209,
+               42.7299, 49.3330, 47.0215, 34.9950, 18.2914,
+       );
+
+       /**
+        * Verify that the statistical moments and extrema computed by RunningStat
+        * match expected values.
+        * @covers RunningStat::push
+        * @covers RunningStat::count
+        * @covers RunningStat::getMean
+        * @covers RunningStat::getVariance
+        * @covers RunningStat::getStdDev
+        */
+       public function testRunningStatAccuracy() {
+               $rstat = new RunningStat();
+               foreach( $this->points as $point ) {
+                       $rstat->push( $point );
+               }
+
+               $mean = array_sum( $this->points ) / count( $this->points );
+               $variance = array_sum( array_map( function ( $x ) use ( $mean ) {
+                       return pow( $mean - $x, 2 );
+               }, $this->points ) ) / ( count( $rstat ) - 1 );
+               $stddev = sqrt( $variance );
+               $min = min( $this->points );
+               $max = max( $this->points );
+
+               $this->assertEquals( count( $rstat ), count( $this->points ) );
+               $this->assertEquals( $rstat->min, min( $this->points ) );
+               $this->assertEquals( $rstat->max, max( $this->points ) );
+               $this->assertEquals( $rstat->getMean(), $mean );
+               $this->assertEquals( $rstat->getVariance(), $variance );
+               $this->assertEquals( $rstat->getStdDev(), $stddev );
+       }
+
+       /**
+        * When one RunningStat instance is merged into another, the state of the
+        * target RunningInstance should have the state that it would have had if
+        * all the data had been accumulated by it alone.
+        * @covers RunningStat::merge
+        * @covers RunningStat::count
+        */
+       public function testRunningStatMerge() {
+               $expected = new RunningStat();
+
+               foreach( $this->points as $point ) {
+                       $expected->push( $point );
+               }
+
+               // Split the data into two sets
+               $sets = array_chunk( $this->points, floor( count( $this->points ) / 2 ) );
+
+               // Accumulate the first half into one RunningStat object
+               $first = new RunningStat();
+               foreach( $sets[0] as $point ) {
+                       $first->push( $point );
+               }
+
+               // Accumulate the second half into another RunningStat object
+               $second = new RunningStat();
+               foreach( $sets[1] as $point ) {
+                       $second->push( $point );
+               }
+
+               // Merge the second RunningStat object into the first
+               $first->merge( $second );
+
+               $this->assertEquals( count( $first ), count( $this->points ) );
+               $this->assertEquals( $first, $expected );
+       }
+}
index 9650fb1..6210d09 100644 (file)
@@ -32,7 +32,7 @@ class LogFormatterTest extends MediaWikiLangTestCase {
                        'wgExtensionMessagesFiles' => array( 'LogTests' => __DIR__ . '/LogTests.i18n.php' ),
                ) );
 
-               $wgLang->getLocalisationCache()->recache( $wgLang->getCode() );
+               Language::getLocalisationCache()->recache( $wgLang->getCode() );
 
                $this->user = User::newFromName( 'Testuser' );
                $this->title = Title::newMainPage();
@@ -47,7 +47,7 @@ class LogFormatterTest extends MediaWikiLangTestCase {
                parent::tearDown();
 
                global $wgLang;
-               $wgLang->getLocalisationCache()->recache( $wgLang->getCode() );
+               Language::getLocalisationCache()->recache( $wgLang->getCode() );
        }
 
        public function newLogEntry( $action, $params ) {
index e460591..ff360e9 100644 (file)
@@ -8,10 +8,12 @@
  * @note Coverage will only ever show one of on of the Search* classes
  */
 class SearchEngineTest extends MediaWikiLangTestCase {
+
        /**
         * @var SearchEngine
         */
        protected $search;
+
        protected $pageList;
 
        /**
@@ -22,17 +24,23 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                parent::setUp();
 
                // Search tests require MySQL or SQLite with FTS
-               # Get database type and version
                $dbType = $this->db->getType();
-               $dbSupported =
-                       ( $dbType === 'mysql' )
-                               || ( $dbType === 'sqlite' && $this->db->getFulltextSearchModule() == 'FTS3' );
+               $dbSupported = ( $dbType === 'mysql' )
+                       || ( $dbType === 'sqlite' && $this->db->getFulltextSearchModule() == 'FTS3' );
 
                if ( !$dbSupported ) {
                        $this->markTestSkipped( "MySQL or SQLite with FTS3 only" );
                }
 
                $searchType = $this->db->getSearchEngine();
+               $this->setMwGlobals( array(
+                       'wgSearchType' => $searchType
+               ) );
+
+               if ( !isset( self::$pageList ) ) {
+                       $this->addPages();
+               }
+
                $this->search = new $searchType( $this->db );
        }
 
@@ -42,15 +50,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                parent::tearDown();
        }
 
-       function pageExists( $title ) {
-               return false;
-       }
-
-       function addDBData() {
-               if ( $this->pageExists( 'Not_Main_Page' ) ) {
-                       return;
-               }
-
+       protected function addPages() {
                if ( !$this->isWikitextNS( NS_MAIN ) ) {
                        // @todo cover the case of non-wikitext content in the main namespace
                        return;
@@ -75,12 +75,11 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                $this->insertPage( 'DomainName', 'example.com', 0 );
        }
 
-       function fetchIds( $results ) {
+       protected function fetchIds( $results ) {
                if ( !$this->isWikitextNS( NS_MAIN ) ) {
                        $this->markTestIncomplete( __CLASS__ . " does no yet support non-wikitext content "
                                . "in the main namespace" );
                }
-
                $this->assertTrue( is_object( $results ) );
 
                $matches = array();
@@ -105,7 +104,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
         * @param $text String: page's content
         * @param $n Integer: unused
         */
-       function insertPage( $pageName, $text, $ns ) {
+       protected function insertPage( $pageName, $text, $ns ) {
                $title = Title::newFromText( $pageName, $ns );
 
                $user = User::newFromName( 'WikiSysop' );
@@ -180,4 +179,5 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                        $this->fetchIds( $this->search->searchTitle( 'smithee' ) ),
                        "Title power search failed" );
        }
+
 }
index 8f78ae5..1a1bbaf 100644 (file)
@@ -95,4 +95,32 @@ class UIDGeneratorTest extends MediaWikiTestCase {
                }
        }
 
+       /**
+        * @covers UIDGenerator::newSequentialPerNodeID
+        */
+       public function testNewSequentialID() {
+               $id1 = UIDGenerator::newSequentialPerNodeID( 'test', 32 );
+               $id2 = UIDGenerator::newSequentialPerNodeID( 'test', 32 );
+
+               $this->assertType( 'float', $id1, "ID returned as float" );
+               $this->assertType( 'float', $id2, "ID returned as float" );
+               $this->assertGreaterThan( 0, $id1, "ID greater than 1" );
+               $this->assertGreaterThan( $id1, $id2, "IDs increasing in value" );
+       }
+
+       /**
+        * @covers UIDGenerator::newSequentialPerNodeIDs
+        */
+       public function testNewSequentialIDs() {
+               $ids = UIDGenerator::newSequentialPerNodeIDs( 'test', 32, 5 );
+               $lastId = null;
+               foreach ( $ids as $id ) {
+                       $this->assertType( 'float', $id, "ID returned as float" );
+                       $this->assertGreaterThan( 0, $id, "ID greater than 1" );
+                       if ( $lastId ) {
+                               $this->assertGreaterThan( $lastId, $id, "IDs increasing in value" );
+                       }
+                       $lastId = $id;
+               }
+       }
 }
index 97a17ec..dbdb588 100644 (file)
@@ -79,13 +79,13 @@ class LanguageBe_taraskTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPluralTwoForms( $result, $value ) {
-               $forms = array( 'one', 'other', '0=one' );
+               $forms = array( '1=one', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        public static function providePluralTwoForms() {
                return array(
-                       array( 'one', 0 ),
+                       array( 'other', 0 ),
                        array( 'one', 1 ),
                        array( 'other', 11 ),
                        array( 'other', 91 ),
index fb965b8..7aca2ab 100644 (file)
@@ -5,14 +5,14 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/LanguageBs.php */
+/** Tests for Croatian (hrvatski) */
 class LanguageBsTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               $forms = array( 'one', 'few', 'many', 'other' );
+               $forms = array( 'one', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -26,17 +26,17 @@ class LanguageBsTest extends LanguageClassesTestCase {
 
        public static function providePlural() {
                return array(
-                       array( 'many', 0 ),
+                       array( 'other', 0 ),
                        array( 'one', 1 ),
                        array( 'few', 2 ),
                        array( 'few', 4 ),
-                       array( 'many', 5 ),
-                       array( 'many', 11 ),
-                       array( 'many', 20 ),
+                       array( 'other', 5 ),
+                       array( 'other', 11 ),
+                       array( 'other', 20 ),
                        array( 'one', 21 ),
                        array( 'few', 24 ),
-                       array( 'many', 25 ),
-                       array( 'many', 200 ),
+                       array( 'other', 25 ),
+                       array( 'other', 200 ),
                );
        }
 }
index 6ce4aff..644c525 100644 (file)
@@ -12,7 +12,7 @@ class LanguageHrTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               $forms = array( 'one', 'few', 'many', 'other' );
+               $forms = array( 'one', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -26,17 +26,17 @@ class LanguageHrTest extends LanguageClassesTestCase {
 
        public static function providePlural() {
                return array(
-                       array( 'many', 0 ),
+                       array( 'other', 0 ),
                        array( 'one', 1 ),
                        array( 'few', 2 ),
                        array( 'few', 4 ),
-                       array( 'many', 5 ),
-                       array( 'many', 11 ),
-                       array( 'many', 20 ),
+                       array( 'other', 5 ),
+                       array( 'other', 11 ),
+                       array( 'other', 20 ),
                        array( 'one', 21 ),
                        array( 'few', 24 ),
-                       array( 'many', 25 ),
-                       array( 'many', 200 ),
+                       array( 'other', 25 ),
+                       array( 'other', 200 ),
                );
        }
 }
index 896522b..92e0ef9 100644 (file)
@@ -5,7 +5,7 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/LanguageHy.php */
+/** Tests for Armenian (Հայերեն) */
 class LanguageHyTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
@@ -21,13 +21,12 @@ class LanguageHyTest extends LanguageClassesTestCase {
         * @covers Language::getPluralRuleType
         */
        public function testGetPluralRuleType( $result, $value ) {
-               // This fails for 0, but I'm not sure why. Some voodoo going on here.
                $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
        }
 
        public static function providePlural() {
                return array(
-                       array( 'other', 0 ),
+                       array( 'one', 0 ),
                        array( 'one', 1 ),
                        array( 'other', 2 ),
                        array( 'other', 200 ),
index c4d8a6f..7120cfe 100644 (file)
@@ -5,7 +5,7 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageLv.php */
+/** Tests for Latvian */
 class LanguageLvTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
@@ -28,13 +28,17 @@ class LanguageLvTest extends LanguageClassesTestCase {
                return array(
                        array( 'zero', 0 ),
                        array( 'one', 1 ),
-                       array( 'other', 11 ),
+                       array( 'zero', 11 ),
                        array( 'one', 21 ),
-                       array( 'other', 411 ),
+                       array( 'zero', 411 ),
+                       array( 'other', 2 ),
+                       array( 'other', 9 ),
+                       array( 'zero', 12 ),
                        array( 'other', 12.345 ),
-                       array( 'other', 20 ),
+                       array( 'zero', 20 ),
+                       array( 'other', 22 ),
                        array( 'one', 31 ),
-                       array( 'other', 200 ),
+                       array( 'zero', 200 ),
                );
        }
 }
index 7d47b37..ed15526 100644 (file)
@@ -5,7 +5,7 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageMk.php */
+/** Tests for македонски/Macedonian */
 class LanguageMkTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
@@ -28,7 +28,7 @@ class LanguageMkTest extends LanguageClassesTestCase {
                return array(
                        array( 'other', 0 ),
                        array( 'one', 1 ),
-                       array( 'other', 11 ),
+                       array( 'one', 11 ),
                        array( 'one', 21 ),
                        array( 'one', 411 ),
                        array( 'other', 12.345 ),
index 56f8490..e17c708 100644 (file)
@@ -13,7 +13,7 @@ class LanguageRuTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               $forms = array( 'one', 'few', 'many', 'other' );
+               $forms = array( 'one', 'many', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -22,9 +22,9 @@ class LanguageRuTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testExplicitPlural() {
-               $forms = array( 'one', 'few', 'many', 'other', '12=dozen' );
+               $forms = array( 'one','many', 'other', '12=dozen' );
                $this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) );
-               $forms = array( 'one', 'few', 'many', '100=hundred', 'other', '12=dozen' );
+               $forms = array( 'one', 'many', '100=hundred', 'other', '12=dozen' );
                $this->assertEquals( 'hundred', $this->getLang()->convertPlural( 100, $forms ) );
        }
 
@@ -42,10 +42,10 @@ class LanguageRuTest extends LanguageClassesTestCase {
                        array( 'many', 11 ),
                        array( 'one', 91 ),
                        array( 'one', 121 ),
-                       array( 'few', 2 ),
-                       array( 'few', 3 ),
-                       array( 'few', 4 ),
-                       array( 'few', 334 ),
+                       array( 'other', 2 ),
+                       array( 'other', 3 ),
+                       array( 'other', 4 ),
+                       array( 'other', 334 ),
                        array( 'many', 5 ),
                        array( 'many', 15 ),
                        array( 'many', 120 ),
@@ -57,7 +57,7 @@ class LanguageRuTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPluralTwoForms( $result, $value ) {
-               $forms = array( 'one', 'other' );
+               $forms = array( '1=one', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
index bf6a14b..fa49a4d 100644 (file)
@@ -5,7 +5,7 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageSgs.php */
+/** Tests for Samogitian */
 class LanguageSgsTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePluralAllForms
index 6d2e25a..1b39087 100644 (file)
@@ -5,14 +5,14 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageSh.php */
+/** Tests for  srpskohrvatski / српскохрватски / Serbocroatian */
 class LanguageShTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               $forms = array( 'one', 'few', 'many', 'other' );
+               $forms = array( 'one', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -26,17 +26,17 @@ class LanguageShTest extends LanguageClassesTestCase {
 
        public static function providePlural() {
                return array(
-                       array( 'many', 0 ),
+                       array( 'other', 0 ),
                        array( 'one', 1 ),
                        array( 'few', 2 ),
                        array( 'few', 4 ),
-                       array( 'many', 5 ),
-                       array( 'many', 10 ),
-                       array( 'many', 11 ),
-                       array( 'many', 12 ),
+                       array( 'other', 5 ),
+                       array( 'other', 10 ),
+                       array( 'other', 11 ),
+                       array( 'other', 12 ),
                        array( 'one', 101 ),
                        array( 'few', 102 ),
-                       array( 'many', 111 ),
+                       array( 'other', 111 ),
                );
        }
 }
index f551248..8d35f36 100644 (file)
@@ -130,7 +130,7 @@ class LanguageSrTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPlural( $result, $value ) {
-               $forms = array( 'one', 'few', 'many', 'other' );
+               $forms = array( 'one', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
@@ -145,16 +145,16 @@ class LanguageSrTest extends LanguageClassesTestCase {
        public static function providePlural() {
                return array(
                        array( 'one', 1 ),
-                       array( 'many', 11 ),
+                       array( 'other', 11 ),
                        array( 'one', 91 ),
                        array( 'one', 121 ),
                        array( 'few', 2 ),
                        array( 'few', 3 ),
                        array( 'few', 4 ),
                        array( 'few', 334 ),
-                       array( 'many', 5 ),
-                       array( 'many', 15 ),
-                       array( 'many', 120 ),
+                       array( 'other', 5 ),
+                       array( 'other', 15 ),
+                       array( 'other', 120 ),
                );
        }
 
@@ -171,8 +171,9 @@ class LanguageSrTest extends LanguageClassesTestCase {
                return array(
                        array( 'one', 1 ),
                        array( 'other', 11 ),
-                       array( 'other', 91 ),
-                       array( 'other', 121 ),
+                       array( 'other', 4 ),
+                       array( 'one', 91 ),
+                       array( 'one', 121 ),
                );
        }
 
index 1d81bc5..9051bcf 100644 (file)
@@ -6,7 +6,7 @@
  * @file
  */
 
-/** Tests for MediaWiki languages/classes/LanguageUk.php */
+/** Tests for Ukrainian */
 class LanguageUkTest extends LanguageClassesTestCase {
        /**
         * @dataProvider providePlural
@@ -57,7 +57,7 @@ class LanguageUkTest extends LanguageClassesTestCase {
         * @covers Language::convertPlural
         */
        public function testPluralTwoForms( $result, $value ) {
-               $forms = array( 'one', 'other' );
+               $forms = array( '1=one', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }