Merge "Adjust magic bolding in api help to only match lines inside *"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 13 Mar 2014 19:00:54 +0000 (19:00 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 13 Mar 2014 19:00:54 +0000 (19:00 +0000)
176 files changed:
RELEASE-NOTES-1.23
api.php
docs/hooks.txt
img_auth.php
includes/AuthPlugin.php
includes/AutoLoader.php
includes/ChangesFeed.php
includes/DefaultSettings.php
includes/Export.php
includes/Feed.php
includes/Import.php
includes/PHPVersionError.php
includes/ProtectionForm.php
includes/Sanitizer.php
includes/Setup.php
includes/SkinTemplate.php
includes/Title.php
includes/WebRequest.php
includes/WikiMap.php
includes/api/ApiFeedRecentChanges.php [new file with mode: 0644]
includes/api/ApiMain.php
includes/changes/EnhancedChangesList.php
includes/changes/RCCacheEntryFactory.php [new file with mode: 0644]
includes/changes/RecentChange.php
includes/db/CloneDatabase.php
includes/db/Database.php
includes/db/DatabaseMssql.php
includes/db/DatabaseOracle.php
includes/db/DatabaseSqlite.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLTextField.php
includes/installer/InstallDocFormatter.php
includes/installer/LocalSettingsGenerator.php
includes/installer/WebInstallerOutput.php
includes/rcfeed/IRCColourfulRCFeedFormatter.php
includes/specialpage/ChangesListSpecialPage.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialSearch.php
includes/templates/Usercreate.php
includes/upload/UploadBase.php
languages/messages/MessagesAn.php
languages/messages/MessagesAng.php
languages/messages/MessagesAr.php
languages/messages/MessagesAry.php
languages/messages/MessagesArz.php
languages/messages/MessagesAst.php
languages/messages/MessagesBe_tarask.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/MessagesCs.php
languages/messages/MessagesCsb.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEs.php
languages/messages/MessagesEu.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesGl.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesHaw.php
languages/messages/MessagesHe.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHu.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIe.php
languages/messages/MessagesIlo.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesKa.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKo.php
languages/messages/MessagesKsh.php
languages/messages/MessagesLb.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMs.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesOc.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesSa.php
languages/messages/MessagesSco.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesSu.php
languages/messages/MessagesSv.php
languages/messages/MessagesSw.php
languages/messages/MessagesTe.php
languages/messages/MessagesTh.php
languages/messages/MessagesTl.php
languages/messages/MessagesTr.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesUz.php
languages/messages/MessagesVi.php
languages/messages/MessagesVot.php
languages/messages/MessagesYi.php
languages/messages/MessagesYue.php
languages/messages/MessagesZh.php
languages/messages/MessagesZh_cn.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
languages/messages/MessagesZh_hk.php
languages/messages/MessagesZh_mo.php
languages/messages/MessagesZh_sg.php
languages/messages/MessagesZh_tw.php
maintenance/attachLatest.php
maintenance/doMaintenance.php
maintenance/importTextFile.php
maintenance/install.php
maintenance/jsduck/categories.json
maintenance/jsduck/config.json
maintenance/namespaceDupes.php
maintenance/orphans.php
maintenance/rebuildFileCache.php
maintenance/rebuildtextindex.php
maintenance/runJobs.php
maintenance/showCacheStats.php
maintenance/update.php
resources/Resources.php
resources/mediawiki.api/mediawiki.api.watch.js
resources/mediawiki.special/mediawiki.special.userlogin.signup.js
resources/mediawiki/mediawiki.debug.js
resources/mediawiki/mediawiki.feedback.js
resources/mediawiki/mediawiki.hlist.css
resources/mediawiki/mediawiki.hlist.js
resources/mediawiki/mediawiki.js
resources/mediawiki/mediawiki.notification.css
resources/mediawiki/mediawiki.searchSuggest.js
resources/mediawiki/mediawiki.toc.js
resources/oojs/oojs.js
skins/CologneBlue.php
skins/MonoBook.php
skins/Vector.php
skins/cologneblue/screen.css
skins/monobook/main.css
tests/phpunit/ResourceLoaderTestCase.php
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/changes/RCCacheEntryFactoryTest.php [new file with mode: 0644]
tests/phpunit/includes/changes/RecentChangeTest.php
tests/phpunit/includes/installer/InstallDocFormatterTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php [new file with mode: 0644]
tests/qunit/QUnitTestResources.php
tests/qunit/data/testrunner.js
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.watch.test.js [new file with mode: 0644]

index fb12acd..3a809d3 100644 (file)
@@ -43,6 +43,11 @@ production.
 * Removed deprecated $wgDisabledActions as it is hardly used anywhere.
 * $wgRateLimitLog has been deprecated and replaced by
   $wgDebugLogGroup['ratelimit'].
+* $wgLocalInterwikis is an array containing multiple local interwiki prefixes
+  (interwiki prefixes that point back to the current wiki). This effectively
+  allows more than one value of $wgLocalInterwiki to be specified and
+  understood by the parser. The value of $wgLocalInterwiki is automatically
+  prepended to the start of this array.
 
 === New features in 1.23 ===
 * ResourceLoader can utilize the Web Storage API to cache modules client-side.
@@ -118,6 +123,9 @@ production.
   creations, similar to the topOnly option.
 * Add mediawiki.ui.button styling to all pages so wiki content can use styled
   buttons.
+* Special:UserLogin/signup now does AJAX checks for invalid and taken usernames,
+  displaying the error live.
+* Added BaseTemplateAfterPortlet hook to allow injecting html after portlets in skins.
 
 === Bug fixes in 1.23 ===
 * (bug 41759) The "updated since last visit" markers (on history pages, recent
@@ -279,6 +287,12 @@ changes to languages because of Bugzilla reports.
   is transcluded.
 * (bug 62198) window.$j has been deprecated.
 * Preference "Disable link title conversion" was removed.
+* SpecialRecentChanges no longer includes any functionality for generating feeds
+  - it has been factored out to ApiFeedRecentChanges. Old URLs redirect to new
+  ones.
+* RecentChange::mExtra['lang'] is no longer set and should no longer be used.
+  Extensions should read from other configuration variables, including
+  $wgLocalInterwikis, to identify the current wiki.
 
 ==== Removed classes ====
 * FakeMemCachedClient (deprecated in 1.18)
diff --git a/api.php b/api.php
index 0d2312a..554c272 100644 (file)
--- a/api.php
+++ b/api.php
@@ -70,10 +70,21 @@ $wgTitle = Title::makeTitle( NS_MAIN, 'API' );
 $processor = new ApiMain( RequestContext::getMain(), $wgEnableWriteAPI );
 
 // Last chance hook before executing the API
-wfRunHooks( 'ApiBeforeMain', array( &$processor ) );
+try {
+       wfRunHooks( 'ApiBeforeMain', array( &$processor ) );
+       if ( !$processor instanceof ApiMain ) {
+               throw new MWException( 'ApiBeforMain hook set $processor to a non-ApiMain class' );
+       }
+} catch ( Exception $e ) {
+       // Crap. Try to report the exception in API format to be friendly to clients.
+       ApiMain::handleApiBeforeMainException( $e );
+       $processor = false;
+}
 
 // Process data & print results
-$processor->execute();
+if ( $processor ) {
+       $processor->execute();
+}
 
 if ( function_exists( 'fastcgi_finish_request' ) ) {
        fastcgi_finish_request();
@@ -97,11 +108,15 @@ if ( $wgAPIRequestLog ) {
                $_SERVER['HTTP_USER_AGENT']
        );
        $items[] = $wgRequest->wasPosted() ? 'POST' : 'GET';
-       $module = $processor->getModule();
-       if ( $module->mustBePosted() ) {
-               $items[] = "action=" . $wgRequest->getVal( 'action' );
+       if ( $processor ) {
+               $module = $processor->getModule();
+               if ( $module->mustBePosted() ) {
+                       $items[] = "action=" . $wgRequest->getVal( 'action' );
+               } else {
+                       $items[] = wfArrayToCgi( $wgRequest->getValues() );
+               }
        } else {
-               $items[] = wfArrayToCgi( $wgRequest->getValues() );
+               $items[] = "failed in ApiBeforeMain";
        }
        wfErrorLog( implode( ',', $items ) . "\n", $wgAPIRequestLog );
        wfDebug( "Logged API request to $wgAPIRequestLog\n" );
index e7fa89b..a833484 100644 (file)
@@ -709,6 +709,12 @@ pages or galleries in category pages.
 $name: Image name being checked
 &$bad: Whether or not the image is "bad"
 
+'BaseTemplateAfterPortlet': After output of portlets, allow injecting
+custom HTML after the section. Any uses of the hook need to handle escaping.
+$template BaseTemplate
+$portlet: string portlet name
+&$html: string
+
 'BeforeDisplayNoArticleText': Before displaying message key "noarticletext" or
 "noarticletext-nopermission" at Article::showMissingArticle().
 $article: article object
index 72a7dab..7765dd3 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Image authorisation script
  *
- * To use this, see http://www.mediawiki.org/wiki/Manual:Image_Authorization
+ * To use this, see https://www.mediawiki.org/wiki/Manual:Image_Authorization
  *
  * - Set $wgUploadDirectory to a non-public directory (not web accessible)
  * - Set $wgUploadPath to point to this file
index c7b0c97..217744e 100644 (file)
@@ -3,7 +3,7 @@
  * Authentication plugin interface
  *
  * Copyright © 2004 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index 87dc95d..cfddb72 100644 (file)
@@ -96,7 +96,8 @@ $wgAutoloadLocalClasses = array(
        'HTMLFloatField' => 'includes/htmlform/HTMLFloatField.php',
        'HTMLForm' => 'includes/htmlform/HTMLForm.php',
        'HTMLFormField' => 'includes/htmlform/HTMLFormField.php',
-       'HTMLFormFieldRequiredOptionsException' => 'includes/htmlform/HTMLFormFieldRequiredOptionsException.php',
+       'HTMLFormFieldRequiredOptionsException' =>
+               'includes/htmlform/HTMLFormFieldRequiredOptionsException.php',
        'HTMLHiddenField' => 'includes/htmlform/HTMLHiddenField.php',
        'HTMLInfoField' => 'includes/htmlform/HTMLInfoField.php',
        'HTMLIntField' => 'includes/htmlform/HTMLIntField.php',
@@ -273,6 +274,7 @@ $wgAutoloadLocalClasses = array(
        'ApiEmailUser' => 'includes/api/ApiEmailUser.php',
        'ApiExpandTemplates' => 'includes/api/ApiExpandTemplates.php',
        'ApiFeedContributions' => 'includes/api/ApiFeedContributions.php',
+       'ApiFeedRecentChanges' => 'includes/api/ApiFeedRecentChanges.php',
        'ApiFeedWatchlist' => 'includes/api/ApiFeedWatchlist.php',
        'ApiFileRevert' => 'includes/api/ApiFileRevert.php',
        'ApiFormatBase' => 'includes/api/ApiFormatBase.php',
@@ -392,6 +394,7 @@ $wgAutoloadLocalClasses = array(
        'EnhancedChangesList' => 'includes/changes/EnhancedChangesList.php',
        'OldChangesList' => 'includes/changes/OldChangesList.php',
        'RCCacheEntry' => 'includes/changes/RCCacheEntry.php',
+       'RCCacheEntryFactory' => 'includes/changes/RCCacheEntryFactory.php',
        'RecentChange' => 'includes/changes/RecentChange.php',
 
        # includes/clientpool
index 0736c50..a5e5364 100644 (file)
@@ -67,10 +67,12 @@ class ChangesFeed {
        /**
         * Generates feed's content
         *
-        * @param $feed ChannelFeed subclass object (generally the one returned by getFeedObject())
-        * @param $rows ResultWrapper object with rows in recentchanges table
-        * @param $lastmod Integer: timestamp of the last item in the recentchanges table (only used for the cache key)
-        * @param $opts FormOptions as in SpecialRecentChanges::getDefaultOptions()
+        * @param ChannelFeed $feed ChannelFeed subclass object (generally the one returned
+        *   by getFeedObject())
+        * @param ResultWrapper $rows ResultWrapper object with rows in recentchanges table
+        * @param int $lastmod Timestamp of the last item in the recentchanges table (only
+        *   used for the cache key)
+        * @param FormOptions $opts As in SpecialRecentChanges::getDefaultOptions()
         * @return null|bool True or null
         */
        public function execute( $feed, $rows, $lastmod, $opts ) {
@@ -160,14 +162,28 @@ class ChangesFeed {
        }
 
        /**
-        * Generate the feed items given a row from the database.
+        * Generate the feed items given a row from the database, printing the feed.
         * @param $rows DatabaseBase resource with recentchanges rows
         * @param $feed Feed object
         */
        public static function generateFeed( $rows, &$feed ) {
                wfProfileIn( __METHOD__ );
-
+               $items = self::buildItems( $rows );
                $feed->outHeader();
+               foreach ( $items as $item ) {
+                       $feed->outItem( $item );
+               }
+               $feed->outFooter();
+               wfProfileOut( __METHOD__ );
+       }
+
+       /**
+        * Generate the feed items given a row from the database.
+        * @param $rows DatabaseBase resource with recentchanges rows
+        */
+       public static function buildItems( $rows ) {
+               wfProfileIn( __METHOD__ );
+               $items = array();
 
                # Merge adjacent edits by one user
                $sorted = array();
@@ -187,7 +203,10 @@ class ChangesFeed {
 
                foreach ( $sorted as $obj ) {
                        $title = Title::makeTitle( $obj->rc_namespace, $obj->rc_title );
-                       $talkpage = MWNamespace::canTalk( $obj->rc_namespace ) ? $title->getTalkPage()->getFullURL() : '';
+                       $talkpage = MWNamespace::canTalk( $obj->rc_namespace )
+                               ? $title->getTalkPage()->getFullURL()
+                               : '';
+
                        // Skip items with deleted content (avoids partially complete/inconsistent output)
                        if ( $obj->rc_deleted ) {
                                continue;
@@ -203,7 +222,7 @@ class ChangesFeed {
                                $url = $title->getFullURL();
                        }
 
-                       $item = new FeedItem(
+                       $items[] = new FeedItem(
                                $title->getPrefixedText(),
                                FeedUtils::formatDiff( $obj ),
                                $url,
@@ -212,10 +231,9 @@ class ChangesFeed {
                                        ? wfMessage( 'rev-deleted-user' )->escaped() : $obj->rc_user_text,
                                $talkpage
                        );
-                       $feed->outItem( $item );
                }
-               $feed->outFooter();
+
                wfProfileOut( __METHOD__ );
+               return $items;
        }
-
 }
index 0a238a8..50db6c7 100644 (file)
@@ -15,7 +15,7 @@
  * performed in LocalSettings.php.
  *
  * Documentation is in the source and on:
- * http://www.mediawiki.org/wiki/Manual:Configuration_settings
+ * https://www.mediawiki.org/wiki/Manual:Configuration_settings
  *
  * @warning  Note: this (and other things) will break if the autoloader is not
  * enabled. Please include includes/AutoLoader.php before including this file.
@@ -2256,7 +2256,7 @@ $wgInvalidateCacheOnLocalSettingsChange = true;
  * although they are referred to as Squid settings for historical reasons.
  *
  * Achieving a high hit ratio with an HTTP proxy requires special
- * configuration. See http://www.mediawiki.org/wiki/Manual:Squid_caching for
+ * configuration. See https://www.mediawiki.org/wiki/Manual:Squid_caching for
  * more details.
  *
  * @{
@@ -2264,7 +2264,7 @@ $wgInvalidateCacheOnLocalSettingsChange = true;
 
 /**
  * Enable/disable Squid.
- * See http://www.mediawiki.org/wiki/Manual:Squid_caching
+ * See https://www.mediawiki.org/wiki/Manual:Squid_caching
  */
 $wgUseSquid = false;
 
@@ -3491,9 +3491,21 @@ $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
 
 /**
  * The interwiki prefix of the current wiki, or false if it doesn't have one.
+ *
+ * @deprecated since 1.23; use $wgLocalInterwikis instead
  */
 $wgLocalInterwiki = false;
 
+/**
+ * Array for multiple $wgLocalInterwiki values, in case there are several
+ * interwiki prefixes that point to the current wiki. If $wgLocalInterwiki is
+ * set, its value is prepended to this array, for backwards compatibility.
+ *
+ * Note, recent changes feeds use only the first entry in this array (or
+ * $wgLocalInterwiki, if it is set). See $wgRCFeeds
+ */
+$wgLocalInterwikis = array();
+
 /**
  * Expiry time for cache of interwiki table
  */
@@ -3915,7 +3927,7 @@ $wgTranscludeCacheExpiry = 3600;
  *         if $wgUseCommaCount is false, it will be 'link', if it is true
  *         it will be 'comma'
  *
- * See also See http://www.mediawiki.org/wiki/Manual:Article_count
+ * See also See https://www.mediawiki.org/wiki/Manual:Article_count
  *
  * Retroactively changing this variable will not affect the existing count,
  * to update it, you will need to run the maintenance/updateArticleCount.php
@@ -4161,7 +4173,7 @@ $wgBlockDisablesLogin = false;
  *
  * @note Also that this will only protect _pages in the wiki_. Uploaded files
  * will remain readable. You can use img_auth.php to protect uploaded files,
- * see http://www.mediawiki.org/wiki/Manual:Image_Authorization
+ * see https://www.mediawiki.org/wiki/Manual:Image_Authorization
  */
 $wgWhitelistRead = false;
 
@@ -4898,7 +4910,7 @@ $wgUseTeX = false;
  */
 
 /**
- * Filename for debug logging. See http://www.mediawiki.org/wiki/How_to_debug
+ * Filename for debug logging. See https://www.mediawiki.org/wiki/How_to_debug
  * The debug log file should be not be publicly accessible if it is used, as it
  * may contain private data.
  */
@@ -5185,7 +5197,7 @@ $wgParserTestFiles = array(
  *
  * Something like this:
  * $wgParserTestRemote = array(
- *     'api-url' => 'http://www.mediawiki.org/w/api.php',
+ *     'api-url' => 'https://www.mediawiki.org/w/api.php',
  *     'repo'    => 'MediaWiki',
  *     'suite'   => 'ParserTests',
  *     'path'    => '/trunk/phase3', // not used client-side; for reference
@@ -5578,8 +5590,9 @@ $wgRC2UDPPort = false;
 $wgRC2UDPPrefix = '';
 
 /**
- * If this is set to true, $wgLocalInterwiki will be prepended to links in the
- * IRC feed. If this is set to a string, that string will be used as the prefix.
+ * If this is set to true, the first entry in the $wgLocalInterwikis array (or
+ * the value of $wgLocalInterwiki, if set) will be prepended to links in the IRC
+ * feed. If this is set to a string, that string will be used as the prefix.
  *
  * @deprecated since 1.22, use $wgRCFeeds
  */
@@ -5607,11 +5620,12 @@ $wgRC2UDPOmitBots = false;
  *   * 'omit_bots' -- whether the bot edits should be in the feed
  *  The IRC-specific options are:
  *   * 'add_interwiki_prefix' -- whether the titles should be prefixed with
- *     $wgLocalInterwiki.
+ *     the first entry in the $wgLocalInterwikis array (or the value of
+ *     $wgLocalInterwiki, if set)
  *  The JSON-specific options are:
  *   * 'channel' -- if set, the 'channel' parameter is also set in JSON values.
  *
- *  To ensure backwards-compatability, whenever $wgRC2UDPAddress is set, a
+ *  To ensure backwards-compatibility, whenever $wgRC2UDPAddress is set, a
  *  'default' feed will be created reusing the deprecated $wgRC2UDP* variables.
  *
  * @example $wgRCFeeds['example'] = array(
@@ -6591,7 +6605,7 @@ $wgExemptFromUserRobotsControl = null;
  * Enable the MediaWiki API for convenient access to
  * machine-readable data via api.php
  *
- * See http://www.mediawiki.org/wiki/API
+ * See https://www.mediawiki.org/wiki/API
  */
 $wgEnableAPI = true;
 
index 639ba28..56fe452 100644 (file)
@@ -3,7 +3,7 @@
  * Base classes for dumps and export
  *
  * Copyright © 2003, 2005, 2006 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index 635b04e..d5a9553 100644 (file)
@@ -6,7 +6,7 @@
  * Available feeds are defined in Defines.php
  *
  * Copyright © 2004 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index e447e47..b18e257 100644 (file)
@@ -3,7 +3,7 @@
  * MediaWiki page data importer.
  *
  * Copyright © 2003,2005 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index e6d6ebf..60aa33c 100644 (file)
@@ -97,9 +97,9 @@ function wfPHPVersionError( $type ) {
                </p>
                <p>
                        If for some reason you are unable to upgrade your PHP version, you will need to
-                       <a href="http://www.mediawiki.org/wiki/Download">download</a> an older version
+                       <a href="https://www.mediawiki.org/wiki/Download">download</a> an older version
                        of MediaWiki from our website.  See our
-                       <a href="http://www.mediawiki.org/wiki/Compatibility#PHP">compatibility page</a>
+                       <a href="https://www.mediawiki.org/wiki/Compatibility#PHP">compatibility page</a>
                        for details of which versions are compatible with prior versions of PHP.
                </p>
                </div>
index d6cc8a3..bcb88e9 100644 (file)
@@ -3,7 +3,7 @@
  * Page protection
  *
  * Copyright © 2005 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index 0de8cda..90548fe 100644 (file)
@@ -3,7 +3,7 @@
  * HTML sanitizer for %MediaWiki.
  *
  * Copyright © 2002-2005 Brion Vibber <brion@pobox.com> et al
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index 209edef..d7438e5 100644 (file)
@@ -265,6 +265,10 @@ if ( $wgSkipSkin ) {
        $wgSkipSkins[] = $wgSkipSkin;
 }
 
+if ( $wgLocalInterwiki ) {
+       array_unshift( $wgLocalInterwikis, $wgLocalInterwiki );
+}
+
 # Set default shared prefix
 if ( $wgSharedPrefix === false ) {
        $wgSharedPrefix = $wgDBprefix;
index 780b228..bf572d0 100644 (file)
@@ -1738,6 +1738,19 @@ abstract class BaseTemplate extends QuickTemplate {
                return $boxes;
        }
 
+       /**
+        * @param string $name
+        */
+       protected function renderAfterPortlet( $name ) {
+               $content = '';
+               wfRunHooks( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) );
+
+               if ( $content !== '' ) {
+                       echo "<div class='after-portlet after-portlet-$name'>$content</div>";
+               }
+
+       }
+
        /**
         * Makes a link, usually used by makeListItem to generate a link for an item
         * in a list used in navigation lists, portlets, portals, sidebars, etc...
index a705aaa..c85a006 100644 (file)
@@ -3200,7 +3200,7 @@ class Title {
         * @return Bool true on success
         */
        private function secureAndSplit() {
-               global $wgContLang, $wgLocalInterwiki;
+               global $wgContLang, $wgLocalInterwikis;
 
                # Initialisation
                $this->mInterwiki = '';
@@ -3273,17 +3273,17 @@ class Title {
                                        $this->mInterwiki = $wgContLang->lc( $p );
 
                                        # Redundant interwiki prefix to the local wiki
-                                       if ( $wgLocalInterwiki !== false
-                                               && 0 == strcasecmp( $this->mInterwiki, $wgLocalInterwiki )
-                                       ) {
-                                               if ( $dbkey == '' ) {
-                                                       # Can't have an empty self-link
-                                                       return false;
+                                       foreach ( $wgLocalInterwikis as $localIW ) {
+                                               if ( 0 == strcasecmp( $this->mInterwiki, $localIW ) ) {
+                                                       if ( $dbkey == '' ) {
+                                                               # Can't have an empty self-link
+                                                               return false;
+                                                       }
+                                                       $this->mInterwiki = '';
+                                                       $firstPass = false;
+                                                       # Do another namespace split...
+                                                       continue 2;
                                                }
-                                               $this->mInterwiki = '';
-                                               $firstPass = false;
-                                               # Do another namespace split...
-                                               continue;
                                        }
 
                                        # If there's an initial colon after the interwiki, that also
index 399facf..01366f4 100644 (file)
@@ -3,7 +3,7 @@
  * Deal with importing all those nasty globals and things
  *
  * Copyright © 2003 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index da4416d..4739753 100644 (file)
@@ -127,7 +127,7 @@ class WikiMap {
 class WikiReference {
        private $mMinor; ///< 'en', 'meta', 'mediawiki', etc
        private $mMajor; ///< 'wiki', 'wiktionary', etc
-       private $mCanonicalServer; ///< canonical server URL, e.g. 'http://www.mediawiki.org'
+       private $mCanonicalServer; ///< canonical server URL, e.g. 'https://www.mediawiki.org'
        private $mServer; ///< server URL, may be protocol-relative, e.g. '//www.mediawiki.org'
        private $mPath;   ///< path, '/wiki/$1'
 
diff --git a/includes/api/ApiFeedRecentChanges.php b/includes/api/ApiFeedRecentChanges.php
new file mode 100644 (file)
index 0000000..f1c1bf3
--- /dev/null
@@ -0,0 +1,203 @@
+<?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
+ * @since 1.23
+ */
+
+/**
+ * Recent changes feed.
+ *
+ * @ingroup API
+ */
+class ApiFeedRecentChanges extends ApiBase {
+
+       /**
+        * This module uses a custom feed wrapper printer.
+        *
+        * @return ApiFormatFeedWrapper
+        */
+       public function getCustomPrinter() {
+               return new ApiFormatFeedWrapper( $this->getMain() );
+       }
+
+       /**
+        * Format the rows (generated by SpecialRecentchanges or SpecialRecentchangeslinked)
+        * as an RSS/Atom feed.
+        */
+       public function execute() {
+               global $wgFeed, $wgFeedClasses;
+
+               $this->params = $this->extractRequestParams();
+
+               if ( !$wgFeed ) {
+                       $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' );
+               }
+
+               if ( !isset( $wgFeedClasses[$this->params['feedformat']] ) ) {
+                       $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' );
+               }
+
+               $feedFormat = $this->params['feedformat'];
+               $specialClass = $this->params['target'] !== null
+                       ? 'SpecialRecentchangeslinked'
+                       : 'SpecialRecentchanges';
+
+               $formatter = $this->getFeedObject( $feedFormat, $specialClass );
+
+               // Everything is passed implicitly via $wgRequest… :(
+               // The row-getting functionality should maybe be factored out of ChangesListSpecialPage too…
+               $rc = new $specialClass();
+               $rows = $rc->getRows();
+
+               $feedItems = $rows ? ChangesFeed::buildItems( $rows ) : array();
+
+               ApiFormatFeedWrapper::setResult( $this->getResult(), $formatter, $feedItems );
+       }
+
+       /**
+        * Return a ChannelFeed object.
+        *
+        * @param string $feedFormat Feed's format (either 'rss' or 'atom')
+        * @param string $specialClass Relevant special page name (either 'SpecialRecentchanges' or
+        *     'SpecialRecentchangeslinked')
+        * @return ChannelFeed
+        */
+       public function getFeedObject( $feedFormat, $specialClass ) {
+               if ( $specialClass === 'SpecialRecentchangeslinked' ) {
+                       $title = Title::newFromText( $this->params['target'] );
+                       $feed = new ChangesFeed( $feedFormat, false );
+                       $feedObj = $feed->getFeedObject(
+                               $this->msg( 'recentchangeslinked-title', $title->getPrefixedText() )
+                                       ->inContentLanguage()->text(),
+                               $this->msg( 'recentchangeslinked-feed' )->inContentLanguage()->text(),
+                               SpecialPage::getTitleFor( 'Recentchangeslinked' )->getFullURL()
+                       );
+               } else {
+                       $feed = new ChangesFeed( $feedFormat, 'rcfeed' );
+                       $feedObj = $feed->getFeedObject(
+                               $this->msg( 'recentchanges' )->inContentLanguage()->text(),
+                               $this->msg( 'recentchanges-feed-description' )->inContentLanguage()->text(),
+                               SpecialPage::getTitleFor( 'Recentchanges' )->getFullURL()
+                       );
+               }
+
+               return $feedObj;
+       }
+
+       public function getAllowedParams() {
+               global $wgFeedClasses, $wgAllowCategorizedRecentChanges, $wgFeedLimit;
+               $feedFormatNames = array_keys( $wgFeedClasses );
+
+               $ret = array(
+                       'feedformat' => array(
+                               ApiBase::PARAM_DFLT => 'rss',
+                               ApiBase::PARAM_TYPE => $feedFormatNames,
+                       ),
+
+                       'namespace' => array(
+                               ApiBase::PARAM_TYPE => 'namespace',
+                       ),
+                       'invert' => false,
+                       'associated' => false,
+
+                       'days' => array(
+                               ApiBase::PARAM_DFLT => 7,
+                               ApiBase::PARAM_MIN => 1,
+                               ApiBase::PARAM_TYPE => 'integer',
+                       ),
+                       'limit' => array(
+                               ApiBase::PARAM_DFLT => 50,
+                               ApiBase::PARAM_MIN => 1,
+                               ApiBase::PARAM_MAX => $wgFeedLimit,
+                               ApiBase::PARAM_TYPE => 'integer',
+                       ),
+                       'from' => array(
+                               ApiBase::PARAM_TYPE => 'timestamp',
+                       ),
+
+                       'hideminor' => false,
+                       'hidebots' => false,
+                       'hideanons' => false,
+                       'hideliu' => false,
+                       'hidepatrolled' => false,
+                       'hidemyself' => false,
+
+                       'tagfilter' => array(
+                               ApiBase::PARAM_TYPE => 'string',
+                       ),
+
+                       'target' => array(
+                               ApiBase::PARAM_TYPE => 'string',
+                       ),
+                       'showlinkedto' => false,
+               );
+
+               if ( $wgAllowCategorizedRecentChanges ) {
+                       $ret += array(
+                               'categories' => array(
+                                       ApiBase::PARAM_TYPE => 'string',
+                                       ApiBase::PARAM_ISMULTI => true,
+                               ),
+                               'categories_any' => false,
+                       );
+               }
+
+               return $ret;
+       }
+
+       public function getParamDescription() {
+               return array(
+                       'feedformat' => 'The format of the feed',
+                       'namespace' => 'Namespace to limit the results to',
+                       'invert' => 'All namespaces but the selected one',
+                       'associated' => 'Include associated (talk or main) namespace',
+                       'days' => 'Days to limit the results to',
+                       'limit' => 'Maximum number of results to return',
+                       'from' => 'Show changes since then',
+                       'hideminor' => 'Hide minor changes',
+                       'hidebots' => 'Hide changes made by bots',
+                       'hideanons' => 'Hide changes made by anonymous users',
+                       'hideliu' => 'Hide changes made by registered users',
+                       'hidepatrolled' => 'Hide patrolled changes',
+                       'hidemyself' => 'Hide changes made by yourself',
+                       'tagfilter' => 'Filter by tag',
+                       'target' => 'Show only changes on pages linked from this page',
+                       'showlinkedto' => 'Show changes on pages linked to the selected page instead',
+                       'categories' => 'Show only changes on pages in all of these categories',
+                       'categories_any' => 'Show only changes on pages in any of the categories instead',
+               );
+       }
+
+       public function getDescription() {
+               return 'Returns a recent changes feed';
+       }
+
+       public function getPossibleErrors() {
+               return array_merge( parent::getPossibleErrors(), array(
+                       array( 'code' => 'feed-unavailable', 'info' => 'Syndication feeds are not available' ),
+                       array( 'code' => 'feed-invalid', 'info' => 'Invalid subscription feed type' ),
+               ) );
+       }
+
+       public function getExamples() {
+               return array(
+                       'api.php?action=feedrecentchanges',
+                       'api.php?action=feedrecentchanges&days=30'
+               );
+       }
+}
index 1a11b52..8f270dc 100644 (file)
@@ -56,6 +56,7 @@ class ApiMain extends ApiBase {
                'parse' => 'ApiParse',
                'opensearch' => 'ApiOpenSearch',
                'feedcontributions' => 'ApiFeedContributions',
+               'feedrecentchanges' => 'ApiFeedRecentChanges',
                'feedwatchlist' => 'ApiFeedWatchlist',
                'help' => 'ApiHelp',
                'paraminfo' => 'ApiParamInfo',
@@ -362,37 +363,7 @@ class ApiMain extends ApiBase {
                try {
                        $this->executeAction();
                } catch ( Exception $e ) {
-                       // Allow extra cleanup and logging
-                       wfRunHooks( 'ApiMain::onException', array( $this, $e ) );
-
-                       // Log it
-                       if ( !( $e instanceof UsageException ) ) {
-                               MWExceptionHandler::logException( $e );
-                       }
-
-                       // Handle any kind of exception by outputting properly formatted error message.
-                       // If this fails, an unhandled exception should be thrown so that global error
-                       // handler will process and log it.
-
-                       $errCode = $this->substituteResultWithError( $e );
-
-                       // Error results should not be cached
-                       $this->setCacheMode( 'private' );
-
-                       $response = $this->getRequest()->response();
-                       $headerStr = 'MediaWiki-API-Error: ' . $errCode;
-                       if ( $e->getCode() === 0 ) {
-                               $response->header( $headerStr );
-                       } else {
-                               $response->header( $headerStr, true, $e->getCode() );
-                       }
-
-                       // Reset and print just the error message
-                       ob_clean();
-
-                       // If the error occurred during printing, do a printer->profileOut()
-                       $this->mPrinter->safeProfileOut();
-                       $this->printResult( true );
+                       $this->handleException( $e );
                }
 
                // Log the request whether or not there was an error
@@ -409,6 +380,73 @@ class ApiMain extends ApiBase {
                ob_end_flush();
        }
 
+       /**
+        * Handle an exception as an API response
+        *
+        * @since 1.23
+        * @param Exception $e
+        */
+       protected function handleException( Exception $e ) {
+               // Allow extra cleanup and logging
+               wfRunHooks( 'ApiMain::onException', array( $this, $e ) );
+
+               // Log it
+               if ( !( $e instanceof UsageException ) ) {
+                       MWExceptionHandler::logException( $e );
+               }
+
+               // Handle any kind of exception by outputting properly formatted error message.
+               // If this fails, an unhandled exception should be thrown so that global error
+               // handler will process and log it.
+
+               $errCode = $this->substituteResultWithError( $e );
+
+               // Error results should not be cached
+               $this->setCacheMode( 'private' );
+
+               $response = $this->getRequest()->response();
+               $headerStr = 'MediaWiki-API-Error: ' . $errCode;
+               if ( $e->getCode() === 0 ) {
+                       $response->header( $headerStr );
+               } else {
+                       $response->header( $headerStr, true, $e->getCode() );
+               }
+
+               // Reset and print just the error message
+               ob_clean();
+
+               // If the error occurred during printing, do a printer->profileOut()
+               $this->mPrinter->safeProfileOut();
+               $this->printResult( true );
+       }
+
+       /**
+        * Handle an exception from the ApiBeforeMain hook.
+        *
+        * This tries to print the exception as an API response, to be more
+        * friendly to clients. If it fails, it will rethrow the exception.
+        *
+        * @since 1.23
+        * @param Exception $e
+        */
+       public static function handleApiBeforeMainException( Exception $e ) {
+               ob_start();
+
+               try {
+                       $main = new self( RequestContext::getMain(), false );
+                       $main->handleException( $e );
+               } catch ( Exception $e2 ) {
+                       // Nope, even that didn't work. Punt.
+                       throw $e;
+               }
+
+               // Log the request and reset cache headers
+               $main->logRequest( 0 );
+               $main->sendCacheHeaders();
+
+               ob_end_flush();
+       }
+
        /**
         * Check the &origin= query parameter against the Origin: HTTP header and respond appropriately.
         *
index df60f02..feb6d7b 100644 (file)
  */
 
 class EnhancedChangesList extends ChangesList {
-       /** @var array Array of array of RCCacheEntry */
+
+       /**
+        * @var RCCacheEntryFactory
+        */
+       protected $cacheEntryFactory;
+
+       /**
+        * @var array Array of array of RCCacheEntry
+        */
        protected $rc_cache;
 
+       /**
+        * @param IContextSource|Skin $obj
+        */
+       public function __construct( $obj ) {
+               if ( $obj instanceof Skin ) {
+                       // @todo: deprecate constructing with Skin
+                       $context = $obj->getContext();
+               } else {
+                       if ( ! $obj instanceof IContextSource ) {
+                               throw new MWException( 'EnhancedChangesList must be constructed with a '
+                                       . 'context source or skin.' );
+                       }
+
+                       $context = $obj;
+               }
+
+               parent::__construct( $context );
+
+               // message is set by the parent ChangesList class
+               $this->cacheEntryFactory = new RCCacheEntryFactory(
+                       $context,
+                       $this->message
+               );
+       }
+
        /**
         * Add the JavaScript file for enhanced changeslist
         * @return string
@@ -73,127 +106,25 @@ class EnhancedChangesList extends ChangesList {
                        $this->lastdate = $date;
                }
 
-               # Create a specialised object
-               $cacheEntry = RCCacheEntry::newFromParent( $baseRC );
-
-               $curIdEq = array( 'curid' => $cacheEntry->mAttribs['rc_cur_id'] );
-
-               # Should patrol-related stuff be shown?
-               $cacheEntry->unpatrolled = $this->showAsUnpatrolled( $cacheEntry );
-
-               $showdifflinks = true;
-
-               # Make article link
-               $type = $cacheEntry->mAttribs['rc_type'];
-               $logType = $cacheEntry->mAttribs['rc_log_type'];
-
-               // 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() );
-               // Log entries
-               } elseif ( $type == RC_LOG ) {
-                       if ( $logType ) {
-                               $logtitle = SpecialPage::getTitleFor( 'Log', $logType );
-                               $logpage = new LogPage( $logType );
-                               $logname = $logpage->getName()->escaped();
-                               $clink = $this->msg( 'parentheses' )
-                                       ->rawParams( Linker::linkKnown( $logtitle, $logname ) )->escaped();
-                       } else {
-                               $clink = Linker::link( $cacheEntry->getTitle() );
-                       }
-                       $watched = false;
-               // Log entries (old format) and special pages
-               } elseif ( $cacheEntry->mAttribs['rc_namespace'] == NS_SPECIAL ) {
-                       wfDebug( "Unexpected special page in recentchanges\n" );
-                       $clink = '';
-               // Edits
-               } else {
-                       $clink = Linker::linkKnown( $cacheEntry->getTitle() );
-               }
-
-               # Don't show unusable diff links
-               if ( !ChangesList::userCan( $cacheEntry, Revision::DELETED_TEXT, $this->getUser() ) ) {
-                       $showdifflinks = false;
-               }
-
-               $time = $this->getLanguage()->userTime( $cacheEntry->mAttribs['rc_timestamp'], $this->getUser() );
-
-               $cacheEntry->watched = $watched;
-               $cacheEntry->link = $clink;
-               $cacheEntry->timestamp = $time;
-               $cacheEntry->numberofWatchingusers = $baseRC->numberofWatchingusers;
-
-               # Make "cur" and "diff" links.  Do not use link(), it is too slow if
-               # called too many times (50% of CPU time on RecentChanges!).
-               $thisOldid = $cacheEntry->mAttribs['rc_this_oldid'];
-               $lastOldid = $cacheEntry->mAttribs['rc_last_oldid'];
-
-               $querycur = $curIdEq + array( 'diff' => '0', 'oldid' => $thisOldid );
-               $querydiff = $curIdEq + array( 'diff' => $thisOldid, 'oldid' => $lastOldid );
-
-               if ( !$showdifflinks ) {
-                       $curLink = $this->message['cur'];
-                       $diffLink = $this->message['diff'];
-               } elseif ( in_array( $type, array( RC_NEW, RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT ) ) ) {
-                       if ( $type != RC_NEW ) {
-                               $curLink = $this->message['cur'];
-                       } else {
-                               $curUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $querycur ) );
-                               $curLink = "<a href=\"$curUrl\" tabindex=\"{$baseRC->counter}\">{$this->message['cur']}</a>";
-                       }
-                       $diffLink = $this->message['diff'];
-               } else {
-                       $diffUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $querydiff ) );
-                       $curUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $querycur ) );
-                       $diffLink = "<a href=\"$diffUrl\" tabindex=\"{$baseRC->counter}\">{$this->message['diff']}</a>";
-                       $curLink = "<a href=\"$curUrl\" tabindex=\"{$baseRC->counter}\">{$this->message['cur']}</a>";
-               }
-
-               # Make "last" link
-               if ( !$showdifflinks || !$lastOldid ) {
-                       $lastLink = $this->message['last'];
-               } elseif ( in_array( $type, array( RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT ) ) ) {
-                       $lastLink = $this->message['last'];
-               } else {
-                       $lastLink = Linker::linkKnown( $cacheEntry->getTitle(), $this->message['last'],
-                               array(), $curIdEq + array( 'diff' => $thisOldid, 'oldid' => $lastOldid ) );
-               }
-
-               # Make user links
-               if ( $this->isDeleted( $cacheEntry, Revision::DELETED_USER ) ) {
-                       $cacheEntry->userlink = ' <span class="history-deleted">' .
-                               $this->msg( 'rev-deleted-user' )->escaped() . '</span>';
-               } else {
-                       $cacheEntry->userlink = Linker::userLink(
-                               $cacheEntry->mAttribs['rc_user'],
-                               $cacheEntry->mAttribs['rc_user_text']
-                       );
-
-                       $cacheEntry->usertalklink = Linker::userToolLinks(
-                               $cacheEntry->mAttribs['rc_user'],
-                               $cacheEntry->mAttribs['rc_user_text']
-                       );
-               }
-
-               $cacheEntry->lastlink = $lastLink;
-               $cacheEntry->curlink = $curLink;
-               $cacheEntry->difflink = $diffLink;
+               $cacheEntry = $this->cacheEntryFactory->newFromRecentChange( $baseRC, $watched );
 
                # Put accumulated information into the cache, for later display
                # Page moves go on their own line
                $title = $cacheEntry->getTitle();
                $secureName = $title->getPrefixedDBkey();
 
+               $type = $cacheEntry->mAttribs['rc_type'];
+
                if ( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) {
                        # Use an @ character to prevent collision with page names
                        $this->rc_cache['@@' . ( $this->rcMoveIndex++ )] = array( $cacheEntry );
                } else {
                        # Logs are grouped by type
                        if ( $type == RC_LOG ) {
-                               $secureName = SpecialPage::getTitleFor( 'Log', $logType )->getPrefixedDBkey();
+                               $secureName = SpecialPage::getTitleFor(
+                                       'Log',
+                                       $cacheEntry->mAttribs['rc_log_type']
+                               )->getPrefixedDBkey();
                        }
                        if ( !isset( $this->rc_cache[$secureName] ) ) {
                                $this->rc_cache[$secureName] = array();
diff --git a/includes/changes/RCCacheEntryFactory.php b/includes/changes/RCCacheEntryFactory.php
new file mode 100644 (file)
index 0000000..49ce1b3
--- /dev/null
@@ -0,0 +1,278 @@
+<?php
+/**
+ * Creates a RCCacheEntry from a RecentChange to use in EnhancedChangesList
+ *
+ * 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
+ */
+
+class RCCacheEntryFactory {
+
+       /* @var IContextSource */
+       private $context;
+
+       /* @var string[] */
+       private $messages;
+
+       /**
+        * @param IContextSource $context
+        * @param string[] $messages
+        */
+       public function __construct( IContextSource $context, $messages ) {
+               $this->context = $context;
+               $this->messages = $messages;
+       }
+
+       /**
+        * @param RecentChange $baseRC
+        * @param boolean $watched
+        *
+        * @return RCCacheEntry
+        */
+       public function newFromRecentChange( RecentChange $baseRC, $watched ) {
+               $user = $this->context->getUser();
+               $counter = $baseRC->counter;
+
+               $cacheEntry = RCCacheEntry::newFromParent( $baseRC );
+
+               // Should patrol-related stuff be shown?
+               $cacheEntry->unpatrolled = ChangesList::isUnpatrolled( $baseRC, $user );
+
+               $cacheEntry->watched = $cacheEntry->mAttribs['rc_type'] == RC_LOG ? false : $watched;
+               $cacheEntry->numberofWatchingusers = $baseRC->numberofWatchingusers;
+
+               $cacheEntry->link = $this->buildCLink( $cacheEntry );
+               $cacheEntry->timestamp = $this->buildTimestamp( $cacheEntry );
+
+               // Make "cur" and "diff" links.  Do not use link(), it is too slow if
+               // called too many times (50% of CPU time on RecentChanges!).
+               $showDiffLinks = $this->showDiffLinks( $cacheEntry, $user );
+
+               $cacheEntry->difflink = $this->buildDiffLink( $cacheEntry, $showDiffLinks, $counter );
+               $cacheEntry->curlink = $this->buildCurLink( $cacheEntry, $showDiffLinks, $counter );
+               $cacheEntry->lastlink = $this->buildLastLink( $cacheEntry, $showDiffLinks );
+
+               // Make user links
+               $cacheEntry->userlink = $this->getUserLink( $cacheEntry );
+
+               if ( !ChangesList::isDeleted( $cacheEntry, Revision::DELETED_USER ) ) {
+                       $cacheEntry->usertalklink = Linker::userToolLinks(
+                               $cacheEntry->mAttribs['rc_user'],
+                               $cacheEntry->mAttribs['rc_user_text']
+                       );
+               }
+
+               return $cacheEntry;
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        * @param User $User
+        *
+        * @return boolean
+        */
+       private function showDiffLinks( RecentChange $cacheEntry, User $user ) {
+               return ChangesList::userCan( $cacheEntry, Revision::DELETED_TEXT, $user );
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        *
+        * @return string
+        */
+       private function buildCLink( RecentChange $cacheEntry ) {
+               $type = $cacheEntry->mAttribs['rc_type'];
+
+               // 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() );
+               // Log entries
+               } elseif ( $type == RC_LOG ) {
+                       $logType = $cacheEntry->mAttribs['rc_log_type'];
+
+                       if ( $logType ) {
+                               $clink = $this->getLogLink( $logType );
+                       } else {
+                               wfDebugLog( 'recentchanges', 'Unexpected log entry with no log type in recent changes' );
+                               $clink = Linker::link( $cacheEntry->getTitle() );
+                       }
+               // Log entries (old format) and special pages
+               } elseif ( $cacheEntry->mAttribs['rc_namespace'] == NS_SPECIAL ) {
+                       wfDebugLog( 'recentchanges', 'Unexpected special page in recentchanges' );
+                       $clink = '';
+               // Edits
+               } else {
+                       $clink = Linker::linkKnown( $cacheEntry->getTitle() );
+               }
+
+               return $clink;
+       }
+
+       private function getLogLink( $logType ) {
+               $logtitle = SpecialPage::getTitleFor( 'Log', $logType );
+               $logpage = new LogPage( $logType );
+               $logname = $logpage->getName()->escaped();
+
+               $logLink = $this->context->msg( 'parentheses' )
+                       ->rawParams( Linker::linkKnown( $logtitle, $logname ) )->escaped();
+
+               return $logLink;
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        *
+        * @return string
+        */
+       private function buildTimestamp( RecentChange $cacheEntry ) {
+               return $this->context->getLanguage()->userTime(
+                       $cacheEntry->mAttribs['rc_timestamp'],
+                       $this->context->getUser()
+               );
+       }
+
+       /**
+        * @param RecentChange $recentChange
+        *
+        * @return array
+        */
+       private function buildCurQueryParams( RecentChange $recentChange ) {
+               return array(
+                       'curid' => $recentChange->mAttribs['rc_cur_id'],
+                       'diff' => 0,
+                       'oldid' => $recentChange->mAttribs['rc_this_oldid']
+               );
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        * @param boolean $showDiffLinks
+        * @param int $counter
+        *
+        * @return string
+        */
+       private function buildCurLink( RecentChange $cacheEntry, $showDiffLinks, $counter ) {
+               $queryParams = $this->buildCurQueryParams( $cacheEntry );
+               $curMessage = $this->getMessage( 'cur' );
+               $logTypes = array( RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT );
+
+               if ( !$showDiffLinks || in_array( $cacheEntry->mAttribs['rc_type'], $logTypes ) ) {
+                       $curLink = $curMessage;
+               } else {
+                       $curUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $queryParams ) );
+                       $curLink = "<a href=\"$curUrl\" tabindex=\"$counter\">$curMessage</a>";
+               }
+
+               return $curLink;
+       }
+
+       /**
+        * @param RecentChange $recentChange
+        *
+        * @return array
+        */
+       private function buildDiffQueryParams( RecentChange $recentChange ) {
+               return array(
+                       'curid' => $recentChange->mAttribs['rc_cur_id'],
+                       'diff' => $recentChange->mAttribs['rc_this_oldid'],
+                       'oldid' => $recentChange->mAttribs['rc_last_oldid']
+               );
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        * @param boolean $showDiffLinks
+        * @param int $counter
+        *
+        * @return string
+        */
+       private function buildDiffLink( RecentChange $cacheEntry, $showDiffLinks, $counter ) {
+               $queryParams = $this->buildDiffQueryParams( $cacheEntry );
+               $diffMessage = $this->getMessage( 'diff' );
+               $logTypes = array( RC_NEW, RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT );
+
+               if ( !$showDiffLinks ) {
+                       $diffLink = $diffMessage;
+               } elseif ( in_array( $cacheEntry->mAttribs['rc_type'], $logTypes ) ) {
+                       $diffLink = $diffMessage;
+               } else {
+                       $diffUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $queryParams ) );
+                       $diffLink = "<a href=\"$diffUrl\" tabindex=\"$counter\">$diffMessage</a>";
+               }
+
+               return $diffLink;
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        * @param boolean $showDiffLinks
+        *
+        * @return string
+        */
+       private function buildLastLink( RecentChange $cacheEntry, $showDiffLinks ) {
+               $lastOldid = $cacheEntry->mAttribs['rc_last_oldid'];
+               $lastMessage = $this->getMessage( 'last' );
+               $type = $cacheEntry->mAttribs['rc_type'];
+               $logTypes = array( RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT );
+
+               // Make "last" link
+               if ( !$showDiffLinks || !$lastOldid || in_array( $type, $logTypes ) ) {
+                       $lastLink = $lastMessage;
+               } else {
+                       $lastLink = Linker::linkKnown(
+                               $cacheEntry->getTitle(),
+                               $lastMessage,
+                               array(),
+                               $this->buildDiffQueryParams( $cacheEntry )
+                       );
+               }
+
+               return $lastLink;
+       }
+
+       /**
+        * @param RecentChange $cacheEntry
+        *
+        * @return string
+        */
+       private function getUserLink( RecentChange $cacheEntry ) {
+               if ( ChangesList::isDeleted( $cacheEntry, Revision::DELETED_USER ) ) {
+                       $userLink = ' <span class="history-deleted">' .
+                               $this->context->msg( 'rev-deleted-user' )->escaped() . '</span>';
+               } else {
+                       $userLink = Linker::userLink(
+                               $cacheEntry->mAttribs['rc_user'],
+                               $cacheEntry->mAttribs['rc_user_text']
+                       );
+               }
+
+               return $userLink;
+       }
+
+       /**
+        * @param string $key
+        *
+        * @return string
+        */
+       private function getMessage( $key ) {
+               return $this->messages[$key];
+       }
+
+}
index 01ad724..072aa12 100644 (file)
@@ -52,7 +52,6 @@
  * mExtra:
  *  prefixedDBkey   prefixed db key, used by external app via msg queue
  *  lastTimestamp   timestamp of previous entry, used in WHERE clause during update
- *  lang            the interwiki prefix, automatically set in save()
  *  oldSize         text size before the change
  *  newSize         text size after the change
  *  pageStatus      status of the page: created, deleted, moved, restored, changed
@@ -231,13 +230,12 @@ class RecentChange {
         * @param $noudp bool
         */
        public function save( $noudp = false ) {
-               global $wgLocalInterwiki, $wgPutIPinRC, $wgUseEnotif, $wgShowUpdatedMarker, $wgContLang;
+               global $wgPutIPinRC, $wgUseEnotif, $wgShowUpdatedMarker, $wgContLang;
 
                $dbw = wfGetDB( DB_MASTER );
                if ( !is_array( $this->mExtra ) ) {
                        $this->mExtra = array();
                }
-               $this->mExtra['lang'] = $wgLocalInterwiki;
 
                if ( !$wgPutIPinRC ) {
                        $this->mAttribs['rc_ip'] = '';
index c5dc882..08e1885 100644 (file)
@@ -3,7 +3,7 @@
  * Helper class for making a copy of the database, mostly for unit testing.
  *
  * Copyright © 2010 Chad Horohoe <chad@anyonecanedit.org>
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
  *
  * 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
index 21c868e..91ab0ca 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * @defgroup Database Database
  *
@@ -1921,12 +1922,12 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
        }
 
        /**
-        * Make UPDATE options for the DatabaseBase::update function
+        * Make UPDATE options array for DatabaseBase::makeUpdateOptions
         *
-        * @param array $options The options passed to DatabaseBase::update
-        * @return string
+        * @param array $options
+        * @return array
         */
-       protected function makeUpdateOptions( $options ) {
+       protected function makeUpdateOptionsArray( $options ) {
                if ( !is_array( $options ) ) {
                        $options = array( $options );
                }
@@ -1941,6 +1942,18 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                        $opts[] = 'IGNORE';
                }
 
+               return $opts;
+       }
+
+       /**
+        * Make UPDATE options for the DatabaseBase::update function
+        *
+        * @param array $options The options passed to DatabaseBase::update
+        * @return string
+        */
+       protected function makeUpdateOptions( $options ) {
+               $opts = $this->makeUpdateOptionsArray( $options );
+
                return implode( ' ', $opts );
        }
 
@@ -2423,11 +2436,12 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                                }
 
                                $retJOIN[] = $tableClause;
-                       // Is there an INDEX clause for this table?
                        } elseif ( isset( $use_index[$alias] ) ) {
+                               // Is there an INDEX clause for this table?
                                $tableClause = $this->tableNameWithAlias( $table, $alias );
                                $tableClause .= ' ' . $this->useIndexClause(
-                                       implode( ',', (array)$use_index[$alias] ) );
+                                       implode( ',', (array)$use_index[$alias] )
+                               );
 
                                $ret[] = $tableClause;
                        } else {
index 163554b..e304a34 100644 (file)
@@ -1418,7 +1418,8 @@ class MssqlBlob extends Blob {
                }
 
                $ret = '0x';
-               for ( $i = 0; $i < strlen( $this->mData ); $i++ ) {
+               $dataLength = strlen( $this->mData );
+               for ( $i = 0; $i < $dataLength; $i++ ) {
                        $ret .= bin2hex( pack( 'C', ord( $this->mData[$i] ) ) );
                }
 
index cad7caf..998dd75 100644 (file)
@@ -794,7 +794,9 @@ class DatabaseOracle extends DatabaseBase {
                        // add sequence column to each list of columns, when not set
                        foreach ( $rows as &$row ) {
                                if ( !isset( $row[$sequenceData['column']] ) ) {
-                                       $row[$sequenceData['column']] = $this->addIdentifierQuotes('GET_SEQUENCE_VALUE(\'' . $sequenceData['sequence'] . '\')');
+                                       $row[$sequenceData['column']] =
+                                               $this->addIdentifierQuotes( 'GET_SEQUENCE_VALUE(\'' .
+                                                       $sequenceData['sequence'] . '\')' );
                                }
                        }
                }
index 0fa29a1..3313d25 100644 (file)
@@ -522,10 +522,11 @@ class DatabaseSqlite extends DatabaseBase {
         * @param array $options
         * @return string
         */
-       protected function makeUpdateOptions( $options ) {
+       protected function makeUpdateOptionsArray( $options ) {
+               $options = parent::makeUpdateOptionsArray( $options );
                $options = self::fixIgnore( $options );
 
-               return parent::makeUpdateOptions( $options );
+               return $options;
        }
 
        /**
index 3e2a09e..21505a8 100644 (file)
@@ -36,8 +36,8 @@
  * the HTML for the input field to be placed in the table.
  *
  * You can find extensive documentation on the www.mediawiki.org wiki:
- *  - http://www.mediawiki.org/wiki/HTMLForm
- *  - http://www.mediawiki.org/wiki/HTMLForm/tutorial
+ *  - https://www.mediawiki.org/wiki/HTMLForm
+ *  - https://www.mediawiki.org/wiki/HTMLForm/tutorial
  *
  * The constructor input is an associative array of $fieldname => $info,
  * where $info is an Associative Array with any of the following:
@@ -118,10 +118,11 @@ class HTMLForm extends ContextSource {
                'edittools' => 'HTMLEditTools',
                'checkmatrix' => 'HTMLCheckMatrix',
                // HTMLTextField will output the correct type="" attribute automagically.
-               // There are about four zillion other HTML5 input types, like url, but
+               // There are about four zillion other HTML5 input types, like range, but
                // we don't use those at the moment, so no point in adding all of them.
                'email' => 'HTMLTextField',
                'password' => 'HTMLTextField',
+               'url' => 'HTMLTextField',
        );
 
        public $mFieldData;
index 57f0a72..e584d88 100644 (file)
@@ -43,9 +43,6 @@ class HTMLTextField extends HTMLFormField {
                # is essentially just a clone of this one.
                if ( isset( $this->mParams['type'] ) ) {
                        switch ( $this->mParams['type'] ) {
-                               case 'email':
-                                       $attribs['type'] = 'email';
-                                       break;
                                case 'int':
                                        $attribs['type'] = 'number';
                                        break;
@@ -54,8 +51,10 @@ class HTMLTextField extends HTMLFormField {
                                        $attribs['step'] = 'any';
                                        break;
                                # Pass through
+                               case 'email':
                                case 'password':
                                case 'file':
+                               case 'url':
                                        $attribs['type'] = $this->mParams['type'];
                                        break;
                        }
index 6d3819c..3250ff8 100644 (file)
@@ -62,7 +62,7 @@ class InstallDocFormatter {
        }
 
        protected function replaceConfigLinks( $matches ) {
-               return '<span class="config-plainlink">[http://www.mediawiki.org/wiki/Manual:' .
+               return '<span class="config-plainlink">[https://www.mediawiki.org/wiki/Manual:' .
                        $matches[1] . ' ' . $matches[1] . ']</span>';
        }
 }
index 77c35b8..fe036ad 100644 (file)
@@ -264,7 +264,7 @@ class LocalSettingsGenerator {
 # file, not there.
 #
 # Further documentation for configuration settings may be found at:
-# http://www.mediawiki.org/wiki/Manual:Configuration_settings
+# https://www.mediawiki.org/wiki/Manual:Configuration_settings
 
 # Protect against web entry
 if ( !defined( 'MEDIAWIKI' ) ) {
@@ -280,7 +280,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 ## defaults for all runtime URL paths are based off of this.
 ## For more information on customizing the URLs
 ## (like /w/index.php/Page_title to /wiki/Page_title) please see:
-## http://www.mediawiki.org/wiki/Manual:Short_URL
+## https://www.mediawiki.org/wiki/Manual:Short_URL
 \$wgScriptPath = \"{$this->values['wgScriptPath']}\";
 \$wgScriptExtension = \"{$this->values['wgScriptExtension']}\";
 ${serverSetting}
index 25634ba..e05a3d4 100644 (file)
@@ -306,7 +306,7 @@ class WebInstallerOutput {
 <div id="mw-panel">
        <div class="portal" id="p-logo">
          <a style="background-image: url(../skins/common/images/mediawiki.png);"
-               href="http://www.mediawiki.org/"
+               href="https://www.mediawiki.org/"
                title="Main Page"></a>
        </div>
        <div class="portal"><div class="body">
index ddbb548..22ddfb8 100644 (file)
@@ -30,7 +30,7 @@ class IRCColourfulRCFeedFormatter implements RCFeedFormatter {
         * @see RCFeedFormatter::getLine
         */
        public function getLine( array $feed, RecentChange $rc, $actionComment ) {
-               global $wgUseRCPatrol, $wgUseNPPatrol, $wgLocalInterwiki,
+               global $wgUseRCPatrol, $wgUseNPPatrol, $wgLocalInterwikis,
                        $wgCanonicalServer, $wgScript;
                $attribs = $rc->getAttributes();
                if ( $attribs['rc_type'] == RC_LOG ) {
@@ -88,8 +88,9 @@ class IRCColourfulRCFeedFormatter implements RCFeedFormatter {
                        $flag .= ( $attribs['rc_type'] == RC_NEW ? "N" : "" ) . ( $attribs['rc_minor'] ? "M" : "" ) . ( $attribs['rc_bot'] ? "B" : "" );
                }
 
-               if ( $feed['add_interwiki_prefix'] === true && $wgLocalInterwiki !== false ) {
-                       $prefix = $wgLocalInterwiki;
+               if ( $feed['add_interwiki_prefix'] === true && $wgLocalInterwikis ) {
+                       // we use the first entry in $wgLocalInterwikis in recent changes feeds
+                       $prefix = $wgLocalInterwikis[0];
                } elseif ( $feed['add_interwiki_prefix'] ) {
                        $prefix = $feed['add_interwiki_prefix'];
                } else {
index 4e2556c..888829a 100644 (file)
  * @ingroup SpecialPage
  */
 abstract class ChangesListSpecialPage extends SpecialPage {
-       var $rcSubpage, $rcOptions; // @todo Rename these, make protected
-       protected $customFilters;
+       /** @var string */
+       protected $rcSubpage;
 
-       /**
-        * The feed format to output as (either 'rss' or 'atom'), or null if no
-        * feed output was requested
-        *
-        * @var string $feedFormat
-        */
-       protected $feedFormat;
+       /** @var FormOptions */
+       protected $rcOptions;
+
+       /** @var array */
+       protected $customFilters;
 
        /**
         * Main execution point
@@ -46,19 +44,13 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         */
        public function execute( $subpage ) {
                $this->rcSubpage = $subpage;
-               $this->feedFormat = $this->including() ? null : $this->getRequest()->getVal( 'feed' );
-               if ( $this->feedFormat !== 'atom' && $this->feedFormat !== 'rss' ) {
-                       $this->feedFormat = null;
-               }
 
                $this->setHeaders();
                $this->outputHeader();
                $this->addModules();
 
+               $rows = $this->getRows();
                $opts = $this->getOptions();
-               // Fetch results, prepare a batch link existence check query
-               $conds = $this->buildMainQueryConds( $opts );
-               $rows = $this->doMainQuery( $conds, $opts );
                if ( $rows === false ) {
                        if ( !$this->including() ) {
                                $this->doHeader( $opts );
@@ -67,26 +59,30 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                        return;
                }
 
-               if ( !$this->feedFormat ) {
-                       $batch = new LinkBatch;
-                       foreach ( $rows as $row ) {
-                               $batch->add( NS_USER, $row->rc_user_text );
-                               $batch->add( NS_USER_TALK, $row->rc_user_text );
-                               $batch->add( $row->rc_namespace, $row->rc_title );
-                       }
-                       $batch->execute();
-               }
-               if ( $this->feedFormat ) {
-                       list( $changesFeed, $formatter ) = $this->getFeedObject( $this->feedFormat );
-                       /** @var ChangesFeed $changesFeed */
-                       $changesFeed->execute( $formatter, $rows, $this->checkLastModified( $this->feedFormat ), $opts );
-               } else {
-                       $this->webOutput( $rows, $opts );
+               $batch = new LinkBatch;
+               foreach ( $rows as $row ) {
+                       $batch->add( NS_USER, $row->rc_user_text );
+                       $batch->add( NS_USER_TALK, $row->rc_user_text );
+                       $batch->add( $row->rc_namespace, $row->rc_title );
                }
+               $batch->execute();
+
+               $this->webOutput( $rows, $opts );
 
                $rows->free();
        }
 
+       /**
+        * Get the database result for this special page instance. Used by ApiFeedRecentChanges.
+        *
+        * @return bool|ResultWrapper Result or false
+        */
+       public function getRows() {
+               $opts = $this->getOptions();
+               $conds = $this->buildMainQueryConds( $opts );
+               return $this->doMainQuery( $conds, $opts );
+       }
+
        /**
         * Get the current FormOptions for this request
         *
@@ -461,30 +457,6 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                $out->addModules( 'mediawiki.special.changeslist.legend.js' );
        }
 
-       /**
-        * Return an array with a ChangesFeed object and ChannelFeed object.
-        *
-        * This is intentionally not abstract not to require subclasses which don't
-        * use feeds functionality to implement it.
-        *
-        * @param string $feedFormat Feed's format (either 'rss' or 'atom')
-        * @return array
-        */
-       public function getFeedObject( $feedFormat ) {
-               throw new MWException( "Not implemented" );
-       }
-
-       /**
-        * Get last-modified date, for client caching. Not implemented by default
-        * (returns current time).
-        *
-        * @param string $feedFormat
-        * @return string|bool
-        */
-       public function checkLastModified( $feedFormat ) {
-               return wfTimestampNow();
-       }
-
        protected function getGroupName() {
                return 'changes';
        }
index a5710a9..720d0a8 100644 (file)
  * @ingroup SpecialPage
  */
 class SpecialRecentChanges extends ChangesListSpecialPage {
-
+       // @codingStandardsIgnoreStart Needed "useless" override to change parameters.
        public function __construct( $name = 'Recentchanges', $restriction = '' ) {
                parent::__construct( $name, $restriction );
        }
+       // @codingStandardsIgnoreEnd
 
        /**
         * Main execution point
@@ -38,10 +39,19 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
         * @param string $subpage
         */
        public function execute( $subpage ) {
+               // Backwards-compatibility: redirect to new feed URLs
+               $feedFormat = $this->getRequest()->getVal( 'feed' );
+               if ( !$this->including() && $feedFormat ) {
+                       $query = $this->getFeedQuery();
+                       $query['feedformat'] = $feedFormat === 'atom' ? 'atom' : 'rss';
+                       $this->getOutput()->redirect( wfAppendQuery( wfScript( 'api' ), $query ) );
+                       return;
+               }
+
                // 10 seconds server-side caching max
                $this->getOutput()->setSquidMaxage( 10 );
                // Check if the client has a cached version
-               $lastmod = $this->checkLastModified( $this->feedFormat );
+               $lastmod = $this->checkLastModified();
                if ( $lastmod === false ) {
                        return;
                }
@@ -142,8 +152,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
        }
 
        public function validateOptions( FormOptions $opts ) {
-               global $wgFeedLimit;
-               $opts->validateIntBounds( 'limit', 0, $this->feedFormat ? $wgFeedLimit : 5000 );
+               $opts->validateIntBounds( 'limit', 0, 5000 );
                parent::validateOptions( $opts );
        }
 
@@ -244,16 +253,26 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                return $rows;
        }
 
+       public function outputFeedLinks() {
+               $this->addFeedLinks( $this->getFeedQuery() );
+       }
+
        /**
-        * Output feed links.
+        * Get URL query parameters for action=feedrecentchanges API feed of current recent changes view.
+        *
+        * @return array
         */
-       public function outputFeedLinks() {
-               $feedQuery = $this->getFeedQuery();
-               if ( $feedQuery !== '' ) {
-                       $this->getOutput()->setFeedAppendQuery( $feedQuery );
-               } else {
-                       $this->getOutput()->setFeedAppendQuery( false );
-               }
+       private function getFeedQuery() {
+               global $wgFeedLimit;
+               $query = array_filter( $this->getOptions()->getAllValues(), function ( $value ) {
+                       // API handles empty parameters in a different way
+                       return $value !== '';
+               } );
+               $query['action'] = 'feedrecentchanges';
+               if ( $query['limit'] > $wgFeedLimit ) {
+                       $query['limit'] = $wgFeedLimit;
+               }
+               return $query;
        }
 
        /**
@@ -267,7 +286,8 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
                $limit = $opts['limit'];
 
-               $showWatcherCount = $wgRCShowWatchingUsers && $this->getUser()->getOption( 'shownumberswatching' );
+               $showWatcherCount = $wgRCShowWatchingUsers
+                       && $this->getUser()->getOption( 'shownumberswatching' );
                $watcherCache = array();
 
                $dbr = $this->getDB();
@@ -316,7 +336,9 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
                if ( $rows->numRows() === 0 ) {
                        $this->getOutput()->addHtml(
-                               '<div class="mw-changeslist-empty">' . $this->msg( 'recentchanges-noresult' )->parse() . '</div>'
+                               '<div class="mw-changeslist-empty">' .
+                               $this->msg( 'recentchanges-noresult' )->parse() .
+                               '</div>'
                        );
                } else {
                        $this->getOutput()->addHTML( $rclistOutput );
@@ -465,64 +487,14 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
         * Don't use this if we are using the patrol feature, patrol changes don't
         * update the timestamp
         *
-        * @param string $feedFormat
         * @return string|bool
         */
-       public function checkLastModified( $feedFormat ) {
+       public function checkLastModified() {
                $dbr = $this->getDB();
                $lastmod = $dbr->selectField( 'recentchanges', 'MAX(rc_timestamp)', false, __METHOD__ );
-               if ( $feedFormat || !$this->getUser()->useRCPatrol() ) {
-                       if ( $lastmod && $this->getOutput()->checkLastModified( $lastmod ) ) {
-                               # Client cache fresh and headers sent, nothing more to do.
-                               return false;
-                       }
-               }
-
                return $lastmod;
        }
 
-       /**
-        * Return an array with a ChangesFeed object and ChannelFeed object.
-        *
-        * @param string $feedFormat Feed's format (either 'rss' or 'atom')
-        * @return array
-        */
-       public function getFeedObject( $feedFormat ) {
-               $changesFeed = new ChangesFeed( $feedFormat, 'rcfeed' );
-               $formatter = $changesFeed->getFeedObject(
-                       $this->msg( 'recentchanges' )->inContentLanguage()->text(),
-                       $this->msg( 'recentchanges-feed-description' )->inContentLanguage()->text(),
-                       $this->getPageTitle()->getFullURL()
-               );
-
-               return array( $changesFeed, $formatter );
-       }
-
-       /**
-        * Get the query string to append to feed link URLs.
-        *
-        * @return string
-        */
-       public function getFeedQuery() {
-               global $wgFeedLimit;
-
-               $options = $this->getOptions()->getChangedValues();
-
-               // wfArrayToCgi() omits options set to null or false
-               foreach ( $options as &$value ) {
-                       if ( $value === false ) {
-                               $value = '0';
-                       }
-               }
-               unset( $value );
-
-               if ( isset( $options['limit'] ) && $options['limit'] > $wgFeedLimit ) {
-                       $options['limit'] = $wgFeedLimit;
-               }
-
-               return wfArrayToCgi( $options );
-       }
-
        /**
         * Creates the choose namespace selection
         *
@@ -720,7 +692,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        'hideliu' => 'rcshowhideliu',
                        'hidepatrolled' => 'rcshowhidepatr',
                        'hidemyself' => 'rcshowhidemine'
-                 );
+               );
 
                $showhide = array( 'show', 'hide' );
 
index 7cc8d30..c4f40be 100644 (file)
@@ -27,7 +27,8 @@
  * @ingroup SpecialPage
  */
 class SpecialRecentChangesLinked extends SpecialRecentChanges {
-       var $rclTargetTitle;
+       /** @var bool|Title */
+       protected $rclTargetTitle;
 
        function __construct() {
                parent::__construct( 'Recentchangeslinked' );
@@ -55,7 +56,8 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                $outputPage = $this->getOutput();
                $title = Title::newFromURL( $target );
                if ( !$title || $title->isExternal() ) {
-                       $outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )->parse() . '</div>' );
+                       $outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )
+                                       ->parse() . '</div>' );
                        return false;
                }
 
@@ -105,7 +107,9 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                        $opts['tagfilter']
                );
 
-               if ( !wfRunHooks( 'SpecialRecentChangesQuery', array( &$conds, &$tables, &$join_conds, $opts, &$query_options, &$select ) ) ) {
+               if ( !wfRunHooks( 'SpecialRecentChangesQuery',
+                       array( &$conds, &$tables, &$join_conds, $opts, &$query_options, &$select ) )
+               ) {
                        return false;
                }
 
@@ -128,14 +132,20 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                }
 
                // field name prefixes for all the various tables we might want to join with
-               $prefix = array( 'pagelinks' => 'pl', 'templatelinks' => 'tl', 'categorylinks' => 'cl', 'imagelinks' => 'il' );
+               $prefix = array(
+                       'pagelinks' => 'pl',
+                       'templatelinks' => 'tl',
+                       'categorylinks' => 'cl',
+                       'imagelinks' => 'il'
+               );
 
                $subsql = array(); // SELECT statements to combine with UNION
 
                foreach ( $link_tables as $link_table ) {
                        $pfx = $prefix[$link_table];
 
-                       // imagelinks and categorylinks tables have no xx_namespace field, and have xx_to instead of xx_title
+                       // imagelinks and categorylinks tables have no xx_namespace field,
+                       // and have xx_to instead of xx_title
                        if ( $link_table == 'imagelinks' ) {
                                $link_ns = NS_FILE;
                        } elseif ( $link_table == 'categorylinks' ) {
@@ -234,17 +244,6 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
                return $extraOpts;
        }
 
-       public function getFeedObject( $feedFormat ) {
-               $feed = new ChangesFeed( $feedFormat, false );
-               $feedObj = $feed->getFeedObject(
-                       $this->msg( 'recentchangeslinked-title', $this->getTargetTitle()->getPrefixedText() )
-                               ->inContentLanguage()->text(),
-                       $this->msg( 'recentchangeslinked-feed' )->inContentLanguage()->text(),
-                       $this->getPageTitle()->getFullURL()
-               );
-               return array( $feed, $feedObj );
-       }
-
        /**
         * @return Title
         */
index 3599dc6..1d0a302 100644 (file)
@@ -63,29 +63,29 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         */
        static $UILabels = array(
                'revision' => array(
-                       'check-label'   => 'revdelete-hide-text',
-                       'success'               => 'revdelete-success',
-                       'failure'               => 'revdelete-failure',
+                       'check-label' => 'revdelete-hide-text',
+                       'success' => 'revdelete-success',
+                       'failure' => 'revdelete-failure',
                ),
                'archive' => array(
-                       'check-label'   => 'revdelete-hide-text',
-                       'success'               => 'revdelete-success',
-                       'failure'               => 'revdelete-failure',
+                       'check-label' => 'revdelete-hide-text',
+                       'success' => 'revdelete-success',
+                       'failure' => 'revdelete-failure',
                ),
                'oldimage' => array(
-                       'check-label'   => 'revdelete-hide-image',
-                       'success'               => 'revdelete-success',
-                       'failure'               => 'revdelete-failure',
+                       'check-label' => 'revdelete-hide-image',
+                       'success' => 'revdelete-success',
+                       'failure' => 'revdelete-failure',
                ),
                'filearchive' => array(
-                       'check-label'   => 'revdelete-hide-image',
-                       'success'               => 'revdelete-success',
-                       'failure'               => 'revdelete-failure',
+                       'check-label' => 'revdelete-hide-image',
+                       'success' => 'revdelete-success',
+                       'failure' => 'revdelete-failure',
                ),
                'logging' => array(
-                       'check-label'   => 'revdelete-hide-name',
-                       'success'               => 'logdelete-success',
-                       'failure'               => 'logdelete-failure',
+                       'check-label' => 'revdelete-hide-name',
+                       'success' => 'logdelete-success',
+                       'failure' => 'logdelete-failure',
                ),
        );
 
index b89522d..81077a9 100644 (file)
@@ -806,7 +806,7 @@ class SpecialSearch extends SpecialPage {
 
                $t = $result->getTitle();
 
-               $titleSnippet = $result->getTitleSnippet( $terms );
+               $titleSnippet = $result->getTitleSnippet();
 
                if ( $titleSnippet == '' ) {
                        $titleSnippet = null;
@@ -819,7 +819,7 @@ class SpecialSearch extends SpecialPage {
 
                // format redirect if any
                $redirectTitle = $result->getRedirectTitle();
-               $redirectText = $result->getRedirectSnippet( $terms );
+               $redirectText = $result->getRedirectSnippet();
                $redirect = '';
                if ( !is_null( $redirectTitle ) ) {
                        if ( $redirectText == '' ) {
index 0cb83d5..aba0d27 100644 (file)
@@ -58,15 +58,23 @@ class UsercreateTemplate extends BaseTemplate {
                        <section class="mw-form-header">
                                <?php $this->html( 'header' ); /* extensions such as ConfirmEdit add form HTML here */ ?>
                        </section>
+                       <!-- This element is used by the mediawiki.special.userlogin.signup.js module. -->
+                       <div
+                               id="mw-createacct-status-area"
+                               <?php if ( $this->data['message'] ) { ?>
+                                       class="<?php echo $this->data['messagetype']; ?>box"
+                               <?php } else { ?>
+                                       style="display: none;"
+                               <?php } ?>
+                       >
                        <?php if ( $this->data['message'] ) { ?>
-                               <div class="<?php $this->text( 'messagetype' ); ?>box">
                                        <?php if ( $this->data['messagetype'] == 'error' ) { ?>
                                                <strong><?php $this->msg( 'createacct-error' ); ?></strong>
                                                <br />
                                        <?php } ?>
                                        <?php $this->html( 'message' ); ?>
-                               </div>
                        <?php } ?>
+                       </div>
 
                        <div>
                                <label for='wpName2'>
index db7a24e..6cce4ac 100644 (file)
@@ -786,7 +786,7 @@ abstract class UploadBase {
                        return $this->mTitle;
                } elseif ( $blackListedExtensions ||
                                ( $wgCheckFileExtensions && $wgStrictFileExtensions &&
-                                       !$this->checkFileExtensionList( $ext, $wgFileExtensions ) ) ) {
+                                       !$this->checkFileExtension( $this->mFinalExtension, $wgFileExtensions ) ) ) {
                        $this->mBlackListedExtensions = $blackListedExtensions;
                        $this->mTitleError = self::FILETYPE_BADTYPE;
                        $this->mTitle = null;
index a74b167..d4726be 100644 (file)
@@ -166,7 +166,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Recibir copias de os correus que ninvío ta atros usuarios',
 'tog-diffonly' => "No amostrar o conteniu d'a pachina debaixo d'as esferencias",
 'tog-showhiddencats' => 'Amostrar categorías amagatas',
-'tog-noconvertlink' => 'Desactivar a conversión de titol de vinclo',
 'tog-norollbackdiff' => 'No amostrar as diferencias dimpués de revertir',
 'tog-useeditwarning' => "Alvertir-me quan salga d'una pachina d'edición sin alzar os cambios",
 
index 6ba9cc1..b6e6ba6 100644 (file)
@@ -80,7 +80,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Sendan mē gelīcnessa þāra spearcǣrenda þe ic ōðrum brūcendum sende',
 'tog-diffonly' => 'Nā īwan trametes innunge under scādungum',
 'tog-showhiddencats' => 'Īwan gehȳdede floccas',
-'tog-noconvertlink' => 'Ne lǣt hlencena titula āwendunge',
 'tog-norollbackdiff' => 'Forlǣtan scādunge siþþan edweorc sīe gedōn',
 'tog-useeditwarning' => 'Cȳðan mē þǣr ic afare fram adihtunge tramete þe gīet hæbbe unhordoda andwendunga.',
 'tog-prefershttps' => 'Brūc ā sicore þēodednesse þā þū sī inmeldod',
index 57cb6ba..689f479 100644 (file)
@@ -524,7 +524,6 @@ $messages = array(
 'tog-ccmeonemails' => 'أرسل إلي نسخا من الرسائل الإلكترونية التي أرسلها إلى المستخدمين الآخرين',
 'tog-diffonly' => 'لا تعرض محتوى الصفحة أسفل الفرق',
 'tog-showhiddencats' => 'أظهر التصنيفات المخفية',
-'tog-noconvertlink' => 'عطل تحويل عناوين الروابط',
 'tog-norollbackdiff' => 'أزل الفرق بعد إحداث استرجاع',
 'tog-useeditwarning' => 'حذّرني عندما أغادر تحرير صفحة فيها تغييرات لم أحفظها',
 'tog-prefershttps' => 'دائما استخدم اتصالا آمنا بعد الدخول',
index e7b6138..65b3eaf 100644 (file)
@@ -53,7 +53,6 @@ $messages = array(
 'tog-ccmeonemails' => 'sift liya noskha mn rasaail lbarid lelectroni likansiftha lmostkhdimin lkhrin',
 'tog-diffonly' => 'matbiynch mohtawa sfha tht lforoqat',
 'tog-showhiddencats' => 'biyn tsnifat lmkhfiya',
-'tog-noconvertlink' => 'aattl thwil anwan lwslat',
 'tog-norollbackdiff' => 'hiyd lfrq ila drt istirjaa',
 
 'underline-always' => 'Dima',
index 30c128e..623ba8c 100644 (file)
@@ -339,7 +339,6 @@ $messages = array(
 'tog-ccmeonemails' => 'ابعتلى  نسخ من رسايل الايميل اللى بابعتها لليوزرز التانيين',
 'tog-diffonly' => 'ما تبين ش محتوى الصفحة تحت الفروقات',
 'tog-showhiddencats' => 'بين التّصنيفات المستخبية',
-'tog-noconvertlink' => 'عطل تحويل عناوين الوصلات',
 'tog-norollbackdiff' => 'الغى الاختلافات بعد ما تعمل الرول باك',
 'tog-useeditwarning' => 'حذّرنى لما اسيب صفحة تعديل فيها تغييرات مش متسييڤه',
 'tog-prefershttps' => 'إستخدم  وصله متأمنه بعد الدخول',
index 155b66b..63a73ff 100644 (file)
@@ -100,7 +100,6 @@ $messages = array(
 'tog-ccmeonemails' => "Mandame copies de los correos qu'unvio a otros usuarios",
 'tog-diffonly' => 'Nun amosar el conteníu de la páxina embaxo de les diferencies',
 'tog-showhiddencats' => 'Amosar categoríes anubríes',
-'tog-noconvertlink' => 'Desactivar la conversión del títulu del enllaz',
 'tog-norollbackdiff' => 'Desaniciar les diferencies depués de facer una restauración',
 'tog-useeditwarning' => "Avisame cuando salga d'una páxina d'edición con cambios ensin guardar",
 'tog-prefershttps' => 'Usar siempre una conexón segura en aniciando sesión',
index 2062a95..0ae4846 100644 (file)
@@ -298,7 +298,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Адпраўляць мне копіі лістоў, якія я дасылаю іншым удзельнікам',
 'tog-diffonly' => 'Не паказваць зьмест старонкі пад параўнаньнем зьменаў',
 'tog-showhiddencats' => 'Паказваць схаваныя катэгорыі',
-'tog-noconvertlink' => 'Забараніць канвэртацыю назваў спасылак',
 'tog-norollbackdiff' => 'Не паказваць зьмены пасьля выкарыстаньня функцыі адкату',
 'tog-useeditwarning' => 'Папярэджваць мяне, калі я буду пакідаць старонку рэдагаваньня зь незахаванымі зьменамі',
 'tog-prefershttps' => 'Заўсёды карыстацца бясьпечным злучэньнем па ўваходзе ў сыстэму',
@@ -2469,7 +2468,7 @@ $UNWATCHURL
 Выдаленьне такіх старонак было забароненае, каб пазьбегнуць праблемаў у працы {{GRAMMAR:родны|{{SITENAME}}}}.',
 'delete-warning-toobig' => 'Гэтая старонка мае доўгую гісторыю рэдагаваньняў, больш за $1 {{PLURAL:$1|вэрсію|вэрсіі|вэрсіяў}}.
 Яе выдаленьне можа выклікаць праблемы ў працы базы зьвестак {{GRAMMAR:родны|{{SITENAME}}}}; будзьце асьцярожны.',
-'deleting-backlinks-warning' => "'''Увага:''' іншыя старонкі ўключаюць або спасылаюцца на старонку, якую вы зьбіраецеся выдаліць.",
+'deleting-backlinks-warning' => "'''Увага:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|іншыя старонкі]] ўключаюць або спасылаюцца на старонку, якую вы зьбіраецеся выдаліць.",
 
 # Rollback
 'rollback' => 'Адкаціць рэдагаваньні',
@@ -2960,6 +2959,7 @@ $2',
 'thumbnail_image-type' => 'Тып выявы не падтрымліваецца',
 'thumbnail_gd-library' => 'Няпоўная канфігурацыя бібліятэкі GD: няма функцыі $1',
 'thumbnail_image-missing' => 'Верагодна няма файла $1',
+'thumbnail_image-failure-limit' => 'Было зроблена зашмат няўдалых спробаў ($1 ці болей) сфармаваць гэтую мініятуру. Калі ласка, паспрабуйце пазьней.',
 
 # Special:Import
 'import' => 'Імпартаваць старонкі',
@@ -3009,6 +3009,7 @@ $2',
 'import-error-special' => 'Старонка «$1» не была імпартаваная, таму што яна належыць да спэцыяльнай прасторы назваў, старонкі ў якой не дазволеныя.',
 'import-error-invalid' => 'Старонка «$1» не была імпартаваная з-за няслушнасьці назвы.',
 'import-error-unserialize' => 'Не атрымалася дэсэрыялізаваць вэрсію $2 старонкі «$1». Меркавалася, што вэрсія выкарыстоўвала мадэль зьвестак $3 і была сэрыялізавана ў фармаце $4.',
+'import-error-bad-location' => 'Праўка $2, якая выкарыстоўвае мадэль зьместу $3, ня можа быць захаваная ў «$1» гэтай вікі, таму што такая мадэль не падтрымліваецца на гэтай старонцы.',
 'import-options-wrong' => '{{PLURAL:$2|1=Няслушная налада|Няслушныя налады}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'Пазначаная назва карнявой старонкі няслушная.',
 'import-rootpage-nosubpage' => 'Падстаронкі ў прасторы назваў «$1» карнявой старонкі не дазволеныя.',
index 61697d8..4c6801b 100644 (file)
@@ -1621,6 +1621,7 @@ $1",
 'php-uploaddisabledtext' => 'পিএইপি -এ ফাইল আপলোড নিস্ক্রিয় রয়েছে।
 অনুগ্রহ করে file_uploads সেটিং পরীক্ষা করুন।',
 'uploadscripted' => 'এই ফাইলে এমন HTML বা স্ক্রিপ্ট কোড আছে যা একটি ওয়েব ব্রাউজার ভুল বুঝতে পারে।',
+'uploadscriptednamespace' => 'এই SVG ফাইলে অবৈধ নামস্থান "$1" রয়েছে',
 'uploadvirus' => 'এই ফাইলটিতে ভাইরাস আছে! ব্যাখ্যা: $1',
 'uploadjava' => 'এটি একটি ZIP ফরম্যাটের ফাইল, যেখানে একটি জাভা .class ফরম্যাটের ফাইল রয়েছে।
 জাভা ফাইল আপলোডের কোনো অনুমতি নেই, কারণ এই ধরনের ফাইল সিস্টেমে নিরাপত্তা ত্রুটি তৈরী করতে পারে।',
@@ -2170,6 +2171,7 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'watchmethod-list' => 'নজরে রাখা পাতাগুলিতে সাম্প্রতিক পরিবর্তন পরীক্ষা করা হচ্ছে',
 'watchlistcontains' => 'আপনার নজরতালিকায় $1 টি {{PLURAL:$1|পাতা|পাতা}} রয়েছে।',
 'iteminvalidname' => "'$1'নং আইটেমে সমস্যা, অবৈধ নাম...",
+'wlnote2' => '$3, $2 অনুসারে, সর্বশেষ {{PLURAL:$1|ঘণ্টার|<strong>$1</strong> ঘণ্টার}} পরিবর্তন নিচে দেয়া হয়েছে।',
 'wlshowlast' => 'দেখাও সর্বশেষ  $1 ঘন্টা $2 দিন $3',
 'watchlist-options' => 'নজর তালিকা পছন্দসমূহ',
 
@@ -2257,7 +2259,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'এই পাতাটির একটি বৃহৎ সম্পাদনা ইতিহাস রয়েছে, যা $1 {{PLURAL:$1|সংস্করণেরও|সংস্করণেরও}} বেশি।
 এই পাতাটি মুছে ফেললে তা {{SITENAME}} সাইটের ডেটাবেজ সমস্যার কারণ হতে পারে;
 সাবধানতার সাথে এগিয়ে যান।',
-'deleting-backlinks-warning' => "'''সতর্কীকরণ:''' আপনি যেটি মুছে ফেলতে যাচ্ছেন তা অন্যান্য পাতাসমূহের সাথে সংযুক্ত অথবা অন্তর্ভুক্ত করা আছে।",
+'deleting-backlinks-warning' => "'''সতর্কীকরণ:''' আপনি যেটি মুছে ফেলতে যাচ্ছেন তা [[Special:WhatLinksHere/{{FULLPAGENAME}}|অন্যান্য পাতাসমূহে]] সংযুক্ত অথবা অন্তর্ভুক্ত রয়েছে।",
 
 # Rollback
 'rollback' => 'সম্পাদনা ফিরিয়ে নিন',
@@ -2430,6 +2432,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'এই আইপি ঠিকানাটি বর্তমানে বাধাদানকৃত অবস্থায় রয়েছে।
 তথ্যসূত্র হিসেবে সাম্প্রতিক বাধাদান লগের ভুক্তিটি নিচে দেওয়া হলো:',
 'sp-contributions-search' => 'অবদানসমূহের জন্য অনুসন্ধান',
+'sp-contributions-suppresslog' => 'মুছে ফেলা ব্যবহারকারী অবদান',
 'sp-contributions-username' => 'আইপি (IP) ঠিকানা অথবা ব্যবহারকারীর নাম:',
 'sp-contributions-toponly' => 'শুধুমাত্র সেই সম্পাদনাগুলি দেখাও যেগুলো সাম্প্রতিক সংস্করণের অন্তর্ভুক্ত।',
 'sp-contributions-submit' => 'অনুসন্ধান',
@@ -2532,7 +2535,7 @@ $1',
 'change-blocklink' => 'ব্লক অবস্থার পরিবর্তন করুন',
 'contribslink' => 'অবদান',
 'emaillink' => 'ই-মেইল পাঠাও',
-'autoblocker' => 'আপনাকে স্বয়ংক্রিয়ভাবে বাধা দেওয়া হয়েছে, কারণ আপনার আইপি ঠিকানাটি সম্প্রতি "[[User:$1|$1]]" ব্যবহার করেছেন।   $1-কে বাধাদানের কারণ: "$2"',
+'autoblocker' => 'আপনাকে স্বয়ংক্রিয়ভাবে বাধা দেওয়া হয়েছে, কারণ আপনার আইপি ঠিকানাটি সম্প্রতি "[[User:$1|$1]]" ব্যবহার করেছেন। $1-কে বাধাদানের কারণ "$2"',
 'blocklogpage' => 'বাধা দানের লগ',
 'blocklog-showlog' => 'এই ব্যবহারকারীকে পূর্বেও বাধা প্রদান করা হয়েছিলো।
 তথ্যসূত্র হিসেবে তাই পূর্বের বাধাদানের লগটি নিচে প্রদর্শন করা হচ্ছে:',
index f8fdb42..074feb0 100644 (file)
@@ -216,7 +216,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Kas din un eilskrid eus ar posteloù a gasan da implijerien all',
 'tog-diffonly' => "Arabat diskouez danvez ar pennadoù dindan an diforc'hioù",
 'tog-showhiddencats' => 'Diskouez ar rummadoù kuzhet',
-'tog-noconvertlink' => 'Diweredekaat amdroadur an titloù',
 'tog-norollbackdiff' => 'Na ziskouez an diff goude un distaoladenn',
 'tog-useeditwarning' => 'Kas keloù din pa guitaan ur bajenn degaset kemmoù enni hep enrollañ',
 'tog-prefershttps' => "Implijout bepred ur c'hevreadur suraet pa vezit kevreet",
index 795df35..4b6ab4c 100644 (file)
@@ -318,7 +318,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Pošalji mi kopije emailova koje pošaljem drugim korisnicima',
 'tog-diffonly' => 'Ne prikazuj sadržaj stranice ispod prikaza razlika',
 'tog-showhiddencats' => 'Prikaži skrivene kategorije',
-'tog-noconvertlink' => 'Onemogući konverziju naslova linkova',
 'tog-norollbackdiff' => 'Nakon vraćanja zanemari prikaz razlika',
 'tog-useeditwarning' => 'Upozori me kada napustim stranicu za izmjene bez spašenih promjena',
 'tog-prefershttps' => 'Uvijek koristi sigurnu konekciju kada sam prijavljen.',
index 0b81c5f..f5237c9 100644 (file)
@@ -240,7 +240,6 @@ $messages = array(
 'tog-ccmeonemails' => "Envia'm còpia dels missatges que enviï als altres usuaris",
 'tog-diffonly' => 'Amaga el contingut de la pàgina davall de la taula de diferències',
 'tog-showhiddencats' => 'Mostra les categories ocultes',
-'tog-noconvertlink' => 'Inhabilita la conversió dels títols dels enllaços',
 'tog-norollbackdiff' => 'Omet la pàgina de diferències després de realitzar una reversió',
 'tog-useeditwarning' => "Avisa'm quan surti d'una pàgina d'edició amb canvis sense desar",
 'tog-prefershttps' => 'Utilitza sempre una connexió segura en iniciar una sessió',
@@ -2392,7 +2391,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 o transclouen de la pàgina que esteu a punt de suprimir.",
+'deleting-backlinks-warning' => "'''Avís:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Altres pàgines]] enllacen o transclouen de la pàgina que esteu a punt de suprimir.",
 
 # Rollback
 'rollback' => 'Reverteix edicions',
index 5b8e0ba..37210cd 100644 (file)
@@ -355,7 +355,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Дlадахьийта суна исанна кехат, аса дохьуьйтуш долу кхечу декъашхошна.',
 'tog-diffonly' => 'Ма гайта агlон чулацам шина башхонца цхьатерра йолуш',
 'tog-showhiddencats' => 'Гайта къайлаха йолу категореш',
-'tog-noconvertlink' => 'Хааман хьажораг кхуллу гӀирс дӀабайа',
 'tog-norollbackdiff' => 'Юха яккхиначул тӀаьхьа ма гайта версешан башхо',
 'tog-useeditwarning' => 'Хаамбе бина хийцамаш дӀаязцабеш аса болх дӀатосучу хенахь',
 'tog-prefershttps' => 'Даима лела йе лардина системин чудалар',
@@ -574,8 +573,8 @@ $1',
 'policy-url' => 'Project:Бакъо',
 'portal' => 'Юкъараллин ков',
 'portal-url' => 'Project:Юкъараллин ков',
-'privacy' => 'Ð\9fолиÑ\82ика ÐºÑ\8aайлаÑ\85а',
-'privacypage' => 'Project:Ð\9fолиÑ\82ика ÐºÑ\8aайлаÑ\85а',
+'privacy' => 'Ð\9aÑ\8aайлаÑ\85а Ð¿Ð¾Ð»Ð¸Ñ\82ика',
+'privacypage' => 'Project:Ð\9aÑ\8aайлаÑ\85а Ð¿Ð¾Ð»Ð¸Ñ\82ика',
 
 'badaccess' => 'ТӀекхачарехь гӀалат',
 'badaccess-group0' => 'Шуьга кхочуш далур дац дехарца деш дерг',
@@ -712,9 +711,16 @@ URL язъеш гӀалат даьлла хила мега.
 'ns-specialprotected' => 'ХӀокху «{{ns:special}}» цӀерийн меттигашан агӀонаш таян йиш яц.',
 'titleprotected' => "[[Декъашхочо:$1|$1]] дихкина ишта корта болуш агӀо кхоллар.
 Гайтина бахьна: ''$2''.",
+'filereadonlyerror' => "файл хийца цатарло «$1», «$2» Ӏалаш ечехь ешаран хьолехь хилар бахьнехь.
+
+ХӀара хьал хӀоттиначу куьйгалхочо битина хаам: «''$3''».",
+'invalidtitle-knownnamespace' => 'Магийна боцу коьртамогӀа цӀерийн меттигца «$2» йоза  «$3»',
+'invalidtitle-unknownnamespace' => 'Магийна боцу коьртамогӀа ца йовза меттигца $1 «$2» йозанца',
 'exception-nologin' => 'ХӀинца а ахьа системин чохь болх беш бац',
+'exception-nologin-text-manual' => 'АгӀо тӀекхача луш хилийта оьшу $1.',
 
 # Virus scanner
+'virus-badscanner' => "Нисяран гӀалат. Ца йовза вирусийн сканер: ''$1''",
 'virus-scanfailed' => 'сканиран гӀалат (код $1)',
 'virus-unknownscanner' => 'йозуш йоцу антивирус:',
 
@@ -736,7 +742,7 @@ URL язъеш гӀалат даьлла хила мега.
 'yourpasswordagain' => 'Юха язъе пароль:',
 'createacct-yourpasswordagain' => 'Бакъ йе пароль',
 'createacct-yourpasswordagain-ph' => 'Кхин цкъа язъе пароль',
-'remembermypassword' => 'Даглаца сан дӀаяздар хӀокху компьютеран тӀехь (цхьан $1 {{PLURAL:$1|динахь}})',
+'remembermypassword' => 'Ð\94аглаÑ\86а Ñ\81ан Ð´Ó\80аÑ\8fздаÑ\80 Ñ\85Ó\80окÑ\85Ñ\83 ÐºÐ¾Ð¼Ð¿Ñ\8cÑ\8eÑ\82еÑ\80ан Ñ\82Ó\80еÑ\85Ñ\8c (Ñ\86Ñ\85Ñ\8cан $1 {{PLURAL:$1|дийнаÑ\85Ñ\8c}})',
 'userlogin-remembermypassword' => 'Дагахь латт ве/е со',
 'userlogin-signwithsecure' => 'Ларийна цхьаьнакхетар',
 'yourdomainname' => 'Хьан машан меттиг:',
@@ -833,6 +839,7 @@ URL язъеш гӀалат даьлла хила мега.
 
 # Change password dialog
 'changepassword' => 'Хийца пароль',
+'resetpass_announce' => 'Чудахар чекх далийта хӀотта йе керла пароль.',
 'resetpass_text' => '<!-- Кхузахь язъде хьай йоза -->',
 'resetpass_header' => 'Хийца дӀаяздаран пароль',
 'oldpassword' => 'Шираелла пароль:',
@@ -844,14 +851,19 @@ URL язъеш гӀалат даьлла хила мега.
 'resetpass-no-info' => 'ХӀара агӀо лело системин чугӀо.',
 'resetpass-submit-loggedin' => 'Хийца пароль',
 'resetpass-submit-cancel' => 'Цаоьшу',
+'resetpass-recycled' => 'Дехар до, хӀинца йолччул башха пароль хӀотта йе.',
+'resetpass-temp-emailed' => 'Ахьа чугӀош язйина цкъачунна электронан почте яийтина пароль. Чудахар чекхдалийта язъян еза керла пароль.',
 'resetpass-temp-password' => 'Цхьан хана пароль:',
 'resetpass-abort-generic' => 'Пароль хийцар дӀахедар',
 'resetpass-expired' => 'Хьан паролан хан чекхелла. Дехар до керла пароль хӀоттаяр.',
+'resetpass-expired-soft' => 'Хьа паролан хан чекхелла. Дехар до, харжа керла пароль я тӀетаӀе «{{int:resetpass-submit-cancel}}», и тӀехо хица.',
 
 # Special:PasswordReset
 'passwordreset' => 'Пароль кхоссар',
 'passwordreset-text-many' => '{{PLURAL:$1|Пароль кхосса юза лахара цхьа меттиг.}}',
 'passwordreset-legend' => 'Пароль кхоссар',
+'passwordreset-disabled' => 'ХӀокху вики чохь пароль кхоссар дӀадайина ду.',
+'passwordreset-emaildisabled' => 'Электронан почтан функцеш хӀокху вики чохь дӀаяйина ю.',
 'passwordreset-username' => 'Декъашхочун цӀе:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Хьажа беанчу хааме?',
@@ -1048,6 +1060,7 @@ URL язъеш гӀалат даьлла хила мега.
 'post-expand-template-argument-category' => 'Кепашан аргументаш юкъахь йитина агӀонаш',
 'parser-template-loop-warning' => 'Карийна кепаш юкъахь хилла шад: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Дозанал хьаладаьлла кӀоргенца юх юха дина кеп ($1)',
+'parser-unstrip-loop-warning' => 'ДӀачӀагӀанца pre карина',
 
 # "Undo" feature
 'undo-success' => 'Нисйинарг а тlе цалаца мега. Дехар до, хьажа цхьатерра йуй башхо, тешна хила, баккъалла иза хийцам буйте хьуна безарг, тlакха тlе таlайе «дlайазйе агlо», хийцам хlотта ба.',
@@ -1087,13 +1100,22 @@ URL язъеш гӀалат даьлла хила мега.
 'rev-deleted-comment' => '(нисдарах лаьцна хаам дӀабаьккхина)',
 'rev-deleted-user' => '(авторан цӏе дӏаяйина)',
 'rev-deleted-event' => '(дӀаяздар дӀаяьккхина)',
+'rev-deleted-user-contribs' => '[декъашхочун цӀе я IP-адрес дӀаяхина — къинхьегаман агӀонгара нисдар къайлаяьккхина]',
+'rev-deleted-text-permission' => "ХӀара агӀона верси '''дӀаяьккхина''' ю.
+Бахьна далина [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяьхнарш йолу тептар чохь].",
 'rev-deleted-text-unhide' => "ХӀара агӀона верси '''дӀаяьккхина''' ю.
 Бахьна далина [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяьхнарш йолу тептар чохь].
 Хьайна лаахь хьа йиш ю [$1 и верси хьажа].",
+'rev-suppressed-text-unhide' => "ХӀара агӀона верси '''къайлаяьккхина''' ю.
+Бахьна далина [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяьхнарш йолу тептар чохь].
+Хьайна лаахь хьа йиш ю [$1 и верси хьажа].",
 'rev-deleted-text-view' => "ХӀара агӀона верси '''дӀаяьккхина''' ю.
 Бахьна далина [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяьхнарш йолу тептар чохь].",
+'rev-suppressed-text-view' => "ХӀара агӀона верси '''къайлаяьккхина''' ю.
+Бахьна далина [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяьхнарш йолу тептар чохь].",
 'rev-deleted-no-diff' => "АгӀона цхьа верси '''дӀаяьккхина''' хилар бахьнехь, хӀуна версийн башхалла хьажа цало.
 Мадарра каро мега [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀаяккхаран тептар чохь].",
+'rev-suppressed-no-diff' => "Хьо хӀокху версешан башхала хьажа цало, царах цхьаъ '''дӀаяьккхина''' хилар бахьнехь.",
 'rev-delundel' => 'гайта/къайла',
 'rev-showdeleted' => 'гайта',
 'revisiondelete' => 'ДӀаяха / меттахӀотае агӀона версеш',
@@ -1103,7 +1125,7 @@ URL язъеш гӀалат даьлла хила мега.
 'revdelete-show-file-confirm' => 'Бакъалла лаьий хьуна дӀаяьккхина файлан версега хьажа «<nowiki>$1</nowiki>» $2 тӀера, $3?',
 'revdelete-show-file-submit' => 'Хlаъ',
 'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|1=къастина верси|къастина версеш}}:'''",
-'logdelete-selected' => "'''Тептар чура {{PLURAL:$1|1=хаьржина дӀаяздар|хаьржина дӀаяздарш}}:'''",
+'logdelete-selected' => '<strong>Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:</strong>',
 'revdelete-text' => "'''ДӀаяхна агӀонашан версеш а хелларш а гуш хир ду агӀона истори а тептаран а чохь, амма цара чулацам куьйгалхошна бен тӀекхочу чохь хир бац.'''
 {{SITENAME}} проектан куьйгалхойн йиш хир ю хӀокху интерфейс чухула дӀааьхинарш меттахӀотта я.",
 'revdelete-confirm' => 'Дехар до, бакъдар ахьа деш дерг [[{{MediaWiki:Policy-url}}|бакъонашца]] деш хилар.',
@@ -1181,6 +1203,7 @@ $1",
 'diff-empty' => '(башхалла яц)',
 'diff-multi-sameuser' => '(ца {{PLURAL:$1|гайтина юккъера цхьа верси|гайтина юккъера цхьа версеш}} оьцу декъашхочун)',
 'diff-multi-otherusers' => '(ца {{PLURAL:$1|гайтина юккъера верси|гайтина юккъера версеш}} {{PLURAL:$2|кхин цхьан декъашхочун|$2 декъашхойн}})',
+'diff-multi-manyusers' => '({{PLURAL:$1|гайтина яц $1 юккъера верси, йина|не показаны $1 юккъера версеш, йина}} {{PLURAL:$2|$2 декъашхочо|$2 декъашхоша}})',
 
 # Search results
 'searchresults' => 'Лахарна хилам',
@@ -1237,6 +1260,7 @@ $1",
 'preferences' => 'Гlирс нисбан',
 'mypreferences' => 'ГӀирс нисбан',
 'prefs-edits' => 'Нисдарши дукхалла:',
+'prefsnologintext2' => 'Оьшу $1, гӀирс дӀанисбан.',
 'prefs-skin' => 'Кечяран тема',
 'skin-preview' => 'Хьалха муха ю хьажа',
 'datedefault' => 'Iад йитарца',
@@ -1248,16 +1272,17 @@ $1",
 'prefs-rc' => 'Керла нисдарш',
 'prefs-watchlist' => 'Тергаме могӀам',
 'prefs-watchlist-days' => 'Денойн дукхалла:',
-'prefs-watchlist-days-max' => 'Къезиг  $1 {{PLURAL:$1|дена}}',
+'prefs-watchlist-days-max' => 'Къезиг $1 {{PLURAL:$1|дена}}',
 'prefs-watchlist-edits' => 'Тергаме могӀам чохь гойтучу нисдаршан максимальни дукхалла:',
 'prefs-watchlist-edits-max' => 'Уггар дукха: 1000',
 'prefs-watchlist-token' => 'Тергаме могӀанан токен:',
 'prefs-misc' => 'Кхин гlирсаш',
 'prefs-resetpass' => 'Хийца пароль',
 'prefs-changeemail' => 'Хийца электрони почт',
+'prefs-setemail' => 'Электронан почтан адрес дӀахӀоттор',
 'prefs-email' => 'Электронан почтан параметраш',
 'prefs-rendering' => 'Арахьара хатl',
-'saveprefs' => 'lалашдан',
+'saveprefs' => 'Ӏалашдан',
 'restoreprefs' => 'МеттахӀоттабе гӀирс Iад битарца',
 'prefs-editing' => 'Тадар',
 'rows' => 'МогӀанаш:',
@@ -1266,7 +1291,7 @@ $1",
 'stub-threshold' => 'Кеч яран доза <a href="#" class="stub">коьртамогӀамна хьажорагаш</a> (байташках):',
 'stub-threshold-disabled' => 'ДӀадайина',
 'recentchangesdays' => 'Керла нисдар гайта динахь:',
-'recentchangesdays-max' => 'Къезиг  $1 {{PLURAL:$1|дена}}',
+'recentchangesdays-max' => 'Къезиг $1 {{PLURAL:$1|дена}}',
 'recentchangescount' => 'Iад йитарца гойтуш долу нисдаршан дукхалла',
 'prefs-help-recentchangescount' => 'Гойту керла нисдарш, агӀонашан истори, тептарш.',
 'prefs-help-watchlist-token2' => 'Иза хьан тергаме могӀан къайла догӀа ду.
@@ -1298,7 +1323,7 @@ $1",
 'youremail' => 'Кехат яздо зlе цlе:',
 'username' => '{{GENDER:$1|Декъашхочун цӀе}}:',
 'uid' => 'Декъашхочун {{GENDER:$1|код}}:',
-'prefs-memberingroups' => '{{GENDER:$2|Тобана|Тобана}} {{PLURAL:$1|1=декъашхо|декъашхо}}:',
+'prefs-memberingroups' => '{{GENDER:$1|Тобана|Тобаншан}} {{PLURAL:$2|декъашхо|декъашхой}}:',
 'prefs-registration' => 'ДӀаяздар кхолийна хан:',
 'yourrealname' => 'Хьан бакъ цlе:',
 'yourlanguage' => 'Мотт:',
@@ -1316,6 +1341,7 @@ $1",
 'email' => 'Email',
 'prefs-help-email' => 'Электронан почтан адрес цахӀоттийча а хӀумма дац, амма иза оьшар ю, нагахь хьуна хьай пароль йицлахь.',
 'prefs-help-email-others' => 'Кхин дӀа цо кхечу декъашхошна йиш хуьлуьйту хьога электронан кехат даийта хьан агӀона чохь йолу хьажориган гӀоьнца.',
+'prefs-help-email-required' => 'Электронан почтан адрес яздан деза.',
 'prefs-info' => 'Коьрта хаам',
 'prefs-i18n' => 'Юкъардекъа мотт',
 'prefs-signature' => 'КуьгтаӀор',
@@ -1473,23 +1499,36 @@ $1",
 'action-movefile' => 'хӀокху файлан цӀе хийца',
 'action-upload' => 'чуяккха хӀара файл',
 'action-reupload' => 'йолуш йолу файлан тӀехула дӀаязъяр',
+'action-upload_by_url' => 'URL адресан тӀера хӀара файл чуяккхар',
 'action-writeapi' => 'нисдеш лелойо API',
 'action-delete' => 'дӀаяккха хӀара агӀо',
 'action-deleterevision' => 'агӀона хӀара верси дӀаяккхар',
 'action-deletedhistory' => 'хӀокху агӀона дӀаяккхинцу исторега хьажар',
 'action-browsearchive' => 'ДӀаяхна агӀонаш лахар',
 'action-undelete' => 'хӀара агӀо меттахӀоттор',
+'action-suppressrevision' => 'хӀокху къайлаха йолу агӀон версеш хьажар а меттахӀоттор а',
 'action-suppressionlog' => 'хӀокху долара тептаре хьажар',
 'action-block' => 'хӀокху декъашхошка тадарш ца дайта дехкар хӀоттор',
+'action-protect' => 'хӀокху агӀона гӀоралин хьал хийцар',
+'action-rollback' => 'билгала агӀона тӀехьарчу декъашхочо дина нисдарш сиха юхадахар',
+'action-import' => 'кхечу википедешкара агӀонаш импорт ян',
+'action-importupload' => 'файлаш чуяхарца агӀонаш импорт ян',
 'action-patrol' => 'кхечера нисдарш хьаьжна сана билгалдар',
 'action-autopatrol' => 'шен нисдарш хьаьжна сана билгалдар',
+'action-unwatchedpages' => 'тергамехь йоцу агӀонийн могӀане хьажар',
+'action-mergehistory' => 'хӀокху агӀона хийцаман истори вовшахтохар',
+'action-userrights' => 'декъашхойн массо бакъонаш хийцар',
+'action-userrights-interwiki' => 'кхечу викеш чура декъашхойн бакъонаш хийцар',
 'action-siteadmin' => 'хаамийн гуламан блоктохар а блокдӀаяккхар а',
 'action-sendemail' => 'Электронан кехат дӀадахьийтар',
 'action-editmywatchlist' => 'хьан тергаме могӀам табар',
 'action-viewmywatchlist' => 'шен тергаме могӀане хьажар',
+'action-viewmyprivateinfo' => 'хьан долара хааме хьажар',
+'action-editmyprivateinfo' => 'хьан долара хаам табар',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|хийцам|хийцамаш|хийцамаш}}',
+'nchanges' => '$1 {{PLURAL:$1|хийцам|хийцамаш}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|тӀеххьара чудаларца}}',
 'enhancedrc-history' => 'истори',
 'recentchanges' => 'Керла нисдарш',
 'recentchanges-legend' => 'Гlирс нисбарна керла нисдарш',
@@ -1587,6 +1626,17 @@ $1",
 'filetype-mime-mismatch' => 'Файлан шоръелла «.$1» оцунна MIME-тайпанца йогӀуш яц ($2).',
 'filetype-banned-type' => "'''«.$1»''' — {{PLURAL:$4|1=ца магийна файлан тайп|ца магийна файлийн тайпанаш}}.
 {{PLURAL:$3|1=Магийна файлан тайп ю|Магийна файлийн тайпанаш ю:}} $2.",
+'filetype-missing' => 'Файлан шоралла яц (масала, «.jpg»).',
+'empty-file' => 'Ахьа яхьийтина файл еса ю.',
+'file-too-large' => 'Ахьа яхьийтина файл тӀех йоккха ю.',
+'filename-tooshort' => 'Файлан цӀе тӀехь йоца ю.',
+'filetype-banned' => 'ХӀара файлийн тайп магийна яц.',
+'verification-error' => 'ХӀара файл хьаран чекх цаяьлла.',
+'illegal-filename' => 'Магийна йоцу файлан цӀе.',
+'overwrite' => 'йолуш йолу файл хийца магийна дац.',
+'unknown-error' => 'Ца довза гӀалат даьлла',
+'tmp-create-error' => 'Цатарло хана файл кхолла.',
+'tmp-write-error' => 'Хана файлан дӀаяздаран гӀалат',
 'emptyfile' => 'Ахьа чуйоккхуш йолу файл еса хийла там бу. Иза гӀалат хийла мега файлан цӀе нийса язйина йоцу дела. Дехар до хьажа бакъалла и юьй ахьа чуйоккхуш йолу файл.',
 'fileexists' => 'Иштта цӀе йолу файл йолуш ю. Дехар до, хьажа <strong>[[:$1]]</strong>, лаьий хьуна и хийца. 
 [[$1|thumb]]',
@@ -1613,8 +1663,14 @@ $1",
 'savefile' => 'ДӀаязе йе файл',
 'uploadedimage' => 'чуяьккхина «[[$1]]»',
 'overwroteimage' => 'Чуяьккхина файлан керла верси «[[$1]]»',
+'uploaddisabled' => 'Чуяккхар магийна дац',
+'copyuploaddisabled' => 'URL тӀера чуяккхар дӀадайина ду.',
+'uploadfromurl-queued' => 'Хьа чуяккхар рогӀехь ду.',
+'uploaddisabledtext' => 'Файлаш чуяхар дӀадайина ду.',
+'uploadscriptednamespace' => "ХӀокху SVG-файлан цӀерийн меттиг нийса яц '$1'",
 'upload-source' => 'ДIайолалун файл',
 'sourcefilename' => 'ДIайолалун файл:',
+'sourceurl' => 'Хьостан URL-адрес:',
 'destfilename' => 'Файлан керла цӀе:',
 'upload-maxfilesize' => 'Файлан: $1 максимальни барам',
 'upload-description' => 'Файлах лаьцна',
@@ -1636,7 +1692,16 @@ JD # Jenoptik
 MGP # Pentax
 PICT # тайп тайпан
  #</pre> <!-- битийша хlара могlа ша мабарра -->',
+'upload-success-subj' => 'Чуяккхар кхиамца чекхделира.',
+'upload-success-msg' => 'Хьа чуяккхар [$2] кхиамца чекхделира. Хиллачуьнга хьажа йиш ю кхузахь: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => 'Чуяккхаран бала',
+'upload-failure-msg' => 'Хьа чуяккхаран бала карина [$2]:
 
+$1',
+'upload-warning-subj' => 'ДӀахьедар',
+'upload-warning-msg' => 'Чуйоккхуш [$2] гӀалат даьлла. И нисдан юхагӀо [[Special:Upload/stash/$1|upload form]] чу.',
+
+'upload-proto-error' => 'Нийса йоцу протокол',
 'upload-file-error' => 'Чоьхьара гӀалат',
 'upload-unknown-size' => 'Хууш доцу барам',
 'upload-http-error' => 'Даьлла гӀалат HTTP: $1',
@@ -1644,12 +1709,16 @@ PICT # тайп тайпан
 # File backend
 'backend-fail-readonly' => 'ХӀара «$1» хӀинца еша бен таро яц. Бахьна: «$2»',
 
+# Special:UploadStash
+'uploadstash' => 'Къайлаха чуяккхар',
+
 # HTTP errors
 'http-timed-out' => 'Хьежаран хан чекхели HTTP-жоп дехаран.',
 
 'license' => 'Бакъойалар:',
 'license-header' => 'Бакъойалар',
 'nolicense' => 'Яц',
+'license-nopreview' => '(Хьалха муха ю хьажа цало)',
 'upload_source_file' => ' (файл хьан компьютер чохь ю)',
 
 # Special:ListFiles
@@ -1658,6 +1727,7 @@ PICT # тайп тайпан
 'listfiles_search_for' => 'Лаха хIуман цIарца:',
 'imgfile' => 'файл',
 'listfiles' => 'Файлаш',
+'listfiles_thumb' => 'Жима',
 'listfiles_date' => 'Терахь',
 'listfiles_name' => 'Файлан цӀе',
 'listfiles_user' => 'Декъашхо',
@@ -1665,7 +1735,9 @@ PICT # тайп тайпан
 'listfiles_description' => 'Цуьнах лаьцна',
 'listfiles_count' => 'Верси',
 'listfiles-show-all' => 'Гайта суьртийн шира версеш',
+'listfiles-latestversion' => 'Карара верси',
 'listfiles-latestversion-yes' => 'ХӀаъ',
+'listfiles-latestversion-no' => 'ХӀахӀа',
 
 # File description page
 'file-anchor-link' => 'Файл',
@@ -1678,13 +1750,16 @@ PICT # тайп тайпан
 'filehist-datetime' => 'Терахь/Хан',
 'filehist-thumb' => 'Жима',
 'filehist-thumbtext' => 'Жимо башхо оцу $1',
+'filehist-nothumb' => 'Миниатюра яц',
 'filehist-user' => 'Декъашхо',
 'filehist-dimensions' => 'Файлан барам',
 'filehist-filesize' => 'Файлан барам',
 'filehist-comment' => 'Билгалдаккхар',
+'filehist-missing' => 'Файл яц',
 'imagelinks' => 'Файл лелор',
 'linkstoimage' => '{{PLURAL:$1|ТӀаьхьайогӀу $1 агӀо тӀетойжина|ТӀаьхьайогlу $1 агӀонаш тӀетойжина|ТӀаьхьайогӀу $1 агӀонаш тӀетойжина}} хӀокху файлан:',
 'nolinkstoimage' => 'АгӀонашчохь файл лелош яц.',
+'linkstoimage-redirect' => '$1 (файлан дӀасахьажораг) $2',
 'duplicatesoffile' => '{{PLURAL:$1|Лахара файл ю дубликат|Лахара $1 файлаш ю дубликаташ}} хӀокху файлан ([[Special:FileDuplicateSearch/$2|мадарра]]):',
 'sharedupload' => 'ХӀара хӀума оцун $1 чура ю иза хила мега лелош кхечу проекташкахь.',
 'sharedupload-desc-here' => 'ХӀара файл $1 чура ю и лело йиш ю массо проекташкахь.
@@ -1762,19 +1837,24 @@ PICT # тайп тайпан
 'statistics-files' => 'Чуйаьхна файлаш',
 'statistics-edits' => 'Нисдаран дукхалла {{grammar:genitive|{{SITENAME}}}} дlа йолайаларца',
 'statistics-edits-average' => 'Юккъера агӀонан нисдаран терахь',
+'statistics-views-total' => 'Массо хьажарш',
+'statistics-views-peredit' => 'Нисдаре хьажарш',
 'statistics-users' => '[[ВП:Дlаязвалар|Дlаязбелларш]] шаберигге декъашхой чохь болу [[Special:ListUsers|(могlам)]]',
 'statistics-users-active' => 'Жигара декъашхой',
 'statistics-users-active-desc' => 'Декъашхой, муьлха цхьа хlум дина болу, кху {{PLURAL:$1|1=тlаьххьара $1 динахь|тlаьххьара $1 дийнахь}}',
+'statistics-mostpopular' => 'Дукху хьоьжу агӀонаш',
 
 'pageswithprop' => 'АгӀонаш цхьадолу къастамашца',
 'pageswithprop-legend' => 'АгӀонаш цхьадолу къастамашца',
 'pageswithprop-text' => 'Кхузахь гойтуш ю агӀонаш цхьадолу къастамаш куьйга юху билгал даьхнарш.',
 'pageswithprop-prop' => 'Къастаман цӀе:',
+'pageswithprop-submit' => 'Лаха',
 
 'doubleredirects' => 'Шалха дIасахьажийнарш',
 'doubleredirectstext' => 'ХӀокху агӀонехь ю дӀасахьажорашан тӀе хьажийна йолу дӀасахьажораш.
 <del>ТӀехула сиз хаькхна </del>нисйина чарна.',
 'double-redirect-fixed-move' => 'АгӀон [[$1]] цӀе хийцина, хӀинца иза дӀахьажийна оцу [[$2]]',
+'double-redirect-fixer' => 'ДӀасахьажинарш нисерг',
 
 'brokenredirects' => 'ДIахаьдна долу дIасахьажораш',
 'brokenredirectstext' => 'Лахара дӀасахьажийнарш ю йоцучу агӀонийн тӀе хьажийна:',
@@ -1789,12 +1869,15 @@ PICT # тайп тайпан
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|байт}}',
-'ncategories' => '$1 {{PLURAL:$1|категори|категореш|категореш}}',
-'ninterwikis' => '$1 {{PLURAL:$1|1=Ñ\8eкÑ\8aаÑ\80вики-Ñ\85Ñ\8cажоÑ\80аг|Ñ\8eкÑ\8aаÑ\80вики-Ñ\85Ñ\8cажоÑ\80агаÑ\88}}',
-'nlinks' => '$1 {{PLURAL:$1|1=Ñ\85Ñ\8cажоÑ\80аг|Ñ\85Ñ\8cажоÑ\80агаÑ\88}}',
+'ncategories' => '$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|агӀоначохь|агӀонашкахь|агӀонашкахь}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|хӀума|хӀумнаш}}',
+'nrevisions' => '$1 {{PLURAL:$1|верси|версеш}}',
+'nviews' => '$1 {{PLURAL:$1|хьажар}}',
+'nimagelinks' => 'Лелош ю $1 {{PLURAL:$1|агӀонгахь|агӀонашкахь}}',
+'ntransclusions' => 'лелош ю $1 {{PLURAL:$1|агӀонгахь|агӀонашкахь}}',
 'specialpage-empty' => 'Дехаро хӀумма ца елла.',
 'lonelypages' => 'Байлахь йисина агIонаш',
 'lonelypagestext' => 'Кхузахь ю {{grammar:genitive|{{SITENAME}}}} кхечу агӀонашкахь тӀе хьажийна хьажорагаш йоцу агӀонаш.',
@@ -1804,6 +1887,7 @@ PICT # тайп тайпан
 'uncategorizedtemplates' => 'Категореш йоцу кепаш',
 'unusedcategories' => 'Йаьсса категореш',
 'unusedimages' => 'Лелош доцу файлаш',
+'popularpages' => 'ГӀараяьлла агӀонаш',
 'wantedcategories' => 'Оьшуш йолу категореш',
 'wantedpages' => 'Оьшуш йолу агIонаш',
 'wantedfiles' => 'Оьшуш йолу файлаш',
@@ -1827,6 +1911,7 @@ PICT # тайп тайпан
 'protectedpages' => 'ГIаролла дина агIонаш',
 'protectedpages-indef' => 'Хан йоцуш гӀоралла динарш бен',
 'protectedpages-cascade' => 'Чахчарин гӀоралла бен',
+'protectedpages-noredirect' => 'Къайлаяха дӀасахьажийнарш',
 'protectedpages-timestamp' => 'Терахь/хан',
 'protectedpages-page' => 'АгӀо',
 'protectedpages-expiry' => 'Чекхйолу',
@@ -1840,6 +1925,7 @@ PICT # тайп тайпан
 'listusers-editsonly' => 'Цхаъ мукъане а хийцам бина декъашхой гайта',
 'listusers-creationsort' => 'Кхоьллина хене хьаьжна нисъяр',
 'listusers-desc' => 'Харжа къезиг хиларца',
+'usereditcount' => '$1 {{PLURAL:$1|нисдар|нисдарш}}',
 'usercreated' => '{{GENDER:$3|дӀавазвелла|дӀаязелла}} $1 $2',
 'newpages' => 'Керла агlонаш',
 'newpages-username' => 'Декъашхо:',
@@ -1854,6 +1940,7 @@ PICT # тайп тайпан
 'nopagetext' => 'Ишта агӀо яц.',
 'pager-newer-n' => '{{PLURAL:$1|алсамо керла 1|алсамо керланаш $1}}',
 'pager-older-n' => '{{PLURAL:$1|алсамо шира 1|алсамо ширниш $1}}',
+'suppress' => 'Хьулдар',
 
 # Book sources
 'booksources' => 'Жайнан хьосташ',
@@ -1886,12 +1973,17 @@ PICT # тайп тайпан
 'allpages-bad-ns' => '{{SITENAME}} кху чохь ана цlераш яц «$1».',
 'allpages-hide-redirects' => 'Къайлаяха дӀасахьажийнарш',
 
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Хьажа тӀехьарчу версега.',
+
 # Special:Categories
 'categories' => 'Категореш',
 'categoriespagetext' => '{{PLURAL:$1|1=Лахара категореш чохь ю|Лахара категореш чохь ю}} агӀонаш я медиа-файлаш.
 Кхузахь гойтуш яц [[Special:UnusedCategories|лелош йоцу категореш]].
 Кхин дӀа [[Special:WantedCategories| хийла еза категореш]].',
 'categoriesfrom' => 'Гучé яха категореш, оцу:',
+'special-categories-sort-count' => 'нисъе дукхаллица',
+'special-categories-sort-abc' => 'нисъе абатца',
 
 # Special:DeletedContributions
 'deletedcontributions' => 'Декъашхочун дӀабяккхина къинхьегам',
@@ -1901,6 +1993,7 @@ PICT # тайп тайпан
 # Special:LinkSearch
 'linksearch' => 'Арахьара хьажораг',
 'linksearch-pat' => 'Лаха кеп:',
+'linksearch-ns' => 'ЦӀерийн ана:',
 'linksearch-ok' => 'Лаха',
 'linksearch-text' => 'Лело мега хӀоттош йолу символаш, масала, <code>*.wikipedia.org</code>.
 Лакхара даржан домен мукъа хила еза , масала<code>*.org</code><br />
@@ -1911,6 +2004,7 @@ PICT # тайп тайпан
 'listusersfrom' => 'Гучé баха декъашхой, болалуш болу тӀера:',
 'listusers-submit' => 'Гайта',
 'listusers-noresult' => 'Декъашхой цакарий.',
+'listusers-blocked' => '(блоктоьхна)',
 
 # Special:ActiveUsers
 'activeusers' => 'Жигар декъашхой могlам',
@@ -1931,13 +2025,17 @@ PICT # тайп тайпан
 'listgrouprights-rights' => 'Бакъонаш',
 'listgrouprights-helppage' => 'Help:Тобан бакъонаш',
 'listgrouprights-members' => '(тобан могlам)',
+'listgrouprights-addgroup' => '{{PLURAL:$2|тоба|тобанаш}} тӀетоха ло: $1',
+'listgrouprights-removegroup' => '{{PLURAL:$2|тобан чура дӀабаха|тобанаш чура дӀабаха}} ло: $1',
 'listgrouprights-addgroup-all' => 'массо тобанийн юкъатоха йиш ю',
+'listgrouprights-removegroup-all' => 'тобан чура дӀабаха ло',
 
 # Email user
 'mailnologintext' => 'Электронан кехаташ кхехьийта йиш хилийта [[Special:UserLogin|системин чугӀо]] кхин декъашхошка хаамаш кхехьийта хьа [[Special:Preferences|гӀирса чохь]] бакъалла долу электронан почтан адрес хила деза.',
 'emailuser' => 'Декъашхочун хааман кехат',
 'emailuser-title-target' => 'Декъашхочунга кехат яздар',
 'emailuser-title-notarget' => 'Декъашхочунга кехат яздар',
+'emailpage' => 'Декъашхочунга кехат яздар',
 'emailpagetext' => 'ХӀокху агӀона гӀоьнца йиш ю {{GENDER:$1|декъашхочун}} электронан почте хаам бахьийта.
 Хьоьга жоп лур ду ахьа [[Special:Preferences|хьайн гӀирса чу]] дӀаяздина долу адрес тӀе.',
 'defemailsubject' => 'Хаам {{grammar:genitive|{{SITENAME}}}} чура бу',
@@ -1953,10 +2051,15 @@ PICT # тайп тайпан
 'emailsenttext' => 'Хьан электроннан хаам дӏабахьийтина.',
 'emailuserfooter' => 'ХӀара хаам бахийтинера $1 {{GENDER:$1|декъащхочо}} $2 {{GENDER:$2|декъащхочунга}} «декъашхочунга хаам» олучу функцин гӀоьнца {{SITENAME}} проектан.',
 
+# User Messenger
+'usermessage-summary' => 'Битта системан хаам.',
+'usermessage-editor' => 'Системан дӀакхачор',
+
 # Watchlist
 'watchlist' => 'Тергаме могӀам',
 'mywatchlist' => 'Тергаме могӀам',
 'watchlistfor2' => 'Цунна $1 $2',
+'nowatchlist' => 'Ха тергаме могӀа баьсса бу.',
 'watchlistanontext' => 'Тергаме могӀоме хьажа я тая кхочушде $1.',
 'watchnologin' => 'Системин чугӀо',
 'addwatch' => 'Тергаме могӀам юкъа тоха',
@@ -1967,12 +2070,14 @@ PICT # тайп тайпан
 'watch' => 'Тидам бе',
 'watchthispage' => 'Тергам бé хlокху агlон',
 'unwatch' => 'Тергамах къаста',
+'unwatchthispage' => 'ДӀадаккха терго яр',
 'notanarticle' => 'Бац яззам',
+'notvisiblerev' => 'Верси дӀаяьккхина хила',
 'watchlist-details' => 'Хьан тергаме могlамца $1 {{PLURAL:$1|агlо|агlонаш|агlонаш}} ю, дийцаре агlонаша йоцуш.',
 'wlheader-enotif' => 'Электронан почте хаамаш байтар латина ду.',
 'wlheader-showupdated' => "Хийцам бина агӀонаш '''Ӏаьржа''' шрифтцан билгальяха ю.",
 'wlnote2' => 'Лахахьа гайтина {{PLURAL:$1|тӀеххьара сахьт}} чохь бина хийцамаш $2 $3.',
-'wlshowlast' => 'Гайта тlаьххьара $1 сахьташ $2 денош $3',
+'wlshowlast' => 'Гайта тӀаьххьара $1 сахьт $2 де $3',
 'watchlist-options' => 'Тергаме могlаман гlирс нисбар',
 
 # Displayed when you click the "watch" button and it is in the process of watching
@@ -1980,6 +2085,17 @@ PICT # тайп тайпан
 'unwatching' => 'Тергаме могӀанан чура дӀаяккхар…',
 
 'enotif_reset' => 'Билгал йаь ерриге агӀонаш хьаьжна санна',
+'enotif_impersonal_salutation' => 'Декъашхо {{grammar:genitive|{{SITENAME}}}}',
+'enotif_subject_deleted' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 дӀаяьккхина',
+'enotif_subject_created' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 кхоьллина',
+'enotif_subject_moved' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 цӀе хийцина',
+'enotif_subject_restored' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 меттахӀоьттина',
+'enotif_subject_changed' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 хийцам бина',
+'enotif_body_intro_deleted' => 'Проектан «{{SITENAME}}» агӀо «$1» {{gender:$2|декъашхочо}} $2 дӀаяьккхина, хьажа $3',
+'enotif_body_intro_created' => 'Проектан «{{SITENAME}}» агӀо «$1» $PAGEEDITDATE {{gender:$2|декъашхочо}} $2 кхоьллина, карара верси ю : $3',
+'enotif_body_intro_moved' => 'Проектан «{{SITENAME}}» агӀо «$1» $PAGEEDITDATE {{gender:$2|декъашхочо}} $2 цӀе хийцина, карара верси ю : $3',
+'enotif_body_intro_restored' => 'Проектан «{{SITENAME}}» агӀо «$1» $PAGEEDITDATE {{gender:$2|декъашхочо}} $2 кхоьллина, карара верси ю : $3',
+'enotif_body_intro_changed' => 'Проектан «{{SITENAME}}» агӀо «$1» $PAGEEDITDATE {{gender:$2|декъашхочо}} $2 хийцам бина, карара верси ю : $3',
 'changed' => 'хийцина',
 
 # Delete
@@ -2008,7 +2124,7 @@ PICT # тайп тайпан
 ** авторан лаамца
 ** авторан бакъонаш талхор',
 'delete-edit-reasonlist' => 'Бахьанин список нисяр',
-'deleting-backlinks-warning' => "'''ДӀахьедар.''' Ахьа дӀайоккхуш йолчун тӀе товжийна кхин агӀонаш ю.",
+'deleting-backlinks-warning' => "'''ДӀахьедар:''' Ахьа дӀайоккхуш йолчун тӀе товжийна [[Special:WhatLinksHere/{{FULLPAGENAME}}|кхин агӀонаш]] ю.",
 
 # Rollback
 'rollback' => 'Юхабаккха хийцам',
@@ -2100,7 +2216,7 @@ PICT # тайп тайпан
 'undeleteviewlink' => 'хьажа',
 'undeleteinvert' => 'Къастае массо',
 'undeletecomment' => 'Бахьан:',
-'undeletedrevisions' => '$1 {{PLURAL:$1|хийцамаш|хийцамаш|хийцамаш}} меттахӀоттайина',
+'undeletedrevisions' => '{{PLURAL:$1|меттахӀоттайина}} $1 {{PLURAL:$1|хийцам}}',
 'undeletedfiles' => '$1 {{PLURAL:$1|файл меттахӀоттайина|файлаш меттахӀоттайина|файлаш меттахӀоттайина}}',
 'undeletedpage' => "'''МеттахӀоттайина агӀо «$1».'''
 
@@ -2250,6 +2366,7 @@ PICT # тайп тайпан
 'block-log-flags-nousertalk' => 'шин дийцаре агӀо тая лууш дац',
 'block-log-flags-hiddenname' => 'декъашхочун цӀе къайлаяьккхина',
 'ipb-needreblock' => 'ХӀара $1 {{GENDER:$1|блоктоьхна ву|блоктоьхна ю}}. Лаьий хьуна блоктохаран параметраш хийца?',
+'ipb-otherblocks-header' => '{{PLURAL:$1|Кхин блоктохар|Кхин блоктохарш}}',
 'unblock-hideuser' => 'Декъашхочун тӀера блокдӀаяккха хьа таро яц, цуна цӀе хьулйина хилар бахьанехь.',
 
 # Move page
index 1deb858..2c9743e 100644 (file)
@@ -222,7 +222,6 @@ $messages = array(
 'tog-ccmeonemails' => 'کۆپییەک لەو ئیمەیلانە کە بۆ بەکارھێنەرانی تر دەنێرم بۆ خۆشم بنێرە',
 'tog-diffonly' => 'ناوەرۆکی پەڕە لە ژێرەوەی جیاوازییەکاندا نیشان مەدە',
 'tog-showhiddencats' => 'پۆلە شاردراوەکان نیشان بدە',
-'tog-noconvertlink' => 'لەکارخستنی ئاڵوگۆڕی سەرناوی بەستەر',
 'tog-norollbackdiff' => 'لە دوای گەڕاندنەوە جیاوازی نیشان مەدە',
 'tog-useeditwarning' => 'ھۆشیارم بکەوە کاتێک لە پەڕەیەکی دەستکاری بە گۆڕانکاریی پاشەکەوت‌نەکراو دەردەچم',
 
index 303ab46..68d79ca 100644 (file)
@@ -403,7 +403,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Zasílat mi kopie e-mailů, které pošlu jiným uživatelům',
 'tog-diffonly' => 'Nezobrazovat obsah stránky pod rozdílem verzí',
 'tog-showhiddencats' => 'Zobrazit skryté kategorie',
-'tog-noconvertlink' => 'Vypnout konverzi názvů',
 'tog-norollbackdiff' => 'Po vrácení změny nezobrazovat porovnání rozdílů',
 'tog-useeditwarning' => 'Upozornit, když budu opouštět editaci bez uložení změn',
 'tog-prefershttps' => 'Po přihlášení používat vždy zabezpečené spojení',
@@ -2573,7 +2572,7 @@ $2 zaznamenává poslední smazá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ě.',
-'deleting-backlinks-warning' => "'''Upozornění:''' Stránka, kterou se chystáte smazat, je na jiných stránkách odkazována nebo je do nich vložena.",
+'deleting-backlinks-warning' => "'''Upozornění:''' Stránka, kterou se chystáte smazat, je [[Special:WhatLinksHere/{{FULLPAGENAME}}|na jiných stránkách]] odkazována nebo je do nich vložena.",
 
 # Rollback
 'rollback' => 'Vrátit zpět editace',
index f4fe54c..e9ac3d5 100644 (file)
@@ -75,7 +75,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Sélôj do mie kòpije e-mailów, chtërné sélóm do jinych brëkòwników',
 'tog-diffonly' => 'Nie wëskrzëniôj zamkłoscë starnë niżi przërónaniô zjinaków',
 'tog-showhiddencats' => 'Wëskrzëni zataconé kategòrëje',
-'tog-noconvertlink' => 'Wëłączë kònwersëjã titlów w lënkach',
 'tog-norollbackdiff' => 'Pòcësni wëskrzënianié zjinaków pò copniãcô sã',
 
 'underline-always' => 'Wiedno',
index 0b4554b..f7b8ee5 100644 (file)
@@ -2312,7 +2312,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, neu'n trawsgynnwys y dudalen hon.",
+'deleting-backlinks-warning' => "'''Rhybudd:''' Mae [[Special:WhatLinksHere/{{FULLPAGENAME}}|tudalennau eraill]] yn cysylltu i'r dudalen yr ydych ar fin ei dileu, neu'n trawsgynnwys y dudalen hon.",
 
 # Rollback
 'rollback' => 'Gwrthdroi golygiadau',
@@ -2489,6 +2489,7 @@ Mae'r cofnod diweddaraf yn y lòg blocio i'w weld isod:",
 'sp-contributions-search' => 'Chwilio am gyfraniadau',
 'sp-contributions-username' => 'Cyfeiriad IP neu enw defnyddiwr:',
 'sp-contributions-toponly' => "Dangos golygiadau sy'n olygiadau diweddaraf yn unig",
+'sp-contributions-newonly' => "Dangos y golygiadau hynny sy'n dechrau tudalen yn unig",
 'sp-contributions-submit' => 'Chwilier',
 
 # What links here
index 00d942b..8908de6 100644 (file)
@@ -230,7 +230,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Send mig kopier af e-mails som jeg sender til andre brugere',
 'tog-diffonly' => 'Vis ikke sideindhold neden under versionssammenligninger',
 'tog-showhiddencats' => 'Vis skjulte kategorier',
-'tog-noconvertlink' => 'Slå konvertering af sidetitler fra',
 'tog-norollbackdiff' => 'Vis ikke forskel efter tilbagerulning',
 'tog-useeditwarning' => 'Advar mig, hvis jeg forlader en redigeringsside med ændringer, der ikke er gemt.',
 'tog-prefershttps' => 'Brug altid en sikker forbindelse, når du er logget ind',
index 7fbfde8..293de6d 100644 (file)
@@ -461,7 +461,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Schicke mir Kopien der E-Mails, die ich anderen Benutzern sende',
 'tog-diffonly' => 'Beim Versionsvergleich nur die Unterschiede und nicht die vollständige Seite anzeigen',
 'tog-showhiddencats' => 'Anzeige versteckter Kategorien',
-'tog-noconvertlink' => 'Konvertierung des Titels deaktivieren',
 'tog-norollbackdiff' => 'Unterschied nach dem Zurücksetzen unterdrücken',
 'tog-useeditwarning' => 'Warnen, sofern eine zur Bearbeitung geöffnete Seite verlassen wird, die nicht gespeicherte Änderungen enthält',
 'tog-prefershttps' => 'Wenn angemeldet, immer eine sichere Verbindung benutzen.',
@@ -2634,7 +2633,7 @@ Rückmeldungen und weitere Hilfe: {{canonicalurl:{{MediaWiki:Helppage}}}}',
 'delete-edit-reasonlist' => 'Löschgründe bearbeiten',
 'delete-toobig' => 'Diese Seite hat mit mehr als $1 {{PLURAL:$1|Version|Versionen}} eine sehr lange Versionsgeschichte. Das Löschen solcher Seiten wurde eingeschränkt, um eine versehentliche Überlastung der Server zu verhindern.',
 'delete-warning-toobig' => 'Diese Seite hat mit mehr als $1 {{PLURAL:$1|Version|Versionen}} eine sehr lange Versionsgeschichte. Das Löschen kann zu Störungen im Datenbankbetrieb führen.',
-'deleting-backlinks-warning' => "'''Warnung:''' Es verweisen noch andere Seiten auf die zu löschende Seite oder diese Seite ist noch woanders eingebunden.",
+'deleting-backlinks-warning' => "'''Warnung:''' Es verweisen noch [[Special:WhatLinksHere/{{FULLPAGENAME}}|andere Seiten]] auf die zu löschende Seite oder diese Seite ist noch woanders eingebunden.",
 
 # Rollback
 'rollback' => 'Zurücksetzen der Änderungen',
index 3965382..925491c 100644 (file)
@@ -367,7 +367,6 @@ $messages = array(
 'tog-ccmeonemails' => 'E-posteyanê ke ez karberanê binan rê rışenan, mı rê kopya inan bırışe',
 'tog-diffonly' => 'Qıyasê versiyonan de tek ferqan bımocne, pela butıne nê',
 'tog-showhiddencats' => 'Kategoriyanê dızdiye bımocne',
-'tog-noconvertlink' => 'Greyê sernami çerx kerdışi bıqefılne',
 'tog-norollbackdiff' => 'Peyserardışi ra dıme ferqi caverde',
 'tog-useeditwarning' => 'Wexto ke mı yew pela nizami be vurnayışanê nêqeydbiyayeyan caverdê, hay be mı ser de',
 'tog-prefershttps' => 'Ronışten akerden de  greyo itimadın bıkarne',
@@ -1413,7 +1412,7 @@ Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}
 'search-section' => '(qısmê $1)',
 'search-file-match' => '(zerreyê dosya yewbini gêno)',
 'search-suggest' => 'To va: $1',
-'search-interwiki-caption' => 'Projey Bıray',
+'search-interwiki-caption' => 'Proceyê bıray',
 'search-interwiki-default' => '$1 neticeyan:',
 'search-interwiki-more' => '(véşi)',
 'search-relatedarticle' => 'Eleqeyın',
@@ -3126,7 +3125,7 @@ dosyaya emaneti vindbiyo',
 'tooltip-p-logo' => 'Şo pela seri',
 'tooltip-n-mainpage' => 'Şo pela seri',
 'tooltip-n-mainpage-description' => 'Şo pela seri',
-'tooltip-n-portal' => 'Heqa projey de, kes çı şeno bıkero, çıçiyo koti deyo',
+'tooltip-n-portal' => 'Heqa procey de, çı şenay bıkerê, çı koti vêniyeno',
 'tooltip-n-currentevents' => 'Vurnayışanê peyênan de melumatê pey bıvêne',
 'tooltip-n-recentchanges' => 'Wiki de lista vurnayışanê peyênan',
 'tooltip-n-randompage' => 'Perake raşt amé',
@@ -3988,7 +3987,7 @@ Ma rica keno tesdiq bike ke ti raştî wazeno eno pel bivirazo.",
 'descending_abbrev' => 'nızm',
 'table_pager_next' => 'Pela peyêne',
 'table_pager_prev' => 'Pela verêne',
-'table_pager_first' => 'Pela jûyıne',
+'table_pager_first' => 'Pela sıfteyêne',
 'table_pager_last' => 'Pela peyêne',
 'table_pager_limit' => 'her per de $1 unsuran bımocne',
 'table_pager_limit_label' => 'Her pele ra xacetan',
index d43df36..b3c1c39 100644 (file)
@@ -408,7 +408,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Να μου αποστέλλονται αντίγραφα των μηνυμάτων ηλεκτρονικού ταχυδρομείου που στέλνω σε άλλους χρήστες',
 'tog-diffonly' => 'Να μην εμφανίζεται περιεχόμενο σελίδων κάτω από τις διαφορές των εκδόσεων',
 'tog-showhiddencats' => 'Εμφάνιση κρυμμένων κατηγοριών',
-'tog-noconvertlink' => 'Απενεργοποίησε την μετατροπή τίτλου συνδέσμου',
 'tog-norollbackdiff' => 'Παράλειψη διαφοράς μετά την εκτέλεση επαναφοράς',
 'tog-useeditwarning' => 'Προειδοποίηση όταν εγκαταλείπω μία σελίδα επεξεργασίας χωρίς να έχω πρώτα αποθηκεύσει τις αλλαγές',
 'tog-prefershttps' => 'Να γίνεται πάντα χρήση ασφαλούς σύνδεσης όταν ο χρήστης είναι συνδεδεμένος',
index c785486..31da2a2 100644 (file)
@@ -5004,13 +5004,13 @@ You should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU Gen
 'dberr-cachederror' => 'This is a cached copy of the requested page, and may not be up to date.',
 
 # HTML forms
-'htmlform-invalid-input'       => 'There are problems with some of your input',
+'htmlform-invalid-input'       => 'There are problems with some of your input.',
 'htmlform-select-badoption'    => 'The value you specified is not a valid option.',
 'htmlform-int-invalid'         => 'The value you specified is not an integer.',
 'htmlform-float-invalid'       => 'The value you specified is not a number.',
-'htmlform-int-toolow'          => 'The value you specified is below the minimum of $1',
-'htmlform-int-toohigh'         => 'The value you specified is above the maximum of $1',
-'htmlform-required'            => 'This value is required',
+'htmlform-int-toolow'          => 'The value you specified is below the minimum of $1.',
+'htmlform-int-toohigh'         => 'The value you specified is above the maximum of $1.',
+'htmlform-required'            => 'This value is required.',
 'htmlform-submit'              => 'Submit',
 'htmlform-reset'               => 'Undo changes',
 'htmlform-selectorother-other' => 'Other',
index 6a607c5..ad82636 100644 (file)
@@ -317,7 +317,7 @@ $magicWords = array(
        'img_link'                  => array( '1', 'vínculo=$1', 'vinculo=$1', 'enlace=$1', 'link=$1' ),
        'sitename'                  => array( '1', 'NOMBREDELSITIO', 'SITENAME' ),
        'ns'                        => array( '0', 'EN:', 'NS:' ),
-       'localurl'                  => array( '0', 'URLLOCAL', 'LOCALURL:' ),
+       'localurl'                  => array( '0', 'URLLOCAL:', 'LOCALURL:' ),
        'localurle'                 => array( '0', 'URLLOCALC:', 'LOCALURLE:' ),
        'server'                    => array( '0', 'SERVIDOR', 'SERVER' ),
        'servername'                => array( '0', 'NOMBRESERVIDOR', 'SERVERNAME' ),
@@ -342,11 +342,11 @@ $magicWords = array(
        'fullurle'                  => array( '0', 'URLCOMPLETAC:', 'FULLURLE:' ),
        'canonicalurl'              => array( '0', 'URLCANONICA:', 'CANONICALURL:' ),
        'canonicalurle'             => array( '0', 'URLCANONICAC:', 'CANONICALURLE:' ),
-       'lcfirst'                   => array( '0', 'PRIMEROMINUS;', 'PRIMEROMINÚS:', 'LCFIRST:' ),
-       'ucfirst'                   => array( '0', 'PRIMEROMAYUS;', 'PRIMEROMAYÚS:', 'UCFIRST:' ),
+       'lcfirst'                   => array( '0', 'PRIMEROMINUS:', 'PRIMEROMINÚS:', 'LCFIRST:' ),
+       'ucfirst'                   => array( '0', 'PRIMEROMAYUS:', 'PRIMEROMAYÚS:', 'UCFIRST:' ),
        'lc'                        => array( '0', 'MINUS:', 'MINÚS:', 'LC:' ),
        'uc'                        => array( '0', 'MAYUS:', 'MAYÚS:', 'UC:' ),
-       'raw'                       => array( '0', 'SINFORMATO', 'SINPUNTOS', 'RAW:' ),
+       'raw'                       => array( '0', 'SINFORMATO:', 'SINPUNTOS:', 'RAW:' ),
        'displaytitle'              => array( '1', 'MOSTRARTÍTULO', 'MOSTRARTITULO', 'DISPLAYTITLE' ),
        'rawsuffix'                 => array( '1', 'SF', 'R' ),
        'newsectionlink'            => array( '1', '__VINCULARANUEVASECCION__', '__ENLACECREARSECCIÓN__', '__NEWSECTIONLINK__' ),
@@ -424,7 +424,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Recibir copias de los correos que envío a otros usuarios',
 'tog-diffonly' => "No mostrar bajo las ''diferencias'' el contenido de la página",
 'tog-showhiddencats' => 'Mostrar las categorías escondidas',
-'tog-noconvertlink' => 'Desactivar la conversión de título de enlace',
 'tog-norollbackdiff' => 'Omitir la diferencia después de revertir',
 'tog-useeditwarning' => 'Advertirme cuando abandone una página editada con cambios sin grabar',
 'tog-prefershttps' => 'Utiliza una conexión segura siempre que haya iniciado una sesión',
index 3c786cb..06891a3 100644 (file)
@@ -291,7 +291,7 @@ $messages = array(
 'vector-action-unprotect' => 'Babesa aldatu',
 'vector-view-create' => 'Sortu',
 'vector-view-edit' => 'Aldatu',
-'vector-view-history' => 'Historia ikusi',
+'vector-view-history' => 'Ikusi historia',
 'vector-view-view' => 'Irakurri',
 'vector-view-viewsource' => 'Kodea ikusia',
 'actions' => 'Ekintzak',
@@ -1454,7 +1454,7 @@ Informazio hau publikoa da.',
 'action-writeapi' => 'idazteko APIa erabili',
 'action-delete' => 'orrialde hau ezabatu',
 'action-deleterevision' => 'berrikuspen hau ezabatu',
-'action-deletedhistory' => 'orrialde honetako ezabatutako historia ikusi',
+'action-deletedhistory' => 'ikusi orri honen historia ezabatua',
 'action-browsearchive' => 'ezabatutako orrialdeak bilatu',
 'action-undelete' => 'ezabatutako orrialde hau bergaitu',
 'action-suppressrevision' => 'izkutuko berrikuspen hau berrikusi eta gaitu',
index d33a51a..dd79ead 100644 (file)
@@ -491,7 +491,6 @@ $messages = array(
 'tog-ccmeonemails' => 'رونوشتی از نامه‌ای که به دیگران ارسال می‌کنم برای خودم هم فرستاده شود',
 'tog-diffonly' => 'محتوای صفحه، زیر تفاوت نمایش داده نشود',
 'tog-showhiddencats' => 'رده‌های پنهان نمایش داده شود',
-'tog-noconvertlink' => 'تبدیل عنوان پیوند غیرفعال شود',
 'tog-norollbackdiff' => 'بعد از واگردانی تفاوت نشان داده نشود',
 'tog-useeditwarning' => 'زمان خروج از صفحهٔ ویرایش در صورت داشتن ویرایش‌های‌ ذخیره‌نشده به من هشدار داده شود',
 'tog-prefershttps' => 'در حالت ورود به سامانه همواره از اتصال امن استفاده شود',
@@ -2701,7 +2700,7 @@ $PAGEINTRO $NEWPAGE
 'delete-warning-toobig' => 'این صفحه تاریخچهٔ ویرایشی بزرگی دارد، که شامل بیش از $1 {{PLURAL:$1|نسخه|نسخه}} است.
 حذف آن ممکن است که عملکرد پایگاه دادهٔ {{SITENAME}} را مختل کند;
 با احتیاط ادامه دهید.',
-'deleting-backlinks-warning' => "''' هشدار:''' صفحات دیگر پیوند یا تراگنجایش به صفحه شما  برای حذف هستند.",
+'deleting-backlinks-warning' => "''' هشدار:''' پیوند [[Special:WhatLinksHere/{{FULLPAGENAME}}|صفحات دیگر]] یا تراگنجایش صفحهٔ شما برای حذف.",
 
 # Rollback
 'rollback' => 'واگردانی ویرایش‌ها',
index fe968f7..9ae59ec 100644 (file)
@@ -356,7 +356,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Lähetä minulle kopio MediaWikin kautta lähetetyistä sähköposteista',
 'tog-diffonly' => 'Älä näytä sivun sisältöä eroavaisuusvertailun alapuolella',
 'tog-showhiddencats' => 'Näytä piilotetut luokat',
-'tog-noconvertlink' => 'Älä muunna linkkien otsikoita toiseen kirjoitusjärjestelmään',
 'tog-norollbackdiff' => 'Älä näytä eroavaisuuksia, kun olet palauttanut muokkauksen palauta-työkalulla',
 'tog-useeditwarning' => 'Varoita minua, kun poistun muokkaussivulta tallentamatta muutoksia',
 'tog-prefershttps' => 'Käytä aina suojattua yhteyttä, kun olet kirjautunut sisään',
index fa39b60..e71d267 100644 (file)
@@ -458,7 +458,6 @@ $messages = array(
 'tog-ccmeonemails' => "M'envoyer une copie des courriels que j'envoie aux autres utilisateurs",
 'tog-diffonly' => 'Ne pas afficher le contenu des pages sous les diffs',
 'tog-showhiddencats' => 'Afficher les catégories cachées',
-'tog-noconvertlink' => 'Désactiver la conversion des titres',
 'tog-norollbackdiff' => "Ne pas afficher le diff lors d'une révocation",
 'tog-useeditwarning' => "M'avertir quand je quitte une page de modification sans publier les changements",
 'tog-prefershttps' => 'Toujours utiliser une connexion sécurisée en étant connecté',
@@ -1595,7 +1594,7 @@ Toute personne la connaissant pourra lire votre liste de suivi, ne la communique
 'prefs-files' => 'Fichiers',
 'prefs-custom-css' => 'CSS personnalisé',
 'prefs-custom-js' => 'JavaScript personnalisé',
-'prefs-common-css-js' => 'JavaScript et CSS partagé pour tous les habillages :',
+'prefs-common-css-js' => 'CSS et JavaScript communs à tous les habillages :',
 'prefs-reset-intro' => 'Vous pouvez utiliser cette page pour restaurer vos préférences aux valeurs par défaut du site. Ceci ne peut pas être défait.',
 'prefs-emailconfirm-label' => 'Confirmation du courriel :',
 'youremail' => 'Courriel :',
@@ -2640,7 +2639,7 @@ La suppression de telles pages a été restreinte pour prévenir des perturbatio
 'delete-warning-toobig' => "Cette page possède un historique important de modifications, dépassant $1 version{{PLURAL:$1||s}}.
 La supprimer peut perturber le fonctionnement de la base de données de {{SITENAME}} ;
 veuiller ne procéder qu'avec prudence.",
-'deleting-backlinks-warning' => "'''Attention :''' D’autres pages ont un lien vers ou incorporent la page que vous allez supprimer.",
+'deleting-backlinks-warning' => "'''Attention :''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|D’autres pages]] ont un lien vers ou incorporent la page que vous allez supprimer.",
 
 # Rollback
 'rollback' => 'Révoquer les modifications',
index 6530ba3..fae921b 100644 (file)
@@ -348,7 +348,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Mè mandar na copia des mèssâjos que mando ux ôtros utilisators',
 'tog-diffonly' => 'Pas montrar lo contegnu de les pâges desot les difs',
 'tog-showhiddencats' => 'Montrar les catègories cachiêes',
-'tog-noconvertlink' => 'Dèsactivar la convèrsion des titros des lims',
 'tog-norollbackdiff' => 'Pas fâre vêre la dif pendent na rèvocacion',
 'tog-useeditwarning' => 'M’avèrtir quand quito una pâge de changement sen sôvar los changements',
 
index e7a29a9..9c74e8b 100644 (file)
@@ -321,7 +321,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Enviádeme ao meu enderezo unha copia das mensaxes de correo electrónico que envíe a outros usuarios',
 'tog-diffonly' => 'Non mostrar o contido da páxina debaixo das diferenzas entre edicións',
 'tog-showhiddencats' => 'Mostrar as categorías ocultas',
-'tog-noconvertlink' => 'Desactivar a conversión dos títulos de ligazón',
 'tog-norollbackdiff' => 'Omitir as diferenzas despois de levar a cabo unha reversión de edicións',
 'tog-useeditwarning' => 'Avisádeme cando deixe unha páxina de edición cos cambios sen gardar',
 'tog-prefershttps' => 'Utilizar unha conexión segura sempre que acceda ao sistema',
@@ -836,9 +835,9 @@ Por favor, agarde $1 antes de probar outra vez.',
 'suspicious-userlogout' => 'Rexeitouse a súa petición de saír do sistema porque semella que a enviou un navegador roto ou a caché dun proxy.',
 'createacct-another-realname-tip' => 'O nome real é opcional.
 Se escolle dalo utilizarase para atribuír ao usuario o seu traballo.',
-'pt-login' => 'Iniciar sesión',
+'pt-login' => 'Acceder ao sistema',
 'pt-createaccount' => 'Crear unha conta',
-'pt-userlogout' => 'Pechar sesión',
+'pt-userlogout' => 'Saír',
 
 # Email sending
 'php-mail-error-unknown' => 'Erro descoñecido na función mail() do PHP.',
@@ -869,7 +868,7 @@ Para completar o acceso, defina un novo contrasinal aquí:',
 'resetpass-temp-password' => 'Contrasinal temporal:',
 'resetpass-abort-generic' => 'Unha extensión cancelou a modificación do contrasinal.',
 'resetpass-expired' => 'O seu contrasinal caducou. Defina un novo contrasinal para acceder.',
-'resetpass-expired-soft' => 'O seu contrasinal caducou e debe restablecelo. Escolla un novo contrasinal ou prema «Cancelar» para restablecelo máis tarde.',
+'resetpass-expired-soft' => 'O seu contrasinal caducou e debe restablecelo. Escolla un novo contrasinal ou prema en "{{int:resetpass-submit-cancel}}" para restablecelo máis tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restablecer o contrasinal',
@@ -1210,7 +1209,7 @@ A razón que deu $3 foi ''$2''.",
 'page_last' => 'derradeira',
 'histlegend' => "Selección de diferenzas: Marque as versións que queira comparar e prema no botón ao final.<br />
 Lenda: '''({{int:cur}})''' = diferenza coa versión actual, '''({{int:last}})''' = diferenza coa versión precedente, '''{{int:minoreditletter}}''' = edición pequena.",
-'history-fieldset-title' => 'Navegar polo historial',
+'history-fieldset-title' => 'Explorar o historial',
 'history-show-deleted' => 'Borrados soamente',
 'histfirst' => 'as máis antigas',
 'histlast' => 'as máis novas',
@@ -1730,8 +1729,8 @@ Se escolle dalo utilizarase para atribuírlle o seu traballo.',
 'recentchanges-legend-heading' => "'''Lenda:'''",
 'recentchanges-legend-newpage' => '(véxase tamén a [[Special:NewPages|lista de páxinas novas]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => "A continuación móstranse os cambios feitos desde o '''$3''' ás '''$4''' (móstranse '''$1''' como máximo).",
-'rclistfrom' => 'Mostrar os cambios novos desde o $1',
+'rcnotefrom' => 'A continuación móstranse os cambios feitos desde o <strong>$3</strong> ás <strong>$4</strong> (móstranse <strong>$1</strong> como máximo).',
+'rclistfrom' => 'Mostrar os cambios novos desde o $3 ás $2',
 'rcshowhideminor' => '$1 as edicións pequenas',
 'rcshowhideminor-show' => 'Mostrar',
 'rcshowhideminor-hide' => 'Agochar',
@@ -1880,7 +1879,7 @@ Debería contactar con alguén capaz de ver os datos de ficheiros borrados para
 'uploaddisabledtext' => 'A carga de ficheiros está desactivada.',
 'php-uploaddisabledtext' => 'As cargas de ficheiros PHP están desactivadas. Por favor, comprobe a característica file_uploads.',
 'uploadscripted' => 'Este ficheiro contén código HTML ou script que pode producir erros ao ser interpretado polo navegador.',
-'uploadscriptednamespace' => "Este ficheiro SVG contén un espazo de nome non permitido '$1'",
+'uploadscriptednamespace' => 'Este ficheiro SVG contén o espazo de nomes non permitido "$1"',
 'uploadinvalidxml' => 'Non se puido analizar o XML do ficheiro cargado.',
 'uploadvirus' => 'O ficheiro contén un virus! Detalles: $1',
 'uploadjava' => 'O ficheiro é un ZIP que contén un ficheiro .class de Java.
@@ -2256,7 +2255,7 @@ As entradas <del>riscadas</del> xa foron resoltas.',
 'deadendpagestext' => 'Estas páxinas non ligan con ningunha outra páxina de {{SITENAME}}.',
 'protectedpages' => 'Páxinas protexidas',
 'protectedpages-indef' => 'Só as proteccións indefinidas',
-'protectedpages-summary' => 'Esta páxina lista páxinas existentes protexidas. Para obter unha lista de páxinas cuxa creación está prohibida, vexa [[{{#special:ProtectedTitles}}]].',
+'protectedpages-summary' => 'Esta páxina lista as páxinas existentes que están protexidas actualmente. Para obter unha lista de páxinas cuxa creación está prohibida, consulte [[{{#special:ProtectedTitles}}]].',
 '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.',
@@ -2269,7 +2268,7 @@ As entradas <del>riscadas</del> xa foron resoltas.',
 'protectedpages-unknown-timestamp' => 'Descoñecido',
 'protectedpages-unknown-performer' => 'Usuario descoñecido',
 'protectedtitles' => 'Títulos protexidos',
-'protectedtitles-summary' => 'Esta páxina lista títulos que están prohibidos para páxinas novas. Para obter unha lista de páxinas existentes protexidas, vexa [[{{#special:ProtectedPages}}]].',
+'protectedtitles-summary' => 'Esta páxina lista os títulos que están protexidos actualmente fronte á creación. Para obter unha lista de páxinas existentes protexidas, consulte [[{{#special:ProtectedPages}}]].',
 'protectedtitlesempty' => 'Actualmente non hai ningún título protexido con eses parámetros.',
 'listusers' => 'Lista de usuarios',
 'listusers-editsonly' => 'Mostrar só os usuarios con edicións',
@@ -2546,7 +2545,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 conteñen unha ligazón ou unha transclusión da páxina que está a piques de borrar.",
+'deleting-backlinks-warning' => "'''Atención:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páxinas]] conteñen unha ligazón ou unha transclusión da páxina que está a piques de borrar.",
 
 # Rollback
 'rollback' => 'Reverter as edicións',
@@ -2723,9 +2722,10 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'Este enderezo IP está bloqueado.
 Velaquí está a última entrada do rexistro de bloqueos, por se quere consultala:',
 'sp-contributions-search' => 'Busca de contribucións',
+'sp-contributions-suppresslog' => 'contribucións borradas do usuario',
 'sp-contributions-username' => 'Enderezo IP ou nome de usuario:',
 'sp-contributions-toponly' => 'Mostrar só as últimas revisións',
-'sp-contributions-newonly' => 'Mostrar só edicións que son creacións de páxinas',
+'sp-contributions-newonly' => 'Mostrar só as edicións que crearon páxinas',
 'sp-contributions-submit' => 'Procurar',
 
 # What links here
@@ -3034,7 +3034,7 @@ $2',
 'thumbnail_image-type' => 'Tipo de imaxe non soportado',
 'thumbnail_gd-library' => 'Configuración da libraría GD incompleta: Falta a función $1',
 'thumbnail_image-missing' => 'Parece que falta o ficheiro: $1',
-'thumbnail_image-failure-limit' => 'Producíronse demasiados ($1 ou máis) intentos fallidos recentes de renderizar esta miniatura. Vólvao intentar máis tarde.',
+'thumbnail_image-failure-limit' => 'Producíronse demasiados ($1 ou máis) intentos fallidos recentes de renderizar esta miniatura. Inténteo de novo máis tarde.',
 
 # Special:Import
 'import' => 'Importar páxinas',
@@ -3992,7 +3992,7 @@ Tamén pode [[Special:EditWatchlist|empregar o editor normal]].',
 'version-ext-colheader-credits' => 'Autores',
 'version-license-title' => 'Licenza para $1',
 'version-license-not-found' => 'Non se atopou información detallada de licenza para esta extensión.',
-'version-credits-title' => 'Receñecemento para $1',
+'version-credits-title' => 'Recoñecemento para $1',
 'version-credits-not-found' => 'Non se atopou información detallada de recoñecemento para esta extensión.',
 'version-poweredby-credits' => "Este wiki está desenvolvido por '''[https://www.mediawiki.org/wiki/MediaWiki/gl MediaWiki]''', dereitos de autoría © 2001-$1 $2.",
 'version-poweredby-others' => 'outros',
index ffbcb68..5dc065b 100644 (file)
@@ -170,7 +170,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Schick mr Kopie vo de E-Mails, won i andere schick.',
 'tog-diffonly' => 'Numme Versionsunterschiid aazeige, ohni d Syte',
 'tog-showhiddencats' => 'Zeig di versteckte Kategorie',
-'tog-noconvertlink' => 'Konvertierig vum Titel deaktiviere',
 'tog-norollbackdiff' => 'Unterschid noch em Zrucksetze unterdrucke',
 'tog-useeditwarning' => 'Warn mi, wänn I ne Syte verloss mit Bearbeitige, wu nonig gspycheret sin',
 'tog-prefershttps' => 'Wänn aagmäldet, alliwyl e sicheri Verbindig bruuche',
index c867620..25415ce 100644 (file)
@@ -188,7 +188,6 @@ $messages = array(
 'tog-ccmeonemails' => 'મે અન્યોને મોકલેલા ઇમેલની નકલ મને મોકલો',
 'tog-diffonly' => 'તફાવતની નીચે લેખ ન બતાવશો',
 'tog-showhiddencats' => 'છુપી શ્રેણીઓ દર્શાવો',
-'tog-noconvertlink' => 'Disable link title conversion',
 'tog-norollbackdiff' => 'રોલબેક કર્યા પછીના તફાવતો છુપાવો',
 'tog-useeditwarning' => 'સાચવ્યા વગર જો હું પૃષ્ઠ છોડું તો મને ચેતવણી આપો',
 'tog-prefershttps' => 'સભ્યનામથી પ્રવેશ કર્યો હોય ત્યારે સુરક્ષિત જોડાણ (https) જ વાપરો',
index c31eed9..5e49183 100644 (file)
@@ -89,43 +89,43 @@ $magicWords = array(
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Kahalalo i nā loulou:',
-'tog-hideminor' => 'E hoʻohūnā i nā ho‘opololei iki ma nā loli hou',
-'tog-hidepatrolled' => 'E hoʻohūnā i nā loli kiaʻi kaʻahele i loko o nā lolina hanawale',
+'tog-hideminor' => 'E hoʻohūnā i nā ho‘ololi iki ma nā loli hou',
+'tog-hidepatrolled' => 'E hoʻohūnā i nā loli kiaʻi kaʻahele ma nā loli hou',
 'tog-newpageshidepatrolled' => 'E hoʻohūnā i nā ʻaoʻao kiaʻi kaʻahele mai ka papahelu ʻaoʻao hou',
-'tog-extendwatchlist' => 'E hoʻākea i ka papa nānā pono no ka hōʻike ʻana i nā loli apau, ʻaʻole nā mea hanawale wale nō',
-'tog-usenewrc' => 'Nā lolina hui mao ka ʻaoʻao ma loko o lolina hanawale a me ka papa nānā pono',
+'tog-extendwatchlist' => 'E hoʻākea i ka papakiaʻi no ka hōʻike ʻana i nā loli apau, ʻaʻole nā mea hanawale wale nō',
+'tog-usenewrc' => 'Nā loli hui mao ka ʻaoʻao ma loko o ka loli hou a me ka papakiaʻi',
 'tog-numberheadings' => 'E hikahelu i nā poʻo',
 'tog-showtoolbar' => 'E hōʻike i ka pahu hāmeʻa hoʻololi',
 'tog-editondblclick' => 'E ho‘ololi i nā ‘ao‘ao me ke kōmi pālua',
 'tog-editsectiononrightclick' => 'E hoʻokuʻu i ka hoʻololi mahele mao ka paʻina ʻākau ma nā poʻoinoa māhele',
 'tog-rememberpassword' => 'E hoʻomanaʻo iaʻu ma kēia lolo uila (no ka palena nui o $1 {{PLURAL:$1|lā|mau lā}})',
-'tog-watchcreations' => 'E ho‘ohui i nā ‘ao‘ao aʻu i hana ai a me nā faila aʻu i hoʻouka ai i ka‘u papa nānā pono',
-'tog-watchdefault' => 'E ho‘ohui i nā ‘ao‘ao a me nā faila aʻu e hoʻololi ai i ka‘u papa nānā pono',
-'tog-watchmoves' => 'E ho‘ohui i nā ‘ao‘ao a me nā faila aʻu e ne‘e ai i ka‘u papa nānā pono',
-'tog-watchdeletion' => 'E ho‘ohui i nā ‘ao‘ao a me nā faila aʻu e holoi ai i ka‘u papa nānā pono',
-'tog-minordefault' => 'E kaha i nā loli apau i ka loli liʻi mao ka paʻamau',
+'tog-watchcreations' => 'E ho‘ohui i nā ‘ao‘ao aʻu i hana ai a me nā waihona aʻu i hoʻouka ai i ka‘u papakiaʻi',
+'tog-watchdefault' => 'E ho‘ohui i nā ‘ao‘ao a me nā waihona aʻu e hoʻololi ai i ka‘u papakiaʻi',
+'tog-watchmoves' => 'E ho‘ohui i nā ‘ao‘ao a me nā waihona aʻu e ne‘e ai i ka‘u papakiaʻi',
+'tog-watchdeletion' => 'E ho‘ohui i nā ‘ao‘ao a me nā waihona aʻu e holoi ai i ka‘u papakiaʻi',
+'tog-minordefault' => 'E kaha i nā loli apau i ka loli iki mao ka paʻamau',
 'tog-previewontop' => 'E hō‘ike i ka nāmua mamua o ka pahu hoʻololi',
 'tog-previewonfirst' => 'E hō‘ike i ka nāmua ma ka ho‘ololi mua',
-'tog-enotifwatchlistpages' => 'E leka uila iaʻu i ka loli ʻana o kekahi faila aiʻole kekahi ʻaoʻao ma kaʻu papa nānā pono',
-'tog-enotifusertalkpages' => 'E leka uila iaʻu i ka loli ʻana o kaʻu ʻaoʻao kūkākūkā',
-'tog-enotifminoredits' => 'E leka uila iaʻu no nā loli liʻi o nā ʻaoʻao a me nā faila',
-'tog-enotifrevealaddr' => 'E hō‘ike i ko‘u leka uila ma nā leka uila hō‘ike',
+'tog-enotifwatchlistpages' => 'E leka uila iaʻu i ka loli ʻana o kekahi waihona aiʻole kekahi ʻaoʻao ma kaʻu papakiaʻi',
+'tog-enotifusertalkpages' => 'E leka uila iaʻu i ka loli ʻana o kaʻu ʻaoʻao walaʻau',
+'tog-enotifminoredits' => 'E leka uila iaʻu no nā loli iki o nā ʻaoʻao a me nā waihona',
+'tog-enotifrevealaddr' => 'E hō‘ike i kaʻu wahinoho lekauila ma nā lekauila notikala',
 'tog-shownumberswatching' => 'E hō‘ike i ka helu o nā mea ho‘ohana e nānā nei',
 'tog-oldsig' => 'Pūlima hananei:',
 'tog-fancysig' => 'E hana i ka pūlima me he wikitext (me ʻole i ka loulou hanawale)',
 'tog-uselivepreview' => 'E hana i ka nāmua ʻānō (hoʻokolohua)',
 'tog-forceeditsummary' => 'E kono iaʻu i ka hoʻokomo ʻana i kekahi hōʻuluʻulu manaʻo hoʻololi hou',
-'tog-watchlisthideown' => 'E hoʻohūnā i ko‘u mau ho‘ololi mai ka papa nānā pono',
-'tog-watchlisthidebots' => 'E hoʻohūnā i nā loli o nā lopako mai ka papa nānā pono',
-'tog-watchlisthideminor' => 'E hoʻohūnā i nā loli iki mai ka papa nānā pono',
-'tog-watchlisthideliu' => 'E hoʻohūnā i nā loli e nā mea hoʻohana ʻeʻeia mai ka papa nānā pono',
-'tog-watchlisthideanons' => 'E hoʻohūnā i nā loli e nā mea hoʻohana inoaʻole mai ka papa nānā pono',
-'tog-watchlisthidepatrolled' => 'E hoʻohūnā i nā loli kiaʻi kaʻahele mai ka papa nānā pono',
-'tog-ccmeonemails' => 'E hoʻouna mai i nā kope o nā leka uila aʻu i hāʻawi ai i kekahi mau mea hoʻohana.',
-'tog-diffonly' => 'Mai hōʻike i nā mealoko ʻaoʻao ma lolo o ka pōlamu difē',
-'tog-showhiddencats' => 'E hōʻike i nā māhele huna',
-'tog-norollbackdiff' => 'E wehe i ka pōlamu difē ma hope o ka hana hoʻimua',
-'tog-useeditwarning' => 'E aʻo mai iaʻu i kaʻu haʻalele ʻana i ka ʻaoʻao hoʻololi inā loaʻa i nā loli mālamaia ʻole',
+'tog-watchlisthideown' => 'E hoʻohūnā i ko‘u mau ho‘ololi mai ka papakiaʻi',
+'tog-watchlisthidebots' => 'E hoʻohūnā i nā loli o nā lopako mai ka papakiaʻi',
+'tog-watchlisthideminor' => 'E hoʻohūnā i nā loli iki mai ka papakiaʻi',
+'tog-watchlisthideliu' => 'E hoʻohūnā i nā loli e nā mea hoʻohana ʻeʻeia mai ka papakiaʻi',
+'tog-watchlisthideanons' => 'E hoʻohūnā i nā loli e nā mea hoʻohana inoaʻole mai ka papakiaʻi',
+'tog-watchlisthidepatrolled' => 'E hoʻohūnā i nā loli kiaʻi kaʻahele mai ka papakiaʻi',
+'tog-ccmeonemails' => 'E hoʻouna mai i nā kope o nā lekauila aʻu i hāʻawi ai i kekahi mau mea hoʻohana ʻē aʻe.',
+'tog-diffonly' => 'Mai hōʻike i nā mealoko ʻaoʻao ma lalo o ka ʻokoʻa',
+'tog-showhiddencats' => 'E hōʻike i nā māhele hūnā',
+'tog-norollbackdiff' => 'E waiho i ka ʻokoʻa ma hope o ka hana hoʻihoʻi',
+'tog-useeditwarning' => 'E aʻo mai iaʻu i kaʻu haʻalele ʻana i ka ʻaoʻao hoʻololi inā loaʻa i nā loli mālama ʻia ʻole',
 'tog-prefershttps' => 'E hana mau i ka hoʻokuʻi paʻa ma loko o ka ʻeʻe ʻana',
 
 'underline-always' => 'I nā manawa apau',
@@ -133,8 +133,8 @@ $messages = array(
 'underline-default' => 'Paʻamau ʻike aiʻole pōlamu pūnaewele',
 
 # Font style option in Special:Preferences
-'editfont-style' => 'E hoʻololi i kahi ʻanohua:',
-'editfont-default' => 'Paʻamau pōlamu pūnaewele',
+'editfont-style' => 'E hoʻololi i kahi kaila hua:',
+'editfont-default' => 'Pōlamu pūnaewele paʻamau',
 'editfont-monospace' => 'Hua pukakahi',
 'editfont-sansserif' => 'Hua Sanā-selifa',
 'editfont-serif' => 'Hua Selifa',
@@ -190,50 +190,57 @@ $messages = array(
 'oct' => 'ʻOk',
 'nov' => 'Now',
 'dec' => 'Kek',
-'january-date' => 'Ianuali $1',
-'february-date' => 'Pepeluali $1',
-'march-date' => 'Malaki $1',
-'april-date' => 'ʻApelila $1',
-'may-date' => 'Mei $1',
-'june-date' => 'Iune $1',
-'july-date' => 'Iulai $1',
-'august-date' => 'ʻAukake $1',
-'september-date' => 'Kepakemapa $1',
-'october-date' => 'ʻOkakopa $1',
-'november-date' => 'Nowemapa $1',
-'december-date' => 'Kēkēmapa $1',
+'january-date' => '$1 Ianuali',
+'february-date' => '$1 Pepeluali',
+'march-date' => '$1 Malaki',
+'april-date' => '$1 ʻApelila',
+'may-date' => '$1 Mei',
+'june-date' => '$1 Iune',
+'july-date' => '$1 Iulai',
+'august-date' => '$1 ʻAukake',
+'september-date' => '$1 Kepakemapa',
+'october-date' => '$1 ʻOkakopa',
+'november-date' => '$1 Nowemapa',
+'december-date' => '$1 Kēkēmapa',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Mahele|Māhele}}',
+'pagecategories' => '{{PLURAL:$1|Mahele| mau Māhele}}',
 'category_header' => 'Nā ʻaoʻao i loko o ka mahele "$1"',
-'subcategories' => 'Nā māhele laloiho',
-'category-media-header' => 'Nā pāpaho i loko o ka mahele "$1"',
-'category-empty' => "''ʻAʻohe moʻolelo a me pāpaho o kēia mahele i kēia manawa.''",
-'hidden-categories' => '{{PLURAL:$1|Mahele hūnā|Māhele hūnā}}',
+'subcategories' => 'Nā Māhele kūloko',
+'category-media-header' => 'Nā Pāpaho i loko o ka mahele "$1"',
+'category-empty' => "''ʻAʻohe ʻaoʻao a me pāpaho a kēia mahele i kēia manawa.''",
+'hidden-categories' => '{{PLURAL:$1|mahele hūnā|mau māhele hūnā}}',
 'hidden-category-category' => 'Nā māhele hūnā',
-'listingcontinuesabbrev' => '(ho‘omauia)',
-
-'about' => 'Pilina',
-'newwindow' => '(wehe i loko o kekahi pukaaniani hou)',
+'category-subcat-count' => '{{PLURAL:$2|Hoʻokahi mahele kūloko wale nō o kēia mahele.|Aia {{PLURAL:$1|i kēia mahele kūloko|$1 mau māhele kūloko}} i loko o kēia mahele, $2 ka huina.}}',
+'category-article-count' => '{{PLURAL:$2|Hoʻokahi ʻaoʻao wale nō o kēia mahele.|Aia {{PLURAL:$1|i kēia ʻaoʻao|$1 mau ʻaoʻao}} i loko o kēia mahele, $2 ka huina.}}',
+'category-file-count' => '{{PLURAL:$2|Hoʻokahi waihona wale nō o kēia mahele.|Aia {{PLURAL:$1|i kēia waihona|$1 mau waihona}} i loko o kēia mahele, $2 ka huina.}}',
+'listingcontinuesabbrev' => '(homaʻia)',
+'noindex-category' => 'Nā ʻAoʻao i hoʻopapakuhikuhi kikoʻī ʻia',
+
+'about' => 'No ia',
+'newwindow' => '(wehe ʻia i loko o kekahi pukaaniani hou)',
 'cancel' => 'Ho‘ōki',
 'moredotdotdot' => 'Nā mea ʻē aʻe...',
-'mypage' => 'Ko‘u ‘ao‘ao',
-'mytalk' => 'Ka‘u kūkākūkā',
-'anontalk' => 'Ke kūkākūkā no kēia IP',
+'mypage' => 'Ka‘u ‘ao‘ao',
+'mytalk' => 'Ka‘u walaʻau',
+'anontalk' => 'Walaʻau no kēia IP',
 'navigation' => 'Kelena',
 'and' => '&#32;a me',
 
 # Cologne Blue skin
-'qbfind' => 'Loa‘a',
+'qbfind' => 'Loa‘a iā',
 'qbbrowse' => 'Kele',
 'qbedit' => 'Hoʻololi',
 'qbpageoptions' => 'Kēia ‘ao‘ao',
 'qbmyoptions' => 'Ka‘u mau ‘ao‘ao',
+'faq' => 'NNP',
+'faqpage' => 'Project:NNP',
 
 # Vector skin
+'vector-action-addsection' => 'Hoʻohui kumuhana',
 'vector-action-delete' => 'Holoi',
-'vector-action-move' => 'Neʻe',
-'vector-action-protect' => 'Hoʻomalu',
+'vector-action-move' => 'E hoʻoneʻe',
+'vector-action-protect' => 'E hoʻomalu',
 'vector-action-undelete' => 'Holoiʻole',
 'vector-action-unprotect' => 'E hoʻololi i ka hoʻomalu',
 'vector-view-create' => 'Haku',
@@ -241,9 +248,11 @@ $messages = array(
 'vector-view-history' => 'Nānā i ka mōʻaukala',
 'vector-view-view' => 'Heluhelu',
 'vector-view-viewsource' => 'Nānā i ke kumu',
-'actions' => 'Hana',
+'actions' => 'Nā Hana',
 'namespaces' => 'Lewainoa',
+'variants' => 'Nā Lolina',
 
+'navigation-heading' => 'Papa kelena',
 'errorpagetitle' => 'Hewa',
 'returnto' => 'Ho‘i iā $1.',
 'tagline' => 'Mai {{SITENAME}}',
@@ -251,11 +260,11 @@ $messages = array(
 'search' => 'Huli',
 'searchbutton' => 'Huli',
 'go' => 'E huli',
-'searcharticle' => 'Hele',
-'history' => 'Mo‘olelo o ka ‘ao‘ao',
+'searcharticle' => 'E huli',
+'history' => 'Mōʻaukala ʻaoʻao',
 'history_short' => 'Mōʻaukala',
 'printableversion' => 'Mana paʻi pono',
-'permalink' => 'Ka loulou paʻa',
+'permalink' => 'Loulou paʻa',
 'print' => 'Pa‘i',
 'view' => 'Nānā',
 'edit' => 'Hoʻololi',
@@ -263,10 +272,10 @@ $messages = array(
 'editthispage' => 'E hoʻololi i kēia ‘ao‘ao',
 'create-this-page' => 'E haku i keia ‘ao‘ao',
 'delete' => 'Holoi',
-'deletethispage' => 'E holoi i kēia mo‘olelo',
+'deletethispage' => 'E holoi i kēia ʻaoʻao',
 'undeletethispage' => 'E holoiʻole i kēia ʻaoʻao',
 'undelete_short' => 'E holoiʻole i {{PLURAL:$1|hoʻokahi loli|$1 mau loli}}',
-'viewdeleted_short' => 'E ʻike i {{{{PLURAL:$1|hoʻokahi loli holoi|$1 mau loli holoi}}',
+'viewdeleted_short' => 'E ʻike i {{PLURAL:$1|hoʻokahi loli holoi|$1 mau loli holoi}}',
 'protect' => 'Hoʻomalu',
 'protect_change' => 'hoʻololi',
 'protectthispage' => 'E ho‘omalu i kēia ‘ao‘ao',
@@ -274,28 +283,29 @@ $messages = array(
 'unprotectthispage' => 'E hoʻololi i ka hoʻomalu o kēia ʻaoʻao',
 'newpage' => '‘Ao‘ao hou',
 'talkpage' => 'Kūkākūkā i keia ‘ao‘ao',
-'talkpagelinktext' => 'Kūkākūkā',
+'talkpagelinktext' => 'Walaʻau',
 'specialpage' => '‘Ao‘ao kūikawā',
 'personaltools' => 'Hāmeʻa ponoʻī',
 'postcomment' => 'Māhele hou',
-'talk' => 'Kūkākūkā',
-'views' => 'Nā nānaina',
+'articlepage' => 'Nānā i ka ʻaoʻao mealoko',
+'talk' => 'walaʻau',
+'views' => 'Nānaina',
 'toolbox' => 'Hāmeʻa',
 'userpage' => 'Nānā i ka ‘ao‘ao mea ho‘ohana',
 'projectpage' => 'Nānā i ka ‘ao‘ao papahana',
-'imagepage' => 'Nānā i ka ‘ao‘ao pāpaho',
-'mediawikipage' => 'Nānā i ka ‘ao‘ao memo',
+'imagepage' => 'Nānā i ka ‘ao‘ao waihona',
+'mediawikipage' => 'Nānā i ka ‘ao‘ao pūlono',
 'templatepage' => 'Nānā i ka ‘ao‘ao anakuhi',
 'viewhelppage' => 'Nānā i ka ‘ao‘ao kōkua',
 'categorypage' => 'Nānā i ka ‘ao‘ao mahele',
 'viewtalkpage' => 'Nānā i ke kūkākūkā',
 'otherlanguages' => 'Ma nā leo ʻē aʻe',
-'redirectedfrom' => '(Hoʻoili hou mai $1)',
-'redirectpagesub' => '‘Ao‘ao hoʻoili hou',
-'lastmodifiedat' => 'Ua hoʻololi ʻia kēia ʻaoʻao ma ka lā $1, i ka manawa $2.',
+'redirectedfrom' => '(Kia hou mai $1)',
+'redirectpagesub' => 'ʻAoʻao kia hou',
+'lastmodifiedat' => 'Ua kāloli ʻia kēia ʻaoʻao i ka lā $1, ma ka hola $2.',
 'viewcount' => 'Ua komo ʻia kēia ʻaoʻao i {{PLURAL:$1|hoʻokahi manawa|$1 mau manawa}}',
 'protectedpage' => '‘Ao‘ao ho‘omalu',
-'jumpto' => 'Lele i:',
+'jumpto' => 'Lele iā:',
 'jumptonavigation' => 'kelena',
 'jumptosearch' => 'huli',
 'view-pool-error' => 'E kala mai, ua hoʻoili nui ʻino nā pūnaewele i kēia manawa. Hoʻāʻo nā mea hoʻohana nui kā e ʻike i kēia ʻaoʻao. E ʻoluʻolu, e kali no kekahi mau minuke a hana hou. 
@@ -304,20 +314,20 @@ $1',
 'pool-errorunknown' => 'Hewa ʻikeʻole',
 
 # 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' => 'E pili ana iā {{SITENAME}}',
-'aboutpage' => 'Project:Pilina',
-'copyrightpage' => '{{ns:project}}:Ponokope',
+'aboutsite' => 'No {{SITENAME}}',
+'aboutpage' => 'Project:No translatewiki.net',
+'copyrightpage' => '{{ns:project}}:Kūleana kope',
 'currentevents' => 'Nūhou',
 'currentevents-url' => 'Project:Nūhou',
 'disclaimers' => 'Nā Akahele',
-'disclaimerpage' => 'Project:Akahele laulaha',
+'disclaimerpage' => 'Project:Akahele Laulaha',
 'edithelp' => 'Kōkua ho‘ololi',
 'helppage' => 'Help:Papakuhikuhi',
-'mainpage' => 'ʻAoʻao kinohi',
-'mainpage-description' => 'ʻAoʻao kinohi',
+'mainpage' => 'Papa Kinohi',
+'mainpage-description' => 'Papa Kinohi',
 'policy-url' => 'Project:Kulekele',
-'portal' => 'Puka kaiāulu',
-'portal-url' => 'Project:Puka kaiāulu',
+'portal' => 'Puka Kaiāulu',
+'portal-url' => 'Project:Puka Kaiāulu',
 'privacy' => 'Kulekele pilikino',
 'privacypage' => 'Project:Kulekele pilikino',
 
@@ -333,44 +343,57 @@ $1',
 'youhavenewmessagesmulti' => '$1 kāu',
 'editsection' => 'ho‘ololi',
 'editold' => 'ho‘ololi',
-'viewsourceold' => 'nānā i ke kumu kanawai',
+'viewsourceold' => 'nānā i ke kumu',
 'editlink' => 'hoʻololi',
 'viewsourcelink' => 'nānā i ke kumu',
 'editsectionhint' => 'E hoʻololi i ka paukū: $1',
-'toc' => 'Papakuhikuhi',
+'toc' => 'Nā Mealoko',
 'showtoc' => 'hō‘ike',
 'hidetoc' => 'hoʻohūnā',
 'collapsible-collapse' => 'Hoʻoliʻi',
 'collapsible-expand' => 'Hoʻākea',
-'thisisdeleted' => 'Nānā ai‘ole hō‘āla i $1?',
-'viewdeleted' => 'Nānā i $1?',
+'thisisdeleted' => 'Nānā ai‘ole hō‘āla iā $1?',
+'viewdeleted' => 'Nānā iā $1?',
 'restorelink' => '{{PLURAL:$1|kekahi loli holoi|$1 mau loli holoi}}',
+'feedlinks' => 'Hānaīke:',
 'site-rss-feed' => 'Hānaīke RSS o $1',
 'site-atom-feed' => 'Hānaīke Atom o $1',
 'page-rss-feed' => 'Hānaīke RSS o "$1"',
 'page-atom-feed' => 'Hānaīke Atom o "$1"',
-'red-link-title' => '$1 (hakuia ʻole)',
+'red-link-title' => '$1 (haku ʻia ʻole)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'ʻAoʻao',
-'nstab-user' => 'Mea ho‘ohana',
-'nstab-media' => 'Pāpaho',
-'nstab-special' => 'ʻaoʻao kūikawā',
-'nstab-project' => 'Papahana',
+'nstab-user' => 'ʻAoʻao mea ho‘ohana',
+'nstab-media' => 'ʻAoʻao Pāpaho',
+'nstab-special' => 'ʻAoʻao kūikawā',
+'nstab-project' => 'ʻAoʻao papahana',
 'nstab-image' => 'Waihona',
-'nstab-mediawiki' => 'Memo',
+'nstab-mediawiki' => 'Pūlono',
 'nstab-template' => 'Anakuhi',
 'nstab-help' => 'Kōkua',
 'nstab-category' => 'Mahele',
 
+# Main script and global functions
+'nosuchaction' => 'ʻAʻohe hana',
+'nosuchspecialpage' => 'ʻAʻohe ʻaoʻao kūikawā',
+
 # General errors
 'error' => 'Hewa',
+'databaseerror' => 'Hewa hōkeo ʻikepili',
 'databaseerror-query' => 'Nīnau: $1',
 'databaseerror-function' => 'Hana: $1',
 'databaseerror-error' => 'Hewa: $1',
-'laggedslavemode' => '<strong>E akahele:</strong> ʻAʻole loaʻa paha i ka ʻaoʻao na hoʻouka hou hanawale.',
+'laggedslavemode' => '<strong>E akahele:</strong> ʻAʻole loaʻa paha i ka ʻaoʻao na hoʻouka hou hou.',
 'readonly' => 'Laka ‘ia ka hōkeo ‘ikepili',
-'missingarticle-diff' => '(Difē: $1, $2)',
+'missing-article' => 'Loaʻa ʻole i ka hōkeo ʻikepili ke kikokikona o ka ʻaoʻao i pono e loaʻa ʻia i kapa ʻia ʻo "$1" $2.
+
+Hana ʻia kēia pilikia e ka hāhai ʻana o kekahi ʻokoʻa kahiko aiʻole i kekahi loulou mōʻaukala i kekahi ʻaoʻao i holoi ʻia.
+
+Inā ʻaʻole ka hana, ua loaʻa paha iā ʻoe i kekahi mū i loko o ka lako pōlamu.
+E ʻoluʻolu, e lono  kēia pilikia i kekahi [[Special:ListUsers/sysop|kahu]], mai poina i ka URL.',
+'missingarticle-rev' => '(kāmua#: $1)',
+'missingarticle-diff' => '(ʻOkoʻa: $1, $2)',
 'internalerror' => 'Hewa koloko',
 'internalerror_info' => 'Hewa koloko:$1',
 'fileappenderrorread' => 'ʻAʻole hiki ke heluhelu iā "$1" ma loko o ka pākuʻi ʻana.',
@@ -381,11 +404,15 @@ $1',
 'directorycreateerror' => 'ʻAʻole hiki ke haku ka papakuhi waihona "$1"',
 'filenotfound' => '‘A‘ole hiki ke loa‘a ka waihona "$1".',
 'fileexistserror' => 'ʻAʻole hiki ke kākau i ka waihona "$1": Aia no ia.',
-'badtitle' => 'Inoa ‘ino',
-'viewsource' => 'E nānā i ke kumu',
+'badtitle' => 'Inoa ʻohe',
+'badtitletext' => 'ʻAʻohe paha, hakahaka paha aiʻole loulou hewa paha ka poʻoinoa ʻaoʻao.
+Loaʻa paha nā hua kikokikona e hiki ʻole ke hana i nā poʻoinoa.',
+'viewsource' => 'Nānā i ke kumu',
+'viewsource-title' => 'Nānā i ke kumu no $1',
 'cascadeprotected' => 'Ho‘omalu ‘ia kēia ‘ao‘ao mai e ho‘opololei ana, no ka mea, hoʻokomo pū ‘ia ‘oia ma aia {{PLURAL:$1|‘ao‘ao|nā ‘ao‘ao}} i lalo, ho‘omalu ‘ia me ka "e wailele ana" koho:
 $2',
 'ns-specialprotected' => '‘A‘ole hiki ke ho‘ololi i nā ‘ao‘ao kūikawā',
+'exception-nologin' => 'ʻE‘e ʻole',
 
 # Login and logout pages
 'welcomeuser' => 'Welina mai e $1!',
@@ -401,9 +428,10 @@ $2',
 'createacct-yourpasswordagain' => 'E hōʻoia i ka ʻōlelo hūnā',
 'createacct-yourpasswordagain-ph' => 'E kikokiko hou i ka ʻōlelo hūnā',
 'remembermypassword' => 'Hoʻomanaʻo iaʻu ma kēia lolo uila (no ka palena nui o $1 {{PLURAL:$1|lā|mau lā}})',
+'userlogin-remembermypassword' => 'Hoʻomanaʻo iaʻu',
 'login' => 'ʻEʻe',
 'nav-login-createaccount' => 'ʻEʻe / Kāinoa',
-'loginprompt' => 'Pono ʻoe e hoʻā i nā makana (cookies) no ka ʻeʻe ʻana iā {{SITENAME}}.',
+'loginprompt' => 'Pono ʻoe e hoʻā i nā makana no ka ʻeʻe ʻana iā {{SITENAME}}.',
 'userlogin' => 'ʻEʻe / Kāinoa',
 'userloginnocreate' => 'ʻEʻe',
 'logout' => 'Haʻalele',
@@ -412,11 +440,11 @@ $2',
 'userlogin-noaccount' => 'ʻAʻohe āu moʻokāki?',
 'userlogin-joinproject' => 'E komo mai iā {{SITENAME}}',
 'nologin' => "ʻAʻohe āu moʻokāki? '''$1'''.",
-'nologinlink' => 'E kāinoa',
-'createaccount' => 'E kāinoa',
+'nologinlink' => 'E Kāinoa',
+'createaccount' => 'E Kāinoa',
 'gotaccount' => "He moʻokāki kāu? '''$1'''.",
 'gotaccountlink' => 'ʻEʻe',
-'userlogin-resetlink' => 'Ua poina i kāu inoa mea hoʻohana?',
+'userlogin-resetlink' => 'Ua poina i kāu ʻike ʻeʻe?',
 'userlogin-resetpassword-link' => 'Ua poina i kāu ʻōlelo hūnā?',
 'helplogin-url' => 'Help:ʻEʻe',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Kōkua me ka ʻeʻe ʻana]]',
@@ -455,9 +483,9 @@ E ʻoluʻolu, e hana hou.',
 Hoʻouna ʻole i kekahi lekauila no kēia mau helena.',
 'emailconfirmlink' => 'E hō‘oia i kāu wahinoho lekauila',
 'accountcreated' => 'Ua kāinoa',
-'accountcreatedtext' => 'Ua kāinoa ka moʻokāki no [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|kūkākūkā]]',
+'accountcreatedtext' => 'Ua kāinoa ka moʻokāki no [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|walaʻau]])',
 'createaccount-title' => 'Kāinoa moʻokāki no {{SITENAME}}',
-'loginlanguagelabel' => "Kou 'ōlelo: $1",
+'loginlanguagelabel' => 'ʻŌlelo: $1',
 'pt-login' => 'ʻEʻe',
 'pt-createaccount' => 'Kāinoa',
 'pt-userlogout' => 'Haʻalele',
@@ -491,47 +519,56 @@ Hoʻouna ʻole i kekahi lekauila no kēia mau helena.',
 'italic_sample' => 'Ho‘ohiō',
 'italic_tip' => 'Ho‘ohiō',
 'link_sample' => 'Inoa loulou',
-'link_tip' => 'Loulou lokoiho',
+'link_tip' => 'Loulou kūloko',
 'extlink_sample' => 'http://www.example.com inoa loulou',
 'extlink_tip' => 'Loulou kūwaho (e ho‘omana‘o i ka poʻo pāʻālua http://)',
 'headline_sample' => 'Po‘o‘ōlelo',
+'headline_tip' => 'Poʻomanaʻo kau 2',
+'nowiki_sample' => 'Hoʻokomo i nā kikokikona huluʻole ma ʻaneʻi',
+'nowiki_tip' => 'Nānaʻole i ka hulu wiki',
+'image_tip' => 'Waihona kauloko',
 'media_tip' => 'Loulou waihona',
-'sig_tip' => 'Kou pūlima me ka manawa',
+'sig_tip' => 'Kau pūlima me ka manawa',
 'hr_tip' => 'Laina ‘ilikai (e hana pākiko)',
 
 # Edit pages
 'summary' => 'Hōʻuluʻulu manaʻo:',
 'subject' => 'Kumumanaʻo/poʻo laina:',
 'minoredit' => 'He hoʻololi iki kēia',
-'watchthis' => 'E nānā pono i kēia ʻaoʻao',
+'watchthis' => 'E kiaʻi i kēia ʻaoʻao',
 'savearticle' => 'E mālama i ka ʻaoʻao',
 'preview' => 'Nāmua',
 'showpreview' => "E hō'ike i ka nāmua",
 'showlivepreview' => 'Nāmua ʻānō',
 'showdiff' => "E hō'ike i nā loli",
-'anoneditwarning' => '<strong>E akahele:</strong> ʻAʻole ʻoe ʻeʻe nei.
+'anoneditwarning' => '<strong>E akahele:</strong> ʻAʻole ʻoe ʻeʻe nei.
 E hoʻopaʻa ʻia ana kāu IP ma ko kēia ʻaoʻao mōʻaukala hoʻololi.',
 'blockedtitle' => 'Ua pale ‘ia ka mea ho‘ohana',
 'blockednoreason' => '‘a‘ohe kumu',
 'loginreqlink' => 'ʻeʻe',
 'accmailtitle' => 'Ua ho‘ouna ‘ia ka ‘ōlelo hūnā',
 'newarticle' => '(Hou)',
+'newarticletext' => 'Ua hāhai ʻoe i kekahi loulou i kekahi ʻaoʻao e haku ʻole.
+No ka haku ʻana i ka ʻaoʻao, kikokiko i loko o ka pahu i lalo (ʻike i ka [[{{MediaWiki:Helppage}}|ʻaoʻao kōkua]] no nā ʻike ʻē aʻe).
+Inā hewa kou hele ʻana, kāomi i ka pihi <strong>hoʻi</strong>.',
 'anontalkpagetext' => "----
 <em>ʻO kēia ka ʻaoʻao kūkākūkā no kekahi mea ho‘ohana me ka inoa ʻole.</em>
 No laila, pono mākou e ho‘ohana i ka IP no ka hōʻoia ʻana iā ia a hiki i kekahi mau mea hoʻohana ke hoʻokaʻana i kēia  IP.
 Inā he mea ho‘ohana inoa ʻole ʻoe a loaʻa kekahi mau manaʻo nāuʻole, e ʻoluʻolu [[Special:UserLogin/signup|e kāinoa]] a i ʻole [[Special:UserLogin|e ʻeʻe]].''",
 'noarticletext' => 'ʻAʻohe kikokikona a kēia ʻaoʻao.
 Hiki iā ʻoe ke [[Special:Search/{{PAGENAME}}|huli no kēia inoa ʻaoʻao]] i nā ʻaoʻao ʻē aʻe, <span class="plainlinks">[{{fullurl:SpecialLog|page={{FULLPAGENAMEE}}}} huli i nā moʻolelo pili], a i ʻole [{{fullurl:{{FULLPAGENAME}}|action=edit}} hoʻololi i kēia ʻaoʻao]</span>.',
+'noarticletext-nopermission' => 'ʻAʻohe kikokikona a kēia ʻaoʻao.
+Hiki iā ʻoe ke [[Special:Search/{{PAGENAME}}|huli no kēia inoa ʻaoʻao]] i nā ʻaoʻao ʻē aʻe aiʻole <span class="plainlinks">[{{fullurl:SpecialLog|page={{FULLPAGENAMEE}}}} huli i nā moʻolelo pili]</span>, akā hiki ʻole iā ʻoe ke hoʻololi i kēia ʻaoʻao.',
 'previewnote' => '<strong>ʻO kēia ka nāmua wale nō.</strong>
 ‘A‘ole mālama ‘ia nā ho‘ololi!',
-'continue-editing' => 'Hele i kahi hoʻololi',
+'continue-editing' => 'Kele i kahi hoʻololi',
 'editing' => 'Ke ho‘ololi nei iā $1',
 'creating' => 'Ke haku nei iā $1',
-'editingsection' => 'Ke hoʻololi nei iā $1 (mahele)',
+'editingsection' => 'Hoʻololi nei iā $1 (mahele)',
 'editingcomment' => 'Ke ho‘ololi nei iā $1 (paukū hou)',
 'editconflict' => 'He pilikia hoʻololi: $1',
 'yourtext' => 'Kāu kikokikona',
-'storedversion' => 'Loihape waihoia',
+'storedversion' => 'Loihape waiho ʻia',
 'yourdiff' => 'Nā mea ‘oko‘a',
 'copyrightwarning' => 'E ʻoluʻolu, hoʻokuʻu ʻia nā mea lūlū iā {{SITENAME}} ma lalo o ka laikini $2 (no nā mea kikoʻī, kele iā $1).
 Inā ʻaʻole ʻoe makemake i ka hoʻololi ʻana kūnoa o kou kākau ʻana a ʻaʻole ʻoe makemake i ka hoʻomalele ʻana i kāu mau loli, a laila mai kākau ma ʻaneʻi.<br />
@@ -539,29 +576,49 @@ Ke hoʻohiki nei ʻoe iā kākou: nāu i kākau i kēia kikokikona aiʻole nau i
 <strong>Mai waiho i nā kikokikona ponokope me ka ʻae ʻole!</strong>',
 'protectedpagewarning' => '<strong>E akahele:  Ua hoʻomalu ‘ia kēia ‘ao‘ao, pēlā, hiki i nā "kahu" ke ho‘ololi wale nō.</strong>
 Aia nā loli hanalohi i lalo no ka ʻikena:',
+'templatesused' => '{{PLURAL:$1|anakuhi|mau anakuhi}} e hana ʻia ma kēia ʻaoʻao:',
 'templatesusedpreview' => 'Hoʻohana ʻia kēia {{PLURAL:$1|anakuhi|mau anakuhi}} i kēia nāmua:',
 'template-protected' => '(ho‘omalu ‘ia)',
 'template-semiprotected' => '(hapa-ho‘omalu ‘ia)',
+'hiddencategories' => 'ʻO kēia ʻaoʻao he lālā o {{PLURAL:$1|1 mahele hūnā|$1 mau māhele hūnā}}:',
 'edittools' => '<!-- Eia ka ‘ōlelo e hō‘ike ‘ia malalo o nā palapala ho‘ololi ame nā palapala ho‘ohui. -->',
-'permissionserrorstext-withaction' => 'ʻAʻohe ou ʻae no $2, no {{PLURAL:$1|kumu| mau kumu}}:',
+'permissionserrorstext-withaction' => 'ʻAʻohe āu ʻae no $2, no {{PLURAL:$1|kumu| mau kumu}}:',
+'recreate-moveddeleted-warn' => '<strong>E akahele: Ke haku nei ʻoe i kekahi ʻaoʻao i holoi ʻia.</strong>
+
+Pono ʻoe e noʻonoʻo e pili ana ka pono o ka hoʻomau ʻana o ka hoʻololi ʻana o kēia ʻaoʻao.
+Aia ka moʻolelo holoi a hoʻoneʻe no kēia ʻaoʻao ma ʻaneʻi:',
+'moveddeleted-notice' => 'Ua holoi ʻia kēia ʻaoʻao.
+Hoʻolako ʻia ka moʻolelo holoi a hoʻoneʻe no kēia ʻaoʻao i lalo no ke kūmole.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => '<strong>E akahele:</strong> Hoʻokela ʻia ka palena nui o ke anakuhi.
+Hoʻohui ʻole i kekahi mau anakuhi.',
+'post-expand-template-inclusion-category' => 'Nā ʻaoʻao me nā anakuhi e hoʻokela i ka palenanui',
+'post-expand-template-argument-warning' => '<strong>E akahele:</strong> Aia ma kēia ʻaoʻao i kekahi a ʻoi pilikia anakuhi e loaʻa i kekahi nui hoʻonui nunui loa.
+Ua waiho ʻia kēia mau pilikia.',
+'post-expand-template-argument-category' => 'Nā ʻAoʻao e loaʻa nā pilikia anakuhi i waiho ʻia',
 
 # "Undo" feature
 'undo-success' => 'Hiki iā ʻoe ke hoʻihoʻi i kēia loli.
 E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā loli i lalo no ka hoʻopau ʻana o ka hoʻihoʻi o ka loli.',
-'undo-summary' => 'Hoʻihoʻi mai i ke kāmua $1 na [[Special:Contributions/$2|$2]] ([[User talk:$2|kūkākūkā]])',
+'undo-summary' => 'Hoʻihoʻi mai i ke kāmua $1 na [[Special:Contributions/$2|$2]] ([[User talk:$2|walaʻau]])',
 
 # History pages
+'viewpagelogs' => 'Nānā i nā moʻolelo no kēia ʻaoʻao',
 'currentrev' => 'Kāmua hou',
-'revisionasof' => 'Kāmua ma $1',
+'currentrev-asof' => 'Ke Kāmua houloa ma $1',
+'revisionasof' => 'Kāmua ʻia ma $1',
 'revision-info' => 'Kāmua ma $1 na $2',
-'previousrevision' => '← Kāmua mua',
+'previousrevision' => '← Kāmua kahiko',
 'nextrevision' => 'Kāmua hou →',
-'currentrevisionlink' => 'Kāmua hanawale',
-'cur' => 'cur',
+'currentrevisionlink' => 'Kāmua houloa',
+'cur' => 'okawā',
 'next' => 'hou aʻe',
-'last' => 'hou nei',
+'last' => 'aku nei',
 'page_first' => 'mua loa',
 'page_last' => 'hope loa',
+'histlegend' => 'Koho ʻokoʻa: Kaha i nā pahu lekiō o nā kāmua no ka hoʻokūkū ʻana a kāomi ke kāhoʻi aiʻole ka pihi ma ka lalo.<br />
+Pahu hōʻailona: <strong>({{int:cur}})</strong> = ka ʻokoʻa me ke kāmua houloa, <strong>({{int:last}})</strong> = ka ʻokoʻa me ke kāmua i hana mua, <strong>{{int:minoreditletter}}</strong> = he hoʻololi iki ia.',
 'history-fieldset-title' => 'Mōʻaukaki Pūnaewele',
 'history-show-deleted' => 'Holoi wale nō',
 'histfirst' => 'kahiko loa',
@@ -581,7 +638,7 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'revdelete-radio-set' => 'ʻAe',
 'revdelete-radio-unset' => 'ʻAʻole',
 'revdelete-log' => 'Kumu:',
-'revdel-restore' => 'hoʻololi ka nānā ʻana',
+'revdel-restore' => 'hoʻololi ka nānā ʻana',
 'pagehist' => 'Mōʻaukala ʻaoʻao',
 'deletedhist' => 'Mōʻaukala holoi',
 'revdelete-otherreason' => 'Nā kumu ʻē aʻe',
@@ -597,30 +654,44 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'revertmerge' => 'Hoʻokuʻipū ʻole',
 
 # Diffs
+'history-title' => 'Mōʻaukala kāmua o "$1"',
 'lineno' => 'Laina $1:',
+'compareselectedversions' => 'Hoʻohālikelike i nā kāmua i koho ʻia',
 'editundo' => 'hoʻihoʻi',
 'diff-empty' => '(ʻaʻohe like ʻole)',
 
 # Search results
-'searchresults' => 'Nā hualoaʻa',
+'searchresults' => 'Nā Hualoaʻa',
 'searchresults-title' => 'Nā hualoaʻa no "$1"',
-'prevn' => '{{PLURAL:$1|$1}} ma mua',
-'nextn' => '{{PLURAL:$1|$1}} ma hope',
-'viewprevnext' => 'Nānā i nā ($1 {{int:pipe-separator}} $2) ($3)',
+'prevn' => '{{PLURAL:$1|$1}} mamua',
+'nextn' => '{{PLURAL:$1|$1}} hou aʻe',
+'prevn-title' => '$1 {{PLURAL:$1|hualoaʻa|mau hualoaʻa}} aku nei',
+'nextn-title' => '$1 {{PLURAL:$1|hualoaʻa|mau hualoaʻa}} hou aʻe',
+'shown-title' => 'Hōʻike $1 {{PLURAL:$1|hualoaʻa|mau hualoaʻa}} i kekahi ʻaoʻao',
+'viewprevnext' => 'Nānā i ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => '<strong>Aia kekahi ʻaoʻao i kapa ʻia o "[[:$1]]" ma kēia wiki.</strong> {{PLURAL:$2|0=|ʻIke hoʻi i na hualoaʻa huli ʻē aʻe i loaʻa ʻia.}}',
+'searchmenu-new' => '<strong>Haku i ka ʻaoʻao "[[:$1]]" ma kēia wiki!</strong> {{PLURAL:$2|0=|"ʻIke hoʻi i ka ʻaoʻao i loaʻa ʻia ma kou huli ʻana.|ʻIke hoʻi nā hualoaʻa huli i loaʻa ʻia.}}',
+'searchprofile-articles' => 'Nā ʻAoʻao mealoko',
 'searchprofile-project' => 'Nā ʻaoʻao Kōkua a me Papahana',
+'searchprofile-images' => 'Laupāpaho',
 'searchprofile-everything' => 'Nā mea apau',
-'searchprofile-articles-tooltip' => 'Huli iā $1',
-'searchprofile-project-tooltip' => 'Huli iā $1',
+'searchprofile-advanced' => 'Kiʻelē',
+'searchprofile-articles-tooltip' => 'Huli i loko o $1',
+'searchprofile-project-tooltip' => 'Huli i loko o $1',
 'searchprofile-images-tooltip' => 'Huli no nā waihona',
-'searchprofile-everything-tooltip' => 'Huli i nā mea apau (nā kūkākūkā nō hoʻi)',
+'searchprofile-everything-tooltip' => 'Huli i nā mea apau (nā walaʻau nō hoʻi)',
+'searchprofile-advanced-tooltip' => 'Huli iā lewainoa pilikino',
 'search-result-size' => '$1 ({{PLURAL:$2|1 huaʻōlelo|$2 mau huaʻōlelo}})',
-'search-result-category-size' => '{{PLURAL:$1|1 mea hoʻohana|$1 mau mea hoʻohana}} ({{PLURAL:$2|1 mahele lokoiho|$2 mau māhele lokoiho}}, {{PLURAL:$3|1 wahihona|$3 mau waihona}})',
-'search-redirect' => '(hoʻoili hou $1)',
-'search-section' => '(māhele $1)',
+'search-result-category-size' => '{{PLURAL:$1|1 mea hoʻohana|$1 mau mea hoʻohana}} ({{PLURAL:$2|1 mahele kūloko|$2 mau māhele kūloko}}, {{PLURAL:$3|1 wahihona|$3 mau waihona}})',
+'search-redirect' => '(kia hou $1)',
+'search-section' => '(pauku $1)',
 'search-suggest' => 'ʻO kēia paha kou manaʻo: $1',
 'search-interwiki-caption' => 'Nā pāhana ʻē aʻe',
 'search-interwiki-more' => '(hou aʻe)',
+'searchrelated' => 'na mea ʻālike',
 'searchall' => 'nā mea apau',
+'showingresultsheader' => '{{PLURAL:$5|<strong>$1</strong> hualoaʻa o <strong>$3</strong> mau hualoaʻa|<strong$1-$2</strong> mau hualoaʻa o <strong>$3</strong> mau hualoaʻa}} no <strong>$4</strong>',
+'search-nonefound' => 'ʻAʻohe hualoaʻa no kēia huli.',
 'powersearch-legend' => 'Hulina kūlana kiʻekiʻe',
 'powersearch-ns' => 'Huli i loko o nā wahi inoa:',
 'powersearch-toggleall' => 'Nā mea apau',
@@ -637,9 +708,9 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'prefs-datetime' => 'Ka lā a me ka hola',
 'prefs-personal' => 'ʻAoʻao mea hoʻohana',
 'prefs-rc' => 'Nā loli hou',
-'prefs-watchlist' => 'Papa nānāpono',
-'prefs-watchlist-days' => 'Nā lā e hōʻike ana i ka papa nānāpono:',
-'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist' => 'Papakiaʻi',
+'prefs-watchlist-days' => 'Nā lā e hōʻike i ka papakiaʻi:',
+'prefs-watchlist-days-max' => 'He palenanui o $1 {{PLURAL:$1|lā|mau lā}}',
 'prefs-email' => 'Koho lekauila',
 'prefs-rendering' => 'Helena',
 'saveprefs' => 'Mālama',
@@ -673,13 +744,16 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'prefs-memberingroups' => '{{GENDER:$2|He lālā}} o {{PLURAL:$1|hui|mau hui}}:',
 'prefs-registration' => 'Hola kāinoa:',
 'yourrealname' => 'Inoa ʻoiaʻiʻo:',
-'yourlanguage' => 'Kou ʻōlelo:',
+'yourlanguage' => 'Kāu ʻōlelo:',
 'yournick' => 'Pūlima hou:',
 'yourgender' => 'Keka:',
 'gender-unknown' => 'Kāpae',
 'gender-male' => 'Kāne',
 'gender-female' => 'Wahine',
 'email' => 'Lekauila',
+'prefs-help-email' => 'Koi ʻole i ka wahinoho lekauila, akā pono ia nō ke kāinoa ʻana o ka ʻōlelo hūnā inā poina ʻoe i kāu ʻōlelo hūnā.',
+'prefs-help-email-others' => 'Hiki iā ʻoe ke koho i ka ʻae ʻana i nā mea ʻē aʻe e hoʻokaʻaʻike iā ʻoe mao ka lekauila mao kekahi loulou ma kāu ʻaoʻao mea hoʻohana aiʻole kāu ʻaoʻao walaʻau.
+ʻAʻole hōʻike ʻia kāu wahinoho lekauila i nā mea ʻē aʻe e hoʻokaʻaʻike iā ʻoe.',
 'prefs-help-email-required' => 'Koi i ka lekauila.',
 'prefs-signature' => 'Pūlima',
 'prefs-advancedediting' => 'Koho paʻamau',
@@ -695,19 +769,19 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'group' => 'Hui:',
 'group-user' => 'Mea hoʻohana',
 'group-bot' => 'Lopako',
-'group-sysop' => 'Nā kahu',
-'group-bureaucrat' => 'Nā kuhina',
+'group-sysop' => 'Nā Kahu',
+'group-bureaucrat' => 'Nā Kuhina',
 'group-all' => '(Nā mea apau)',
 
-'group-user-member' => '{{GENDER:$1|mea hoʻohana}}',
-'group-bot-member' => '{{GENDER:$1|lopako}}',
-'group-sysop-member' => '{{GENDER:$1|kahu}}',
-'group-bureaucrat-member' => '{{GENDER:$1|kuhina}}',
+'group-user-member' => '{{GENDER:$1|ka mea hoʻohana}}',
+'group-bot-member' => '{{GENDER:$1|ka lopako}}',
+'group-sysop-member' => '{{GENDER:$1|ke kahu}}',
+'group-bureaucrat-member' => '{{GENDER:$1|ke kuhina}}',
 
 'grouppage-user' => '{{ns:project}}:Mea hoʻohana',
 'grouppage-bot' => '{{ns:project}}:Lopako',
-'grouppage-sysop' => '{{ns:project}}:Nā kahu',
-'grouppage-bureaucrat' => '{{ns:project}}:Nā kuhina',
+'grouppage-sysop' => '{{ns:project}}:Nā Kahu',
+'grouppage-bureaucrat' => '{{ns:project}}:Nā Kuhina',
 
 # Rights
 'right-read' => 'Heluhelu i nā ʻaoʻao',
@@ -730,6 +804,9 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'right-hideuser' => 'Pale i ka inoa mea hoʻohana, no laila ʻaʻole hōʻike i ka lehulehu',
 'right-unblockself' => 'Paleʻole i kāuiho',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Moʻolelo haku mea hoʻohana',
+
 # Associated actions - in the sentence "You do not have permission to X"
 'action-edit' => 'ka hoʻololi ʻana i kēia ʻaoʻao',
 
@@ -737,7 +814,15 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'nchanges' => '$1 {{PLURAL:$1|loli|mau loli}}',
 'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|mai kāu kipana aku nei}}',
 'enhancedrc-history' => 'mōʻaukala',
-'recentchanges' => 'Nā loli hou',
+'recentchanges' => 'Loli Hou',
+'recentchanges-legend' => 'Nā Koho loli hou',
+'recentchanges-feed-description' => 'Hāhai i nā loli houloa i ka wiki ma kēia hānaīke.',
+'recentchanges-label-newpage' => 'Ua haku kēia hoʻololi i kēia ʻaoʻao hou',
+'recentchanges-label-minor' => 'He hoʻololi iki kēia',
+'recentchanges-label-bot' => 'Ua hana ʻia kēia hoʻololi e kekahi pako',
+'recentchanges-label-unpatrolled' => 'ʻAʻole kiaʻi kaʻa ʻia kēia hoʻololi',
+'rcnotefrom' => 'Aia i lalo nā loli mai <strong>$2</strong> (hōʻike a <strong>$1</strong>)',
+'rclistfrom' => 'Hōʻike i nā loli hou mai ka hola $2, $3',
 'rcshowhideminor' => '$1 i nā ho‘ololi iki',
 'rcshowhideminor-show' => 'Hōʻike',
 'rcshowhideminor-hide' => 'Hoʻohūnā',
@@ -747,7 +832,7 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'rcshowhideliu' => '$1 i nā mea hoʻohana i kāinoa ʻia',
 'rcshowhideliu-show' => 'Hōʻike',
 'rcshowhideliu-hide' => 'Hoʻohūnā',
-'rcshowhideanons' => '$1 i nā mea hoʻohana i nele ai ka inoa',
+'rcshowhideanons' => '$1 i nā mea hoʻohana inoa ʻole',
 'rcshowhideanons-show' => 'Hōʻike',
 'rcshowhideanons-hide' => 'Hoʻohūnā',
 'rcshowhidepatr' => '$1 i nā hoʻololi kiaʻi kaʻahele',
@@ -756,7 +841,7 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'rcshowhidemine' => '$1 i ka‘u mau hoʻololi',
 'rcshowhidemine-show' => 'Hōʻike',
 'rcshowhidemine-hide' => 'Hoʻohūnā',
-'rclinks' => 'E hōʻike i nā loli hanawale, he $1, mai $2 (mau) lā aku nei<br/>$3',
+'rclinks' => 'E hōʻike i nā loli $1 hou, mai $2 (mau) lā aku nei<br />$3',
 'diff' => 'ʻokoʻa',
 'hist' => 'mōkala',
 'hide' => 'Hoʻohūnā',
@@ -764,324 +849,433 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 'minoreditletter' => 'iki',
 'newpageletter' => 'ʻAHou',
 'boteditletter' => 'pako',
-'rc-enhanced-expand' => 'Hō‘ike i nā ‘ikepili',
-'rc-enhanced-hide' => 'Hoʻohūnā i nā ‘ikepili',
+'rc-enhanced-expand' => 'Hō‘ike i nā kikoʻī',
+'rc-enhanced-hide' => 'Hoʻohūnā i nā kikoʻī',
 
 # Recent changes linked
 'recentchangeslinked' => 'Nā loli hou ʻālike',
 'recentchangeslinked-feed' => 'Nā loli hou ʻālike',
 'recentchangeslinked-toolbox' => 'Nā loli hou ʻālike',
+'recentchangeslinked-title' => 'Nā loli e ʻālike me "$1"',
+'recentchangeslinked-summary' => 'He papahelu o nā loli i hana wale i nā ʻaoʻao loulou ʻia e kekahi ʻaoʻao kikoʻī (aiʻole i nā lālā o kekahi mahele kikoʻī) kēia.
+<strong>Hoʻokāʻele</strong> nā ʻaoʻao ma [[Special:Watchlist|kāu papakiaʻi]].',
 'recentchangeslinked-page' => 'Inoa ʻaoʻao:',
+'recentchangeslinked-to' => 'Hōʻike i nā loli i nā ʻaoʻao e loulou ʻia ma kahi o ka ʻaoʻao i hāʻawi ʻia',
 
 # Upload
-'upload' => 'Hoʻouka i ka waihona',
+'upload' => 'Hoʻouka waihona',
 'uploadbtn' => 'Hoʻouka i ka waihona',
 'uploadnologin' => 'ʻE‘e ʻole',
 'uploaderror' => 'Hewa hoʻouka',
+'uploadlogpage' => 'Moʻolelo hoʻouka',
 'filename' => 'Inoa waihona',
 'filedesc' => 'Hōʻuluʻulu manaʻo',
 'fileuploadsummary' => 'Hōʻuluʻulu manaʻo:',
 'filesource' => 'Kumu:',
-'uploadedfiles' => 'Waihona hoʻoukaia',
+'uploadedfiles' => 'Waihona hoʻouka ʻia',
 'savefile' => 'Waihona mālama',
-'uploadedimage' => 'hoʻouka ʻia iā "[[$1]]"',
+'uploadedimage' => 'ua hoʻouka iā "[[$1]]"',
 'upload-source' => 'Waihona kūmole',
-'sourcefilename' => 'Inoawaihona kūmole:',
+'sourcefilename' => 'Inoa waihona kūmole:',
 'sourceurl' => 'URL kūmole:',
 
+'license' => 'Laikini:',
+'license-header' => 'Laikini',
+
 # Special:ListFiles
 'listfiles_name' => 'Inoa',
 
 # File description page
 'file-anchor-link' => 'Waihona',
-'filehist' => 'Mo‘olelo o ka waihona',
-'filehist-current' => 'o kēia manawa',
-'filehist-datetime' => 'Manawa',
-'filehist-thumb' => 'Kiʻiliʻiliʻi',
+'filehist' => 'Mōʻaukala waihona',
+'filehist-help' => 'Kāomi ma ka lā/hola no ka nānā ʻana i ka waihona ma kēlā manawa.',
+'filehist-revert' => 'hoʻihoʻi',
+'filehist-current' => 'okamanawa',
+'filehist-datetime' => 'Lā/Hola',
+'filehist-thumb' => 'Kiʻiliʻi',
+'filehist-thumbtext' => 'Ke kiʻiliʻi no ka mana ma $1',
 'filehist-user' => 'Mea ho‘ohana',
-'filehist-dimensions' => 'Nā nui',
+'filehist-dimensions' => 'Nā Nui',
 'filehist-filesize' => 'Nui o ka waihona',
-'filehist-comment' => 'Manaʻo',
-'imagelinks' => 'Nā loulou faila',
+'filehist-comment' => 'Kaumanaʻo',
+'imagelinks' => 'Nā Hana waihona',
 'linkstoimage' => 'Loulou {{PLURAL:$1|kekahi ‘ao‘ao|kēia mau ‘ao‘ao $1}} i kēia waihona:',
+'nolinkstoimage' => 'ʻAʻohe ʻaoʻao e loulou i kēia waihona.',
+'sharedupload-desc-here' => 'ʻO kēia waihona mai $1 a hiki paha ke hana ʻia mai nā papahana ʻē aʻe.
+Aia i lalo ka hōʻike ʻano [mai ka ʻaoʻao hōʻike ʻano waihona $2].',
 
 # File deletion
 'filedelete-comment' => 'Kumu:',
 
 # Random page
-'randompage' => 'He akikala kaulele',
+'randompage' => 'ʻAtikala Kaulele',
 
 # Statistics
-'statistics' => 'Papa helu',
+'statistics' => 'ʻIkepilihelu',
 
-'brokenredirects-edit' => 'ho‘ololi',
-'brokenredirects-delete' => 'e kāpae',
+'brokenredirects-edit' => 'ho‘ololi',
+'brokenredirects-delete' => 'holoi',
 
 'withoutinterwiki-submit' => 'Hō‘ike',
 
 # Miscellaneous special pages
-'nbytes' => '$1 {{PLURAL:$1|‘ai|‘ai}}',
+'nbytes' => '$1 {{PLURAL:$1|‘ai|mau ‘ai}}',
 'nlinks' => '$1 {{PLURAL:$1|loulou|loulou}}',
-'nmembers' => '$1 {{PLURAL:$1|lālā|lālā}}',
+'nmembers' => '$1 {{PLURAL:$1|lālā|mau lālā}}',
 'wantedcategories' => 'Nā māhele makemake',
+'prefixindex' => 'Nā ʻAoʻao apau me ka pākuʻina kau mua',
 'shortpages' => 'Nā ʻaoʻao pōkole',
 'longpages' => 'Nā ʻaoʻao lōʻihi',
-'newpages' => 'Nā ‘ao‘ao hou',
+'usercreated' => '{{GENDER:$3|Haku ʻia}} i ka lā $1 ma ka hola $2',
+'newpages' => 'Nā ‘Ao‘ao hou',
 'newpages-username' => "Inoa mea ho'ohana:",
 'ancientpages' => 'Nā ‘ao‘ao kahiko loa',
-'move' => 'E ho‘ololi i ka inoa',
+'move' => 'E hoʻoneʻe',
 'movethispage' => 'E hoʻoneʻe i kēia ʻaoʻao',
 'pager-newer-n' => '{{PLURAL:$1|1 hou aku|$1 hou aku}}',
-'pager-older-n' => '{{PLURAL:$1|1 kekahi iho|$1 kekahi iho}}',
+'pager-older-n' => '{{PLURAL:$1|1 aku nei|$1 aku nei}}',
 
 # Book sources
 'booksources' => 'Kumu puke',
+'booksources-search-legend' => 'Huli i nā kūmole  puke',
 'booksources-go' => 'E huli',
 
 # Special:Log
-'log' => 'Nā mo‘olelo',
-'all-logs-page' => 'Nā moʻolelo āpau',
+'log' => 'Nā Mo‘olelo',
+'all-logs-page' => 'Nā Moʻolelo lehulehu apau',
 
 # Special:AllPages
-'allpages' => 'Nā ‘ao‘ao loa apau',
+'allpages' => 'Nā ‘Ao‘ao apau',
 'alphaindexline' => '$1 i $2',
 'nextpage' => 'Mea aʻe ($1)',
 'prevpage' => 'Mea ma mua aʻe ($1)',
-'allarticles' => 'Nā mo‘olelo apau loa',
+'allarticles' => 'Nā ʻAoʻao apau',
 'allpagessubmit' => 'E huli',
 
 # Special:Categories
-'categories' => 'Nā mahele',
+'categories' => 'Nā hele',
 
 # Special:DeletedContributions
-'deletedcontributions' => 'Nā ha‘awina o ka inoa mea ho‘ohana i kāpae ‘ia ai',
-'deletedcontributions-title' => 'Nā ha‘awina o ka inoa mea ho‘ohana i kāpae ‘ia ai',
+'deletedcontributions' => 'Nā ha‘awina mea ho‘ohana i holoi ‘ia',
+'deletedcontributions-title' => 'Nā ha‘awina mea ho‘ohana i holoi ‘ia',
 
 # Special:LinkSearch
-'linksearch' => 'Loulou waho wahi',
+'linksearch' => 'Huli loulou kūwaho',
 'linksearch-ok' => 'Huli',
+'linksearch-line' => 'Loulou ʻia ʻo $1 mai $2',
 
 # Special:ListUsers
 'listusers-submit' => 'Hō‘ike',
 
 # Special:ListGroupRights
-'listgrouprights-members' => '(papa o nā lālā)',
+'listgrouprights-members' => '(papainoa o nā lālā)',
 
 # Email user
 'emailuser' => 'E leka uila i kēia mea ho‘ohana',
-'emailmessage' => 'Memo:',
+'emailmessage' => 'Pūlono:',
 
 # Watchlist
-'watchlist' => 'Kaʻu papa nānā pono',
-'mywatchlist' => 'Ka‘u papa nānā pono',
+'watchlist' => 'Kaʻu papakiaʻi',
+'mywatchlist' => 'Ka‘u papakiaʻi',
+'watchlistfor2' => 'No $1 $2',
 'removedwatchtext' => 'Wehe ʻia ʻo "[[:$1]]" mai [[Special:Watchlist|kāu papa nānā pono]].',
 'watch' => 'E kia‘i',
 'watchthispage' => 'E nānā pono i kēia mea',
-'unwatch' => 'E wehe ke kia‘i',
-'watchlist-details' => '{{PLURAL:$1|$1|$1}} a kāu papa nānā pono ʻaoʻao, me ke koe ʻana o nā ʻaoʻao kūkākūkā.',
-'wlshowlast' => 'Hōʻike $1 hola hope $2 lā hope $3',
+'unwatch' => 'Kiaʻi ʻole',
+'watchlist-details' => '{{PLURAL:$1|$1 ʻaoʻao|$1 mau ʻaoʻao}} a kāu papakiaʻi, me ʻole ke koe ʻana o nā ʻaoʻao walaʻau.',
+'wlshowlast' => 'Hōʻike $1 hola aku nei $2 lā aku nei $3',
+'watchlist-options' => 'Nā Koho papakiaʻi',
 
 # Displayed when you click the "watch" button and it is in the process of watching
-'watching' => 'Ke kia‘i nei...',
+'watching' => 'Kia‘i nei...',
 'unwatching' => 'Ke wehe nei i ke kiaʻi...',
 
 'changed' => 'ua loli ‘ia',
 
 # Delete
-'deletepage' => 'Kāpae ʻaoʻao',
-'actioncomplete' => 'Ua pau',
-'deletedtext' => 'Ua kāpae ʻia ʻo "$1".
-E ʻike iā $2 no ka papa o nā kāpae ʻana hou.',
-'dellogpage' => 'Mo‘olelo kāpae',
-'dellogpagetext' => 'He helu o nā mea i kāpae ʻia hou i lalo.',
-'deletionlog' => 'mo‘olelo kāpae',
+'deletepage' => 'Holoi ʻaoʻao',
+'actioncomplete' => 'Hana kūleʻa',
+'actionfailed' => 'Hana pohō',
+'deletedtext' => 'Ua holoi ʻia ʻo "$1".
+E ʻike iā $2 no ka papa o nā holoi hou.',
+'dellogpage' => 'Mo‘olelo holoi',
+'dellogpagetext' => 'He papahelu o nā holoi hou i lalo.',
+'deletionlog' => 'mo‘olelo holoi',
 'deletecomment' => 'Kumu:',
 'deleteotherreason' => 'Kumu ʻē aʻe/hoʻokomo',
 'deletereasonotherlist' => 'Kumu ʻē aʻe',
-'delete-edit-reasonlist' => 'Ho‘opololei i nā kumu no ke kāpae ‘ana',
+'delete-edit-reasonlist' => 'Hoʻololi i nā kumu holoi',
 
 # Rollback
-'rollbacklink' => 'ho‘i',
+'rollbacklink' => 'ho‘ihoʻi',
 
 # Protect
-'protectedarticle' => 'ua pale ʻia "[[$1]]"',
+'protectlogpage' => 'Moʻolelo palekana',
+'protectedarticle' => 'ua hoʻomalu iā "[[$1]]"',
 'prot_1movedto2' => 'Ua hoʻoneʻe ʻo [[$1]] iā [[$2]]',
 'protectcomment' => 'Kumu:',
-'protect-default' => 'ʻAe nā mea hoʻohana a pau',
-'protect-level-sysop' => 'Nā kahu wale nō',
+'protect-default' => 'ʻAe nā mea hoʻohana a pau',
+'protect-level-sysop' => 'Nā Kahu wale nō',
 'protect-cantedit' => 'ʻAʻole hiki iā ʻoe ke hoʻololi i nā kūlana māmalu o kēia ʻaoʻao, no ka mea, ʻaʻohe āu ʻae no ka hoʻololi ʻana.',
 'protect-expiry-options' => '1 hola:1 hour,1 lā:1 day,1 pule:1 week,2 pule:2 weeks,1 mahina:1 month,3 mahina:3 months,6 mahina:6 months,1 makahiki:1 year,pau ʻole:infinite',
 'restriction-type' => 'ʻAe ʻia:',
 
 # Restrictions (nouns)
-'restriction-edit' => 'E ho‘ololi',
-'restriction-move' => "E ho'ololi i ka inoa",
+'restriction-edit' => 'Hoʻololi',
+'restriction-move' => 'Hoʻoneʻe',
 
 # Undelete
 'undeletebtn' => 'Ho‘āla',
 'undeletelink' => 'nānā/ho‘āla',
+'undeleteviewlink' => 'hōʻike',
 'undelete-search-submit' => 'Huli',
 
 # Namespace form on various pages
-'namespace' => 'Wahi inoa',
+'namespace' => 'Lewainoa:',
+'invert' => 'Kuapo i ke koho',
 'blanknamespace' => '(‘ano nui)',
 
 # Contributions
-'contributions' => 'Nā ha‘awina o kēia mea ho‘ohana',
-'mycontris' => 'Koʻu mau haʻawina',
-'contribsub2' => 'No $1 ($2)',
-'uctop' => '(wēkiu)',
-'month' => 'Mai ka mahina (me mua):',
-'year' => 'Mai ka makahiki (me mua):',
-
-'sp-contributions-deleted' => 'Nā ha‘awina o ka inoa mea ho‘ohana i kāpae ‘ia ai',
-'sp-contributions-talk' => 'Kūkākūkā',
-'sp-contributions-userrights' => 'Ho‘oponopono ‘ana o nā kuleana',
+'contributions' => 'Nā haʻawina o ka {{GENDER:$1|mea hoʻohana}}',
+'contributions-title' => 'Nā Hāʻawina mea hoʻohana no $1',
+'mycontris' => 'Kaʻu mau haʻawina',
+'contribsub2' => 'No {{GENDER:$3|$1}} ($2)',
+'uctop' => '(okamanawa)',
+'month' => 'Mai ka mahina (mamua aku nei nō hoʻi):',
+'year' => 'Mai ka makahiki (mamua aku nei nō hoʻi):',
+
+'sp-contributions-newbies' => 'Hōʻike i nā hāʻawina o nā moʻokāki hou wale nō',
+'sp-contributions-blocklog' => 'moʻolelo hoʻopale',
+'sp-contributions-deleted' => 'nā ha‘awina o ka inoa mea ho‘ohana i holoi ‘ia',
+'sp-contributions-uploads' => 'nā hoʻouka',
+'sp-contributions-logs' => 'nā moʻolelo',
+'sp-contributions-talk' => 'walaʻau',
+'sp-contributions-userrights' => 'ka hoʻoponopono ʻana o nā kūleana mea hoʻohana',
 'sp-contributions-search' => 'Huli no nā haʻawina',
+'sp-contributions-username' => 'Wahinoho IP aiʻole inoa mea hoʻohana:',
+'sp-contributions-toponly' => 'Hōʻike wale nō i nā hoʻololi kāmua hou loa',
 'sp-contributions-submit' => 'Huli',
 
 # What links here
-'whatlinkshere' => 'Nā mea e loulou iho ai',
+'whatlinkshere' => 'He aha ka mea e loulou iho ai',
+'whatlinkshere-title' => 'Nā ʻAoʻao e loulou iā "$1"',
 'whatlinkshere-page' => '‘Ao‘ao:',
-'nolinkshere' => "‘A‘ole he ‘ao‘ao e loulou ai iā '''[[:$1]]'''.",
-'isredirect' => 'ʻaoʻao hoʻoili ʻana',
-'whatlinkshere-prev' => '{{PLURAL:$1|mua|mua $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|hope|hope $1}}',
+'linkshere' => 'Loulou kēia mau ʻaoʻao iā <strong>[[:$1]]</strong>:',
+'nolinkshere' => "ʻAʻohe ‘ao‘ao e loulou iā '''[[:$1]]'''.",
+'isredirect' => 'ʻaoʻao kia hou',
+'istemplate' => 'kumo',
+'isimage' => 'loulou waihona',
+'whatlinkshere-prev' => '{{PLURAL:$1|mua aku nei|$1 mua aku nei}}',
+'whatlinkshere-next' => '{{PLURAL:$1|hou aʻe|$1 hou aʻe}}',
 'whatlinkshere-links' => '← nā loulou',
+'whatlinkshere-hideredirs' => '$1 i nā kiahou',
+'whatlinkshere-hidetrans' => '$1 i nā kumo',
 'whatlinkshere-hidelinks' => '$1 i nā loulou',
+'whatlinkshere-hideimages' => '$1 i nā loulou waihona',
 'whatlinkshere-filters' => 'Kānana',
 
 # Block/unblock
-'blockip' => 'E ke‘a i kēia mea ho‘ohana',
+'blockip' => 'Pale i kēia mea ho‘ohana',
 'ipbexpiry' => 'Pau āhea:',
 'ipbreason' => 'Kumu:',
-'ipbsubmit' => 'E ke‘a i kēia mea ho‘ohana',
-'ipbother' => 'ʻĒ aʻe manawa:',
-'ipboptions' => '2 hola:2 hours,1 lā:1 day,3 lā:3 days,1 pule:1 week,2 pule:2 weeks,1 mahina:1 month,3 mahina:3 months,6 mahina:6 months,1 makahiki:1 year,pau ʻole:infinite',
-'badipaddress' => 'Mana ‘ole ka wahi noho IP',
+'ipbsubmit' => 'Pale i kēia mea ho‘ohana',
+'ipbother' => 'Manawa ʻē aʻe:',
+'ipboptions' => '2 mau hola:2 hours,1 lā:1 day,3 mau lā:3 days,1 pule:1 week,2 mau pule:2 weeks,1 mahina:1 month,3 mau mahina:3 months,6 mau mahina:6 months,1 makahiki:1 year,wā pau ʻole:infinite',
+'badipaddress' => 'Wahinoho IP hewa',
+'ipblocklist' => 'Nā Mea hoʻohana pale ʻia',
 'ipblocklist-submit' => 'Huli',
 'infiniteblock' => 'pau ʻole',
-'anononlyblock' => '‘A‘ohe i hō‘ike‘ia ka inoa wale nō',
-'blocklink' => 'e keʻa',
-'unblocklink' => 'mai pale',
-'change-blocklink' => 'hoʻololi ka palena',
-'contribslink' => 'nā ha‘awina',
+'anononlyblock' => 'nā inoaʻole wale nō',
+'blocklink' => 'hoʻopale',
+'unblocklink' => 'hoʻopale ʻole',
+'change-blocklink' => 'hoʻololi i ka palena',
+'contribslink' => 'ha‘awina',
+'blocklogpage' => 'Moʻolelo hoʻopale',
+'blocklogentry' => 'ua hoʻopale ʻia ʻo [[$1]] no ka manawa o $2 $3',
+'block-log-flags-nocreate' => 'ua hoʻopale ʻia ke kāinoa moʻokāki ʻana',
 
 # Move page
 'move-page-legend' => 'Hoʻoneʻe i ka ʻaoʻao',
 'movearticle' => 'E hoʻoneʻe i ka ʻaoʻao:',
 'newtitle' => 'I ka inoa hou:',
-'move-watch' => 'E nānā pono i kēia mea',
+'move-watch' => 'Kiaʻi i ka ʻaoʻao kumu a me ka ʻaoʻao māka',
 'movepagebtn' => 'Hoʻoneʻe i ka ʻaoʻao',
 'pagemovedsub' => 'Kūleʻa ka hoʻoneʻe ʻana',
 'movepage-moved' => '\'\'\'Ua hoʻoneʻe ʻia ʻo "$1" iā "$2"\'\'\'',
+'movelogpage' => 'Hoʻoneʻe i ka moʻolelo',
 'movereason' => 'Kumu:',
-'delete_and_move' => 'E kāpae a e ho‘ololi i ka inoa',
-'delete_and_move_confirm' => '‘Ae, e kāpae i ka ‘ao‘ao',
+'revertmove' => 'hoʻihoʻi',
+'delete_and_move' => 'Holoi a hoʻoneʻe',
+'delete_and_move_confirm' => '‘Ae, e holoi i ka ‘ao‘ao',
 
 # Export
+'export' => 'Kāpuka ʻaoʻao',
 'export-addcat' => 'Ho‘ohui',
 
 # Namespace 8 related
-'allmessages' => 'Nā kauoha o ke kahua',
+'allmessages' => 'Pūlono ʻōnaehana',
 'allmessagesname' => 'Inoa',
 'allmessagesdefault' => 'Kikokikona pa‘amau',
 'allmessagescurrent' => 'Kikokikona i kēia manawa',
 
 # Thumbnails
-'thumbnail-more' => 'ho‘onui',
+'thumbnail-more' => 'Ho‘onui',
+'thumbnail_error' => 'Loaʻa i ka hewa ka haku ʻana o ke kiʻiliʻi: $1',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => 'Kāu inoa mea ho‘ohana',
-'tooltip-pt-mytalk' => 'Kāu ‘aoʻao ʻōlelo',
-'tooltip-pt-preferences' => 'ka‘u makemake',
-'tooltip-pt-watchlist' => 'Ka papa o nā ʻaoʻao o kou nānā ʻana no nā loli',
+'tooltip-pt-userpage' => 'Kāu ʻaoʻao mea hoʻohana',
+'tooltip-pt-mytalk' => 'Kāu walaʻau',
+'tooltip-pt-preferences' => 'u makemake',
+'tooltip-pt-watchlist' => 'He papahelu o nā ʻaoʻao āu e kiaʻi nei no nā loli',
 'tooltip-pt-mycontris' => 'Kāu mau ha‘awina',
 'tooltip-pt-login' => 'Pai ‘ia ‘oe e ‘e‘e, akā, ‘a‘ole ia he koina',
-'tooltip-pt-logout' => 'E ha‘alele',
-'tooltip-ca-talk' => 'Kūkākūkā e pili ana i kēia ‘ao‘ao',
+'tooltip-pt-logout' => 'Ha‘alele',
+'tooltip-ca-talk' => 'Kūkākūkā e pili ana i ka ʻaoʻao mealoko',
 'tooltip-ca-edit' => 'Hiki iā ‘oe ke ho‘ololi i kēia ‘ao‘ao. Ma mua o ka mālama ʻia ʻana, e ho‘ohana i ke pihi nāmua, ke ‘olu‘olu.',
-'tooltip-ca-addsection' => 'Hoʻomaka i kekahi māhele hou',
-'tooltip-ca-viewsource' => 'Pale ʻia kēia ʻaoʻao.
-Hiki iā ʻoe ke ʻikena i kāna molekumu.',
-'tooltip-ca-history' => 'Ko kēia ʻaoʻao mau kāmua hope',
-'tooltip-ca-protect' => 'Ho‘omalu i keia ‘ao‘ao',
-'tooltip-ca-delete' => 'E kāpae i kēia mo‘olelo',
+'tooltip-ca-addsection' => 'Hoʻomaka i kekahi pauku hou',
+'tooltip-ca-viewsource' => 'Hoʻomalu ʻia kēia ʻaoʻao.
+Hiki iā ʻoe ke ʻike i kāna kūmole.',
+'tooltip-ca-history' => 'Nā kāmua mamua o kēia ʻaoʻao',
+'tooltip-ca-protect' => 'E ho‘omalu i keia ‘ao‘ao',
+'tooltip-ca-delete' => 'E holoi i kēia ʻaoʻao',
 'tooltip-ca-move' => 'E hoʻoneʻe i kēia ʻaoʻao',
-'tooltip-ca-watch' => 'E nānā pono i kēia mea',
+'tooltip-ca-watch' => 'Hoʻohui i kāu papakiʻai',
+'tooltip-ca-unwatch' => 'Hoʻowehe i kēia ʻaoʻao mai kāu papakiaʻi',
 'tooltip-search' => 'Huli iā {{SITENAME}}',
 'tooltip-search-go' => 'Kele i kekahi ʻaoʻao me kēia inoa inā hiki ke loaʻa',
 'tooltip-search-fulltext' => 'Huli i nā ʻaoʻao no kēia kikokikona',
 'tooltip-p-logo' => 'Kele i ka papa kinohi',
 'tooltip-n-mainpage' => 'Kele i ka papa kinohi',
 'tooltip-n-mainpage-description' => 'Kele i ka papa kinohi',
-'tooltip-n-portal' => 'E pili ana ka pāhana, nā hana hiki, nā wahi no ka loaʻa ʻana',
-'tooltip-n-currentevents' => 'ʻIke i nā nū hou',
+'tooltip-n-portal' => 'No ka papahana, nā hana hiki, nāhi no ka loaʻa ʻana',
+'tooltip-n-currentevents' => 'Loaʻa nā ʻike kūmole e pili ana i nā nūhou',
 'tooltip-n-recentchanges' => 'Nā loli hou ma ka wiki',
-'tooltip-n-randompage' => 'Hōʻike kekahi ʻaoʻao kaulele',
-'tooltip-n-help' => 'Ka wahi e kōkua ai iā ‘oe',
-'tooltip-t-whatlinkshere' => 'Nā ‘ao‘ao a pau i loulou mai ai',
+'tooltip-n-randompage' => 'Hoʻouka i kekahi ʻaoʻao kaulele',
+'tooltip-n-help' => 'Kahi e aʻo mai',
+'tooltip-t-whatlinkshere' => 'He papahelu o nā ʻaoʻao wiki apau e loulou i ʻaneʻi',
+'tooltip-t-recentchangeslinked' => 'Nā loli hou i nā ʻaoʻao i loulou ʻia mai kēia ʻaoʻao',
+'tooltip-feed-atom' => 'Hānaīke Atom no kēia ʻaoʻao',
+'tooltip-t-contributions' => 'He papahelu o nā hāʻawina o ka mea hoʻohana',
 'tooltip-t-emailuser' => 'Leka uila i kēia mea hoʻohana',
 'tooltip-t-upload' => 'Ho‘ouka i nā waihona',
-'tooltip-t-specialpages' => 'Papa inoa o nā ʻaoʻao nui apau',
+'tooltip-t-specialpages' => 'He papainoa o nā ʻaoʻao kūikawā apau',
 'tooltip-t-print' => 'Mana paʻi pono o kēia ʻaoʻao',
 'tooltip-t-permalink' => 'Loulou paʻa no kēia kāmua o ka ʻaoʻao',
-'tooltip-ca-nstab-special' => 'He papa nui kēia; ʻaʻole hiki iā ʻoe ke hoʻololi',
+'tooltip-ca-nstab-main' => 'Nānā i ka ʻaoʻao mealoko',
+'tooltip-ca-nstab-user' => 'Nānā i ka ʻaoʻao mea hoʻohana',
+'tooltip-ca-nstab-special' => 'He ʻaoʻao kūikawā kēia; ʻaʻole hiki iā ʻoe ke hoʻololi',
 'tooltip-ca-nstab-project' => 'Nānā i ka ‘ao‘ao papahana',
-'tooltip-ca-nstab-image' => 'Nānā i ka ʻaoʻao faila',
+'tooltip-ca-nstab-image' => 'Nānā i ka ʻaoʻao waihona',
+'tooltip-ca-nstab-template' => 'Nānā i ke anakuhi',
 'tooltip-ca-nstab-help' => 'Nānaina i ka ʻaoʻao kōkua',
-'tooltip-minoredit' => 'Wae i kēia hoʻopololei me he hoʻopololei iki',
-'tooltip-save' => 'Mālama i kāu ho‘opololei',
-'tooltip-watch' => 'E nānā pono i kēia mea',
+'tooltip-ca-nstab-category' => 'Nānā i ka ‘ao‘ao mahele',
+'tooltip-minoredit' => 'Kaha i kēia me he hoʻololi iki',
+'tooltip-save' => 'Mālama i kāu mau loli',
+'tooltip-preview' => 'E nāmua i kāu mau loli ma mua o ka mālama ʻana ke ʻoluʻolu!',
+'tooltip-diff' => 'Hōʻike i nā loli āu i hana ai i kēia kikokikona',
+'tooltip-compareselectedversions' => 'E ʻike i na ʻokoʻa ma waena o nā kāmua ʻelua i koho ʻia o kēia ʻaoʻao',
+'tooltip-watch' => 'Hoʻohui i kāu papakiʻai',
+'tooltip-rollback' => 'Hoʻihoʻi ʻo "Hoʻihoʻi" i nā hoʻololi i kēia ʻaoʻao o ka mea hāʻawi hopeloa i hoʻokahi kāomi',
+'tooltip-undo' => 'Hoʻihoʻi ʻo "Hōʻole" i kēia hoʻololi a wehe ia i ka ʻaoʻao hoʻololi i ke ʻano nāmua. ʻAe ia i ka hoʻohui ʻana i kekahi kumu i loko o ka hōʻuluʻulu manaʻo.',
+'tooltip-summary' => 'Kikokiko i kekahi hōʻuluʻulu manaʻo pōkole',
 
 # Browsing diffs
+'previousdiff' => '← Hoʻololi aku nei',
 'nextdiff' => 'Hoʻololi hou aʻe →',
 
 # Media information
-'file-info-size' => '$1 x $2 kiʻiʻuku, nui faila: $3, ʻano MIME: $4',
-'show-big-image' => 'Miomio piha',
+'file-info-size' => '$1 x $2 kiʻiʻuku, nui waihona: $3, ʻano MIME: $4',
+'file-nohires' => 'Loaʻa ʻole ka miomio aʻe.',
+'svg-long-desc' => 'Waihona SVG, $1 x $2 mau pikela, nui waihona: $3',
+'show-big-image' => 'Waihona kumu',
 
 # Special:NewFiles
 'ilsubmit' => 'Huli',
 
+# Bad image list
+'bad_image_list' => 'ʻO kēia ka hulu:
+
+Noʻonoʻo pono wale no i nā ʻikamu papahelu (nā laina e hoʻomaka ʻia me *).
+Pono ka loulou mua loa ma kekahi laina e loulou i kekahi waihona ʻino.
+Noʻonoʻo ʻia nā loulou heleiho ma kēlā laina like i nā kūʻē lula, he laʻana kēia, nā ʻaoʻao e loaʻa i ka waihona i loko o ka laina.',
+
+# Metadata
+'metadata' => 'ʻIkepiliMeta',
+'metadata-help' => 'Loaʻa i kēia waihona nā ʻike ʻē aʻe i hoʻohui ʻia paha mai kekahi pahupaʻakiʻi aiʻole kekahi mīkinikopekiʻi i hana ʻia no ka haku ʻana aiʻole ka hoʻokamepiuila ʻana o ia.
+Inā ua kāloli ʻia ka waihona mai kona ʻano kumu, hōʻike piha ʻole i kekahi o nā kikoʻī o ka waihona i kāloli ʻia.',
+'metadata-fields' => 'E hoʻokomo ʻia ana nā kula ʻikepiliMeta kiʻi i loko o kēia pūlono ma ka hōʻike ʻaoʻao kiʻi oiai ka hoʻoliʻi ʻana o ke pākaukau ʻikepiliMeta.
+Hoʻohuna paʻamau i nā mea ʻē aʻe
+* kahana lōkō
+* kaʻano
+* kalāholakumu
+* holahuʻena
+* heluf
+* kūlanawikiiso
+* loaaniani
+* meahana
+* kūleanakope
+* hōʻikeʻanokiʻi
+* lakikūgps
+* lonikūgps
+* kiʻekiʻegps',
+
 # 'all' in various places, this might be different for inflected languages
-'watchlistall2' => 'apau',
-'namespacesall' => 'apau',
-'monthsall' => 'āpau',
+'watchlistall2' => 'nā mea apau',
+'namespacesall' => 'nā mea apau',
+'monthsall' => 'nā mea apau',
 
 # action=purge
 'confirm_purge_button' => 'Hiki nō',
 
 # Multipage image navigation
-'imgmultipageprev' => '← mea ma mua aʻe',
-'imgmultipagenext' => 'mea aʻe →',
+'imgmultipageprev' => '← ʻaoʻao aku nei',
+'imgmultipagenext' => 'ʻaoʻao hou aʻe →',
 
 # Table pager
-'table_pager_next' => 'Mea aʻe',
-'table_pager_prev' => 'Mea ma mua aʻe',
+'table_pager_next' => 'ʻAoʻao hou aʻe',
+'table_pager_prev' => 'ʻAoʻao aku nei',
 
 # Auto-summaries
-'autosumm-replace' => "Ke pani nei i ka ‘ao‘ao me '$1'",
-'autoredircomment' => 'Ke alaka‘i nei hou i [[$1]]',
+'autosumm-replace' => "Ke pani nei i ka mealoko me '$1'",
+'autoredircomment' => 'Kiahou i ka ʻaoʻao iā [[$1]]',
 'autosumm-new' => "Ua hoʻokumu ʻia kekahi ʻaoʻao me '$1'",
 
 # Live preview
 'livepreview-loading' => 'Ke ho‘ouka nei…',
 
 # Watchlist editor
-'watchlistedit-normal-title' => 'E ho‘opololei i ka‘u papa nānā pono',
+'watchlistedit-normal-title' => 'Hoʻololi i ka papakiaʻi',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'Nānā i nā loli ʻālike',
+'watchlisttools-edit' => 'Nānā a hoʻololi i ka papakiaʻi',
+'watchlisttools-raw' => 'Hoʻololi i ka papakiaʻi maka',
+
+# Core parser functions
+'duplicate-defaultsort' => '<strong>E akahele:</strong> Mauʻaʻe ke kī kaʻalike paʻamau "$2" i ke kī kaʻalike paʻamau "$1" mai ka wā mua.',
 
 # Special:Version
-'version-specialpages' => 'Nā ‘ao‘ao kūikawā',
+'version-specialpages' => 'Nā ‘Ao‘ao kūikawā',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Huli',
 
 # Special:SpecialPages
-'specialpages' => 'Nā ‘ao‘ao kūikawā',
+'specialpages' => 'Nā ‘Ao‘ao kūikawā',
+
+# External image whitelist
+'external_image_whitelist' => ' #Waiho i kēia laina<pre>
+#Kau i nā hapa haʻi maʻamau (nā hapa e kau ʻia ma waena o nā //) i lalo
+#Hoʻohālikelike ia mea me nā URL o nā kiʻi kūwaho (loulouhūnāloko)
+#Hōʻike ʻia ia mea e hoʻohālikelike me he mau kiʻi, inā ʻaʻole pēlā e hōʻike wale me he loulou no ke kiʻi wale nō
+#Mālama ʻia nā laina e hoʻomaka me ka # e like me nā kaumanaʻo
+#Kākau wale, mai hopohopo e pili ana nā ʻaui
+
+#Kau i nā hapa ligaka apau ma luna o kēia laina. Wahiho i kēia laina</pre>',
 
 # Special:Tags
-'tags-edit' => 'e hoʻololi',
+'tag-filter' => 'Kānana [[Special:Tags|lepili]]:',
+'tags-edit' => 'hoʻololi',
 
 # Special:ExpandTemplates
 'expand_templates_ok' => 'Hiki nō',
index 16ba1ce..ae8c6bf 100644 (file)
@@ -405,7 +405,6 @@ $messages = array(
 'tog-ccmeonemails' => 'לשלוח אליי העתקים של הודעות דואר אלקטרוני ששלחתי למשתמשים אחרים',
 'tog-diffonly' => 'ביטול הצגת תוכן הדף מתחת להשוואות הגרסאות',
 'tog-showhiddencats' => 'הצגת קטגוריות מוסתרות',
-'tog-noconvertlink' => 'ביטול המרת קישורים לכותרות',
 'tog-norollbackdiff' => 'השמטת ההבדלים בין הגרסאות לאחר ביצוע שחזור',
 'tog-useeditwarning' => 'הצגת אזהרה בעת עזיבת דף עריכה עם שינויים שטרם נשמרו',
 'tog-prefershttps' => 'תמיד להשתמש בתקשורת מאובטחת לאחר הכניסה לחשבון',
@@ -2620,7 +2619,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => 'עריכת סיבות המחיקה',
 'delete-toobig' => 'דף זה כולל מעל {{PLURAL:$1|גרסה אחת|$1 גרסאות}} בהיסטוריית העריכות שלו. מחיקת דפים כאלה הוגבלה כדי למנוע פגיעה בביצועי האתר.',
 'delete-warning-toobig' => 'דף זה כולל מעל {{PLURAL:$1|גרסה אחת|$1 גרסאות}} בהיסטוריית העריכות שלו. מחיקה שלו עלולה להפריע לפעולות בבסיס הנתונים; אנא שקלו שנית את המחיקה.',
-'deleting-backlinks-warning' => "'''אזהרה:''' דפים אחרים מקשרים לדף שאתם עומדים למחוק או מכלילים אותו.",
+'deleting-backlinks-warning' => "'''אזהרה:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|דפים אחרים]] מקשרים לדף שאתם עומדים למחוק או מכלילים אותו.",
 
 # Rollback
 'rollback' => 'שחזור עריכות',
index 2b8223d..5c103e7 100644 (file)
@@ -191,7 +191,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Mi kopije e-mejlkow pósłać, kotrež druhim wužiwarjam pósćelu',
 'tog-diffonly' => 'Jenož rozdźěle pokazać (nic pak zbytny wobsah)',
 'tog-showhiddencats' => 'Schowane kategorije pokazać',
-'tog-noconvertlink' => 'Konwertowanje wotkazoweho titula znjemóžnić',
 'tog-norollbackdiff' => 'Rozdźěl po wróćostajenju zanjechać',
 'tog-useeditwarning' => 'Warnować, hdyž so wobdźěłowanska strona z njeskładowanymi změnami wopušća',
 'tog-prefershttps' => 'Po přizjewjenju přeco wěsty zwisk wužiwać',
@@ -2338,7 +2337,7 @@ Prošu potwjerdź, zo maš wotpohlad to činić, zo rozumiš sćěwki a zo to wo
 'delete-edit-reasonlist' => 'Přičiny za wušmórnjenje wobdźěłać',
 'delete-toobig' => 'Tuta strona ma z wjace hač $1 {{PLURAL:$1|wersiju|wersijomaj|wersijemi|wersijemi}} wulke wobdźěłanske stawizny. Wušmórnjenje tajkich stronow bu wobmjezowane, zo by připadne přetorhnjenje {{SITENAME}} wobešło.',
 'delete-warning-toobig' => 'Tuta strona ma z wjace hač $1 {{PLURAL:$1|wersiju|wersijomaj|wersijemi|wersijemi}} wulke wobdźěłanske stawizny. Wušmórnjenje móže operacije datoweje banki {{SITENAME}} přetorhnyć; pokročuj z kedźbliwosću.',
-'deleting-backlinks-warning' => "'''Warnowanje:''' Druhe strony wotkazuja k stronje abo strona je druhdźe zapřijata, kotruž chceš zhašeć.",
+'deleting-backlinks-warning' => "'''Warnowanje:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Druhe strony]] wotkazuja k stronje abo strona je druhdźe zapřijata, kotruž chceš zhašeć.",
 
 # Rollback
 'rollback' => 'Změny cofnyć',
index ce10c35..92c9040 100644 (file)
@@ -1605,6 +1605,8 @@ A műveletet nem lehet visszavonni.',
 'right-editusercssjs' => 'más felhasználók CSS és JS fájljainak szerkesztése',
 'right-editusercss' => 'más felhasználók CSS fájljainak szerkesztése',
 'right-edituserjs' => 'más felhasználók JS fájljainak szerkesztése',
+'right-editmyusercss' => 'A saját szerkesztői CSS-fájlok szerkesztése',
+'right-editmyuserjs' => 'Saját szerkesztői JavaScript-fájlok szerkesztése',
 'right-rollback' => 'a lap utolsó szerkesztésének gyors visszaállítása',
 'right-markbotedits' => 'visszaállított szerkesztések botként való jelölése',
 'right-noratelimit' => 'sebességkorlát figyelmen kívül hagyása',
@@ -1988,6 +1990,7 @@ Ez a wiki publikus, így a biztonság miatt az img_auth.php ki van kapcsolva.',
 'listfiles_size' => 'Méret',
 'listfiles_description' => 'Leírás',
 'listfiles_count' => 'Változatok',
+'listfiles-latestversion' => 'Aktuális változat',
 'listfiles-latestversion-yes' => 'Igen',
 'listfiles-latestversion-no' => 'Nem',
 
@@ -3926,6 +3929,7 @@ A MediaWikit abban a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉ
 'tags' => 'Érvényes módosítási címkék',
 'tag-filter' => '[[Special:Tags|Címke]]szűrő:',
 'tag-filter-submit' => 'Szűrő',
+'tag-list-wrapper' => '([[Special:Tags|{{PLURAL:$1|Címke|Címkék}}]]: $2)',
 'tags-title' => 'Címkék',
 'tags-intro' => 'Ez a lap azokat a címkéket és jelentéseiket tartalmazza, amikkel a szoftver megjelölhet egy szerkesztést.',
 'tags-tag' => 'Címke neve',
index 0e4159c..451b541 100644 (file)
@@ -182,7 +182,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Inviar me copias del messages de e-mail que io invia a altere usatores',
 'tog-diffonly' => 'Non monstrar le contento del pagina sub le comparation de duo versiones',
 'tog-showhiddencats' => 'Monstrar categorias celate',
-'tog-noconvertlink' => 'Disactivar conversion de titulos de ligamines',
 'tog-norollbackdiff' => 'Omitter le diff post le execution de un revocation',
 'tog-useeditwarning' => 'Advertir me quando io quita un pagina de modification sin publicar le cambiamentos',
 'tog-prefershttps' => 'Sempre usar un connexion secur in session aperte',
index 6eb78c3..afe8e0f 100644 (file)
@@ -383,7 +383,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Kirimkan saya salinan surel yang saya kirimkan ke orang lain',
 'tog-diffonly' => 'Jangan tampilkan isi halaman di bawah perbedaan suntingan',
 'tog-showhiddencats' => 'Tampilkan kategori tersembunyi',
-'tog-noconvertlink' => 'Matikan konversi judul pranala',
 'tog-norollbackdiff' => 'Jangan tampilkan perbedaan setelah melakukan pengembalian',
 'tog-useeditwarning' => 'Ingatkan saya bila meninggalkan halaman penyuntingan sebelum menyimpan perubahan',
 'tog-prefershttps' => 'Selalu gunakan koneksi aman ketika masuk log',
index bb04575..d37bbee 100644 (file)
@@ -170,7 +170,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Inviar me copies de e-mailes que yo invia por altri usatores',
 'tog-diffonly' => 'Ne monstrar li contenete de págine in infra del changes',
 'tog-showhiddencats' => 'Monstrar categories ne visibil',
-'tog-noconvertlink' => 'Desvalidar conversion de titul de catenun',
 'tog-norollbackdiff' => 'Omisser change pos de efectuar un rollback',
 'tog-useeditwarning' => 'Averti me, si yo abandona un págine con ínconservat changes',
 'tog-prefershttps' => 'Sempre usar un secur connection, si tui session es activ.',
index 0aa55c6..eb283d0 100644 (file)
@@ -226,7 +226,7 @@ $messages = array(
 'edit' => 'Urnosen',
 'create' => 'Agaramid',
 'editthispage' => 'Urnosen daytoy a panid',
-'create-this-page' => 'Aramidem daytoy a panid',
+'create-this-page' => 'Partuaten daytoy a panid',
 'delete' => 'Ikkaten',
 'deletethispage' => 'Ikkaten daytoy a panid',
 'undeletethispage' => 'Isubli ti pannakaikkat daytoy a panid',
@@ -768,9 +768,9 @@ Mabalin a naiyalis wenno naikkat bayat idi kitkitaem ti panid.',
 'accmailtext' => "Ti pugto a napartuat a kontrasenias para kenni [[User talk:$1|$1]] ket naipatuloden idiay $2. Mabalin a masukatan idiay
 ''[[Special:ChangePassword|pagsukatan ti kontrasenias]]'' a panid no sumrekka.",
 'newarticle' => '(Baro)',
-'newarticletext' => "Nasurotmo ti maysa a silpo iti awan pay a panid. 
-Tapno mapartuat daytoy a panid, rugiamon ti agikur-it wenno agisurat iti pagsuratan a kahon dita baba (kitaen ti [[{{MediaWiki:Helppage}}|panid ti tulong]] para iti ad-adu pay a pakaammo). 
-No addaka ditoy babaen ti biddut, ipidutmo ti '''agsubli''' a buton ti pabasabasam tapno makasublika iti naggapuam a panid.",
+'newarticletext' => 'Nasurotmo ti silpo ti awan pay a panid. 
+Ti mangpartuat ti panid, rugiamon ti agmakinilia iti kahon dita baba (kitaen ti [[{{MediaWiki:Helppage}}|panid ti tulong]] para iti adu pay a pakaammo). 
+No addaka ditoy babaen ti biddut, pindutem ti buton ti <strong>agsubli</strong> ti pagbasabasam.',
 'anontalkpagetext' => "----
 ''Daytoy ti pakitungtungan a panid para iti di am-ammo nga agar-aramat a saan pay a nakaaramid ti pakabilangan, wenno saanna nga us-usaren.
 Dakami ket agusar kami ti numero nga IP a pagtaengan ti panangilasin dagiti lalaki/babai.
@@ -880,7 +880,7 @@ Mabalinmo ti agsubli ken urnosen ti adda a panid, wenno [[Special:UserLogin|sumr
 'sectioneditnotsupported-text' => 'Saan a nasuportaran ti panag-urnos ti paset iti daytoy a panid.',
 'permissionserrors' => 'Biddut ti pammalubos',
 'permissionserrorstext' => 'Awan ti pammalubosmo nga agaramid iti dayta, gapu ti sumaganad {{PLURAL:$1|a rason|a rasrason}}:',
-'permissionserrorstext-withaction' => 'Awan ti pammalubosmo nga $2, gapu ti sumaganad {{PLURAL:$1|a rason|rasrason}}:',
+'permissionserrorstext-withaction' => 'Awan ti pammalubosmo nga $2, gapu ti sumaganad a {{PLURAL:$1|rason|rasrason}}:',
 'recreate-moveddeleted-warn' => "'''Ballaag: Agparpartuatka manen ti dati a naikkat a panid'''
 
 Nasken a siguraduem no maikanatad nga ituloymo nga urnosen daytoy a panid.
@@ -967,8 +967,8 @@ Ti inted a rason babaen ni $3 ket ''$2''",
 'last' => 'naudi',
 'page_first' => 'umuna',
 'page_last' => 'naudi',
-'histlegend' => "Panagpili ti sabali: Markaan dagiti kahon ti radio dagiti panagbaliwan tapno maipada ken pesselen ti serrek wenno ti buton dita baba.<br />
-Sarita: '''({{int:cur}})''' = naggidiatan ti kinaudi a panagbaliw, '''({{int:last}})''' = naggidiatan ti sarsarunuen a panagbaliw , '''{{int:minoreditletter}}''' = bassit a panagbaliw.",
+'histlegend' => 'Panagpili ti diperensia: Markaan dagiti kahon ti radio kadagiti panagbaliw tapno maipada ken pinduten ti serrek wenno ti buton dita baba.<br />
+Leyenda: <strong>({{int:cur}})</strong> = naggidiatan ti kinaudi a panagbaliw, <strong>({{int:last}})</strong> = naggidiatan ti sarsarunuen a panagbaliw , <strong>{{int:minoreditletter}}</strong> = bassit a panagbaliw.',
 'history-fieldset-title' => 'Agbasabasa ti pakasaritaan',
 'history-show-deleted' => 'Naikkat laeng',
 'histfirst' => 'kadaanan',
@@ -1436,7 +1436,7 @@ Ti esurat a pagtaengam ket saan a maipakita kadagiti agar-aramat nga agkontak ke
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'basaen datoy a panid',
-'action-edit' => 'urnosen datoy a panid',
+'action-edit' => 'agurnos iti datoy a panid',
 'action-createpage' => 'agpartuat kadagiti panid',
 'action-createtalk' => 'agaramid kadagiti pagtungtungan a panid',
 'action-createaccount' => 'agpartuat ti pakabilangan daytoy nga agar-aramat',
@@ -1489,7 +1489,7 @@ Ti esurat a pagtaengam ket saan a maipakita kadagiti agar-aramat nga agkontak ke
 'recentchanges-label-bot' => 'Daytoy a panag-urnos ket inaramid babaen ti maysa a bot',
 'recentchanges-label-unpatrolled' => 'Daytoy a panag-urnos ket saan pay a napatruliaan',
 'recentchanges-label-plusminus' => 'Ti panagbaliw ti kadakkel ti panid babaen ti bilang dagiti byte',
-'recentchanges-legend-heading' => "'''Sarita:'''",
+'recentchanges-legend-heading' => "'''Leyenda:'''",
 'recentchanges-legend-newpage' => '(kitaen pay ti [[Special:NewPages|listaan ti baro a pampanid]])',
 'rcnotefrom' => 'Dita baba ket dagiti sinukatan manipud idi strong>$2</strong> (agingga iti <strong>$1</strong> a naipakita).',
 'rclistfrom' => 'Ipakita dagiti kabarbaro a sinukatan a mangrugi manipud idi $1',
@@ -2294,7 +2294,7 @@ Ti panagikkat ti kastoy a pammpanid ket naparitan tapno mapawilan ti saan nga in
 'delete-warning-toobig' => 'Daytoy a panid ket adda ti dakkel unay a pakasaritaan ti panag-urnos, ti kaadu nga $1 {{PLURAL:$1|panagbaliw|dagiti panagbaliw}}.
 Ti panagikkat ket madisturbo ti panagpataray ti database ti {{SITNAME}};
 agal-aluadka a mangrugi.',
-'deleting-backlinks-warning' => "'''Ballaag:''' Dagiti dadduma a panid ket naisilpo wenno nailak-am manipud ti panid a gangani nga ikkatem.",
+'deleting-backlinks-warning' => "'''Ballaag:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Dagiti dadduma a panid]] ket naisilpo wenno nailak-am manipud ti panid a gangani nga ikkatem.",
 
 # Rollback
 'rollback' => 'Isubli dagiti panag-urnos',
@@ -3763,7 +3763,7 @@ Naka-awatka koman ti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopia iti GNU Sapasap a
 
 # Special:SpecialPages
 'specialpages' => 'Espesial a pampanid',
-'specialpages-note-top' => 'Sarita',
+'specialpages-note-top' => 'Leyenda',
 'specialpages-note' => '* Kadawyan nga espesial a pampanid.
 * <span class="mw-specialpagerestricted">Nagawidan nga espesial a pampanid.</span>',
 'specialpages-group-maintenance' => 'Dagiti padamag ti panagtaripato',
index 173e761..f15b90f 100644 (file)
@@ -333,7 +333,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Inviami una copia dei messaggi spediti agli altri utenti',
 'tog-diffonly' => 'Non visualizzare il contenuto della pagina dopo il confronto tra versioni',
 'tog-showhiddencats' => 'Mostra le categorie nascoste',
-'tog-noconvertlink' => 'Disattiva la conversione dei titoli dei link',
 'tog-norollbackdiff' => 'Non mostrare il confronto tra versioni dopo aver effettuato un rollback',
 'tog-useeditwarning' => 'Avvisa quando si esce da una pagina di modifica con modifiche non salvate',
 'tog-prefershttps' => "Usa sempre una connessione sicura quando si effettua l'accesso",
@@ -900,15 +899,15 @@ Password temporanea: $2',
 'passwordreset-emailerror-capture' => "È stata generata una email di reimpostazione della password, riportata di seguito. L'invio {{GENDER:$2|all'utente}} non è riuscito: $1",
 
 # Special:ChangeEmail
-'changeemail' => "Modifica l'indirizzo e-mail",
-'changeemail-header' => "Modifica l'indirizzo e-mail dell'account",
-'changeemail-text' => 'Completa questo modulo per cambiare il tuo indirizzo e-mail. Sarà necessario inserire la password per confermare la modifica.',
+'changeemail' => 'Modifica indirizzo email',
+'changeemail-header' => "Modifica l'indirizzo email dell'account",
+'changeemail-text' => 'Completa questo modulo per cambiare il tuo indirizzo email. Sarà necessario inserire la password per confermare la modifica.',
 'changeemail-no-info' => "Devi aver effettuato l'accesso per accedere a questa pagina direttamente.",
-'changeemail-oldemail' => 'Indirizzo e-mail attuale:',
-'changeemail-newemail' => 'Nuovo indirizzo e-mail:',
+'changeemail-oldemail' => 'Indirizzo email attuale:',
+'changeemail-newemail' => 'Nuovo indirizzo email:',
 'changeemail-none' => '(nessuno)',
 'changeemail-password' => 'La password su {{SITENAME}}:',
-'changeemail-submit' => 'Modifica e-mail',
+'changeemail-submit' => 'Modifica email',
 'changeemail-cancel' => 'Annulla',
 'changeemail-throttled' => 'Sono stati effettuati troppi tentativi di accesso.
 Attendi $1 e riprova in seguito.',
@@ -1414,8 +1413,8 @@ I dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{
 'prefs-watchlist-token' => 'Token osservati speciali:',
 'prefs-misc' => 'Varie',
 'prefs-resetpass' => 'Cambia password',
-'prefs-changeemail' => 'Modifica e-mail',
-'prefs-setemail' => 'Imposta un indirizzo e-mail',
+'prefs-changeemail' => 'Modifica email',
+'prefs-setemail' => 'Imposta un indirizzo email',
 'prefs-email' => 'Opzioni email',
 'prefs-rendering' => 'Aspetto',
 'saveprefs' => 'Salva le preferenze',
@@ -1483,10 +1482,10 @@ Il software utilizza questo valore per rivolgersi a te e menzionarti agli altri
 Questa informazione sarà pubblica.",
 'email' => 'Indirizzo email',
 'prefs-help-realname' => "L'indicazione del proprio nome vero è opzionale; se si sceglie di inserirlo, verrà utilizzato per attribuire la paternità dei contenuti inviati.",
-'prefs-help-email' => "L'inserimento del proprio indirizzo e-mail è facoltativo, ma permette di ricevere la propria password qualora venisse dimenticata.",
+'prefs-help-email' => "L'inserimento del proprio indirizzo email è facoltativo, ma permette di ricevere la propria password qualora venisse dimenticata.",
 'prefs-help-email-others' => 'Puoi anche scegliere di lasciare che gli altri ti contattino via posta elettronica con un collegamento dalla tua pagina utente o di discussione.
 Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
-'prefs-help-email-required' => 'Indirizzo e-mail obbligatorio.',
+'prefs-help-email-required' => "L'indirizzo email è obbligatorio.",
 'prefs-info' => 'Informazioni di base',
 'prefs-i18n' => 'Internazionalizzazione',
 'prefs-signature' => 'Firma',
@@ -2482,7 +2481,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 o inclusioni alla pagina che stai per cancellare.",
+'deleting-backlinks-warning' => "'''Attenzione:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|altre pagine]] contengono collegamenti o inclusioni alla pagina che stai per cancellare.",
 
 # Rollback
 'rollback' => 'Annulla le modifiche',
index da90527..e4d0064 100644 (file)
@@ -48,6 +48,7 @@
  * @author Reedy
  * @author Schu
  * @author Shirayuki
+ * @author Sonicarts
  * @author Suisui
  * @author VZP10224
  * @author Vigorous action
@@ -406,7 +407,6 @@ $messages = array(
 'tog-ccmeonemails' => '他の利用者に送信したメールの控えを自分にも送信',
 'tog-diffonly' => '差分の下にページ内容を表示しない',
 'tog-showhiddencats' => '隠しカテゴリを表示',
-'tog-noconvertlink' => 'リンクタイトル変換を無効にする',
 'tog-norollbackdiff' => '巻き戻し後の差分を表示しない',
 'tog-useeditwarning' => '変更を保存せずに編集画面から離れようとしたら警告',
 'tog-prefershttps' => 'ログインする際、常に SSL (https) 接続を使用する',
@@ -2664,7 +2664,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'このページには、 $1版を超える編集履歴があります。
 削除すると、{{SITENAME}}のデータベース処理に大きな負荷がかかります。
 十分に注意してください。',
-'deleting-backlinks-warning' => "'''警告:''' 削除しようとしているページは、他のページからリンクまたは参照読み込みされています。",
+'deleting-backlinks-warning' => "'''警告:''' 削除しようとしているページは、[[Special:WhatLinksHere/{{FULLPAGENAME}}|他のページ]]からリンクまたは参照読み込みされています。",
 
 # Rollback
 'rollback' => '編集を巻き戻し',
@@ -4379,13 +4379,13 @@ MediaWikiは、有用であることを期待して配布されていますが
 'dberr-cachederror' => 'これは要求されたページをキャッシュした複製であり、古くなっている可能性があります。',
 
 # HTML forms
-'htmlform-invalid-input' => '入力に何らかの問題があります',
+'htmlform-invalid-input' => '入力に何らかの問題があります',
 'htmlform-select-badoption' => '指定した値は有効な選択肢ではありません。',
 'htmlform-int-invalid' => '指定した値は整数ではありません。',
 'htmlform-float-invalid' => '指定した値は数値ではありません。',
-'htmlform-int-toolow' => '指定した値は、最小値 $1 より小さい値です',
-'htmlform-int-toohigh' => '指定した値は、最大値 $1 を超えています',
-'htmlform-required' => 'この値は必須です',
+'htmlform-int-toolow' => '指定した値は、最小値 $1 より小さい値です',
+'htmlform-int-toohigh' => '指定した値は、最大値 $1 を超えています',
+'htmlform-required' => 'この値は必須です',
 'htmlform-submit' => '送信',
 'htmlform-reset' => '変更を取り消す',
 'htmlform-selectorother-other' => 'その他',
index 5c2af8a..f0a7f2e 100644 (file)
@@ -206,7 +206,6 @@ $messages = array(
 'tog-ccmeonemails' => 'გამომიგზავნე ელფოსტების ასლები, რომლებსაც მე სხვა მომხმარებლებს ვუგზავნი',
 'tog-diffonly' => 'დამალე გვერდის შიგთავსი ცვლილების ქვევით',
 'tog-showhiddencats' => 'დამალული კატეგორიების ჩვენება',
-'tog-noconvertlink' => 'სათაურის გარდაქმნის ბმულის გამორთვა',
 'tog-norollbackdiff' => 'გაუქმებისას გამოტოვეთ ცვლილებათა განსხვავება',
 'tog-useeditwarning' => 'გამაფრთხილე, როდესაც დავტოვებ რედაქტირებად გვერდს, დაუმახსოვრებელი ცვლილებებით',
 'tog-prefershttps' => 'უსაფრთხო კავშირის მუდამ გამოყენება ავტორიზაციის შემდეგ',
@@ -941,7 +940,7 @@ $2
 ზედა ტექსტური ველი შეიცავს გვერდის შიგთავსს მისი ამჟამინდელი სახით.
 თქვენი ცვლილებები ნაჩვენებია ქვედა ტექსტურ ველში.
 თქვენ მოგიწევთ თქვენი ცვლილებების შერწყმა არსებულ ტექსტთან.
-'''მხოლოდ''' ზედა ველში არსებული ტექსტი იქნება შენახული, როდესაც \"{{int:savearticle}}\" დააჭერთ.",
+'''მხოლოდ''' ზედა ველში არსებული ტექსტი იქნება შენახული, როდესაც „{{int:savearticle}}“ დააჭერთ.",
 'yourtext' => 'თქვენი ტექსტი',
 'storedversion' => 'შენახული ვერსია',
 'nonunicodebrowser' => "'''გაფრთხილება: თქვენი ბრაუზერი უნიკოდთან თავსებადი არ არის. ჩვენ ვცდილობთ ამ პრობლემის გადაჭრას, რათა თქვენ შეძლოთ უსაფრთხოდ შეიტანოთ ცვლილებები გვერდებზე: არა-ASCII ნიშნები რედაქტირების ფანჯარაში გამოჩნდება როგორც ჰექსადეციმალური კოდები.'''",
index c97e44b..119719e 100644 (file)
@@ -397,7 +397,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Басқа қатысушыға жіберген хатымның көшірмесін маған да жөнелт',
 'tog-diffonly' => 'Нұсқалар айырмашылықтарының астында бет мағлұматын көрсетпеу',
 'tog-showhiddencats' => 'Жасырын санаттарды көрсету',
-'tog-noconvertlink' => 'Сілтеме атауларын ауыстырма',
 'tog-norollbackdiff' => 'Шегіндіруден кейін нұсқалардың айырмашылығын көрсетпеу',
 'tog-useeditwarning' => 'Өңдемесі сақталмаған парақшадан шығар кезде ескерту',
 'tog-prefershttps' => 'Кірген кезде қауіпсіз байлануды әрқашан қолдану',
index 50665d5..9eb76f8 100644 (file)
@@ -399,7 +399,6 @@ $messages = array(
 'tog-ccmeonemails' => '이메일을 보낼 때 내 이메일로 복사본을 보내기',
 'tog-diffonly' => '편집 차이를 비교할 때 문서 내용을 보지 않기',
 'tog-showhiddencats' => '숨은 분류 보이기',
-'tog-noconvertlink' => '링크 제목 변환을 비활성화',
 'tog-norollbackdiff' => '되돌리기 후 차이를 보지 않기',
 'tog-useeditwarning' => '바꾼 내용을 저장하지 않고 편집 페이지를 벗어날 때 알림',
 'tog-prefershttps' => '로그인할 때 항상 보안 연결 사용',
index 44d0c5f..00895b4 100644 (file)
@@ -248,7 +248,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Scheck mer en Kopie, wann ich en <i lang="en">e-mail</i> an ene andere Metmaacher scheck',
 'tog-diffonly' => 'Zeich beim Versione Verjliche nur de Ungerscheide aan (ävver pack nit noch de janze Sigg dodronger)',
 'tog-showhiddencats' => 'Donn de verstoche Saachjroppe aanzeije',
-'tog-noconvertlink' => 'Don de Tittele nit ömwandelle',
 'tog-norollbackdiff' => 'Donn noh „{{int:Rollback}}“ de Ungerscheide nit aanzeije',
 'tog-useeditwarning' => 'Donn mesch warne, wann esch vun en Sigg fott jonn, ih dat esch all ming Änderunge avjeschpeischert hann.',
 'tog-prefershttps' => 'Jangk emmer övver en verschlößelte Verbendong bei Enlogge',
index 9c4272f..22e0fa8 100644 (file)
@@ -222,7 +222,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Schéck mir eng Kopie vun de Mailen, déi ech anere Benotzer schécken.',
 'tog-diffonly' => "Weis bei Versiounsvergläicher just d'Ënnerscheeder an net déi ganz Säit",
 'tog-showhiddencats' => 'Verstoppt Kategorië weisen',
-'tog-noconvertlink' => 'Ëmwandlung vum Titel desaktivéieren',
 'tog-norollbackdiff' => 'Ënnerscheed nom Zrécksetzen ënnerdrécken',
 'tog-useeditwarning' => "Mech warne wann ech d'Ännerung vun enger Säit verloossen, ouni Ännerunge gespäichert ze hunn",
 'tog-prefershttps' => 'Ëmmer eng sécher Verbindung benotze wann ageloggt',
index c099059..b1c0ca7 100644 (file)
@@ -187,7 +187,6 @@ $messages = array(
 'tog-ccmeonemails' => '凡所遺書,請存副本。',
 'tog-diffonly' => '異下無示頁',
 'tog-showhiddencats' => '示隱類',
-'tog-noconvertlink' => '非轉鍵題',
 'tog-norollbackdiff' => '轉後略異',
 'tog-useeditwarning' => '離而未存,示吾',
 
index 4d4e3b3..98895db 100644 (file)
@@ -390,7 +390,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Испраќај ми мои примероци од писмата што ги праќам на другите корисници',
 'tog-diffonly' => 'Не ја покажувај содржината на страницата под разликите',
 'tog-showhiddencats' => 'Прикажи скриени категории',
-'tog-noconvertlink' => 'Оневозможи претворање на наслов на врска',
 'tog-norollbackdiff' => 'Изостави ја разликата по извршено отповикување',
 'tog-useeditwarning' => 'Предупреди ме кога сакам да напуштам страница за уредување без да ги имам зачувано промените',
 'tog-prefershttps' => 'Секогаш најавувај ме преку безбедна врска',
@@ -2622,7 +2621,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|ревизија|ревизии}}.
 Бришењето може да предизвика проблеми при работењето на базата на податоци на {{SITENAME}};
 продолжете доколку сте сигруни дека треба тоа да го сторите.',
-'deleting-backlinks-warning' => "'''Предупредување:''' До страницата што сакате да ја избришете водат други страници или се превметнуваат во неа.",
+'deleting-backlinks-warning' => "'''Предупредување:''' До страницата што сакате да ја избришете водат [[Special:WhatLinksHere/{{FULLPAGENAME}}|други страници]] или пак се превметнуваат во неа.",
 
 # Rollback
 'rollback' => 'Отповикај промени',
index 78b4a34..9fd819f 100644 (file)
@@ -2546,7 +2546,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => 'മായ്ക്കലിന്റെ കാരണം തിരുത്തുക',
 'delete-toobig' => 'ഈ താളിനു വളരെ വിപുലമായ തിരുത്തൽ ചരിത്രമുണ്ട്. $1 മേൽ {{PLURAL:$1|പതിപ്പുണ്ട്|പതിപ്പുകളുണ്ട്}}. ഇത്തരം താളുകൾ മായ്ക്കുന്നതു {{SITENAME}} സം‌രംഭത്തിന്റെ നിലനില്പ്പിനെ തന്നെ ബാധിക്കുമെന്നതിനാൽ ഈ താൾ മായ്ക്കുന്നതിനുള്ള അവകാശം പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.',
 'delete-warning-toobig' => 'ഈ താളിനു വളരെ വിപുലമായ തിരുത്തൽ ചരിത്രമുണ്ട്. അതായത്, ഇതിനു് $1 മേൽ {{PLURAL:$1|പതിപ്പുണ്ട്|പതിപ്പുകളുണ്ട്}}. ഇത്തരം താളുകൾ മായ്ക്കുന്നതു {{SITENAME}} സം‌രംഭത്തിന്റെ ഡാറ്റാബേസ് ഓപ്പറേഷനെ ബാധിച്ചേക്കാം. അതിനാൽ വളരെ ശ്രദ്ധാപൂർവ്വം തുടർനടപടികളിലേക്കു നീങ്ങുക.',
-'deleting-backlinks-warning' => "'''മുന്നറിയിപ്പ്:''' മറ്റു താളുകളിൽ നിന്നും താളിലേയ്ക്കുള്ള കണ്ണികൾ അല്ലെങ്കിൽ ഉൾപ്പെടുത്തിയിട്ടുള്ള താളുകൾ താങ്കൾ മായ്ക്കാൻ പോവുകയാണ്.",
+'deleting-backlinks-warning' => "'''മുന്നറിയിപ്പ്:''' മറ്റു താളുകളിൽ നിന്നും [[Special:WhatLinksHere/{{FULLPAGENAME}}|താളിലേയ്ക്കുള്ള കണ്ണികൾ]] അല്ലെങ്കിൽ ഉൾപ്പെടുത്തിയിട്ടുള്ള താളുകൾ താങ്കൾ മായ്ക്കാൻ പോവുകയാണ്.",
 
 # Rollback
 'rollback' => 'തിരുത്തലുകൾ റോൾബാക്ക് ചെയ്യുക',
index 9fe2330..de8c093 100644 (file)
@@ -7,6 +7,7 @@
  * @ingroup Language
  * @file
  *
+ * @author Boldbdd
  * @author Chinneeb
  * @author E.shijir
  * @author Kaganer
@@ -83,6 +84,8 @@ $messages = array(
 'tog-diffonly' => 'Өөрчлөлтөөс доогуурх хуудсын агуулгыг үзүүлэхгүй байх',
 'tog-showhiddencats' => 'Нуугдсан ангиллуудыг үзүүлэх',
 'tog-norollbackdiff' => 'Буцаасны дараа өөрчлөлтийг орхигдуулах',
+'tog-useeditwarning' => 'Засварын хуудсаа хадгалалгүй гарах үед сануул',
+'tog-prefershttps' => 'Нэвтэрсэн үедээ үргэлж найдвартай сүлжээ хэрэглэнэ үү',
 
 'underline-always' => 'Байнга',
 'underline-never' => 'Хэзээ ч үгүй',
@@ -369,6 +372,8 @@ $1',
 # General errors
 'error' => 'Aлдаа',
 'databaseerror' => 'Өгөгдлийн сангийн алдаа',
+'databaseerror-function' => 'Функц: $1',
+'databaseerror-error' => 'Алдаа: $1',
 'laggedslavemode' => 'Анхаар: Энэ хуудас нь хамгийн сүүлийн өөрчлөлтүүдийг хамруулаагүй байж болно.',
 'readonly' => 'Мэдээллийн сан түгжигдсэн байна',
 'enterlockreason' => 'Түгжих болсон шалтгаан болон хэзээ уг түгжээ нь тайлагдах тухай оруулна уу.',
@@ -423,6 +428,8 @@ $2',
 'namespaceprotected' => "Таньд '''$1''' нэрний зай дахь хуудсуудыг засварлах зөвшөөрөл байхгүй байна.",
 'customcssprotected' => 'Энэхүү CSS хуудас өөр хэрэглэгчийн хувийн тохиргоог агуулдаг тул та засварлах эрхгүй.',
 'customjsprotected' => 'Энэхүү JavaScript хуудас өөр хэрэглэгчийн хувийн тохиргоог агуулдаг тул та засварлах эрхгүй.',
+'mycustomjsprotected' => 'Танд энэхүү ЖаваСкрипт хуудсыг засварлах эрх байхгүй байна.',
+'myprivateinfoprotected' => 'Танд хувийн мэдээллээ засварлах эрх байхгүй байна.',
 'ns-specialprotected' => 'Тусгай хуудсуудыг засварлах боломжгүй.',
 'titleprotected' => "[[User:$1|$1]] нь энэ хуудсыг үүсгэх явдыг хорьжээ.
 Шалтгаан нь: ''$2''.",
@@ -459,6 +466,7 @@ $2',
 'createacct-yourpasswordagain' => 'Нууц үгээ баталгаажуулна уу',
 'createacct-yourpasswordagain-ph' => 'Нууц үгээ дахиж оруулна уу',
 'remembermypassword' => 'Энэ компьютер дээрх миний нэвтрэлтийг сана (хамгийн дээд талдаа $1 {{PLURAL:$1|өдрийн|өдрийн}} туршид)',
+'userlogin-signwithsecure' => 'Хамгаалалттай сүлжээ хэрэглэнэ үү',
 'yourdomainname' => 'Таны домэйн:',
 'password-change-forbidden' => 'Та энэ вики дээрх нууц үгээ сольж болохгүй.',
 'externaldberror' => 'Нэг бол гадны баталгаажуулах мэдээллийн сангийн алдаа гарсан, эсвэл та өөрийн гадны бүртгэлээ шинэчлэх эрхгүй байна.',
@@ -470,6 +478,7 @@ $2',
 'logout' => 'Гарах',
 'userlogout' => 'Гарах',
 'notloggedin' => 'Нэвтрээгүй байна',
+'userlogin-noaccount' => 'Бүртгүүлж амжаагүй юу?',
 'userlogin-joinproject' => '{{SITENAME}}-д бүртгүүлэх',
 'nologin' => "Бүртгүүлж амжаагүй юу? '''$1'''.",
 'nologinlink' => 'Бүртгүүлэх',
@@ -485,11 +494,17 @@ $2',
 'userlogin-createanother' => 'Өөр бүртгэл үүсгэх',
 'createacct-join' => 'Мэдээллээ оруулна уу.',
 'createacct-another-join' => 'Шинэ бүртгэлийн мэдээллээ оруулна уу.',
+'createacct-emailrequired' => 'Цахим шуудангийн хаяг',
+'createacct-email-ph' => 'Цахим шуудангийн хаягаа оруулна уу',
+'createacct-another-email-ph' => 'Цахим шуудангийн хаяг оруулна уу',
 'createaccountmail' => 'Мэйлээр илгээх',
 'createacct-realname' => 'Жинхэнэ нэр (хоосон орхиж болно)',
 'createaccountreason' => 'Шалтгаан:',
 'createacct-reason' => 'Шалтгаан',
 'createacct-reason-ph' => 'Өөр бүртгэл үүсгэх шалтгаан',
+'createacct-captcha' => 'Аюулгүй байдлын хяналт',
+'createacct-imgcaptcha-ph' => 'Дээр харагдаж буй бичвэрийг оруулна уу',
+'createacct-submit' => 'Бүртгүүлэх',
 'createacct-benefit-heading' => '{{SITENAME}}-г тан шиг хүмүүс хийж байна.',
 'createacct-benefit-body1' => '{{PLURAL:$1|засвар}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|хуудас}}',
@@ -497,6 +512,7 @@ $2',
 'userexists' => 'Хэрэглэгчийн нэр ашиглагдаж байна.
 Өөр нэрээр нэвтэрнэ үү.',
 'loginerror' => 'Нэвтрэхэд алдаа гарлаа',
+'createacct-error' => 'Бүртгүүлэхэд гарсан алдаа',
 'createaccounterror' => 'Бүртгэлийг үүсгэж чадсангүй: $1',
 'nocookiesnew' => 'Таны хэрэглэгчийн бүртгэл үүсгэгдсэн боловч нэвтрээгүй байна.
 {{SITENAME}}-д холбогдоход күүкиг хэрэглэдэг.
@@ -534,15 +550,15 @@ $2',
 'passwordsent' => '"$1"-н бүртгүүлсэн мэйл хаяг руу шинэ нууц үг илгээгдлээ.
 Мэйлээ авсныхаа дараа дахин нэвтрээрэй.',
 'blocked-mailpassword' => 'Таны IP хаягаас засвар хийх эрхийг түгжсэн байгаа тул буруугаар ашиглахаас сэргийлэх үүднээс нууц үгийг сэргээхийг зөвшөөрөхгүй.',
-'eauthentsent' => 'Баталгаажуулах мэйл бүртгүүлсэн мэйл хаяг руу илгээгдлээ.
-Өөрийнхөө бүртгэлийг баталгаажуулахын тулд, өөр ямар нэг мэйл таны мэйл хаяг руу явуулагдахын өмнө тухай бүрийнхээ мэйл дэх зааврыг дагана уу.',
+'eauthentsent' => 'Баталгаажуулах мэйл бүртгүүлсэн цахим шуудангийн хаяг руу илгээгдлээ.
+Өөрийнхөө бүртгэлийг баталгаажуулахын тулд өөр ямар нэг цахим шуудан таны цахим шуудангийн хаяг руу илгээгдэхээс өмнө, цахим шуудан дахь зааврыг даган баталгаажуулна уу.',
 'throttled-mailpassword' => 'Сүүлийн {{PLURAL:$1|1 цагт|$1 цагт}} нууц үгийг сануулах мэйлийг явуулсан байгаа.
 Буруугаар ашиглахаас сэргийлэх үүднээс {{PLURAL:$1|цагт|$1 цагт}} нэг л сануулах мэйлийг явуулах боломжтой.',
 'mailerror' => 'Мэйл илгээхэд алдаа гарлаа: $1',
 'acct_creation_throttle_hit' => 'Сүүлийн өдөрт таны IP хаягийг ашиглан хүмүүс энэ викид тухайн хугацаа дахь шинэ бүртгэлийн дээд хязгаар болох {{PLURAL:$1|1 бүртгэл|$1 бүртгэл}} үүсгэжээ.
 Ийнхүү энэ IP хаягийг ашигласан хүмүүс одоогийн байдлаар дахин бүртгэл үүсгэх боломжгүй байна.',
-'emailauthenticated' => 'Таны мэйл хаяг $2-ний $3 цагт баталгаажлаа.',
-'emailnotauthenticated' => 'Таны мэйл хаяг баталгаажаагүй байна.
+'emailauthenticated' => 'Таны цахим шуудангийн хаяг $2-ы/ий $3 цагт баталгаажлаа.',
+'emailnotauthenticated' => 'Таны цахим шуудангийн хаяг хараахан баталгаажаагүй байна.
 Иймд доорх функцуудын алинд нь ч мэйл илгээгдэхгүй.',
 'noemailprefs' => 'Эдгээр функцуудыг ашиглахад мэйл хаягаа өгөх хэрэгтэй.',
 'emailconfirmlink' => 'Мэйл хаягаа баталгаажуулах',
@@ -559,10 +575,12 @@ $2',
 Хэрэв буруугаар бүртгүүлсэн бол энэ мэдэгдлийг үл ойшоож болно.',
 'usernamehasherror' => 'Хэрэглэгчийн нэрэнд хаш тэмдэгт орж болохгүй',
 'login-throttled' => 'Та хэт олон удаа нэвтрэх гэж оролдсон байна.
-Хүлээж байгаад дахин оролдого уу.',
+$1 хүлээж байгаад дахин оролдоно уу.',
 'login-abort-generic' => 'Та нэвтэрч чадсангүй',
 'loginlanguagelabel' => 'Хэл: $1',
 'suspicious-userlogout' => 'Таны гарах хүсэлт нь эвдэрхий хөтөч буюу кэшлэгч проксигоор явуулсан мэт харагдаж байгаа тул зөвшөөрсөнгүй.',
+'createacct-another-realname-tip' => 'Жинхэнэ нэрээ заавал оруулах албагүй.
+Оруулбал таны хийсэн бүтээлийг түүгээр хаяглана.',
 'pt-login' => 'Нэвтрэх',
 'pt-createaccount' => 'Бүртгүүлэх',
 'pt-userlogout' => 'Гарах',
@@ -570,6 +588,7 @@ $2',
 # Email sending
 'php-mail-error-unknown' => "PHP's mail() функцэд үл танигдах алдаа гарлаа.",
 'user-mail-no-addy' => 'Цахин шуудангийн хаягийг оруулалгүйгээр шуудан явуулахыг оролдлоо.',
+'user-mail-no-body' => 'Хоосон аль эсвэл хэт богино цахим шуудан илгээх гэж оролдлоо.',
 
 # Change password dialog
 'changepassword' => 'Нууц үгээ солих',
@@ -581,7 +600,9 @@ $2',
 'newpassword' => 'Шинэ нууц үг:',
 'retypenew' => 'Шинэ нууц үгээ дахин оруулах:',
 'resetpass_submit' => 'Нууц үгээ тогтоож нэвтрэх',
-'changepassword-success' => 'Таны нууц үг амжилттай солигдлоо! Та одоо нэвтэрч байна...',
+'changepassword-success' => 'Таны нууц үг амжилттай солигдлоо!',
+'changepassword-throttled' => 'Та хэт олон удаа нэвтрэх гэж оролдсон байна.
+$1 хүлээж байгаад дахин оролдоно уу.',
 'resetpass_forbidden' => 'Нууц үг өөрчлөх боломжгүй',
 'resetpass-no-info' => 'Энэ хуудсыг шууд үзэхийн тулд нэвтэрч орсон байх шаардлагатай.',
 'resetpass-submit-loggedin' => 'Нууц үгээ солих',
index c55aa06..653126f 100644 (file)
@@ -235,7 +235,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Kirimkan saya salinan e-mel yang saya hantar kepada pengguna lain',
 'tog-diffonly' => 'Jangan tunjukkan kandungan laman di bawah perbezaan',
 'tog-showhiddencats' => 'Tunjukkan kategori tersembunyi',
-'tog-noconvertlink' => 'Lumpuhkan penukaran tajuk pautan',
 'tog-norollbackdiff' => 'Abaikan perbezaan selepas melakukan pengunduran suntingan.',
 'tog-useeditwarning' => 'Beri saya amaran apabila saya meninggalkan sesebuah laman penyuntingan tanpa menyimpan perubahan.',
 'tog-prefershttps' => 'Sentiasa gunakan sambungan terlindung apabila log masuk',
index 2b6052f..60eab6c 100644 (file)
@@ -360,7 +360,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Stuur mien kopieën van berichten an aandere gebrukers',
 'tog-diffonly' => 'Laot de inhoud van ziejen niet onder de an-egeven wiezigingen zien.',
 'tog-showhiddencats' => 'Laot verbörgen kategorieën zien',
-'tog-noconvertlink' => 'Ziednaamkonversie uutschakelen',
 'tog-norollbackdiff' => 'Wiezigingen vortlaoten nao t weerummedreien',
 'tog-useeditwarning' => "Waorschuw mien a'k n bewörken zied aof wil sluten die nog niet op-esleugen is",
 'tog-prefershttps' => "Altied n beveiligde verbiending gebruken a'j an-emeld bin",
index 80f7426..8a73ad0 100644 (file)
@@ -92,7 +92,6 @@ $messages = array(
 'tog-ccmeonemails' => 'मैले अरु प्रयोगकर्ताहरुलाई पठाउने इ-मेल को प्रतिलिपि मलाई पठाउने',
 'tog-diffonly' => 'तलका पृष्टहरुको diffहरु सामग्री नदेखाउने',
 'tog-showhiddencats' => 'लुकाइएको प्रकारहरु देखाउने',
-'tog-noconvertlink' => 'सम्बन्ध शीर्षक रुपान्तरण निस्क्रिय पार्ने',
 'tog-norollbackdiff' => 'पूर्वस्थितिमा फर्काएपछि  diff हटाउने',
 'tog-useeditwarning' => 'सम्पादनहरू सङ्ग्रह गरिनसकेको अवस्थामा अर्को पृष्ठमा जान खोज्दा चेतावनी देखाउने',
 'tog-prefershttps' => 'प्रवेश गर्दा जहिले पनि सुरक्षित जडान प्रयोग गर्ने',
index c7f6d9e..1aa1d63 100644 (file)
@@ -404,9 +404,9 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Mijn e-mailadres weergeven in e-mailberichten',
 'tog-shownumberswatching' => 'Het aantal gebruikers weergeven dat deze pagina volgt',
 'tog-oldsig' => 'Bestaande ondertekening:',
-'tog-fancysig' => 'Interpreteer ondertekening als wikitekst (zonder automatische koppeling)',
+'tog-fancysig' => 'Als wikitekst behandelen (zonder automatische koppeling)',
 'tog-uselivepreview' => '"Live voorvertoning" gebruiken (experimenteel)',
-'tog-forceeditsummary' => 'Een melding geven bij een ontbrekende bewerkingssamenvatting',
+'tog-forceeditsummary' => 'Een melding geven bij een lege bewerkingssamenvatting',
 'tog-watchlisthideown' => 'Eigen bewerkingen op mijn volglijst verbergen',
 'tog-watchlisthidebots' => 'Botbewerkingen op mijn volglijst verbergen',
 'tog-watchlisthideminor' => 'Kleine bewerkingen op mijn volglijst verbergen',
@@ -416,14 +416,13 @@ $messages = array(
 'tog-ccmeonemails' => 'Mij een kopie zenden van e-mails die ik naar andere gebruikers stuur',
 'tog-diffonly' => 'Pagina-inhoud onder wijzigingen niet weergeven',
 'tog-showhiddencats' => 'Verborgen categorieën weergeven',
-'tog-noconvertlink' => 'Paginanaamconversie uitschakelen',
 'tog-norollbackdiff' => 'Wijzigingen weglaten na terugdraaien',
-'tog-useeditwarning' => 'Waarschuwen als u een bewerkte pagina die nog niet is opgeslagen wilt verlaten',
+'tog-useeditwarning' => 'Waarschuwen als u een bewerkte pagina wilt verlaten die nog niet is opgeslagen',
 'tog-prefershttps' => 'Altijd een beveiligde verbinding gebruiken wanneer u bent aangemeld',
 
 'underline-always' => 'Altijd',
 'underline-never' => 'Nooit',
-'underline-default' => 'Zoals gebruikelijk in gebruikte vormgeving of webbrowser',
+'underline-default' => 'Standaard gedrag van vormgeving of webbrowser',
 
 # Font style option in Special:Preferences
 'editfont-style' => 'Lettertypestijl bewerkingsvenster:',
@@ -822,7 +821,7 @@ Vergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te pass
 'logout' => 'Afmelden',
 'userlogout' => 'Afmelden',
 'notloggedin' => 'Niet aangemeld',
-'userlogin-noaccount' => 'Hebt u geen account?',
+'userlogin-noaccount' => 'Hebt u geen gebruiker?',
 'userlogin-joinproject' => 'Word lid van {{SITENAME}}',
 'nologin' => 'Nog geen gebruikersnaam? $1.',
 'nologinlink' => 'Registreren',
@@ -970,7 +969,7 @@ Mogelijk hebt u uw wachtwoord al gewijzigd of een nieuw tijdelijk wachtwoord aan
 Om het inloggen te voltooien moet u hier een nieuw wachtwoord instellen:',
 'resetpass-temp-password' => 'Tijdelijk wachtwoord:',
 'resetpass-abort-generic' => 'De wachtwoordwijziging is afgebroken door een uitbreiding.',
-'resetpass-expired' => 'Uw wachtwoord is verlopen. Stel een nieuw wachtwoord om in te loggen.',
+'resetpass-expired' => 'Uw wachtwoord is verlopen. Stel een nieuw wachtwoord om aan te melden.',
 'resetpass-expired-soft' => 'Uw wachtwoord is verlopen, en moet opnieuw worden ingesteld. Kies een nieuw wachtwoord nu, of klik op "{{int:resetpass-submit-cancel}}" als u het later opnieuw wilt.',
 
 # Special:PasswordReset
@@ -1514,7 +1513,7 @@ Probeer een andere zoekopdracht.',
 'searchrelated' => 'gerelateerd',
 'searchall' => 'alle',
 'showingresults' => "Hieronder {{PLURAL:$1|staat '''1''' resultaat|staan '''$1''' resultaten}} vanaf #'''$2'''.",
-'showingresultsinrange' => 'Hieronder {{PLURAL:$1|wordt|worden}} maximaal {{PLURAL:$1|<strong>1</strong> resultaat|<strong>$1 </strong>resultaten}} getoond in het bereik #<strong>$2</strong> tot #<strong>$3</strong>.',
+'showingresultsinrange' => 'Hieronder {{PLURAL:$1|wordt|worden}} maximaal {{PLURAL:$1|<strong>1</strong> resultaat|<strong>$1 </strong>resultaten}} weergegeven in het bereik #<strong>$2</strong> tot #<strong>$3</strong>.',
 'showingresultsnum' => "Hieronder {{PLURAL:$3|staat '''1''' resultaat|staan '''$3''' resultaten}} vanaf #'''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5|Resultaat '''$1''' van '''$3'''|Resultaten '''$1 - $2''' van '''$3'''}} voor '''$4'''",
 'search-nonefound' => 'Er zijn geen resultaten voor uw zoekopdracht.',
@@ -1838,14 +1837,14 @@ Als u deze opgeeft, kan deze naam gebruikt worden om u erkenning te geven voor u
 'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => "Zie ook de [[Special:NewPages|Lijst met nieuwe pagina's]].",
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => "Wijzigingen sinds '''$2''' (met een maximum van '''$1''' wijzigingen).",
+'rcnotefrom' => 'Wijzigingen sinds <strong>$3 om $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|wijziging|wijzigingen}}).',
 'rclistfrom' => 'Wijzigingen bekijken vanaf $1',
 'rcshowhideminor' => 'Kleine wijzigingen $1',
-'rcshowhideminor-show' => 'Weergeven',
-'rcshowhideminor-hide' => 'Verbergen',
+'rcshowhideminor-show' => 'weergeven',
+'rcshowhideminor-hide' => 'verbergen',
 'rcshowhidebots' => 'bots $1',
-'rcshowhidebots-show' => 'Weergeven',
-'rcshowhidebots-hide' => 'Verbergen',
+'rcshowhidebots-show' => 'weergeven',
+'rcshowhidebots-hide' => 'verbergen',
 'rcshowhideliu' => 'geregistreerde gebruikers $1',
 'rcshowhideliu-show' => 'weergeven',
 'rcshowhideliu-hide' => 'verbergen',
@@ -1994,6 +1993,7 @@ Vraag iemand die onderdrukte bestandsgegevens kan bekijken om de situatie opnieu
 'php-uploaddisabledtext' => 'Het uploaden van bestanden is uitgeschakeld in PHP.
 Controleer de instelling "file_uploads".',
 'uploadscripted' => 'Dit bestand bevat HTML- of scriptcode die foutief door uw browser kan worden weergegeven.',
+'uploadscriptednamespace' => 'Dit SVG-bestand bevat een ongeldige naamruimte "$1".',
 'uploadinvalidxml' => 'De XML in het geüploade bestand kon niet worden geparst.',
 'uploadvirus' => 'Het bestand bevat een virus! Details: $1',
 'uploadjava' => 'Het bestand is een ZIP-bestand dat een Java .class-bestand bevat.
@@ -2373,20 +2373,20 @@ De pagina's zijn ook niet als sjabloon opgenomen.",
 'deadendpagestext' => "De onderstaande pagina's verwijzen niet naar andere pagina's in deze wiki.",
 'protectedpages' => "Beveiligde pagina's",
 'protectedpages-indef' => 'Alleen blokkades zonder vervaldatum',
-'protectedpages-summary' => "Deze pagina geeft de pagina's die momenteel worden beschermd. Voor een lijst van titels die zijn beschermd tegen aanmaken zie: [[{{#special:ProtectedTitles}}]].",
+'protectedpages-summary' => "Deze pagina bevat een lijst met beveiligde pagina's. Zie [[{{#special:ProtectedTitles}}]] voor een lijst van pagina's die niet aangemaakt mogen worden.",
 'protectedpages-cascade' => 'Alleen beveiligingen met de cascade-optie',
 'protectedpages-noredirect' => 'Doorverwijzingen verbergen',
 'protectedpagesempty' => "Er zijn momenteel geen pagina's beveiligd die aan deze voorwaarden voldoen.",
 'protectedpages-timestamp' => 'Tijdstip',
 'protectedpages-page' => 'Pagina',
 'protectedpages-expiry' => 'Verloopt',
-'protectedpages-performer' => 'Beschermd door',
+'protectedpages-performer' => 'Beveiligd door',
 'protectedpages-params' => 'Beveiligingsopties',
 'protectedpages-reason' => 'Reden',
 'protectedpages-unknown-timestamp' => 'Onbekend',
 'protectedpages-unknown-performer' => 'Onbekende gebruiker',
 'protectedtitles' => 'Beveiligde paginanamen',
-'protectedtitles-summary' => "Deze pagina bevat de titels die momenteel niet mogen worden aangemaakt. Voor de lijst met beveiligde pagina's zie: [[{{#special:ProtectedPages}}]].",
+'protectedtitles-summary' => "Deze pagina bevat een lijst met pagina's die niet mogen worden aangemaakt. Zie [[{{#special:ProtectedPages}}]] voor de lijst met beveiligde pagina's.",
 'protectedtitlesempty' => 'Er zijn geen paginanamen beveiligd die aan deze voorwaarden voldoen.',
 'listusers' => 'Gebruikerslijst',
 'listusers-editsonly' => 'Alleen gebruikers met bewerkingen weergeven',
@@ -2665,7 +2665,7 @@ Het verwijderen van dit soort pagina's is met rechten beperkt om het per ongeluk
 'delete-warning-toobig' => 'Deze pagina heeft een lange bewerkingsgeschiedenis, meer dan $1 {{PLURAL:$1|versie|versies}}.
 Het verwijderen van deze pagina kan de werking van de database van {{SITENAME}} verstoren.
 Wees voorzichtig.',
-'deleting-backlinks-warning' => "'''Waarschuwing:''' andere pagina's gebruiken of verwijzen naar de pagina die u wilt verwijderen.",
+'deleting-backlinks-warning' => "'''Waarschuwing:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|andere pagina's]] gebruiken of verwijzen naar de pagina die u wilt verwijderen.",
 
 # Rollback
 'rollback' => 'Wijzigingen ongedaan maken',
@@ -2845,6 +2845,7 @@ De laatste regel uit het blokkeerlogboek wordt hieronder ter referentie weergege
 'sp-contributions-blocked-notice-anon' => 'Dit IP-adres is geblokkeerd.
 De laatste regel uit het blokkeerlogboek wordt hieronder ter referentie weergegeven:',
 'sp-contributions-search' => 'Zoeken naar bijdragen',
+'sp-contributions-suppresslog' => 'onderdrukte gebruikersbijdragen',
 'sp-contributions-username' => 'IP-adres of gebruikersnaam:',
 'sp-contributions-toponly' => 'Alleen nieuwste versies weergeven',
 'sp-contributions-newonly' => "Alleen nieuwe pagina's weergeven",
@@ -3164,7 +3165,7 @@ $2',
 'thumbnail_image-type' => 'Dit bestandstype wordt niet ondersteund',
 'thumbnail_gd-library' => 'De instellingen voor de GD-bibliotheek zijn incompleet. De functie $1 ontbreekt',
 'thumbnail_image-missing' => 'Het bestand lijkt niet aanwezig te zijn: $1',
-'thumbnail_image-failure-limit' => 'Er zijn te veel recente mislukte pogingen ($1 of meer) om deze miniatuurafbeelding te genereren. Probeer het later nog eens.',
+'thumbnail_image-failure-limit' => 'Het maken van een miniatuurafbeelding is te vaak mislukt ($1 keer of vaker). Probeer het later nog eens.',
 
 # Special:Import
 'import' => "Pagina's importeren",
index 8f42463..1b15a35 100644 (file)
@@ -356,7 +356,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Send meg kopi av e-postane eg sender til andre brukarar',
 'tog-diffonly' => 'Ikkje vis sideinnhaldet under skilnadene mellom versjonane',
 'tog-showhiddencats' => 'Vis gøymde kategoriar',
-'tog-noconvertlink' => 'Slå av konvertering av sidetitlar',
 'tog-norollbackdiff' => 'Ikkje vis skilnad etter attenderulling',
 'tog-useeditwarning' => 'Gje ei åtvaring om eg går ut av ei redigeringsside og ikkje alle endringar er lagra',
 'tog-prefershttps' => 'Alltid bruk ei trygg kopling når du er innlogga',
@@ -1304,6 +1303,7 @@ Pass på at den nye sida også har innhald frå den innfletta sida.',
 'showhideselectedversions' => 'Vis/løyn valde versjonar',
 'editundo' => 'angre',
 'diff-empty' => '(Ingen skilnad)',
+'diff-multi-sameuser' => '({{PLURAL:$1|Éin mellomversjon|$1 mellomversjonar}} av den same brukaren er ikkje {{PLURAL:$1|vist|viste}})',
 'diff-multi-manyusers' => '({{PLURAL:$1|Ein mellomversjon|$1 mellomversjonar}} av meir enn $2 {{PLURAL:$2|brukar|brukarar}}  er ikkje {{PLURAL:$1|vist|viste}})',
 'difference-missing-revision' => '{{PLURAL:$2|Éin versjon|$2 versjonar}} av skilnaden ($1) vart ikkje {{PLURAL:$2|funnen|funne}}.
 
index 9453467..8cbbc3d 100644 (file)
@@ -327,7 +327,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Me mandar una còpia dels corrièrs electronics que mandi als autres utilizaires',
 'tog-diffonly' => 'Far pas veire lo contengut de las paginas jos las difs',
 'tog-showhiddencats' => 'Afichar las categorias amagadas',
-'tog-noconvertlink' => 'Desactivar la conversion dels títols',
 'tog-norollbackdiff' => 'Ometre lo diff aprèp l’utilizacion d’un revert',
 'tog-useeditwarning' => 'M’avisar quand quiti una pagina de modificacion sens publicar los cambiaments',
 'tog-prefershttps' => 'Utilizar totjorn una connexion securizada en essent connectat',
@@ -1146,7 +1145,9 @@ 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]].",
+'cantcreateaccount-range-text' => "La creacion de compte dempuèi las adreças IP dins la plaja '''$1''', que compren vòstra agreça IP ('''$4''') son estadas blocadas per [[User:$3|$3]].
+
+Lo motiu provesit per $3 es ''$2''",
 
 # History pages
 'viewpagelogs' => 'Vejatz las operacions per aquesta pagina',
@@ -1181,7 +1182,7 @@ Benlèu es estada escafada o renomenada.
 Ensajatz de [[Special:Search|recercar sul wiki]] per trobar de paginas en rapòrt.',
 
 # Revision deletion
-'rev-deleted-comment' => '(comentari suprimit)',
+'rev-deleted-comment' => '(resumit de comentari suprimit)',
 'rev-deleted-user' => '(nom d’utilizaire suprimit)',
 'rev-deleted-event' => '(entrada suprimida)',
 'rev-deleted-user-contribs' => "[nom d'utilizaire o adreça IP suprimida - modificacion amagada sus las contribucions]",
@@ -1334,7 +1335,7 @@ Podètz trobar de detalhs dins lo [{{fullurl:{{#Special:Log}}/delete|page={{FULL
 'shown-title' => 'Afichar $1 {{PLURAL:$1|resultat|resultats}} per pagina',
 'viewprevnext' => 'Veire ($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-exists' => "* Pagina '''[[$1]]'''",
-'searchmenu-new' => "'''Crear la pagina ''[[:$1|$1]]'' sus aqueste wiki !'''",
+'searchmenu-new' => '<strong>Crear la pagina « [[:$1|$1]] » sus aqueste wiki !</strong> {{PLURAL:$2|0=|Vejatz tanben la pagina trobada amb vòstra recèrca.|Vejatz tanben los resultats de vòstra recèrca.}}',
 'searchprofile-articles' => 'Paginas de contengut',
 'searchprofile-project' => "Paginas d'ajuda e del projècte",
 'searchprofile-images' => 'Multimèdia',
@@ -1674,9 +1675,10 @@ 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-label-plusminus' => "La talha de la pagna a cambiat d'aqueste nombre d’octets.",
 '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).",
+'rcnotefrom' => 'Çaijós las modificacions efectuadas dempuèi lo <strong>$2</strong> (fins a <strong>$1</strong> afichats).',
 'rclistfrom' => 'Afichar las modificacions novèlas dempuèi lo $1.',
 'rcshowhideminor' => '$1 los cambiaments menors',
 'rcshowhideminor-show' => 'Afichar',
@@ -1818,6 +1820,8 @@ S'o volètz importar tornamai, tornatz en rèire e importatz-lo jos un autre nom
 'uploaddisabledtext' => "L'impòrt de fichièrs cap al servidor es desactivat.",
 'php-uploaddisabledtext' => "Lo telecargament de fichièrs es estat desactivat dins PHP. Verificatz l'opcion de configuracion file_uploads.",
 'uploadscripted' => "Aqueste fichièr conten de còde HTML o un escript que poiriá èsser interpretat d'un biais incorrècte per un navigador Internet.",
+'uploadscriptednamespace' => "Aqueste fichièr SVG conten un espaci de noms '$1' pas autorizat.",
+'uploadinvalidxml' => 'Lo XML dins lo fichièr importat a pas pogut èsser analisat.',
 'uploadvirus' => 'Aqueste fichièr conten un virús ! Per mai de detalhs, consultatz : $1',
 'uploadjava' => 'Es un fichièr ZIP que conten un fichièr Java .class.
 Lo telecargament de fichièrs Java es pas autorizat, perque pòdon contornar de restriccions de seguretat.',
@@ -2134,6 +2138,7 @@ Las entradas <del>barradas</del> son estadas resolgudas.',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|ligam|ligams}}',
 'nmembers' => '$1 {{PLURAL:$1|membre|membres}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|membre|membres}}',
 'nrevisions' => '$1 {{PLURAL:$1|revision|revisions}}',
 'nviews' => '$1 {{PLURAL:$1|consultacion|consultacions}}',
 'nimagelinks' => 'Utilisat sus $1 {{PLURAL:$1|pagina|paginas}}',
@@ -2391,21 +2396,20 @@ per modificar vòstra lista de seguiment.',
 'enotif_lastvisited' => 'Consultatz $1 per totes los cambiaments dempuèi vòstra darrièra visita.',
 'enotif_lastdiff' => 'Consultatz $1 per veire aquesta modificacion.',
 'enotif_anon_editor' => 'utilizaire anonim $1',
-'enotif_body' => 'Car(a) $WATCHINGUSERNAME,
+'enotif_body' => 'Car $WATCHINGUSERNAME,
 
 $PAGEINTRO $NEWPAGE
 
-Resumit del contributor : $PAGESUMMARY 
-$PAGEMINOREDIT
+Resumit del contributor :
+$PAGESUMMARY $PAGEMINOREDIT
 
 Contactatz aqueste contributor :
 corrièl : $PAGEEDITOR_EMAIL
 wiki : $PAGEEDITOR_WIKI
 
-I aurà pas d’autras notificacions en cas de cambiaments ulteriors, levat se visitatz aquela pagina.
-Podètz tanben reïnicializar las bandièras de notificacion per totas las paginas de vòstra lista de seguiment.
+I aurà pas d’autras notificacions en cas de cambiaments ulteriors, levat se visitatz aquela pagina un còp connectat. Podètz tanben reïnicializar las bandièras de notificacion per totas las paginas de vòstra lista de seguiment.
 
-             Vòstre sistèma de notificacion de {{SITENAME}}
+Vòstre sistèma de notificacion de {{SITENAME}}
 
 --
 Pour modificar los paramètres de notificacion per corrièl, visitatz {{canonicalurl:{{#special:Preferences}}}}
@@ -2623,8 +2627,10 @@ $1",
 'sp-contributions-blocked-notice-anon' => 'Aquesta adreça IP es actualament blocada.
 La darrièra intrada del jornal dels blocatges es indicada çaijós a títol d’informacion :',
 'sp-contributions-search' => 'Cercar las contribucions',
+'sp-contributions-suppresslog' => 'contribucions suprimidas d’un utilizaire',
 'sp-contributions-username' => 'Adreça IP o nom d’utilizaire :',
 'sp-contributions-toponly' => 'Mostrar sonque las contribucions que son lo darrièr cambiament',
+'sp-contributions-newonly' => 'Afichar unicament las modificacions que son de creacions de pagina',
 'sp-contributions-submit' => 'Cercar',
 
 # What links here
@@ -2725,8 +2731,8 @@ a partir d'una adreça IP precedentament blocada.",
 'change-blocklink' => 'modificar lo blocatge',
 'contribslink' => 'contribucions',
 'emaillink' => 'mandar un messatge',
-'autoblocker' => 'Sètz estat autoblocat perque partejatz una adreça IP amb "[[User:$1|$1]]".
-La rason balhada per $1 es : « $2 ».',
+'autoblocker' => 'Sètz estat blocat automaticament perque vòstra adreça IP es estada utilizada recentament per « [[User:$1|$1]] ».
+Lo motiu provesit pel blocatge de $1 es « $2 »',
 'blocklogpage' => 'Istoric dels blocatges',
 'blocklog-showlog' => 'Aqueste utilizaire es estat blocat precedentament. Lo jornal dels blocatges es disponible çaijós :',
 'blocklog-showsuppresslog' => 'Aqueste utilizaire es estat blocat e amagat precedentament. Lo jornal de las supressions es disponible çaijós :',
@@ -2746,7 +2752,7 @@ Consultatz la [[Special:BlockList|lista dels utilizaires blocats]] per veire los
 'range_block_disabled' => "Lo blocatge de plajas d'IP es estat desactivat.",
 'ipb_expiry_invalid' => 'Temps d’expiracion invalid.',
 'ipb_expiry_temp' => 'Las plajas dels utilizaires amagats deurián èsser permanentas.',
-'ipb_hide_invalid' => "Impossible de suprimir aqueste compte ; sembla qu'a tròp de modificacions.",
+'ipb_hide_invalid' => "Impossible de suprimir aqueste compte ; sembla qu'a mai {{PLURAL:$1|d’una modificacion|de $1 modificacions}}.",
 'ipb_already_blocked' => '« $1 » ja es blocat',
 'ipb-needreblock' => '$1 ja es blocat. Volètz modificar los paramètres ?',
 'ipb-otherblocks-header' => '{{PLURAL:$1|Autre blocatge|Autres blocatges}}',
@@ -2946,7 +2952,7 @@ Salvatz-lo sus vòstre disc dur puèi importatz-lo aicí.",
 'importuploaderrortemp' => "Lo telecargament del fichièr d'importar a pas capitat. Un dorsièr temporari es mancant.",
 'import-parse-failure' => "Ruptura dins l'analisi de l'impòrt XML",
 'import-noarticle' => "Pas de pagina d'importar !",
-'import-nonewrevisions' => 'Totas las revisions son estadas importadas deperabans.',
+'import-nonewrevisions' => 'Cap de revision pas importada (totas èran ja presentas, o ignoradas del fach d’errors).',
 'xml-error-string' => '$1 a la linha $2, col $3 (octet $4) : $5',
 'import-upload' => "Impòrt d'un fichier XML",
 'import-token-mismatch' => 'Pèrda de las donadas de sesilha. Tornatz ensajar.',
@@ -3837,6 +3843,7 @@ Ensajatz la previsualizacion normala.',
 'version-version' => '(Version $1)',
 'version-license' => 'Licéncia de MediaWiki',
 'version-ext-license' => 'Licéncia',
+'version-ext-colheader-name' => 'Extensions',
 'version-ext-colheader-license' => 'Licéncia',
 'version-ext-colheader-description' => 'Descripcion',
 'version-ext-colheader-credits' => 'Autors',
@@ -4050,6 +4057,7 @@ Ensajatz la previsualizacion normala.',
 'api-error-overwrite' => 'Espotir un fichièr existent es pas autorizat.',
 'api-error-stashfailed' => 'Error intèrna : lo servidor a pas pogut enregistrar lo fichièr temporari.',
 'api-error-publishfailed' => 'Error intèrna: Lo servidor a pas pogut publicar lo fichièr temporari.',
+'api-error-stasherror' => "Una error s'es produsida al moment del telecargament del fichièr per lo dissimular.",
 'api-error-timeout' => 'Lo servidor a pas respondut dins lo relambi pervist.',
 'api-error-unclassified' => "Una error desconeguda s'es producha.",
 'api-error-unknown-code' => 'Error desconeguda : « $1 »',
@@ -4090,7 +4098,11 @@ Ensajatz la previsualizacion normala.',
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Espandiment dels modèls',
-'expand_templates_intro' => 'Aquesta pagina permet de testar l’espandiment de modèls, que son desvolopats recursivament. Las foncions e las variablas predefinidas, coma <nowiki>{{</nowiki>#language:...}} e <nowiki>{{</nowiki>CURRENTDAY}} tanben son desvolopadas.',
+'expand_templates_intro' => "Aquesta pagina especiala accèpta un tèxte wiki source e permet de realizar recursivament l’espandiment dels modèls que conten.
+Realiza tanben l’espandiment de las foncions del parser talas coma
+<code><nowiki>{{</nowiki>#language:...}}</code> e de variablas coma
+<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.
+En fach, realiza l'espandiment de gaireben tot çò qu'es enquadrat per d'acoladas doblas.",
 'expand_templates_title' => 'Títol de l’article, util per exemple se lo modèl utiliza {{FULLPAGENAME}} :',
 'expand_templates_input' => 'Picatz vòstre tèxte aicí :',
 'expand_templates_output' => 'Visualizatz lo resultat :',
index 1c472ef..4388f73 100644 (file)
@@ -354,7 +354,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Przesyłaj mi kopie wiadomości, które wysyłam do innych użytkowników',
 'tog-diffonly' => 'Nie pokazuj treści stron pod porównaniami zmian',
 'tog-showhiddencats' => 'Pokazuj ukryte kategorie',
-'tog-noconvertlink' => 'Wyłącz konwersję tytułów w linkach',
 'tog-norollbackdiff' => 'Pomiń pokazywanie zmian po użyciu funkcji „cofnij”',
 'tog-useeditwarning' => 'Ostrzegaj mnie, gdy opuszczam stronę edycji bez zapisania zmian',
 'tog-prefershttps' => 'Zawsze używaj bezpiecznego połączenia po zalogowaniu',
@@ -2556,7 +2555,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, którą masz zamiar usunąć, odwołują się inne strony.",
+'deleting-backlinks-warning' => "''' Uwaga:''' Do strony, którą masz zamiar usunąć, odwołują się [[Special:WhatLinksHere/{{FULLPAGENAME}}|inne strony]].",
 
 # Rollback
 'rollback' => 'Cofnij edycję',
index 3e0ce1b..ce2ccc2 100644 (file)
@@ -79,7 +79,6 @@ $messages = array(
 'tog-ccmeonemails' => "Mandeme na còpia dij mëssagi ëd pòsta eletrònica che i-j mando a j'àotri utent",
 'tog-diffonly' => 'Smon-e pa ël contnù dle pàgine sota le diferense',
 'tog-showhiddencats' => 'Smon-e le categorìe stërmà',
-'tog-noconvertlink' => "Disativé la conversion dij tìtoj ant j'anliure",
 'tog-norollbackdiff' => "Fé nen vëdde le diferense apress d'avèj ripristinà",
 'tog-useeditwarning' => 'Aviseme quand che i chito na pàgina ëd modìfiche con dle modìfiche nen salvà',
 'tog-prefershttps' => "Dovré sempe na conession sigura pr'ësté andrinta al sistema",
@@ -2274,7 +2273,7 @@ Lë scancelassion ëd pàgine parèj a l'é stàita limità për evité ch'as fa
 'delete-warning-toobig' => "Sta pàgina-sì a l'ha na stòria motobin longa, bele pì che $1 {{PLURAL:$1|revision|revision}}.
 A scancelela as peul fesse darmagi a j'operassion dla base ëd dat ëd {{SITENAME}};
 ch'a daga da ment a lòn ch'a fa.",
-'deleting-backlinks-warning' => "'''Avis:''' D'àutre pàgine a l'han na liurao a transcludo a la pàgina che chiel a veul ëscancelé.",
+'deleting-backlinks-warning' => "'''Avis:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|D'àutre pàgine]] a l'han na liura o a transcludo la pàgina che chiel a veul ëscancelé.",
 
 # Rollback
 'rollback' => 'Gavé via le modìfiche',
index c658a6a..20fb6e8 100644 (file)
@@ -984,7 +984,7 @@ $1',
 'shown-title' => 'په هر مخ $1 {{PLURAL:$1|پايله|پايلې}} ښکاره کول',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) کتل',
 'searchmenu-exists' => "'''په دې ويکي يو مخ د \"[[:\$1]]\" په نامه دی'''",
-'searchmenu-new' => "'''په دې ويکي د \"[[:\$1]]\" مخ جوړول!'''",
+'searchmenu-new' => '<strong>په دې ويکي د "[[:$1]]" مخ جوړول!</strong> {{PLURAL:$2|0=|See also the page found with your search.|د پلټنو موندل شوې پايلې هم وگورئ.}}',
 'searchprofile-articles' => 'مېنځپانگيز مخونه',
 'searchprofile-project' => 'د لارښود او پروژې مخونه',
 'searchprofile-images' => 'گڼرسنۍ',
@@ -1248,8 +1248,8 @@ $1',
 'recentchanges-label-bot' => 'دا سمون يو روباټ ترسره کړی',
 'recentchanges-label-unpatrolled' => 'دغه سمون تر اوسه پورې نه دی څارل شوی',
 'recentchanges-label-plusminus' => 'د بايټونو د شمېر له مخې د مخ د بدلون کچه',
-'recentchanges-legend-newpage' => '(دا هم وگورۍ [[Special:NewPages|د نويو مخونو لړليک]])',
-'rcnotefrom' => "په همدې ځای کې لاندې هغه بدلونونه دي چې د '''$2''' نه راپدېخوا پېښ شوي (تر '''$1''' پورې ښکاره شوي).",
+'recentchanges-legend-newpage' => '([[Special:NewPages|د نويو مخونو لړليک]] هم وگورئ)',
+'rcnotefrom' => 'دلته لاندې د <strong>$2</strong> څخه راپدېخوا پېښ شوي بدلونونه راغلي (تر <strong>$1</strong> پورې ښکاري).',
 'rclistfrom' => 'هغه نوي بدلونونه ښکاره کول چې له $1 نه پيلېږي',
 'rcshowhideminor' => 'وړې سمونې $1',
 'rcshowhidebots' => 'روباټ $1',
@@ -1823,7 +1823,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'protect-summary-cascade' => 'ځوړاوبيز',
 'protect-expiring' => 'په $1 (UTC) پای ته رسېږي',
 'protect-expiring-local' => 'پای نېټه $1',
-'protect-expiry-indefinite' => 'Ù\84امحدوده',
+'protect-expiry-indefinite' => 'Ù\86امحدوده',
 'protect-cascade' => 'په همدې مخ کې د ټولو گډو مخونو څخه ژغورنه کېږي (ځوړاوبيزه ژغورنه)',
 'protect-cantedit' => 'تاسې نه شی کولای چې د دې مخ د ژغورنې په کچه کې بدلون راولی، دا ځکه چې تاسې د دې مخ د سمولو اجازه نه لری.',
 'protect-othertime' => 'بل وخت:',
@@ -1836,7 +1836,7 @@ $UNWATCHURL  نه ليدنه وکړۍ
 ** بې گټې سمونې او خپرونې
 ** ډېر لوستونکی مخ',
 'protect-edit-reasonlist' => 'د ژغورنې سببونه سمول',
-'protect-expiry-options' => '1 Ø³Ø§Ø¹Øª:1 hour,1 Ù\88رÚ\81:1 day,1 Ø§Ù\88Ù\88Ù\86Û\8d:1 week,2 Ø§Ù\88Ù\88Ù\86Û\8d:2 weeks,1 Ù\85Ù\8aاشت:1 month,3 Ù\85Ù\8aاشتÛ\90:3 months,6 Ù\85Ù\8aاشتÛ\90:6 months,1 Ú©Ø§Ù\84:1 year,Ù\84امحدوده:infinite',
+'protect-expiry-options' => '1 Ø³Ø§Ø¹Øª:1 hour,1 Ù\88رÚ\81:1 day,1 Ø§Ù\88Ù\88Ù\86Û\8d:1 week,2 Ø§Ù\88Ù\88Ù\86Û\8d:2 weeks,1 Ù\85Ù\8aاشت:1 month,3 Ù\85Ù\8aاشتÛ\90:3 months,6 Ù\85Ù\8aاشتÛ\90:6 months,1 Ú©Ø§Ù\84:1 year,Ù\86امحدوده:infinite',
 'restriction-type' => 'اجازه:',
 'restriction-level' => 'د بنديز کچه:',
 'minimum-size' => 'وړه کچه',
@@ -1943,8 +1943,10 @@ $UNWATCHURL  نه ليدنه وکړۍ
 'ipbemailban' => 'د کارن لخوا په برېښليک رالېږلو بنديز',
 'ipbsubmit' => 'په دې کارن بنديز لگول',
 'ipbother' => 'بل وخت:',
-'ipboptions' => '2 Ø³Ø§Ø¹ØªÙ\88Ù\86Ù\87:2 hours,1 Ù\88رÚ\81:1 day,3 Ù\88رÚ\81Û\90:3 days,1 Ø§Ù\88Ù\88Ù\86Û\8d:1 week,2 Ø§Ù\88Ù\88Ù\86Û\8d:2 weeks,1 Ù\85Ù\8aاشت:1 month,3 Ù\85Ù\8aاشتÛ\90:3 months,6 Ù\85Ù\8aاشتÛ\90:6 months,1 Ú©Ø§Ù\84:1 year,Ù\84امحدوده:infinite',
+'ipboptions' => '2 Ø³Ø§Ø¹ØªÙ\88Ù\86Ù\87:2 hours,1 Ù\88رÚ\81:1 day,3 Ù\88رÚ\81Û\90:3 days,1 Ø§Ù\88Ù\88Ù\86Û\8d:1 week,2 Ø§Ù\88Ù\88Ù\86Û\8d:2 weeks,1 Ù\85Ù\8aاشت:1 month,3 Ù\85Ù\8aاشتÛ\90:3 months,6 Ù\85Ù\8aاشتÛ\90:6 months,1 Ú©Ø§Ù\84:1 year,Ù\86امحدوده:infinite',
 'ipbhidename' => 'کارن-نوم له سمون او لړليکونو پټول',
+'ipbwatchuser' => 'د دې کارن د خبرو اترو مخ او کارن مخ کتل',
+'ipb-disableusertalk' => 'د بنديز لگېدو سره دې د کارن د خبرو اترو مخ د سمولو مخنيوی هم پلي شي',
 'ipb-confirm' => 'د بنديز تاييد',
 'badipaddress' => 'ناسمه IP پته',
 'blockipsuccesssub' => 'بنديز په برياليتوب سره ولگېده',
index 99eef90..6ad3666 100644 (file)
@@ -360,7 +360,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Enviar-me cópias das mensagens por correio eletrónico que eu enviar a outros utilizadores',
 'tog-diffonly' => 'Não mostrar o conteúdo da página ao comparar duas edições',
 'tog-showhiddencats' => 'Mostrar categorias ocultas',
-'tog-noconvertlink' => 'Impossibilitar a conversão dos títulos de links',
 'tog-norollbackdiff' => 'Omitir diferenças depois de reverter edições em bloco',
 'tog-useeditwarning' => 'Avisar-me ao abandonar uma página editada sem gravar as alterações.',
 'tog-prefershttps' => 'Usar sempre uma ligação segura quando estiver autenticado',
@@ -2578,7 +2577,7 @@ A eliminação de páginas como esta foi restringida na {{SITENAME}}, para evita
 'delete-warning-toobig' => 'Esta página tem um histórico de edições longo, com mais de $1 {{PLURAL:$1|edição|edições}}.
 Eliminá-la poderá causar problemas na base de dados da {{SITENAME}};
 prossiga com precaução.',
-'deleting-backlinks-warning' => "'''Aviso:''' Outras páginas possuem ligação à ou são transcluídas da página que está prestes a eliminar.",
+'deleting-backlinks-warning' => "'''Aviso:''' Há [[Special:WhatLinksHere/{{FULLPAGENAME}}|páginas]] que contêm links para a página que está prestes a eliminar ou que a transcluem.",
 
 # Rollback
 'rollback' => 'Reverter edições',
index 0a48339..49b4913 100644 (file)
@@ -368,7 +368,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Receber cópias de e-mails que eu enviar a outros usuários',
 'tog-diffonly' => 'Não mostrar o conteúdo da página ao comparar duas edições',
 'tog-showhiddencats' => 'Exibir categorias ocultas',
-'tog-noconvertlink' => 'Desabilitar conversão de títulos de links',
 'tog-norollbackdiff' => 'Omitir diferenças após desfazer edições em bloco',
 'tog-useeditwarning' => 'Avisar-me quando eu deixar uma janela de edição sem ter salvo as alterações',
 'tog-prefershttps' => 'Usar sempre uma conexão segura quando estiver conectado',
@@ -786,6 +785,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências no
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda para iniciar sessão]]',
 'userlogin-loggedin' => 'Você já está conectado como {{GENDER:$1|$1}}.
 Use o formulário abaixo para iniciar sessão como outro usuário.',
+'userlogin-createanother' => 'Criar uma outra conta',
 'createacct-join' => 'Insira suas informações abaixo.',
 'createacct-another-join' => 'Preeencha as informações para a nova conta',
 'createacct-emailrequired' => 'Endereço de e-mail',
index 50070df..9b83b36 100644 (file)
@@ -222,9 +222,6 @@ Live preview is an experimental feature (unavailable by default) to use edit pre
 'tog-ccmeonemails' => 'Option in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}. {{Gender}}',
 'tog-diffonly' => 'Toggle option used in [[Special:Preferences]]. {{Gender}}',
 'tog-showhiddencats' => 'Toggle option used in [[Special:Preferences]]. {{Gender}}',
-'tog-noconvertlink' => "{{optional}}
-
-''(the message is considered optional because it is only used in wikis with language variants)''",
 'tog-norollbackdiff' => "Option in [[Special:Preferences]], 'Misc' tab. Only shown for users with the rollback right. By default a diff is shown below the return screen of a rollback. Checking this preference toggle will suppress that. {{Gender}}
 {{Identical|Rollback}}",
 'tog-useeditwarning' => 'Used as label for the checkbox in [[Special:Preferences#mw-prefsection-editing|Special:Preferences]].',
@@ -2651,17 +2648,16 @@ See also:
 * {{msg-mw|Revdelete-reason-dropdown|item list for dropdown|notext=1}}
 * {{msg-mw|Revdelete-reasonotherlist|item in dropdown}}
 * {{msg-mw|Revdelete-submit|submit button}}',
-'revdelete-reasonotherlist' => '{{Identical|Other reason}}
-{{RevisionDelete}}
+'revdelete-reasonotherlist' => '{{RevisionDelete}}
 Used as an item in dropdown.
 [[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]
-
 See also:
 * {{msg-mw|Revdelete-legend|legend for the form}}
 * {{msg-mw|Revdelete-log|label for dropdown}}
 * {{msg-mw|Revdelete-reason-dropdown|item list for dropdown|notext=1}}
 * {{msg-mw|Revdelete-otherreason|label for input box}}
-* {{msg-mw|Revdelete-submit|submit button}}',
+* {{msg-mw|Revdelete-submit|submit button}}
+{{Identical|Other reason}}',
 'revdelete-edit-reasonlist' => '{{Identical|Edit delete reasons}}
 {{RevisionDelete}}
 [[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
index 8f571ef..6844d02 100644 (file)
@@ -300,7 +300,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Huk ruraqkunaman kachasqay e-chaskikunamanta iskaychasqakunata kachamuway',
 'tog-diffonly' => "Huk kaykunap uranpi kaq p'anqap samiqninta ama rikuchiychu",
 'tog-showhiddencats' => 'Pakasqa katiguriyakunata rikuchiy',
-'tog-noconvertlink' => "T'inki suti t'ikrayman ama niy",
 'tog-norollbackdiff' => 'Ruraqpa hukchasqankunata kutichispa ama wakin kayta willaychu',
 'tog-useeditwarning' => "Yuyampaway p'anqata saqiptiy manaraq rurarqusqay hukchasqakunata waqaychaspay.",
 'tog-prefershttps' => "Yaykurqaspaqa hayk'appas takyasqa t'inkiwan llamk'ay",
index 36bd2ea..98b45e3 100644 (file)
@@ -334,7 +334,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Doresc să primesc o copie a mesajelor e-mail pe care le trimit',
 'tog-diffonly' => 'Nu arăta conținutul paginii sub dif',
 'tog-showhiddencats' => 'Arată categoriile ascunse',
-'tog-noconvertlink' => 'Dezactivează conversia titlurilor',
 'tog-norollbackdiff' => 'Nu arăta diferența după efectuarea unei reveniri',
 'tog-useeditwarning' => 'Avertizează-mă când părăsesc o pagină fără a salva modificările',
 'tog-prefershttps' => 'Utilizează întotdeauna o conexiune securizată când sunt autentificat(ă)',
index 5d425d1..39e4423 100644 (file)
@@ -61,7 +61,6 @@ $messages = array(
 'tog-ccmeonemails' => "Manneme 'na copie de le mail ca je manne a l'ôtre utinde",
 'tog-diffonly' => 'No fà vedè le pàggene cu le condenute sotte a le differenze',
 'tog-showhiddencats' => 'Fa vedè le categorije scunnute',
-'tog-noconvertlink' => "Disabbilite 'a conversione d'u titele de collegamende",
 'tog-norollbackdiff' => "Non sce penzanne a le differenze apprisse l'esecuzione de 'nu rollback",
 'tog-useeditwarning' => "Avvisave quanne jie lasse 'na pàgene cangiate senze ca agghie sarvate le cangiaminde",
 'tog-prefershttps' => "Ause sembre 'na connessione secure quanne trase",
index 88aaa50..6cb525d 100644 (file)
@@ -479,7 +479,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Отправлять мне копии писем, которые я посылаю другим участникам',
 'tog-diffonly' => 'Не показывать содержание страницы под сравнением двух версий',
 'tog-showhiddencats' => 'Показывать скрытые категории',
-'tog-noconvertlink' => 'Отключить ссылку на преобразование заголовка',
 'tog-norollbackdiff' => 'Не показывать разницу версий после выполнения отката',
 'tog-useeditwarning' => 'Предупреждать, когда я покидаю страницу с несохранёнными изменениями',
 'tog-prefershttps' => 'Всегда использовать защищённое соединение после представления системе',
@@ -2682,7 +2681,7 @@ $UNWATCHURL
 'delete-warning-toobig' => 'У этой страницы очень длинная история изменений, более $1 {{PLURAL:$1|версии|версий}}.
 Её удаление может привести к нарушению нормальной работы базы данных сайта «{{SITENAME}}»;
 действуйте с осторожностью.',
-'deleting-backlinks-warning' => "'''Предупреждение.''' Другие страницы ссылаются или содержат страницу, которую вы собираетесь удалить.",
+'deleting-backlinks-warning' => "'''Предупреждение.''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Другие страницы]] ссылаются на страницу, которую вы собираетесь удалить или содержат её.",
 
 # Rollback
 'rollback' => 'Откатить изменения',
index ab71897..ef1ed10 100644 (file)
@@ -369,21 +369,21 @@ $messages = array(
 'october-gen' => 'अष्टोबर्',
 'november-gen' => 'नवम्बर्',
 'december-gen' => 'दशम्बर्',
-'jan' => 'à¤\9cनà¥\81॰',
-'feb' => 'फ़à¥\87बà¥\8dरà¥\81॰',
-'mar' => 'मार्च',
-'apr' => 'à¤\8fपà¥\8dरि॰',
-'may' => 'मेय्',
-'jun' => 'जून',
-'jul' => 'à¤\9cà¥\82लयà¥\8d',
-'aug' => 'ओग',
-'sep' => 'सपà¥\8dतà¤\82॰',
-'oct' => 'à¤\85षà¥\8dà¤\9fà¥\8b॰',
-'nov' => 'नवà¤\82॰',
-'dec' => 'दशà¤\82॰',
+'jan' => 'à¤\9cà¥\87न.',
+'feb' => 'फà¥\87ब.',
+'mar' => 'मार्च.',
+'apr' => 'एप्र॰',
+'may' => 'मे',
+'jun' => 'जून',
+'jul' => 'à¤\9cà¥\81ल.',
+'aug' => 'ओग.',
+'sep' => 'सà¥\87पà¥\8d.',
+'oct' => 'à¤\93à¤\95à¥\8dà¤\9fà¥\8b.',
+'nov' => 'नवà¥\87.',
+'dec' => 'डिस.',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|वर्गः|वर्गाः }}',
+'pagecategories' => '{{PLURAL:$1|वर्गः|वर्गाः}}',
 'category_header' => '"$1" इत्येतस्मिन् वर्गे विद्यमानानि पृष्ठानि',
 'subcategories' => 'उपवर्गाः',
 'category-media-header' => '"$1" इत्येतस्मिन् वर्गे माध्यमाम्',
@@ -431,12 +431,12 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'vector-action-unprotect' => 'सुरक्षितीकरणस्य निरसनम्',
 'vector-view-create' => 'सृज्यताम्',
 'vector-view-edit' => 'सम्पाद्यताम्',
-'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¥\83श्यताम्',
+'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¤°à¥\8dश्यताम्',
 'vector-view-view' => 'पठ्यताम्',
 'vector-view-viewsource' => 'स्रोतः दृश्यताम्',
 'actions' => 'क्रियाः',
-'namespaces' => 'नामाà¤\95ाशानि',
-'variants' => 'भिनà¥\8dनरà¥\82पाणि',
+'namespaces' => 'नामाà¤\95ाशà¤\83',
+'variants' => 'पाठभà¥\87दà¤\83',
 
 'navigation-heading' => 'मार्गणसूचिः',
 'errorpagetitle' => 'दोषः',
@@ -451,7 +451,7 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'history_short' => 'इतिहासः',
 'updatedmarker' => 'मम पौर्विक-आगमन-पश्चात् परिवर्तितानि',
 'printableversion' => 'मुद्रणयोग्यं संस्करणम्',
-'permalink' => 'सà¥\8dथिरसमà¥\8dपरà¥\8dà¤\95तनà¥\8dतà¥\81ः',
+'permalink' => 'सà¥\8dथायिपरिसनà¥\8dधिः',
 'print' => 'मुद्र्यताम्',
 'view' => 'दृश्यताम्',
 'edit' => 'सम्पाद्यताम्',
@@ -471,12 +471,12 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'talkpage' => 'अस्य पृष्ठस्य विषये चर्चा क्रियताम्',
 'talkpagelinktext' => 'सम्भाषणम्',
 'specialpage' => 'विशेषपृष्ठम्',
-'personaltools' => 'वà¥\88यà¤\95à¥\8dतिà¤\95à¥\8bपà¤\95रणानि',
+'personaltools' => 'वà¥\88यà¤\95à¥\8dतिà¤\95साधनानि',
 'postcomment' => 'नवीनः विभागः',
 'articlepage' => 'लेखः दृश्यताम्',
 'talk' => 'सम्भाषणम्',
-'views' => 'दà¥\83शà¥\8dयानि',
-'toolbox' => 'à¤\89पà¤\95रणपà¥\87à¤\9fिका',
+'views' => 'मतानि',
+'toolbox' => 'साधनशलाका',
 'userpage' => 'योजकपृष्ठं दृश्यताम्',
 'projectpage' => 'प्रकल्पपृष्ठं दृश्यताम्',
 'imagepage' => 'सञ्चिकापृष्ठं दृश्यताम्',
@@ -488,11 +488,11 @@ The following {{PLURAL:$1|file is|$1 files are}} in the current category.',
 'otherlanguages' => 'अन्यासु भाषासु',
 'redirectedfrom' => '($1 इत्यस्मात् पुनर्निर्दिष्टम्)',
 'redirectpagesub' => 'अनुप्रेषण-पृष्ठम्',
-'lastmodifiedat' => 'एतस्य पृष्ठस्य अन्तिमपरिवर्तनं $1 दिनाङ्के $2 समये कृतम्',
+'lastmodifiedat' => '$1 (तमे) दिनाङ्के अन्तिमसम्पादनं $2 समये अभवत्',
 'viewcount' => 'एतत्पृष्ठं {{PLURAL:$1|एक वारं|$1 वारं}} दृष्टम् अस्ति',
 'protectedpage' => 'संरक्षितपृष्ठम्',
-'jumpto' => 'à¤\97मà¥\8dयतामà¥\8d à¤\85तà¥\8dर :',
-'jumptonavigation' => 'परà¥\8dयà¤\9fनमà¥\8d',
+'jumpto' => 'à¤\85तà¥\8dर à¤\97मà¥\8dयतामà¥\8d :',
+'jumptonavigation' => 'सà¤\9eà¥\8dà¤\9aरणà¤\82',
 'jumptosearch' => 'अन्वेषणम्',
 'view-pool-error' => 'भोः, अधुना वितारकः अतिभाराक्रान्तः ।
 बहवः योजकाः एतत् पृष्ठं द्रष्टुं प्रयतमानाः सन्ति ।
@@ -530,7 +530,7 @@ $1',
 
 'ok' => 'अस्तु',
 'pagetitle' => '$1 - {{SITENAME}}',
-'retrievedfrom' => '"$1" à¤\87तà¥\8dयसà¥\8dमादà¥\8d à¤\89दà¥\8dधà¥\83तमà¥\8d',
+'retrievedfrom' => '"$1" à¤\87तà¥\8dयसà¥\8dमादà¥\8d à¤ªà¥\81नà¤\83 à¤ªà¥\8dरापà¥\8dतिà¤\83',
 'youhavenewmessages' => 'भवदर्थम् $1 सन्ति। ($2).',
 'youhavenewmessagesfromusers' => 'भवदर्थम् {{PLURAL:$3|अन्यस्मात् सदस्यात्|$3 सदस्येभ्यः}} $1 अस्ति ($2)।',
 'youhavenewmessagesmanyusers' => 'नैकेभ्यः योजकेभ्यः ते $1 सन्ति $2 ।',
@@ -591,10 +591,11 @@ $1',
 'enterlockreason' => 'तन्त्रितीकरणस्य कारणं ददातु, अपि च आकलितं ददातु यत् तन्त्रणं कदा उद्घाट्यिष्यते।',
 'readonlytext' => 'समंकाधारं वर्तमानकाले तन्त्रितमस्ति नूतनान् प्रविष्टीन् विरुध्य तथा च अन्यानि परिवर्तनानि विरुध्य। इदं नियमिततया समंकाधार परिचर्याऽर्थं तथा स्यात्। तत्पश्चादिदं सामान्यतां संप्राप्स्यति।
 तन्त्रितीकारकेन प्रबन्धकेन इदं कारणं प्रदत्तम्: $1',
-'missing-article' => 'त्ताधारेण(डाटाबेस् इत्यनेन) "$1" $2 इतिनामकं प्राप्तव्यं यत् पृष्ठं तत् नैव प्राप्तम्।
-प्रायः कालातीतस्य अथवा अपाकृतस्य इतिहाससम्पर्कतन्तोः कारणेन एवं भवति।
-यदि नैवं तर्हि भवता तन्त्रांशकीटकं प्राप्तं स्यात्।
-कृपया कोऽपि [[Special:ListUsers/sysop|administrator]]अस्य पृष्ठस्य सङ्केतज्ञापनपूर्वकं सूच्यताम्।',
+'missing-article' => 'दत्तनिधौ (in database) $2 अन्तः कुत्रापि "$1" न प्राप्तम् ।
+
+प्रायः अपाकृतस्य पृष्ठस्य इतिहासदर्शनस्य चेष्टाकाले एवं भवति ।
+
+तादृशी स्थितिः यदि नास्ति, तर्हि तन्त्रांशे वद्यमाना त्रुटिः भवेत् । कृपया कमपि [[Special:ListUsers/sysop|प्रबन्धकम्]] अस्य पृष्ठस्य सार्वसङ्केतं (U.R.L.) सूच्यताम् ।',
 'missingarticle-rev' => '(आवृत्तिः# :$1)',
 'missingarticle-diff' => '(व्यतिरेक: $1, $2)',
 'readonly_lag' => 'मुख्य-समंकाधार-परिवेशकं उपमुख्य-समंकाधार-परिवेशकस्य संप्रापणात् पूर्वे एव स्वतः तन्त्रितम् अस्ति।',
@@ -672,7 +673,7 @@ $2',
 'password-change-forbidden' => 'अस्यां विक्यां निकुञ्चं परिवर्तयितुं न शक्नोति ।',
 'externaldberror' => 'तत्र प्रमाणीकरण समंकाधारे त्रुटिर्जाता, अथवा भवान् स्वकीयां बाह्य-लेखां अद्यतनीकर्तुं अनुमतिं न धारयति।',
 'login' => 'प्रविश्यताम्',
-'nav-login-createaccount' => 'प्रविश्यताम्/ सदस्यता प्राप्यताम्',
+'nav-login-createaccount' => 'प्रविश्यताम् / सदस्यता प्राप्यताम्',
 'loginprompt' => '{{SITENAME}} इत्यत्र प्रवेष्टुं कुकी इत्येते (cookies)  समर्थीकरणीयानि।',
 'userlogin' => 'प्रविश्यताम्/ सदस्यता प्राप्यताम्',
 'userloginnocreate' => 'प्रविश्यताम्',
@@ -1070,7 +1071,7 @@ $2
 'nohistory' => 'अस्य पृष्ठस्य कृते पृष्ठेतिहासः न वर्तते।',
 'currentrev' => 'सद्यःकालीना आवृत्तिः',
 'currentrev-asof' => 'वर्तमाना आवृत्तिः $1 इति समये',
-'revisionasof' => '$1 à¤\87तà¥\8dयसà¥\8dय à¤\86वà¥\83तà¥\8dतिà¤\83',
+'revisionasof' => '$1 à¤\87तà¥\8dयसà¥\8dय à¤¸à¤\82सà¥\8dà¤\95रणà¤\82',
 'revision-info' => '$1इति समयस्य आवृत्तिः $2 इत्यनेन',
 'previousrevision' => '← पुरातनानि संस्करणानि',
 'nextrevision' => 'नूतनतरा आवृत्तिः →',
@@ -1211,7 +1212,7 @@ You can still [$1 view this revision]",
 'difference-title' => '"$1" इत्यस्य अवतरणमध्ये व्यत्यासः ।',
 'difference-title-multipage' => '"$1" तथा "$2" पुटयोः मध्ये व्यत्यासः ।',
 'difference-multipage' => 'पुटेषु व्यत्यासः ।',
-'lineno' => 'पà¤\82क्तिः $1:',
+'lineno' => 'पà¤\99à¥\8dक्तिः $1:',
 'compareselectedversions' => 'चितानाम् आवृत्तीनां तोलनं क्रियताम्',
 'showhideselectedversions' => 'चितावतरणानि दर्शयतु/गोपयतु ।',
 'editundo' => 'पूर्ववत्',
@@ -1220,8 +1221,8 @@ You can still [$1 view this revision]",
 कारणम् अत्र दृश्यते । [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
 
 # Search results
-'searchresults' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dय à¤«à¤²à¤¿à¤¤à¤¾à¤¨à¤¿',
-'searchresults-title' => '"$1" à¤\87तà¥\8dयसà¥\8dय à¤\95à¥\83तà¥\87 à¤\85नà¥\8dवà¥\87षणफलानि',
+'searchresults' => 'à¤\85नà¥\8dवà¥\87षणपरिणामाà¤\83',
+'searchresults-title' => '"$1" à¤\95à¥\83तà¥\87 à¤\85नà¥\8dवà¥\87षणपरिणामाà¤\83',
 'toomanymatches' => 'अत्यधिकाः मेलाः प्रत्यागताः । अन्यप्रश्नेन यतताम् ।',
 'titlematches' => 'पुटशीर्षिकामेलाः ।',
 'textmatches' => 'पुटपाठस्य मेलाः',
@@ -2029,7 +2030,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'listusers-creationsort' => 'सर्जनदिनाङ्कैः वर्गीकरोतु ।',
 'usereditcount' => '$1 {{PLURAL:$1|दिनम्|दिनानि}}',
 'usercreated' => '$1 दिने $2 समये रचितम् योजकनाम $3',
-'newpages' => 'नवà¥\80नपà¥\83षà¥\8dठमà¥\8d',
+'newpages' => 'नवà¥\80नपà¥\83षà¥\8dठाà¤\83',
 'newpages-username' => 'योजकनामन्:',
 'ancientpages' => 'प्राचीनतमानि पृष्ठानि',
 'move' => 'चाल्यताम्',
@@ -2292,7 +2293,7 @@ Feedback and further assistance:
 # Rollback
 'rollback' => 'सम्पादनं निर्वर्तयतु ।',
 'rollback_short' => 'प्रत्याहरणम् ।',
-'rollbacklink' => 'पà¥\8dरतिनिवरà¥\8dतà¥\8dयतामà¥\8d',
+'rollbacklink' => 'पà¥\8dरतà¥\8dयाहरणà¤\82',
 'rollbacklinkcount' => '$1 {{PLURAL:$1|सम्पादनम्|सम्पादनानि}} प्रत्याहरतु ।',
 'rollbacklinkcount-morethan' => '$1 {{PLURAL:$1|सम्पादनम्|सम्पादनानि}} अधिकं प्रत्याहरतु ।',
 'rollbackfailed' => 'प्रत्यहरणम् असफलम् ।',
@@ -2463,7 +2464,7 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'sp-contributions-submit' => 'अन्विष्यताम्',
 
 # What links here
-'whatlinkshere' => 'à¤\95à¥\87भà¥\8dयà¤\83 à¤ªà¥\83षà¥\8dठà¥\87भà¥\8dयà¤\83 à¤¸à¤®à¥\8dबदà¥\8dधमà¥\8d',
+'whatlinkshere' => 'à¤\85नà¥\87न à¤¸à¤¹ à¤¸à¤®à¥\8dबदà¥\8dधाà¤\83',
 'whatlinkshere-title' => '"$1" इत्येतेन सम्बद्धानि पृष्ठानि',
 'whatlinkshere-page' => 'पृष्ठम् :',
 'linkshere' => "अधोलिखितानि पृष्ठाणि '''[[:$1]]''' इत्येतद् प्रति संबंधनं कुर्वन्ति :",
@@ -2839,7 +2840,7 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-pt-mycontris' => 'भवतः योगदानानाम् आवली',
 'tooltip-pt-login' => 'सम्प्रवेशाय प्रोत्सहामहे । परन्तु सम्प्रवेशः ऐच्छिकः ।',
 'tooltip-pt-logout' => 'निर्गमनम्',
-'tooltip-ca-talk' => 'पृष्ठान्तर्गताय विषयाय चर्चा',
+'tooltip-ca-talk' => 'पà¥\83षà¥\8dठाऽनà¥\8dतरà¥\8dà¤\97ताय à¤µà¤¿à¤·à¤¯à¤¾à¤¯ à¤\9aरà¥\8dà¤\9aा',
 'tooltip-ca-edit' => 'इदं पृष्ठं सम्पादयितुं शक्यते । रक्षणात्पूर्वं कृपया प्राग्दृश्यं दृश्यताम् ।',
 'tooltip-ca-addsection' => 'नूतनः विभागः आरभ्यताम्',
 'tooltip-ca-viewsource' => 'इदं पृष्ठं संरक्षितं विद्यते। भवान् अस्य स्रोतः द्रष्टुम् अर्हति।',
@@ -2871,7 +2872,7 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-t-upload' => 'सञ्चिकाः आरोप्यन्ताम्',
 'tooltip-t-specialpages' => 'सर्वेषां विशिष्टपृष्ठानाम् आवलिः',
 'tooltip-t-print' => 'अस्य पृष्ठस्य मुद्रणयोग्या आवृत्तिः',
-'tooltip-t-permalink' => 'पृष्ठस्य अस्याः आवृत्तेः स्थिरसम्पर्कतन्तुः',
+'tooltip-t-permalink' => 'पृष्ठस्यास्य स्थायिपरिसन्धिः',
 'tooltip-ca-nstab-main' => 'आन्तर्विषयकं पृष्ठं पश्यतु',
 'tooltip-ca-nstab-user' => 'योजकपृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-media' => 'माध्यमपुटम् अवलोकयतु ।',
@@ -2892,10 +2893,10 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-watchlistedit-raw-submit' => 'अवलोकनावलीं समुद्धरतु ।',
 'tooltip-recreate' => 'एतत्पुटं पूर्वमेव अपमर्जितः अतः पुन सृजतु ।',
 'tooltip-upload' => 'उत्तारणम् आरभताम्',
-'tooltip-rollback' => '"पà¥\82रà¥\8dण-पà¥\8dरतिà¤\97मनà¤\82(रà¥\8bलबà¥\88à¤\95à¥\8d à¤\87तà¥\8dयà¥\87तदà¥\8d)" à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤\82पादनानि à¤\85à¤\82तिम-यà¥\8bà¤\97दातà¥\83à¤\95à¥\83तानि à¤µà¤¿à¤ªà¤°à¥\80तà¥\80à¤\95रà¥\8bति à¤\8fà¤\95à¥\87न à¤\95à¥\8dलिà¤\95à¥\8dà¤\95ारà¥\87ण',
-'tooltip-undo' => '"निषà¥\8dà¤\95à¥\8dरियतामà¥\8d" à¤\87तà¥\8dयà¥\87तदà¥\8d à¤\87दà¤\82 à¤¸à¤®à¥\8dपादनà¤\82 à¤µà¤¿à¤ªà¤°à¥\80तà¥\80à¤\95रà¥\8bति, à¤¤à¤¥à¤¾ à¤\9a à¤¸à¤®à¥\8dपादनपà¥\8dरारà¥\82पà¤\82 à¤ªà¥\8dराà¤\97à¥\8dदà¥\83शà¥\8dयरà¥\82पà¥\87ण à¤\89दà¥\8dà¤\98ाà¤\9fयति।
+'tooltip-rollback' => '"पà¥\8dरतà¥\8dयाहरणमà¥\8d (roll back)" à¤\87तà¥\8dयà¥\87ततà¥\8d à¤\85नà¥\8dतिमसमà¥\8dपादà¤\95सà¥\8dय à¤\85नà¥\8dतिमयà¥\8bà¤\97दानà¤\82 à¤¨à¤¿à¤°à¤¾à¤\95रà¥\8bति à¥¤',
+'tooltip-undo' => '"पà¥\82रà¥\8dववतà¥\8d" à¤\87ति à¤\85नà¥\8dतिमसमà¥\8dपादनमà¥\8d à¤\85पाà¤\95रà¥\8bति, à¤¸à¤®à¥\8dपादनपà¥\8dरारà¥\82पà¤\82 à¤ªà¥\8dराà¤\97à¥\8dदà¥\83शà¥\8dयरà¥\82पà¥\87ण à¤\89दà¥\8dà¤\98ाà¤\9fयति, à¤¨à¤µà¥\80नसमà¥\8dपादनानà¥\8dतरà¤\82 à¤¸à¤®à¥\8dपादनपà¥\83षà¥\8dठà¤\82 à¤ªà¥\8dराà¤\97à¥\8dदà¥\83शà¥\8dयतà¥\8dवà¥\87न à¤ªà¥\8dरदरà¥\8dशयति à¤\9a à¥¤ 
 
-à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\95ारणमपि à¤²à¥\87à¤\96ितà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87।',
+à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि à¤²à¥\87à¤\96ितà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87 ।',
 'tooltip-preferences-save' => 'आद्यताः रक्षतु ।',
 'tooltip-summary' => 'संक्षिप्तः सारांशः योज्यताम्',
 
index 10e79d8..aa5f76d 100644 (file)
@@ -42,7 +42,7 @@ $messages = array(
 'tog-watchmoves' => 'Add pages n files that Ah muiv til ma watchleet',
 'tog-watchdeletion' => 'Eik pages n files that Ah get rid o til ma watchleet',
 'tog-minordefault' => 'Mairk aa edits "smaa" bi defaut',
-'tog-previewontop' => 'Shaw owerview afore eidit kist n no efter it',
+'tog-previewontop' => 'Shaw owerview afore eedit kist n naw efter it',
 'tog-previewonfirst' => 'Shaw luikower oan firstwhile eidit',
 'tog-enotifwatchlistpages' => 'Wab-mail me whan ae page or file on ma watchleet is chynged',
 'tog-enotifusertalkpages' => 'Send me ae wab-mail whan ma uiser tauk page is chynged',
@@ -188,7 +188,7 @@ $messages = array(
 'vector-action-undelete' => 'Ondelyte',
 'vector-action-unprotect' => 'Chynge protection',
 'vector-view-create' => 'Mak',
-'vector-view-edit' => 'Eidit',
+'vector-view-edit' => 'Eedit',
 'vector-view-history' => 'See history',
 'vector-view-view' => 'Read',
 'vector-view-viewsource' => 'View soorce',
@@ -212,7 +212,7 @@ $messages = array(
 'permalink' => 'Permanent airtin',
 'print' => 'Prent',
 'view' => 'View.',
-'edit' => 'Eidit',
+'edit' => 'Eedit',
 'create' => 'Mak',
 'editthispage' => 'Eedit this page',
 'create-this-page' => 'Mak this page',
@@ -296,12 +296,12 @@ $1',
 'newmessageslinkplural' => '{{PLURAL:$1|ae new message|999=new messages}}',
 'newmessagesdifflinkplural' => 'last {{PLURAL:$1|chynge|999=chynges}}',
 'youhavenewmessagesmulti' => 'Ye hae new messages oan $1',
-'editsection' => 'edit',
-'editold' => 'eidit',
+'editsection' => 'eedit',
+'editold' => 'eedit',
 'viewsourceold' => 'ken soorce',
-'editlink' => 'eidit',
+'editlink' => 'eedit',
 'viewsourcelink' => 'view soorce',
-'editsectionhint' => 'Eidit section: $1',
+'editsectionhint' => 'Eedit section: $1',
 'toc' => 'Table o contents',
 'showtoc' => 'shaw',
 'hidetoc' => 'scouk',
@@ -352,7 +352,7 @@ This micht be cause o ae bug in the saffware.',
 'databaseerror-query' => 'Speirin: $1',
 'databaseerror-function' => 'Function: $1',
 'databaseerror-error' => 'Mistake: $1',
-'laggedslavemode' => '<strong>Warnishment:</strong> Page micht no contain recent updates',
+'laggedslavemode' => '<strong>Warnishment:</strong> Page micht naw contain recent updates',
 'readonly' => 'Database lockit',
 'enterlockreason' => "Enter ae raeson fer the lock, inclædin aen estimate o whan the lock'll be lowsed",
 'readonlytext' => "The databae is lockit tae new entries n ither modifeecations the nou,
@@ -452,7 +452,7 @@ Ye can chynge yer {{SITENAME}} [[Special:Preferences|preferences]] gif ye like.'
 'userlogin-signwithsecure' => 'Uise secure connection',
 'yourdomainname' => 'Yer domain:',
 'password-change-forbidden' => 'Ye canna chynge passwords oan this wiki.',
-'externaldberror' => "Aither thaur wis aen external authentication database mistak, or ye'r no permitit tae update yer external accoont.",
+'externaldberror' => "Aither thaur wis aen external authentication database mistak, or ye'r naw permitit tae update yer external accoont.",
 'login' => 'Log in',
 'nav-login-createaccount' => 'Log in / cræft aen accoont',
 'loginprompt' => 'Ye maun hae cookies enabled tae log in tae {{SITENAME}}.',
@@ -460,7 +460,7 @@ Ye can chynge yer {{SITENAME}} [[Special:Preferences|preferences]] gif ye like.'
 'userloginnocreate' => 'Log in.',
 'logout' => 'Log oot',
 'userlogout' => 'Log oot',
-'notloggedin' => 'No loggit in',
+'notloggedin' => 'Naw loggit in',
 'userlogin-noaccount' => 'Dinna hae aen accoont?',
 'userlogin-joinproject' => 'Jyn {{SITENAME}}',
 'nologin' => 'Dinna hae aen accoont? $1.',
@@ -499,7 +499,7 @@ Uise the form ablow tae log in as anither uiser.",
 'loginerror' => 'Login mishanter',
 'createacct-error' => 'Accoont cræftin mistak',
 'createaccounterror' => 'Coudna mak accoont: $1',
-'nocookiesnew' => "The uiser accoont wis creatit, but ye'r no loggit in. {{SITENAME}} uises cookies tae log uisers in. Ye hae cookies disabled. Please enable them, than log in wi yer new uisername and password.",
+'nocookiesnew' => "The uiser accoont wis cræftit, but ye'r naw loggit in. {{SITENAME}} uises cookies tae log uisers in. Ye hae cookies disabled. Please enable them, than log in wi yer new uisername n passwaird.",
 'nocookieslogin' => '{{SITENAME}} uises cookies tae log in uisers. Ye hae cookies disabled. Please enable thaim an gie it anither shot.',
 'nocookiesfornew' => 'The uiser accoont wisna cræftit, aes we couda confirm its soorce.
 Ensure that ye have cookies enabled, relaid this page n gie it anither shote.',
@@ -511,7 +511,7 @@ Uiser names are case-sensitive.
 Check yer spellin, or uise [[Special:UserLogin/signup|mak a new accoont]].',
 'nosuchusershort' => 'The\'r nae sic uiser as "$1". Check yer spellin.',
 'nouserspecified' => 'Ye hae tae merk up a uisername.',
-'login-userblocked' => 'Uiser "$1" is blockit. Log-in no alloued.',
+'login-userblocked' => 'Uiser "$1" is blockit. Log-in naw permitit.',
 'wrongpassword' => 'The password ye entered is wrang. Please gie it anither shot.',
 'wrongpasswordempty' => 'The password ye entered is blank. Please gie it anither shot.',
 'passwordtooshort' => 'Yer password is ower short.
@@ -678,19 +678,19 @@ Ye shid dae it gif ye accidentally shaired theim wi somebodie or gif yer accoont
 # Edit pages
 'summary' => 'Ootline:',
 'subject' => 'Subject/headline:',
-'minoredit' => 'This is ae smaa eidit',
+'minoredit' => 'This is ae smaa eedit',
 'watchthis' => 'Leuk ower this page',
 'savearticle' => 'Hain page',
 'preview' => 'Scance',
 'showpreview' => 'Scance ower',
 'showlivepreview' => 'Live leuk ower',
 'showdiff' => 'Shaw chynges',
-'anoneditwarning' => "<strong>Warnishment:</strong>Ye'r no loggit in. Yer IP address will be recordit in this page's eedit histerie.",
+'anoneditwarning' => "<strong>Warnishment:</strong>Ye'r naw loggit in. Yer IP address will be recordit in this page's eedit histerie.",
 'anonpreviewwarning' => "<em>Ye'r no loggit in. hainin will record yer IP address in this page's eidit history.</em>",
-'missingsummary' => '<strong>Mynd:</strong> Ye\'v no gien aen eidit owerview. Gin ye dab oan "{{int:savearticle}}" again, yer eidit will be haint wioot ane.',
+'missingsummary' => '<strong>Mynd:</strong> Ye\'v naw gien aen eedit owerview. Gif ye clap oan "{{int:savearticle}}" again, yer eedit will be haint wioot ane.',
 'missingcommenttext' => 'Please enter a comment ablo.',
-'missingcommentheader' => '<strong>Mynd:</strong> Ye\'v no provided ae subject/heidline fer this comment.
-Gif ye clap "{{int:savearticle}}" again, yer eodit will be hained wioot yin.',
+'missingcommentheader' => '<strong>Mynd:</strong> Ye\'v naw provided ae subject/heidline fer this comment.
+Gif ye clap "{{int:savearticle}}" again, yer eedit will be hained wioot yin.',
 'summary-preview' => 'Ootline leuk ower:',
 'subject-preview' => 'Subject/headline leuk ower:',
 'blockedtitle' => 'Uiser is blockit',
@@ -704,9 +704,9 @@ The raison gieen is <em>$2</em>.
 * Intended blockee: $7
 
 Ye can contact $1 or anither [[{{MediaWiki:Grouppage-sysop}}|admeenistrater]] tae discuss the block.
-Ye canna uise the "wab-mail this uiser" feature onless ae valid wab-mail address is speceefied in yer [[Special:Preferences|accoont preferences]] n ye\'v no been blockit fae uisin it.
+Ye canna uise the "wab-mail this uiser" feature onless ae valid wab-mail address is speceefied in yer [[Special:Preferences|accoont preferences]] n ye\'v naw been blockit fae uisin it.
 Yer current IP address is $3, n the block ID is #$5.
-Please incluide aw the abuin details in onie speirins ye mak.',
+Please incluide aw the abuin details in onie speirins that ye mak.',
 'autoblockedtext' => 'Yer IP address haes been autæmaticly blockit cause it wis uised bi anither uiser, wha wis blockit bi $1.
 The raison gieen is:
 
@@ -736,7 +736,7 @@ It micht hae been muived or delytit while ye were viewing the page.',
 'newarticle' => '(New)',
 'newarticletext' => "Ye'v follaed ae link til ae page that disna exist yet. Tae mak the page, stairt typin in the kist ablo (see the [[{{MediaWiki:Helppage}}|heelp page]] fer mair info). Gif ye'r here bi mistak, juist clap yer brouser's '''back''' button.",
 'anontalkpagetext' => "----
-<em>This is the discussion page fer aen anonymoos uiser that's no makit aen accoont yet, or that disna uise it.</em>
+<em>This is the discussion page fer aen anonymoos uiser that's naw cræftit aen accoont yet, or that disna uise it.</em>
 We maun therefore uise the numerical IP address tae identifie him/her.
 Sic aen IP address can be shaired bi several uisers.
 Gif ye'r aen anonymos uiser n feel that onreelavant comments hae been directed at ye, please [[Special:UserLogin/signup|cræft aen accoont]] or [[Special:UserLogin|log in]] tae avoid futur confusion wi ither anonymoos uisers.",
@@ -799,7 +799,7 @@ Ye\'ll hae tae merge yer chynges intil the exeestin tex.
 <strong>Juist</strong> the tex in the upper tex area will be hained whan ye press "{{int:savearticle}}".',
 'yourtext' => 'Yer tex',
 'storedversion' => 'Storit version',
-'nonunicodebrowser' => "'''Warnishment: Yer brouser isna unicode compliant. Ae warkaroond is in place tae permit ye tae sauflie eidit airticles: no-ASCII chairacters will kythe in the eidit kist aes hexadecimal codes.'''",
+'nonunicodebrowser' => '<strong>Warnishment: Yer brouser isna unicode compliant.</strong> Ae wairkaroond is in place tae permit ye tae sauflie eedit airticles: non-ASCII chairacters will kythe in the eedit kist aes hexadecimal codes.',
 'editingold' => "<strong>Warnishment:</strong> Ye'r eiditin aen oot-o-date reveesion o this page. Gin ye hain it, onie chynges makit sin this reveesion will be lost.",
 'yourdiff' => 'Differs',
 'copyrightwarning' => "Please mynd that aw contreebutions til {{SITENAME}} is conseedert tae be released unner the $2 (see $1 for details). Gif ye dinna want yer writin tae be eeditit wioot mercie n redistreebuted at will, than dinna haun it it here.<br /> Forbye thon, ye'r promisin us that ye wrat this yersel, or copied it fae ae publeec domain or siclike free resoorce. <strong>Dinna haun in copierichtit wark wioot permeession!</strong>",
@@ -839,8 +839,8 @@ Ye can gang back n eedit aen exestin page, or [[Special:UserLogin|log in or cræ
 
 Ye shid check that it is guid tae keep eeditin this page.
 The delytion n muiv log fer this page is providit here fer conveeniance:",
-'moveddeleted-notice' => 'This page haes been deletit. 
-The deletion an flit log fer the page are providit ablo fer reference.',
+'moveddeleted-notice' => 'This page haes been delytit. 
+The delytion n muiv log fer the page ar providit ablo fer referance.',
 'log-fulllog' => 'View ful log',
 'edit-hook-aborted' => 'Eedit abortit bi huik.
 It gae naw explanation.',
@@ -969,7 +969,7 @@ Ye can view this diff; details can be foond in the [{{fullurl:{{#Special:Log}}/s
 'rev-showdeleted' => 'shaw',
 'revisiondelete' => 'Delyte/ondelyte reveesions',
 'revdelete-nooldid-title' => 'Onvalid target reveesion',
-'revdelete-nooldid-text' => "Ye'v either no speceefied ae target reveesion(s) tae perform this function, the speceefied reveesion disna exeest, or ye'r attemptin tae skauk the current reveesion.",
+'revdelete-nooldid-text' => "Aither ye'v naw speceefied ae tairget reveesion(s) tae perform this function, the speceefied reveesion disna exeest, or ye'r attemptin tae skauk the Nou reveesion.",
 'revdelete-no-file' => 'The file speecified disna exist.',
 'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae view ae deletit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
 'revdelete-show-file-submit' => 'Ai',
@@ -1072,7 +1072,7 @@ Mynd that uisin the navigâtion links will reset this column.',
 'showhideselectedversions' => 'Chynge veesibeelitie o selected reveesions',
 'editundo' => 'undo',
 'diff-empty' => '(Naw difference)',
-'diff-multi-sameuser' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi the same uiser no shawn)',
+'diff-multi-sameuser' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi the same uiser naw shawn)',
 'diff-multi-otherusers' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi {{PLURAL:$2|yin ither uiser|$2 uisers}} no shawn)',
 'diff-multi-manyusers' => '({{PLURAL:$1|Yin intermeediate reveesion|$1 intermeediate reveesions}} bi mair than $2 {{PLURAL:$2|uiser|uisers}} no shawn)',
 'difference-missing-revision' => '{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|was|were}} no fond.
@@ -1159,9 +1159,11 @@ Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'prefs-changeemail' => 'Chynge email address',
 'prefs-setemail' => 'Set ae wab-mail address',
 'prefs-email' => 'Wab-mail opties',
+'prefs-rendering' => 'Appearence',
 'saveprefs' => 'Hain preferences',
 'restoreprefs' => 'Restore aw default settings (in aw sections)',
 'prefs-editing' => 'Editin',
+'rows' => 'Raws:',
 'searchresultshead' => 'Rake result settins',
 'stub-threshold' => 'Threshold for <a href="#" class="stub">stub link</a> formattin (bytes):',
 'stub-threshold-disabled' => 'Tuckie',
@@ -1182,6 +1184,7 @@ Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'timezoneregion-asia' => 'Asie',
 'timezoneregion-atlantic' => 'Atlaunteec Ocean',
 'timezoneregion-australia' => 'Australie',
+'timezoneregion-europe' => 'Europ',
 'timezoneregion-pacific' => 'Paceefic Ocean',
 'allowemail' => 'Allou email frae ither uisers',
 'prefs-searchoptions' => 'Rake',
@@ -1236,6 +1239,7 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'prefs-displaywatchlist' => 'Displey opties',
 'prefs-diffs' => 'Diffs',
 'prefs-help-prefershttps' => 'This preference will tak effect on yer next login.',
+'prefs-tabs-navigation-hint' => 'Tip: Ye can uise the cair n richt arrae keys tae naveegate atween the tabs in the tabs leet.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => 'Wab-mail address appears tae be valid',
@@ -1363,7 +1367,7 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'rightslogtext' => 'This is a log o chynges tae uiser richts.',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'eidit this page',
+'action-edit' => 'eedit this page',
 'action-createpage' => 'cræft pages',
 'action-createtalk' => 'cræft discussion pages',
 'action-createaccount' => 'cræft this uiser accoont',
@@ -1412,9 +1416,11 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'recentchanges-noresult' => 'Naw chynges durin the gien period matchin thir guidins.',
 'recentchanges-feed-description' => 'Follae the maist recent chynges tae the wiki in this feed.',
 'recentchanges-label-newpage' => 'This edit created a freish page',
-'recentchanges-label-minor' => 'This is a smaa eidit',
+'recentchanges-label-minor' => 'This is ae smaa eedit',
 'recentchanges-label-bot' => 'This edit wis performed bi a bot',
 'recentchanges-label-unpatrolled' => 'This edit haes nae yet bin patrolled',
+'recentchanges-label-plusminus' => 'The page size chynged bi this nummer o bytes',
+'recentchanges-legend-newpage' => '(see [[Special:NewPages|leet o new pages]] ava)',
 'rcnotefrom' => 'Ablo ar the chynges sin <strong>$2</strong> (up til <strong>$1</strong> shawn).',
 'rclistfrom' => 'Shaw new chynges stertin frae $1',
 'rcshowhideminor' => '$1 smaa edits',
@@ -1469,7 +1475,7 @@ Pages oan [[Special:Watchlist|yer watchleet]] ar <strong>baud</strong.',
 'uploadnologin' => 'Nae loggit in',
 'uploadnologintext' => 'Please $1 tae uplaid files.',
 'upload_directory_missing' => 'The uplaid directerie ($1) is missin n coudna be cræftit bi the wabserver.',
-'upload_directory_read_only' => 'The uplaid directerie ($1) is no writable bi the wabserver.',
+'upload_directory_read_only' => 'The uplaid directerie ($1) is naw writable bi the wabserver.',
 'uploaderror' => 'Uplaid mistak',
 'upload-recreate-warning' => "'''Warnishment: Ae file bi that name haes been delytir or muived.'''
 
@@ -1481,6 +1487,7 @@ Tae incluide ae file in ae page, uise ae link in yin o the follaein forms:
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> tae uise the ful version o the file
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt tex]]</nowiki></code></strong> tae uise ae 200 pixel wide rendeetion in ae kist in the cair margin wi "alt tex" aes descreeption
 * <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> fer linkin directlie til the file wioot displeyin the file.',
+'upload-permitted' => 'Permitit file types: $1.',
 'upload-prohibited' => 'Proheebited file types: $1.',
 'uploadlog' => 'uplaid log',
 'uploadlogpage' => 'Uplaid log',
@@ -1494,15 +1501,15 @@ Tae incluide ae file in ae page, uise ae link in yin o the follaein forms:
 'ignorewarning' => 'Ignore warnishment n hain file oniewey.',
 'ignorewarnings' => 'Ignore ony warnins',
 'minlength1' => 'Filenames maun be at least yin letter.',
-'illegalfilename' => 'The filename "$1" haes chairacters that\'s no permitit in page teitles. Please rename the file n gie uplaidin it anither shote.',
+'illegalfilename' => 'The filename "$1" haes chairacters that\'s naw permitit in page teitles. Please rename the file n gie uplaidin it anither shote.',
 'filename-toolong' => 'Filenames canna be langer than 240 bytes.',
 'badfilename' => 'Eimage name haes been chynged tae "$1".',
 'filetype-mime-mismatch' => 'File exteension ".$1" disna match the detected MIME type o the file ($2).',
 'filetype-badmime' => 'Files o the MIME type "$1" ar no permitit tae be uplaided.',
-'filetype-bad-ie-mime' => 'Canna uplaid this file cause Internet Explorer wid detect it aes "$1", n this is ae no-permitit n potentiallie dangeroos file type.',
+'filetype-bad-ie-mime' => 'Canna uplaid this file cause Internet Explorer wid detect it aes "$1", n this is ae non-permitit n potentiallie dangeroos file type.',
 'filetype-unwanted-type' => "'''\".\$1\"''' is aen onwanted file type.
 Preferred {{PLURAL:\$3|file type is|file types ar}} \$2.",
-'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|is no ae permitted file type|ar no permitted file types}}.
+'filetype-banned-type' => '<strong>".$1"</strong> {{PLURAL:$4|is naw ae permitted file type|ar naw permitted file types}}.
 Permitted {{PLURAL:$3|file type is|file types ar}} $2.',
 'filetype-missing' => 'The file haes nae extension (like ".jpg").',
 'empty-file' => 'The file that ye haunned in wiss tuim.',
@@ -1523,7 +1530,7 @@ this file is $2.",
 This micht be cause o ae typeower in the filename.
 Please check whether ye reallie want tae uplaid this file.',
 'windows-nonascii-filename' => 'This wiki disna support filenames wi speecial chairacters.',
-'fileexists' => "A file wi this name exists aareadies, please check <strong>[[:$1]]</strong> gin ye'r no siccar that ye want tae chynge it.
+'fileexists' => "Ae file wi this name exeests aareadies, please check <strong>[[:$1]]</strong> gif ye'r no sair that ye want tae chynge it.
 [[$1|thumb]]",
 'filepageexists' => "The descreeption page fer this file haes awreadie been cræftit at <strong>[[:$1]]</strong>, but naw file wi this name exeests the nou.
 The ootline that ye enter willna kith oan the descreeption page.
@@ -1549,6 +1556,8 @@ Gif ye still wish tae uplaid yer file, please gang back n uise ae new name.
 'file-exists-duplicate' => 'This file is ae dupleecate o the follaein {{PLURAL:$1|file|files}}:',
 'file-deleted-duplicate' => "Ae file ideentical til this file ([[:$1]]) haes been delytit afore.
 Ye shid check that file's delytion histerie afore proceedin tae re-uplaid it.",
+'file-deleted-duplicate-notitle' => 'Ae file identeecal til this file haes been delytit afore, n the title haes been suppressed.
+Ye shid ask somebodie wi the abeelitie tae see suppressed file data tae luik at the seetuation afore gaun oan tae re-uplaid it.',
 'uploadwarning' => 'Uplaid warnishment',
 'uploadwarning-text' => 'Please modeefie the file descreeption ablo n gie it anither gae.',
 'savefile' => 'Hain file',
@@ -1569,6 +1578,7 @@ Uplaidin Java files isna permitit cause thay can cause secureetie restreections
 'upload-source' => 'Soorce file',
 'sourcefilename' => 'Soorce filename:',
 'sourceurl' => 'Soorce URL:',
+'destfilename' => 'Desteenation filename:',
 'upload-maxfilesize' => 'Mucklest file size: $1',
 'upload-description' => 'File descreeption',
 'upload-options' => 'Uplaid opties',
@@ -1605,7 +1615,7 @@ Gif the proablem perseests, contact aen [[Special:ListUsers/sysop|admeenistrater
 'backend-fail-backup' => 'Coudna backup file "$1".',
 'backend-fail-notexists' => 'The file $1 disna exeest.',
 'backend-fail-hashes' => 'Coudna get file hashes fer comparison.',
-'backend-fail-notsame' => 'Ae no-identeecal file awreadie exeests at "$1".',
+'backend-fail-notsame' => 'Ae non-identeecal file awreadie exeests at "$1".',
 'backend-fail-invalidpath' => '"$1" isna ae valid storage path.',
 'backend-fail-delete' => 'Coudna delyte file "$1".',
 'backend-fail-describe' => 'Coudna chynge metadata fer file "$1".',
@@ -1648,7 +1658,7 @@ Gif the proablem perseests, contact aen [[Special:ListUsers/sysop|admeenistrater
 'zip-wrong-format' => 'The speceefied file wisna ae ZIP file.',
 'zip-bad' => 'The file is ae rotten or itherwise onreadable ZIP file.
 It canna be properlie checkt fer securitie.',
-'zip-unsupported' => "The file is ae ZIP file that uises ZIP featurs that'r no supported bi MediaWiki.
+'zip-unsupported' => "The file is ae ZIP file that uises ZIP featurs that'r naw supported bi MediaWiki.
 It canna be properlie checkt fer securitie.",
 
 # Special:UploadStash
@@ -1669,57 +1679,160 @@ It micht be CGI-based n canna support img_auth.
 See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'img-auth-notindir' => 'Requested path isna in the confeegured uplaid directerie.',
 'img-auth-badtitle' => 'Onable tae cræft ae valid title fae "$1".',
-'img-auth-nologinnWL' => 'Ye\'r no loggit in n "$1" isna in the whiteleet.',
+'img-auth-nologinnWL' => 'Ye\'r naw loggit in n "$1" isna in the whiteleet.',
+'img-auth-nofile' => 'File "$1" disna exeest.',
+'img-auth-isdir' => 'Ye\'r attemptin tae access ae directerie "$1".
+Yinlie file access is premitit.',
+'img-auth-streaming' => 'Streamin "$1".',
+'img-auth-public' => 'The function o img_auth.php is tae ootpit files fae ae preevate wiki.
+This wiki is confeegured aes ae publeec wiki.
+Fr optimal securitie, img_auth.php is disabled.',
+'img-auth-noread' => 'Uiser disna hae access tae read "$1".',
+'img-auth-bad-query-string' => 'The URL haaes aen onvalid speirin string.',
+
+# HTTP errors
+'http-invalid-url' => 'Onvalid URL: $1',
+'http-invalid-scheme' => 'URLs wi the "$1" preefix ar naw supported.',
+'http-request-error' => 'HTTP request failed cause o onkent mistak.',
+'http-read-error' => 'HTTP read mistak.',
+'http-timed-out' => 'HTTP request haes timed oot.',
+'http-curl-error' => 'Mistake fetchin URL: $1',
+'http-bad-status' => 'Thaur wis ae proablem wi the HTTP request: $1 $2',
+
+# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'Coudna reach URL',
+'upload-curl-error6-text' => 'The URL provided coudna be reached.
+Please double-check that the URL is correct n the site is up.',
+'upload-curl-error28' => 'Uplaid timeoot',
+'upload-curl-error28-text' => 'The site tuik ower lang tae respond.
+Please check that the site is up, wait ae short while n gei it anither gae.
+Ye micht want tae try at ae less busie time.',
 
 'license' => 'Licensing:',
 'license-header' => 'Licensin',
 'nolicense' => 'Nane selected',
+'license-nopreview' => '(Luikower naw available)',
+'upload_source_url' => '(ae valid, publeeclie accessible URL)',
+'upload_source_file' => '(ae file oan yer computer)',
 
 # Special:ListFiles
+'listfiles-summary' => 'This speecial page shaws aw uplaided files.',
+'listfiles_search_for' => 'Rake fer media name:',
 'imgfile' => 'file',
 'listfiles' => 'Eimage leet',
+'listfiles_thumb' => 'Thummnail',
 'listfiles_name' => 'Name',
 'listfiles_user' => 'Uiser',
 'listfiles_size' => 'Size',
+'listfiles_description' => 'Descreeption',
+'listfiles-show-all' => 'Incluide auld versions o eemages',
+'listfiles-latestversion' => 'The Nou version',
+'listfiles-latestversion-yes' => 'Ay',
+'listfiles-latestversion-no' => 'Naw',
 
 # File description page
 'file-anchor-link' => 'Eimage',
 'filehist' => 'File history',
 'filehist-help' => 'Clap oan ae date/time tae view the file aes it appeared at that time.',
+'filehist-deleteall' => 'delyte aw',
 'filehist-deleteone' => 'delyte',
 'filehist-revert' => 'revert',
 'filehist-current' => 'current',
 'filehist-datetime' => 'Date/Time',
 'filehist-thumb' => 'Thumbnail',
 'filehist-thumbtext' => 'Thumbnail fer version aes o $1',
+'filehist-nothumb' => 'Naw thummnail',
 'filehist-user' => 'Uiser',
 'filehist-dimensions' => 'Dimensions',
 'filehist-comment' => 'Comment',
+'filehist-missing' => 'File missin',
 'imagelinks' => 'File uisage',
 'linkstoimage' => 'The follaein {{PLURAL:$1|page airts|$1 pages airt}} tae this file:',
+'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page links|pages link}} til this file.
+The follaein leet shaws the {{PLURAL:$1|first page link|first $1 page links}} til this file yinlie.
+Ae [[Special:WhatLinksHere/$2|ful leet]] is available.',
 'nolinkstoimage' => "The'r nae pages airts tae this eimage.",
+'morelinkstoimage' => 'See [[Special:WhatLinksHere/$1|mair links]] til this file.',
+'linkstoimage-redirect' => '$1 (file reguidal) $2',
+'duplicatesoffile' => 'The follaein {{PLURAL:$1|file is ae dupleecate|$1 files ar dupleecates}} o this file ([[Special:FileDuplicateSearch/$2|mair details]]):',
+'sharedupload' => 'This file is fae $1 n can be uised bi ither waurks.',
+'sharedupload-desc-there' => 'This file is fae $1 n can be uised bi ither waurks.
+Please see the [$2 file deescreeption page] fer further information.',
 'sharedupload-desc-here' => 'This file is fae $1 n micht be uised bi ither waurks.
 The descreeption oan its [$2 file descreeption page] thaur is shawn ablo.',
+'sharedupload-desc-edit' => 'This file is fae $1 n can be uised bi ither waurks.
+Perhaps ye want tae eedit the deescreeption oan its [$2 file deescreeption page] thaur.',
+'sharedupload-desc-create' => 'This file is fae $1 n can be uised bi ither waurks.
+Perhaps ye want tae eedit the deescreeption oan its [$2 file deescreeption page] thaur.',
+'filepage-nofile' => 'Naw file b this name exeests.',
+'filepage-nofile-link' => 'Nae file bi this name exeests, but ye can [$1 uplaid it].',
+'uploadnewversion-linktext' => 'Uplaid ae new version o this file',
+'shared-repo-from' => 'fae $1',
+'shared-repo' => 'ae shared repositerie',
+'upload-disallowed-here' => 'Ye canna owerwrite this file.',
 
 # File reversion
 'filerevert' => 'Revert $1',
 'filerevert-legend' => 'Revert file',
+'filerevert-intro' => "Ye'r aboot tae revert the file '''[[Media:$1|$1]]''' til the [$4 version aes o $3, $2].",
+'filerevert-comment' => 'Raison:',
+'filerevert-defaultcomment' => 'Reverted til version aes o $2, $1',
 'filerevert-submit' => 'Revert',
+'filerevert-success' => "'''[[Media:$1|$1]]''' haes been reverted til the [$4 version aes o $3, $2].",
+'filerevert-badversion' => "Thaur's naw preeveeoos local version o this file wi the provided timestamp.",
 
 # File deletion
+'filedelete' => 'Delyte $1',
+'filedelete-legend' => 'Delyte file',
+'filedelete-intro' => "Ye'r aboot tae delyte the file '''[[Media:$1|$1]]''' alang wi aw o its histerie.",
+'filedelete-intro-old' => "Ye'r delytin the version o '''[[Media:$1|$1]]''' aes o [$4 $3, $2].",
+'filedelete-comment' => 'Raison:',
 'filedelete-submit' => 'Delyte',
+'filedelete-success' => "'''$1''' haes been delytit.",
+'filedelete-success-old' => "The version o '''[[Media:$1|$1]]''' aes o $3, $2 haes been delytit.",
+'filedelete-nofile' => "'''$1''' disna exeest.",
+'filedelete-nofile-old' => "Thaur's naw archived version o '''$1''' wi the speceefied attreebutes.",
+'filedelete-otherreason' => 'Ither/addeetional raison:',
+'filedelete-reason-otherlist' => 'Ither raison',
+'filedelete-reason-dropdown' => '*Commyn delyte raisons
+** Copiericht violation
+** Dupleecatit file',
+'filedelete-edit-reasonlist' => 'Eedit delyte raisons',
+'filedelete-maintenance' => 'Delytion n restoration o files tempralie disabled during maintenance.',
+'filedelete-maintenance-title' => 'Canna delyte file',
 
 # MIME search
+'mimesearch' => 'MIME rake',
+'mimesearch-summary' => 'This page enables the filterin o files fer thair MIME type.
+Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 'mimetype' => 'MIME type:',
 'download' => 'dounlaid',
 
+# Unwatched pages
+'unwatchedpages' => 'Onwatched pages',
+
+# List redirects
+'listredirects' => 'Leet o reguidals',
+
 # Unused templates
 'unusedtemplates' => 'Templates that arena uised',
-'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's no incuidit in anither page. Mynd n check fer ither links til the templates afore delytin thaim.",
+'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither links til the templates afore delytin thaim.",
 'unusedtemplateswlh' => 'ither links',
 
 # Random page
 'randompage' => 'Wale page allevolie',
+'randompage-nopages' => "Thaur's naw pages in the follaein {{PLURAL:$2|namespace|namespaces}}: $1.",
+
+# Random page in category
+'randomincategory' => 'Random page in categerie',
+'randomincategory-invalidcategory' => '"$1" isna ae valid categerie name.',
+'randomincategory-nopages' => "Thaur's naw pages in the [[:Category:$1|$1]] categerie.",
+'randomincategory-selectcategory' => 'Get random page fae categerie: $1 $2.',
+'randomincategory-selectcategory-submit' => 'Gae',
+
+# Random redirect
+'randomredirect' => 'Random reguidal',
+'randomredirect-nopages' => 'Thaur\'s naw reguidals in the namespace "$1".',
 
 # Statistics
 'statistics' => 'Stateestics',
@@ -1729,11 +1842,34 @@ The descreeption oan its [$2 file descreeption page] thaur is shawn ablo.',
 'statistics-header-users' => 'Uiser stateestics',
 'statistics-header-hooks' => 'Ither stateestics',
 'statistics-pages' => 'Pages',
+'statistics-pages-desc' => 'Aw pages in the wiki, incluidin tauk pages, reguidals, etc.',
+'statistics-files' => 'Uplaided files',
+'statistics-edits' => 'Page eedits sin {{SITENAME}} wis set up',
+'statistics-edits-average' => 'Average eedits per page',
+'statistics-views-total' => 'Seeins total',
+'statistics-views-total-desc' => "Seeins til non-exeestant pages n speecial pages'r naw incluidit",
+'statistics-views-peredit' => 'Seeins per eedit',
+'statistics-users' => 'Registered [[Special:ListUsers|uisers]]',
+'statistics-users-active' => 'Acteeve uisers',
+'statistics-users-active-desc' => 'Uisers that hae performed aen action in the laist {{PLURAL:$1|day|$1 days}}',
+'statistics-mostpopular' => 'Maist seen pages',
+
+'pageswithprop' => 'Pages wi ae page propertie',
+'pageswithprop-legend' => 'Pages wi ae page propertie',
+'pageswithprop-text' => 'This page leets pages that uise ae particular page propertie.',
+'pageswithprop-prop' => 'Propertie name:',
+'pageswithprop-submit' => 'Gae',
+'pageswithprop-prophidden-long' => 'lang tex propertie value skaukt ($1)',
+'pageswithprop-prophidden-binary' => 'binarie propertie value skaukt ($1)',
 
 'doubleredirects' => 'Dooble reguidals',
 'doubleredirectstext' => 'This page leets pages that redirect til ither redirect pages.
 Ilka rou contains airtins til the first and seicont redirect, aes weel aes the terget o the secont redirect, whilk is usually the "real" terget page whaur the first redirect shid point.
 <del>Crossed oot</del> entries hae been solved.',
+'double-redirect-fixed-move' => '[[$1]] haes been muived.
+It nou reguides til [[$2]].',
+'double-redirect-fixed-maintenance' => 'Fixin dooble reguidal fae [[$1]] til [[$2]].',
+'double-redirect-fixer' => 'Reguidal fixer',
 
 'brokenredirects' => 'Brucken reguidals',
 'brokenredirectstext' => 'The folling redirects link til non-existent pages:',
@@ -1741,31 +1877,57 @@ Ilka rou contains airtins til the first and seicont redirect, aes weel aes the t
 'brokenredirects-delete' => 'delyte',
 
 'withoutinterwiki' => 'Pages athoot leid links',
+'withoutinterwiki-summary' => 'The follaein pages dinan link til ither leid versions.',
 'withoutinterwiki-legend' => 'Prefix',
 'withoutinterwiki-submit' => 'Shaw',
 
+'fewestrevisions' => 'Pages wi the fewest reeveesions',
+
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|bytes}}',
 'ncategories' => '$1 {{PLURAL:$1|category|categories}}',
 'nlinks' => '$1 {{PLURAL:$1|link|links}}',
 'nmembers' => '$1 {{PLURAL:$1|membir|membirs}}',
+'nmemberschanged' => '$1 → $2 {{PLURAL:$2|memmer|memmers}}',
 'nrevisions' => '$1 {{PLURAL:$1|reveision|reveisions}}',
 'nviews' => '$1 {{PLURAL:$1|view|views}}',
+'nimagelinks' => 'Uised oan $1 {{PLURAL:$1|page|pages}}',
+'ntransclusions' => 'uised oan $1 {{PLURAL:$1|page|pages}}',
+'specialpage-empty' => "Thaur's naw affcomes fer this report.",
+'lonelypages' => 'Orphant pages',
+'lonelypagestext' => "The follaein pages'r naw linkt fae or transcluided intil ither pages in {{SITENAME}}.",
 'uncategorizedpages' => 'Uncategoreised pages',
 'uncategorizedcategories' => 'Uncategoreised categories',
+'uncategorizedimages' => 'Oncategerized files',
+'uncategorizedtemplates' => 'Oncategerized templates',
 'unusedcategories' => 'Unuised categories',
 'unusedimages' => 'Unuised images',
 'wantedcategories' => 'Wantit categories',
 'wantedpages' => 'Wantit pages',
+'wantedpages-badtitle' => 'Onvalid title in affcome set: $1',
+'wantedfiles' => 'Wantit files',
+'wantedfiletext-cat' => 'The follaein files ar uised but dinna exeest. Files fae foreign repositeries micht be leetit despite exeestin. Onie sic false poseeteeves will be <del>struck oot</del>. Addeetionallie, pages that embed files that dinna exeest ar leetit in [[:$1]].',
+'wantedfiletext-nocat' => 'The follaein files ar uised but dinna exeest. Files fae foreign repositeries micht be leetit despite exeestin. Onie sic false poseeteeves will be <del>struck oot</del>.',
+'wantedtemplates' => 'Wantit templates',
 'mostlinked' => 'Maist airtit-til pages',
 'mostlinkedcategories' => 'Maist airtit-til categories',
+'mostlinkedtemplates' => 'Maist linkt-til templates',
 'mostcategories' => 'Airticles wi the maist categories',
 'mostimages' => 'Maist uised eimages',
+'mostinterwikis' => 'Pages wi the maist interwikis',
 'mostrevisions' => 'Maist revised airticles',
 'prefixindex' => 'Aw pages wi prefix',
+'prefixindex-namespace' => 'Aw pages wi preefix ($1 namespace)',
+'prefixindex-strip' => 'Strip preefix in leet',
 'longpages' => 'Lang pages',
 'deadendpages' => 'Deid-end pages',
+'deadendpagestext' => 'The follaein pages dinna link til ither pages in {{SITENAME}}.',
+'protectedpages' => 'Pretectit pages',
+'protectedpages-indef' => 'Indefineet pretections yinlie',
 'protectedpages-summary' => 'This page leets existin pages that ar nou protectit. Fer a leet o titles that ar protectit fae cræftin, see [[{{#special:ProtectedTitles}}]].',
+'protectedpages-cascade' => 'Cascadin protections yinlie',
+'protectedpages-noredirect' => 'Skauk reguidals',
+'protectedpagesempty' => 'Naw pages ar Nou pretectit wi thir parameters.',
 'protectedpages-timestamp' => 'Timestamp.',
 'protectedpages-page' => 'Page.',
 'protectedpages-expiry' => 'Dies',
@@ -1774,8 +1936,14 @@ Ilka rou contains airtins til the first and seicont redirect, aes weel aes the t
 'protectedpages-reason' => 'Raison',
 'protectedpages-unknown-timestamp' => "Onken't",
 'protectedpages-unknown-performer' => "Onken't user",
+'protectedtitles' => 'Pretectit titles',
 'protectedtitles-summary' => 'This page leets titles that ar nou protectit fae cræftin. Fer a leet of exeesting pages that ar protectit, see [[{{#special:ProtectedPages}}]].',
+'protectedtitlesempty' => 'Naw titles ar the Nou protected wi thir parameters.',
 'listusers' => 'Uiser leet',
+'listusers-editsonly' => 'Shaw yinlie uisers wi eedits',
+'listusers-creationsort' => 'Sort bi cræftin date',
+'listusers-desc' => 'Sort in descendin order',
+'usereditcount' => '$1 {{PLURAL:$1|eedit|eedits}}',
 'usercreated' => '{{GENDER:$3|Cræftit}} oan $1 at $2',
 'newpages' => 'New pages',
 'newpages-username' => 'Uisername:',
@@ -1787,13 +1955,19 @@ Please mynd that ither wab sites micht link til ae file wi ae direct URL, n sae
 'unusedcategoriestext' => 'The follaein category pages exists, tho nae ither airticle or category maks uiss o thaim.',
 'notargettitle' => 'Nae target',
 'notargettext' => "Ye hivna specifee'd a tairget page or uiser tae perform this function on.",
+'nopagetitle' => 'Naw sic tairget page',
+'nopagetext' => "The tairget page that ye'v speeceefied disna exeest.",
 'pager-newer-n' => '{{PLURAL:$1|newer 1|newer $1}}',
 'pager-older-n' => '{{PLURAL:$1|older 1|older $1}}',
+'suppress' => 'Owersicht',
+'querypage-disabled' => 'This speecial page is disablit fer performance raisons.',
 
 # Book sources
 'booksources' => 'Beuk sources',
 'booksources-search-legend' => 'Rake fer buik soorces',
 'booksources-go' => 'Gang',
+'booksources-text' => "Ablo is ae leet o links til ither sites that sell new n uised buiks, n mmicht hae further information aneat buiks that ye'r seekin ava:",
+'booksources-invalid-isbn' => 'The gien ISBN disna seem tae be valid; check fer mistaks copiein fae the oreeginal soorce.',
 
 # Special:Log
 'specialloguserlabel' => 'Performer:',
@@ -1803,6 +1977,8 @@ Please mynd that ither wab sites micht link til ae file wi ae direct URL, n sae
 'alllogstext' => 'Combined displey o aw available logs o {{SITENAME}}.
 Ye can narrae doon the whit ye see bi selectin ae log type, the uisername (case-sensiteeve), or the affected page (case-sensiteeve ava).',
 'logempty' => 'Nae matchin items in log.',
+'log-title-wildcard' => 'Rake titles stairtin wi this tex',
+'showhideselectedlogentries' => 'Chynge veesibeelitie o selectit log entries',
 
 # Special:AllPages
 'allpages' => 'Aw pages',
@@ -1810,59 +1986,140 @@ Ye can narrae doon the whit ye see bi selectin ae log type, the uisername (case-
 'nextpage' => 'Neist page ($1)',
 'prevpage' => 'Page afore ($1)',
 'allpagesfrom' => 'Shaw pages stairtin at:',
+'allpagesto' => 'Displey pages endin at:',
 'allarticles' => 'Aa airticles',
 'allinnamespace' => 'Aa pages ($1 namespace)',
 'allpagessubmit' => 'Gang',
 'allpagesprefix' => 'Shaw pages wi prefix:',
 'allpagesbadtitle' => 'The page teitle gien wis wrang or haed a cross-lied or cross-wiki prefix. It micht hae ane or twa characters that canna be uised in teitles',
 'allpages-bad-ns' => '{{SITENAME}} disna hae a namespace "$1".',
+'allpages-hide-redirects' => 'Skauk reguidals',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => "Ye'r seein ae cached version o this page, this can be up til $1 auld.",
+'cachedspecial-viewing-cached-ts' => "Ye'r seein ae cached version o this page, this micht naw be compleatelie actual.",
+'cachedspecial-refresh-now' => 'See latest.',
 
 # Special:Categories
 'categories' => 'Categories',
 'categoriespagetext' => 'The follaein {{PLURAL:$1|categerie contains|categeries contain}} pages or media.
 [[Special:UnusedCategories|Onuised categeries]] arna shawn here.
 See [[Special:WantedCategories|wanted categeries]] ava.',
+'categoriesfrom' => 'Displey categeries stairtin at:',
 'special-categories-sort-count' => 'sairt bi coont',
 'special-categories-sort-abc' => 'sairt by the alphabet',
 
 # Special:DeletedContributions
+'deletedcontributions' => 'Delytit uiser contreebutions',
+'deletedcontributions-title' => 'Delytit uiser contreebutions',
 'sp-deletedcontributions-contribs' => 'contreebutions',
 
 # Special:LinkSearch
+'linksearch' => 'External links rake',
+'linksearch-pat' => 'Rake pattern:',
 'linksearch-ns' => 'Namespace:',
 'linksearch-ok' => 'Rake',
+'linksearch-text' => 'Wildcairds like "*.wikipedia.org" can be uised.
+Needs at least ae top-level domain, fer example "*.org".<br />
+Supported {{PLURAL:$2|protocol|protocols}}: <code>$1</code> (defaults to http:// gif naw protocol is speceefied).',
 'linksearch-line' => '$1 is linked from $2',
+'linksearch-error' => 'Wildcards micht appear yinlie at the stairt o the hoastname.',
 
 # Special:ListUsers
+'listusersfrom' => 'Displey uisers stairtin at:',
 'listusers-submit' => 'Shaw',
+'listusers-noresult' => 'Naw uiser foond.',
 'listusers-blocked' => '(blockit)',
 
+# Special:ActiveUsers
+'activeusers' => 'Acteeve uisers leet',
+'activeusers-intro' => 'This is ae leet o uisers that had some kynd o acteevitie wiin the last $1 {{PLURAL:$1|day|days}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|action|actions}} in the laist {{PLURAL:$3|day|$3 days}}',
+'activeusers-from' => 'Displey uisers stairtin at:',
+'activeusers-hidebots' => 'Skauk bots',
+'activeusers-hidesysops' => 'Skauk admeenistraters',
+'activeusers-noresult' => 'Naw uisers foond.',
+
 # Special:ListGroupRights
+'listgrouprights' => 'Uiser groop richts',
+'listgrouprights-summary' => 'The follaein is aae leet o uiser groops defined oan this wiki, wi thair associated access richts.
+There micht be [[{{MediaWiki:Listgrouprights-helppage}}|addeetional information]] aneat indiveedual richts.',
+'listgrouprights-key' => 'Legend:
+* <span class="listgrouprights-granted">Grantit richt</span>
+* <span class="listgrouprights-revoked">Revokt richt</span>',
+'listgrouprights-group' => 'Groop',
+'listgrouprights-rights' => 'Richts',
+'listgrouprights-helppage' => 'Help:Groop richts',
 'listgrouprights-members' => '(leet o members)',
+'listgrouprights-addgroup' => 'Add {{PLURAL:$2|groop|groops}}: $1',
+'listgrouprights-removegroup' => 'Remuiv {{PLURAL:$2|grop|groops}}: $1',
+'listgrouprights-addgroup-all' => 'Add aw groops',
+'listgrouprights-removegroup-all' => 'Remui aw groops',
+'listgrouprights-addgroup-self' => 'Add {{PLURAL:$2|groop|groops}} til yer accoont: $1',
+'listgrouprights-removegroup-self' => 'Remuiv {{PLURAL:$2|groop|groops}} fae yer accoont: $1',
+'listgrouprights-addgroup-self-all' => 'Add aw groops til yer accoont',
+'listgrouprights-removegroup-self-all' => 'Remuiv aw groops fae yer accoont',
 
 # Email user
 'mailnologin' => 'Nae send address',
 'mailnologintext' => 'Ye maun be [[Special:UserLogin|loggit in]] n hae ae valid wab-mail address in yer [[Special:Preferences|preferences]] tae send Wab-mail til ither uisers.',
 'emailuser' => 'E-mail this uiser',
+'emailuser-title-target' => 'Wab-mail this {{GENDER:$1|uiser}}',
+'emailuser-title-notarget' => 'Wab-mail uiser',
+'emailpage' => 'Wab-mail uiser',
+'emailpagetext' => 'Ye can uise the form ablo tae send ae wab-mail message til this {{GENDER:$1|uiser}}.
+The wab-mail address that ye entered in [[Special:Preferences|yer uiser preeferances]] will kith aes the "Fae" address o the wab-mail, sae that the receepient will be able tae replie directlie til ye.',
+'usermailererror' => 'Mail object returned mistak:',
+'defemailsubject' => '{{SITENAME}} wab-mail fae uiser "$1"',
+'usermaildisabled' => 'Uiser wab-mail disablit',
+'usermaildisabledtext' => 'Ye canna send wab-mail til ither uisers oan this wiki',
 'noemailtitle' => 'Nae e-mail address',
 'noemailtext' => 'This uiser haesna speceefied ae valid wab-mail address.',
+'nowikiemailtitle' => 'Naw wab-mail permitit',
+'nowikiemailtext' => 'This uiser haes choosen tae naw receeve wab-mail fae ither uisers.',
+'emailnotarget' => 'Non-exeestent or onvalit uisername fer receepeeant.',
+'emailtarget' => 'Enter uisername o reeceepeeant',
+'emailusername' => 'Uisername:',
+'emailusernamesubmit' => 'Haun-in',
+'email-legend' => 'Send ae wab-mail til anither {{SITENAME}} uiser',
+'emailfrom' => 'Fae:',
+'emailto' => 'Til:',
+'emailsubject' => 'Aneat:',
 'emailmessage' => 'Message:',
+'emailccme' => 'Wab-mail me ae copie o ma message.',
+'emailccsubject' => 'Copie o yer message til $1: $2',
+'emailsent' => 'Wab-mail sent',
+'emailsenttext' => 'Yer wab-mail message haes been sent.',
+'emailuserfooter' => 'This wab-mail wis sent bi $1 til $2 bi the "Wab-mail uiser" function at {{SITENAME}}.',
+
+# User Messenger
+'usermessage-summary' => 'Leain seestem message.',
+'usermessage-editor' => 'Seestem messenger',
 
 # Watchlist
 'watchlist' => 'Ma watchleet',
 'mywatchlist' => 'Ma watchleet',
 'watchlistfor2' => 'For $1 $2',
 'nowatchlist' => "Ye'v nae eitems oan yer watchleet.",
+'watchlistanontext' => 'Please $1 tae see or eedit eetems oan yer watchlet.',
 'watchnologin' => 'Nae loggit in',
 'watchnologintext' => 'Ye maun be [[Special:UserLogin|loggit in]] tae modify yer watchleet.',
+'addwatch' => 'Add til watchleet',
 'addedwatchtext' => 'The page "[[:$1]]" haes been added til yer [[Special:Watchlist|watchleet]].
 Futur chynges til this page n its associated tauk page will be leeted thaur.',
+'removewatch' => 'Remuiv fae watchleet',
 'removedwatchtext' => 'The page "[[:$1]]" haes been remuied fae [[Special:Watchlist|yer watchleet]].',
 'watch' => 'Watch',
 'watchthispage' => 'Leuk ower this page',
 'unwatch' => 'Unwatch',
-'notanarticle' => 'No a content page',
-'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} on yer watchleet, nae coontin collogue pages.',
+'unwatchthispage' => 'Stap watchin',
+'notanarticle' => 'Naw ae content page',
+'notvisiblerev' => 'The last reeveesion bi ae differant uiser haes been delytit',
+'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} oan yer watchleet, na coontin tauk pages.',
+'wlheader-enotif' => 'Wab-mail annooncemant is enabled.',
+'wlheader-showupdated' => "Pages that hae been chynged sin ye last veesitit thaim ar shawn in '''baud'''.",
+'watchmethod-recent' => 'checkin recent eedits fer watched pages',
+'watchmethod-list' => 'checking watched pages fer recent eedits',
 'watchlistcontains' => 'Yer watchleet contains $1 {{PLURAL:$1|page|pages}}.',
 'iteminvalidname' => "Trouble wi eitem '$1', invalid name...",
 'wlnote2' => 'Ablow ar the chynges in the hainmaist {{PLURAL:$1|hour|<strong>$1</strong> hours}}, as of $3, $2.',
@@ -1872,9 +2129,50 @@ Futur chynges til this page n its associated tauk page will be leeted thaur.',
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Watchin...',
 'unwatching' => 'Unwatchin...',
+'watcherrortext' => 'Ae mistak occurred while chyngin yer watchleet settins fer "$1".',
 
+'enotif_mailer' => '{{SITENAME}} annooncemant mailer',
 'enotif_reset' => 'Merk aa pages visitit',
+'enotif_impersonal_salutation' => '{{SITENAME}} uiser',
+'enotif_subject_deleted' => '{{SITENAME}} page $1 haes been {{GENDER:$2|delytit}} bi $2',
+'enotif_subject_created' => '{{SITENAME}} page $1 haes been {{GENDER:$2|cræftit}} bi $2',
+'enotif_subject_moved' => '{{SITENAME}} page $1 haes been {{GENDER:$2|muived}} bi $2',
+'enotif_subject_restored' => '{{SITENAME}} page $1 haes been {{GENDER:$2|restored}} bi $2',
+'enotif_subject_changed' => '{{SITENAME}} page $1 haes been {{GENDER:$2|chynged}} bi $2',
+'enotif_body_intro_deleted' => 'The {{SITENAME}} page $1 haes been {{GENDER:$2|delytit}} oan $PAGEEDITDATE bi $2, see $3.',
+'enotif_body_intro_created' => 'The {{SITENAME}} page $1 haes been {{GENDER:$2|cræftit}} oan $PAGEEDITDATE bi $2, see $3 fer the Nou reeveesion.',
+'enotif_body_intro_moved' => 'The {{SITENAME}} page $1 haes been {{GENDER:$2|muived}} oan $PAGEEDITDATE bi $2, see $3 fer the Nou reeveesion.',
+'enotif_body_intro_restored' => 'The {{SITENAME}} page $1 haes been {{GENDER:$2|restored}} oan $PAGEEDITDATE bi $2, see $3 fer the Nou reveesion.',
+'enotif_body_intro_changed' => 'The {{SITENAME}} page $1 haes been {{GENDER:$2|chynged}} oan $PAGEEDITDATE bi $2, see $3 fer the Nou reeveesion.',
 'enotif_lastvisited' => 'Hae ae leuk at $1 fer aa chynges sin yer laist veesit.',
+'enotif_lastdiff' => 'See $1 tae see this chynge.',
+'enotif_anon_editor' => 'anonymoos uiser $1',
+'enotif_body' => 'Dear $WATCHINGUSERNAME,
+
+$PAGEINTRO $NEWPAGE
+
+Eediter\'s ootline: $PAGESUMMARY $PAGEMINOREDIT
+
+Contact the eediter:
+mail: $PAGEEDITOR_EMAIL
+wiki: $PAGEEDITOR_WIKI
+
+Thaur\'ll be naw ither annooncemants in case o further acteevitie onless ye veesit this page while loggit in. Ye coud forby reset the annooncemant flags fer aw yer watched pages oan yer watchleet.
+
+Yer freendlie {{SITENAME}} annooncemant system
+
+--
+Taae chynge yer wab-mail annooncemant settins, veesit
+{{canonicalurl:{{#special:Preferences}}}}
+
+Tae chynge yer watchleet settins, veesit
+{{canonicalurl:{{#special:EditWatchlist}}}}
+
+Tae delyte the page fae yer watchleet, veesit
+$UNWATCHURL
+
+Feedback n further asseestance:
+{{canonicalurl:{{MediaWiki:Helppage}}}}',
 'created' => 'creatit',
 'changed' => 'chynged',
 
@@ -1898,13 +2196,28 @@ n that ye'r daein this in accord wi [[{{MediaWiki:Policy-url}}]].",
 'deletionlog' => 'delytion log',
 'reverted' => 'Revertit tae aulder reveision',
 'deletecomment' => 'Raeson:',
+'deleteotherreason' => 'Ither/addeetional raison:',
 'deletereasonotherlist' => 'Ither raeson',
-'deleting-backlinks-warning' => "'''Warnishment:''' ither pages link til or transclude the page ye'r aboot tae delyte.",
+'deletereason-dropdown' => '* Commyn delyte raisons
+** Spam
+** Vandaleesm
+** Copiericht violation
+** Writer request
+** Broken reguidal',
+'delete-edit-reasonlist' => 'Eedit delytion raisons',
+'delete-toobig' => 'This page haes ae muckle eedit histerie, ower $1 {{PLURAL:$1|reveesion|reveesions}}.
+Delytion o sic pages haes been restrictit tae stap accidental disruption o {{SITENAME}}.',
+'delete-warning-toobig' => 'This page haes ae muckle eedit histerie, ower $1 {{PLURAL:$1|reveesion|reveesions}}.
+Delytin it micht disrupt database operations o {{SITENAME}};
+proceed wi caution.',
+'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] link til or transcluide the page ye'r aboot tae delyte.",
 
 # Rollback
 'rollback' => 'Row back edits',
 'rollback_short' => 'Rowback',
 'rollbacklink' => 'rowback',
+'rollbacklinkcount' => 'rowback $1 {{PLURAL:$1|eedit|eedits}}',
+'rollbacklinkcount-morethan' => 'rowback mair than $1 {{PLURAL:$1|eedit|eedits}}',
 'rollbackfailed' => 'Rowback failed',
 'cantrollback' => 'Canna revert eidit; laist contreebuter is the ae auther o this page.',
 'alreadyrolled' => 'Canna rollback laist eidit o [[:$1]] bi [[User:$2|$2]] ([[User talk:$2|tauk]]{{int:pipe-separater}}[[Special:Contributions/$2|{{int:contribslink}}]]);
@@ -1913,24 +2226,66 @@ some ither bodie haes eidited or rolled back the page awreadie.
 The laist eidit til the page wis bi [[User:$3|$3]] ([[User talk:$3|tauk]]{{int:pipe-separater}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "The eidit summarie wis: \"''\$1''\".",
 'revertpage' => 'Reverted eidits bi [[Special:Contributions/$2|$2]] ([[User talk:$2|tauk]]) til laist reveesion bi [[User:$1|$1]]',
+'revertpage-nouser' => 'Reverted eedits bi ae skaukt uiser til laist revesion bi {{GENDER:$1|[[User:$1|$1]]}}',
+'rollback-success' => 'Reverted eedits b $1;
+chynged back til the laist reveesion bi $2.',
+
+# Edit tokens
+'sessionfailure' => 'Thaur seems tae be ae proablem wi yer login session;
+this action haes been canceled aes ae precaution again session hijackin.
+Gang back til the preeveeoos page, relaid that page n than gie it anither gae.',
 
 # Protect
 'protectlogpage' => 'Fend log',
 'protectlogtext' => 'Ablow is ae leet o chynges til page protections.
 See the [[Special:ProtectedPages|protected pages leet]] fer the leet o currently operational page protections.',
 'protectedarticle' => 'protectit "[[$1]]"',
+'modifiedarticleprotection' => 'chynged protection level fer "[[$1]]"',
 'unprotectedarticle' => 'remuied protection fae "[[$1]]"',
+'movedarticleprotection' => 'muived protection settins fae "[[$2]]" til "[[$1]]"',
 'protect-title' => 'Protectin "$1"',
+'protect-title-notallowed' => 'See protection level o "$1"',
 'prot_1movedto2' => '[[$1]] flittit til [[$2]]',
+'protect-badnamespace-text' => 'Pages in this namespace canna be protected.',
+'protect-norestrictiontypes-text' => "This page canna be protected aes thaur's naw restreection types available.",
 'protectcomment' => 'Raeson:',
 'protectexpiry' => 'Expires:',
+'protect_expiry_invalid' => 'Expirie time is onvalit.',
+'protect_expiry_old' => 'Expirie time is in the past.',
+'protect-unchain-permissions' => 'Lowse mair protect opties',
 'protect-text' => 'Ye can see n chynge the protection level here fer the page <strong>$1</strong>.',
+'protect-locked-blocked' => 'Ye canna chynge protection levels while blockt.
+Here ar the settins fer the page <strong>$1</strong> the nou:',
+'protect-locked-dblock' => 'Protection levels canna be chynged cause o aen acteeve database lock.
+Here ar the settins fer the page <strong>$1</strong> nou:',
+'protect-locked-access' => 'Yer accont disna hae permeession tae chynge page protection levels.
+Here ar the settins fer the page <strong>$1</strong> the nou:',
+'protect-cascadeon' => "This page is nou protected cause it is incluided in the follaein {{PLURAL:$1|page, this haes|pages, thir hae}} cascadin protection turned oan.
+Ye can chynge this page's protection level, but it will na affect the cascadin protection.",
 'protect-default' => 'Allow aw uisers',
+'protect-fallback' => 'permit yinlie uisers wi "$1" permission',
 'protect-level-autoconfirmed' => 'Allou yinly autæconfirmed uisers',
 'protect-level-sysop' => 'Allou admeenistraters yinly',
+'protect-summary-cascade' => 'cascadin',
+'protect-expiry-indefinite' => 'indefineet',
+'protect-cascade' => 'Protect pages incluided in this page (cascadin protection)',
+'protect-cantedit' => 'Ye canna chynge the protection levels o this page cause ye dinna hae permeession tae eedit it.',
 'protect-othertime' => 'Ither time:',
 'protect-othertime-op' => 'ither time',
+'protect-existing-expiry' => 'Exeestin expirie time: $3, $2',
+'protect-otherreason' => 'Ither/addeetional raison:',
+'protect-otherreason-op' => 'Ither raison',
+'protect-dropdown' => '*Commyn protection raisons
+** Excesseeve vandaleesm
+** Excesseeve spammin
+** Coonter-producteeve eedit warrin
+** Hei traffeec page',
+'protect-edit-reasonlist' => 'Eedit protection raisons',
 'protect-expiry-options' => '1 hoor:1 hour,1 day:1 day,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,eenfinite:infinite',
+'restriction-type' => 'Permeession:',
+'restriction-level' => 'Restreection level:',
+'minimum-size' => 'Smaaest size',
+'maximum-size' => 'Mucklest size:',
 
 # Restrictions (nouns)
 'restriction-edit' => 'Eidit',
@@ -1938,30 +2293,66 @@ See the [[Special:ProtectedPages|protected pages leet]] fer the leet o currently
 'restriction-create' => 'Mak',
 'restriction-upload' => 'Uplaid',
 
+# Restriction levels
+'restriction-level-sysop' => 'fulie protected',
+'restriction-level-autoconfirmed' => 'semie protected',
+'restriction-level-all' => 'onie level',
+
 # Undelete
 'undelete' => 'Restore delyte page',
 'undeletepage' => 'See n restore delytit pages',
+'undeletepagetitle' => '<strong>The follaein conseests o delytit reveesions o [[:$1|$1]]</strong>.',
 'viewdeletedpage' => 'View delyte pages',
 'undeletepagetext' => 'The follaein {{PLURAL:$1|page haes been delytit but is|$1 pages hae been delytit but ar}} still in the archive n can be restored.
 The archive micht be cleaned oot nou n than.',
+'undelete-fieldset-title' => 'Restore reveesions',
 'undeleteextrahelp' => "In order tae restore the page's entire histerie, lea aw checkkists onselected n clap oan <strong><em>{{int:undeletebtn}}</em></strong>.
 Tae perform ae selecteeve restoration, check the kists correspondin til the reveesions tae be restored, n clap oan <strong><em>{{int:undeletebtn}}</em></strong>.",
+'undeleterevisions' => '$1 {{PLURAL:$1|reveesion|reveesions}} archived',
 'undeletehistory' => 'Gif ye restore the page, aw reveesions will be restored til the histerie.
 Gif ae new page wi the same name haes been makit sin the delytion, the restored reveesions will kyth in the prior histerie.',
+'undeleterevdel' => 'Ondelytion will na be performed gif it will result in the tap page or file reveesion bein pairtlie delyted.
+In sic cases, ye maun oncheck or onskauk the newest delytit reveesion.',
 'undeletehistorynoadmin' => 'This airticle haes been delytit. The raeson fer delytion is
 shawn in the owerview ablo, alang wi parteeculars o the uisers that haed eiditit this page afore it wis delytit. The actual tex o thir delytit reveesions is available tae admeenistraters juist.',
+'undelete-revision' => 'Deleted reveesion o $1 (aes o $4, at $5) bi $3:',
+'undeleterevision-missing' => 'Onvalid or missin reveesion.
+Ye micht hae ae bad link, or the reveesion micht hae been restored or remuived fae the archive.',
+'undelete-nodiff' => 'Naw preeveeoos reveesion foond.',
 'undeletelink' => 'view/restore',
 'undeleteviewlink' => 'view',
+'undeletecomment' => 'Raison:',
 'undeletedrevisions' => '{{PLURAL:$1|1 reveision|$1 reveisions}} restored',
+'undeletedrevisions-files' => '{{PLURAL:$1|1 reveesion|$1 reveesions}} n {{PLURAL:$2|1 file|$2 files}} restored',
 'cannotundelete' => 'Ondelyte failed:
 $1',
 'undeletedpage' => '<strong>$1 haes been restored</strong>
 
 Consult the [[Special:Log/delete|delytion log]] fer ae record o recent delytions an restorâtions.',
+'undelete-header' => 'See [[Special:Log/delete|the delytion log]] fer recentlie delytit pages.',
+'undelete-search-title' => 'Rake delytit pages',
+'undelete-search-box' => 'Rake delytit pages',
+'undelete-search-prefix' => 'Shaw pages stairtin wi:',
+'undelete-search-submit' => 'Rake',
+'undelete-no-results' => 'Naw matchin pages foond in the delytion airchive.',
+'undelete-filename-mismatch' => 'Canna ondelyte file reveesion wi timestamp $1: Filename mismatch.',
+'undelete-bad-store-key' => 'Canna ondelyte file reveesion wi timestamp $1: File wis missin afore delytion.',
+'undelete-cleanup-error' => 'Mistak delytin onuised airchive file "$1".',
+'undelete-missing-filearchive' => "Onable tae restore file airchive ID $1 cause it's na in the database.
+It micht awreadie hae been ondelytit.",
+'undelete-error' => 'Mistak ondelytin page',
+'undelete-error-short' => 'Mistak ondelytin file: $1',
+'undelete-error-long' => 'Mistaks were encoontered while ondelytin the file:
+
+$1',
+'undelete-show-file-confirm' => 'Ar ye sair that ye want tae see the delytit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
+'undelete-show-file-submit' => 'Ay',
 
 # Namespace form on various pages
 'namespace' => 'Namespace:',
 'invert' => 'Invert selection',
+'tooltip-invert' => 'Check this kist tae skauk chynges til pages wiin the selectit namespace (n the associated namespace gif checked)',
+'tooltip-namespace_association' => 'Check this kist forby tae incluid the tauk or subject namespace associated wi the selectit namespace',
 'blanknamespace' => '(Main)',
 
 # Contributions
@@ -1975,10 +2366,18 @@ Consult the [[Special:Log/delete|delytion log]] fer ae record o recent delytions
 'year' => 'Fae year (n afore):',
 
 'sp-contributions-newbies' => 'Shaw contreebutions o freish accoonts ainlie',
+'sp-contributions-newbies-sub' => 'Fer new accoonts',
+'sp-contributions-newbies-title' => 'Uiser contreebutions fer new accoonts',
 'sp-contributions-blocklog' => 'block log',
+'sp-contributions-deleted' => 'delytit uiser contreebutions',
 'sp-contributions-uploads' => 'uploads',
 'sp-contributions-logs' => 'logs',
 'sp-contributions-talk' => 'tauk',
+'sp-contributions-userrights' => 'uiser richts management',
+'sp-contributions-blocked-notice' => 'This uiser is nou blockit.
+The latest block log entrie is providit ablo fer referance:',
+'sp-contributions-blocked-notice-anon' => 'This IP address is blockit the nou.
+The latest block log entrie is providit ablo fer referance:',
 'sp-contributions-search' => 'Rake fer contreebutions',
 'sp-contributions-suppresslog' => 'suppressed uiser contreebutions',
 'sp-contributions-username' => 'IP address or uisername:',
@@ -2006,39 +2405,121 @@ Consult the [[Special:Log/delete|delytion log]] fer ae record o recent delytions
 'whatlinkshere-filters' => 'Filters',
 
 # Block/unblock
+'autoblockid' => 'Autæblock #$1',
+'block' => 'Block uiser',
+'unblock' => 'Onblock uiser',
 'blockip' => 'Block uiser',
+'blockip-legend' => 'Block uiser',
 'blockiptext' => 'Uise the form ablo tae block write access frae a specific IP address or uisername. This shuid be duin juist tae prevent vandalism, and in accord wi [[{{MediaWiki:Policy-url}}|policy]]. Fill in a specific raeson ablo (for exemplar, citin parteicular pages that wis damaged).',
 'ipadressorusername' => 'IP Address or uisername',
+'ipbexpiry' => 'Expirie:',
 'ipbreason' => 'Raeson:',
+'ipbreason-dropdown' => '*Commyn block raisons
+** Insertin false information
+** Remuivin content fae pages
+** Spammin links til external sites
+** Insertin nonsense/gibberish intil pages
+** Inteemidatin behavier/harassment
+** Abuisin multiple accoonts
+** Onacceptable uisername',
+'ipb-hardblock' => 'Stap loggit-in uisers fae eeditin fae this IP address',
+'ipbcreateaccount' => 'Stap accoont cræftin',
+'ipbemailban' => 'Stap uiser fae sendin wab-mail',
+'ipbenableautoblock' => 'Autæmateeclie block the laist IP address uised bi this uiser, n onie subsequent IP addresses that thay attempt tae eedit fae',
 'ipbsubmit' => 'Block this uiser',
 'ipbother' => 'Ither time',
 'ipboptions' => '2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,indefinite:infinite',
+'ipbhidename' => 'Skauk uisername fae eedits n leets',
+'ipbwatchuser' => "Watch this uiser's uiser n tauk pages",
+'ipb-disableusertalk' => 'Stap this uiser fae eeditin thair ain tauk page while blockit',
+'ipb-change-block' => 'Re-block the uiser wi thir settins',
 'badipaddress' => 'That IP address is nae guid',
 'blockipsuccesssub' => 'Block succeedit',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] haes been blockit.
 <br />See [[Special:BlockList|block leet]] tae review blocks.',
+'ipb-blockingself' => "Ye'r aboot tae block yersel! Ar ye sair that ye want tae dae that?",
+'ipb-confirmhideuser' => 'Ye\'r aboot tae block ae uiser wi "skauk uiser" enabled. This will suppress the uiser\'s name in aw leets n log entries. Ar ye sair that ye want tae dae that?',
+'ipb-confirmaction' => 'Gif ye\'r sair that ye reelie want tae dae it, please check the "{{int:ipb-confirm}}" field at the bottom.',
+'ipb-edit-dropdown' => 'Eedit block raisons',
 'ipb-unblock-addr' => 'Unblock $1',
+'ipb-unblock' => 'Onblock ae uisername or IP address',
+'ipb-blocklist' => 'See exeestin blocks',
+'ipb-blocklist-contribs' => 'Contreebutions fer $1',
 'unblockip' => 'Unblock uiser',
 'unblockiptext' => 'Uise the form ablo tae restore screevin richts
 til aen afore-blockit IP address or uisername.',
+'ipusubmit' => 'Remuive this block',
+'unblocked' => '[[User:$1|$1]] haes been onblockit.',
+'unblocked-range' => '$1 haes been onblockit.',
+'unblocked-id' => 'Block $1 haes been remuived.',
+'blocklist' => 'Blockit uisers',
 'ipblocklist' => 'Blockit uisers',
+'ipblocklist-legend' => 'Fynd ae blockit uiser',
+'blocklist-userblocks' => 'Skauk accoont blocks',
+'blocklist-tempblocks' => 'Skauk temparie blocks',
+'blocklist-addressblocks' => 'Skauk single IP blocks',
+'blocklist-rangeblocks' => 'Skauk range blocks',
+'blocklist-target' => 'Tairget',
+'blocklist-expiry' => 'Dies',
+'blocklist-by' => 'Blockin admeen',
+'blocklist-params' => 'Block boonds',
+'blocklist-reason' => 'Raison',
+'ipblocklist-submit' => 'Rake',
+'ipblocklist-otherblocks' => 'Ither {{PLURAL:$1|block|blocks}}',
+'infiniteblock' => 'infeenite',
+'expiringblock' => 'dies oan $1 at $2',
 'anononlyblock' => 'anon. juist',
+'noautoblockblock' => 'autæblock disabled',
 'createaccountblock' => 'accoont-makkin blockit',
+'emailblock' => 'wab-mail disabled',
+'blocklist-nousertalk' => 'canna eedit yer ain tauk page',
+'ipblocklist-empty' => 'The block leet is tuim.',
+'ipblocklist-no-results' => 'The requested IP address or uisername isna blockit.',
 'blocklink' => 'block',
 'unblocklink' => 'unblock',
 'change-blocklink' => 'chynge block',
 'contribslink' => 'contreibs',
+'emaillink' => 'send wab-mail',
 'autoblocker' => 'Autaematicallie blockit sin yer IP address haes been uised recentlie bi "[[User:$1|$1]]". The raeson gien fer $1\'s block is "$2"',
 'blocklogpage' => 'Block log',
+'blocklog-showlog' => 'This uiser haes been blockit afore.
+The block log is provided ablo fer reeferance:',
+'blocklog-showsuppresslog' => 'This uiser haes been blockit n skaukt afore.
+The suppress log is provided ablo fer reeferance:',
 'blocklogentry' => 'blockit [[$1]] wi aen expirie time o $2 $3',
+'reblock-logentry' => 'chynged block settins fer [[$1]] wi ae diein time o $2 $3',
 'blocklogtext' => 'This is ae log o uiser blockin n onblockin actions. Autaematiclie blockit IP addresses isna leetit. See the [[Special:BlockList|block leet]] fer the leet o bans n blocks oan the nou.',
 'unblocklogentry' => 'unblockit $1',
+'block-log-flags-anononly' => 'anonymos uisers yinlie',
 'block-log-flags-nocreate' => 'accoont-makkin blockit',
+'block-log-flags-noautoblock' => 'autæblock disabled',
+'block-log-flags-noemail' => 'wab-mail disabled',
+'block-log-flags-nousertalk' => 'canna eedit yer ain tauk page',
+'block-log-flags-angry-autoblock' => 'enhanced autæblock enabled',
+'block-log-flags-hiddenname' => 'uisername skaukt',
 'range_block_disabled' => 'The administrator abeility tae mak range blocks is disabled.',
+'ipb_expiry_invalid' => 'Expirie time is onvalit.',
+'ipb_expiry_temp' => 'Skaukt uisername blocks maun be permanent.',
+'ipb_hide_invalid' => 'Onable tae suppress this accoont; it haes mair than {{PLURAL:$1|yin eedit|$1 eedits}}.',
+'ipb_already_blocked' => '"$1" is awreadie blockit.',
+'ipb-needreblock' => '$1 is awreadie blockit. Div ye want tae chynge the settins?',
+'ipb-otherblocks-header' => 'Ither {{PLURAL:$1|block|blocks}}',
+'unblock-hideuser' => 'Ye canna onblock this uiser, aes thair uisername haes been skaukt.',
+'ipb_cant_unblock' => 'Mistak: Block ID $1 na foond. It micht hae been onblockit awreadie.',
+'ipb_blocked_as_range' => 'Mistak: The IP address $1 isna blockit directlir n canna be onblockit.
+It is, houever, blockit aes pairt o the range $2, n this can be onblockit.',
+'ip_range_invalid' => 'Onvalid IP range.',
+'ip_range_toolarge' => 'Range blocks muckler than /$1 ar na permitit.',
+'proxyblocker' => 'Proxie blocker',
 'proxyblockreason' => "Yer IP address haes been blockit cause it's aen apen proxie. Please contact yer Internet service provider or tech support n inform them o this serious securitie problem.",
 'sorbsreason' => 'Yer IP address is leeted aes aen apen proxy in the DNSBL uised bi {{SITENAME}}.',
 'sorbs_create_account_reason' => 'Yer IP address is leeted aes aen apen proxy in the DNSBL uised bi {{SITENAME}}.
 Ye canna mak aen accoont.',
+'xffblockreason' => "Aen IP address present in the X-Forwarded-For heider, either yers or that o ae proxie server that ye'r uisin, haes been block. The oreeginal block raison wis: $1",
+'cant-see-hidden-user' => "The uiser that ye'r attemptin tae block haes awreadie been blockit n skaukt.
+Aes ye dinna hae the skaukuiser richt, ye canna see or eedit the uiser's block.",
+'ipbblocked' => 'Ye canna block or onblock ither uisers cause ye yersel is blockit.',
+'ipbnounblockself' => 'Yer na permitit tae onblock yersel.',
 
 # Developer tools
 'unlockdb' => 'Lowse database',
@@ -2046,14 +2527,19 @@ Ye canna mak aen accoont.',
 'unlockdbtext' => 'Lowsin the database will gie back the abeelitie fer aa uisers tae eidit pages, chynge their preeferences, eidit their watchleets, an ither things needin chynges in the database. Please confirm that this is whit ye ettle tae dae.',
 'lockconfirm' => 'Ai, Ah reellie want tae lock the database.',
 'unlockconfirm' => 'Ai, Ah reellie want tae lowse the database.',
+'unlockbtn' => 'Lowse database',
 'locknoconfirm' => 'Ye didna tick the confirmâtion kist.',
 'lockdbsuccesssub' => 'Database lock fine',
 'unlockdbsuccesssub' => 'Database lowsed',
 'lockdbsuccesstext' => 'The database haes been lockit. <br />Mynd an tak the lock aff efter yer maintenance is feinisht.',
 'unlockdbsuccesstext' => 'The database haes bin lowsed.',
+'lockfilenotwritable' => 'The database lock file isna writable.
+Tae lock or lowse the database, this needs tae be writable bi the wab server.',
 'databasenotlocked' => 'The database isna lockit.',
+'lockedbyandtime' => '(bi {{GENDER:$1|$1}} oan $2 at $3)',
 
 # Move page
+'move-page' => 'Muiv $1',
 'move-page-legend' => 'Flit page',
 'movepagetext' => "Uisin the form ablo will rename ae page, muivin aw o its histerie til the new name.
 The auld title will become ae reguidal page til the new title.
@@ -2070,30 +2556,46 @@ please be sair ye unnerstaun the consequences o this afore proceedin.",
 'movepagetext-noredirectfixer' => "Uising the form ablo will rename ae page, muivin aw o its histerie til the new name.
 The auld title will become ae reguidal page til the new title.
 Be sair tae check fer [[Special:DoubleRedirects|dooble]] or [[Special:BrokenRedirects|broken reguidals]].
-Ye'r responsible fer makin sair that airtins continue tae pynt whaur thay'r supposed tae gae.
+Ye'r responsible fer makin sair that airtins continue tae poynt whaur thay'r supposed tae gae.
 
-Tak tent that the page will <strong>no</strong> be muived gif thaur's awreadie ae page at the new title, onless it is tuim an haes naw past eidit histerie.
-This means that ye can rename ae page back til whaur it wis renamed fae gif ye mak ae mistak, an ye canna owerwrite an existin page.
+Tak tent that the page will <strong>naw</strong> be muived gif thaur's awreadie ae page at the new title, onless it is tuim n haes naw past eedit histerie.
+This means that ye can rename ae page back til whaur it wis renamed fae gif ye mak ae mistak, n ye canna owerwrite aen existin page.
 
 <strong>Warnishment!</strong>
 This can be ae drastic n onexpectit chynge fer ae popular page;
-please be sair ye unnerstaun the consequences o this afore preceedin.",
+please be sair that ye unnerstaun the consequences o this afore preceedin.",
 'movepagetalktext' => 'The associated tauk page will be autaematiclie muived alang wi it <strong>onless:</strong>
 *A no-tuim tauk page awreadie exeests unner the new name, or
 *Ye oncheck the kist ablo.
 
 In thae cases, ye will hae tae muiv or merge the page manuallie gif ye sae desire.',
 'movearticle' => 'Flit page:',
-'moveuserpage-warning' => "<strong>Warnishment:</strong> Ye'r aboot tae muiv ae uiser page. Please tak tent that yinly the page will be muivd n the uiser will <em>no</em> be renamed.",
+'moveuserpage-warning' => "<strong>Warnishment:</strong> Ye'r aboot tae muiv ae uiser page. Please tak tent that yinlie the page will be muivd n the uiser will <em>naw</em> be renamed.",
 'movenologintext' => 'Ye maun be a registert uiser n [[Special:UserLogin|loggit in]] tae muiv ae page.',
+'movenotallowed' => 'Ye dinna hae permeession tae muiv pages.',
+'movenotallowedfile' => 'Ye dinna hae permeession tae muiv files.',
+'cant-move-user-page' => 'Ye dinna hae permeession tae muiv uiser pages (aside fae subpages).',
+'cant-move-to-user-page' => 'Ye dinna hae permeession tae muiv ae page til ae uiser page (except til ae uiser subpage).',
 'newtitle' => 'Tae new teitle',
+'move-watch' => 'Watch soorce page n tairget page',
 'movepagebtn' => 'Flit page',
 'pagemovedsub' => 'Flittin succeedit',
 'movepage-moved' => '<strong>"$1" has been muived til "$2"</strong>',
+'movepage-moved-redirect' => 'Ae reguidal haes been cræftit.',
+'movepage-moved-noredirect' => 'The cræftin o ae reguidal haes been suppressed.',
 'articleexists' => "A page o that name aareadies exists, or the name ye'v waled isna guid. Please wale anither name.",
+'cantmove-titleprotected' => 'Ye canna muiv ae page til this location cause the new title haes been protected fae cræftin',
 'movetalk' => 'Muiv associated tauk page',
+'move-subpages' => 'Muiv subpages (up til $1)',
+'move-talk-subpages' => 'Muiv subpages o tauk page (up til $1)',
+'movepage-page-exists' => 'The page $1 awreadie exeests n canna be autæmateeclie owerwritten.',
+'movepage-page-moved' => 'The page $1 haes been muived til $2.',
+'movepage-page-unmoved' => 'The page $1 coudna be muived til $2.',
+'movepage-max-pages' => 'The mmucklest o $1 {{PLURAL:$1|page|pages}} haes been muived n naw mair will be muived autæmateeclie.',
 'movelogpage' => 'Flit log',
 'movelogpagetext' => "A leet o pages that's flitted is ablo.",
+'movesubpagetext' => 'This page haes $1 {{PLURAL:$1|subpage|subpages}} shawn ablo.',
+'movenosubpage' => 'This page haes naw subpages.',
 'movereason' => 'Raeson:',
 'revertmove' => 'revert',
 'delete_and_move' => 'Delyte n muiv',
@@ -2103,10 +2605,26 @@ The destination airticle "[[:$1]]" aareadies exists. Div ye want tae delyte it f
 'delete_and_move_confirm' => 'Ai, delyte the page',
 'delete_and_move_reason' => 'Deletit fer tae mak way fer muiv fae "[[$1]]"',
 'selfmove' => 'Ootgaun n incomin teitles ar the same; canna flit ae page ower itsel.',
+'immobile-source-namespace' => 'Canna muiv pages in namespace "$1"',
+'immobile-target-namespace' => 'Canna muiv pages intil namespace "$1"',
+'immobile-target-namespace-iw' => 'Interwiki link isna ae valeed tairget fer page muiv.',
+'immobile-source-page' => 'This page is na muivable.',
+'immobile-target-page' => 'Canna muiv til that desteenation title.',
+'bad-target-model' => 'The desired desteenation uises ae differant content model. Canna convert fae $1 til $2.',
+'imagenocrossnamespace' => 'Canna muiv file til non-file namespace',
+'nonfile-cannot-move-to-file' => 'Canna muiv non-file til file namespace',
+'imagetypemismatch' => 'The new file extension disna match its type',
+'imageinvalidfilename' => 'The tairget filename is onvalit',
+'fix-double-redirects' => 'Update onie reguidals that poynt til the oreeginal title',
+'move-leave-redirect' => 'Lea ae reguidal ahint',
 'protectedpagemovewarning' => '<strong>Warnishment:</strong> This page haes been protected sae that yinly uisers wi admeenistrater preevileges can muiv it.
 The latest log entry is provided ablo fer reference:',
 'semiprotectedpagemovewarning' => '<strong>Note:</strong> This page has been protected sae that yinly registered uisers can muiv it.
 The hainmaist log entry is provided ablow fer reference:',
+'move-over-sharedrepo' => '== File exeests ==
+[[:$1]] exeests oan ae shaired reposeeterie. Muiving ae file til this title will owerride the shaired file.',
+'file-exists-sharedrepo' => 'The filename chosen is awreadie in uise oan ae shaired reposeeterie.
+Please chuise anither name.',
 
 # Export
 'export' => 'Export pages',
@@ -2116,9 +2634,16 @@ This can be imported intil anither wiki uisin MediaWiki bi waa o the [[Special:I
 Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whether ye want the Nou reveesion  aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
 
 In the latter case ye can uise ae link ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
-'exportcuronly' => 'Inclæde juist the current reveesion, no the ful histerie',
+'exportall' => 'Export aw pages',
+'exportcuronly' => 'Inclæde juist the nou reveesion, naw the ful histerie',
 'exportnohistory' => '----
 <strong>Note:</strong> Exporting the ful histerie o pages through this form has been disabled caus o performance raisons.',
+'exportlistauthors' => 'Incluid ae ful leet o contreebuters fer ilka page',
+'export-addcattext' => 'Add pages fae categerie:',
+'export-addnstext' => 'Add pages fae namespace:',
+'export-download' => 'Hain aes file',
+'export-templates' => 'Incluid templates',
+'export-pagelinks' => 'Incluid linkt pages til ae depth o:',
 
 # Namespace 8 related
 'allmessages' => 'Aa seestem messages',
@@ -2128,27 +2653,94 @@ In the latter case ye can uise ae link ava, fer example [[{{#Special:Export}}/{{
 'allmessagestext' => 'This is ae leet o system messages available in the MediaWiki namespace.
 Please veesit [https://www.mediawiki.org/wiki/Localisation MediaWiki Localisation] n [//translatewiki.net translatewiki.net] gif ye wish tae contreebute til the generic MediaWiki localisation.',
 'allmessagesnotsupportedDB' => "'''{{ns:special}}:AllMessages''' nae supportit acause '''\$wgUseDatabaseMessages''' is aff.",
+'allmessages-filter' => 'Filter b custymization state:',
+'allmessages-filter-unmodified' => 'Onmodified',
+'allmessages-filter-all' => 'Aw',
+'allmessages-filter-modified' => 'Modeefied',
+'allmessages-prefix' => 'Filter bi prefix:',
+'allmessages-language' => 'Leid:',
+'allmessages-filter-submit' => 'Gang',
 'allmessages-filter-translate' => 'Owerset',
 
 # Thumbnails
 'thumbnail-more' => 'Eik',
 'filemissing' => 'File missin',
 'thumbnail_error' => 'Mistak makin thummnail: $1',
+'thumbnail_error_remote' => 'Mistak message fae $1:
+$2',
+'djvu_page_error' => 'DjVu page oot o range',
+'djvu_no_xml' => 'Onable tae fetch XML fer DjVu file',
+'thumbnail-temp-create' => 'Onable tae cræft temparie thummnail file',
+'thumbnail-dest-create' => 'Onable tae hain thummnail til desteenation',
+'thumbnail_invalid_params' => 'Onvalit thummnail parameters',
+'thumbnail_dest_directory' => 'Onable tae cræft desteenation directerie',
+'thumbnail_image-type' => 'Eemage type na supported',
+'thumbnail_gd-library' => 'Oncompleate GD librie confeeguration: Missin function $1',
+'thumbnail_image-missing' => 'File seems tae be missin: $1',
 'thumbnail_image-failure-limit' => 'There hae been ower moni recent failed attempts ($1 or mair) tae render this thumbnail. Please try again later.',
 
 # Special:Import
+'import-interwiki-text' => "Select ae wiki n page title tae import.
+Reveesion dates n eediters' names will be preserved.
+Aw transwiki import actions ar loggit at the [[Special:Log/import|import log]].",
+'import-interwiki-source' => 'Soorce wiki/page:',
+'import-interwiki-history' => 'Copie aw histerie reveesions fer this page',
+'import-interwiki-templates' => 'Incluid aw templates',
+'import-interwiki-namespace' => 'Desteenation namespace:',
+'import-interwiki-rootpage' => 'Desteenation ruit page (aen optie):',
 'importtext' => 'Please export the file fae the soorce wiki uising the [[Special:Export|export utilitie]].
 Hain it til yer computer n uplaid it here.',
+'importstart' => 'Importin pages...',
+'import-revision-count' => '$1 {{PLURAL:$1|reveesion|reveesions}}',
+'importnopages' => 'Naw pages tae import.',
+'imported-log-entries' => 'Imported $1 {{PLURAL:$1|log entrie|log entries}}.',
+'importunknownsource' => 'Onkent import soorce type',
+'importcantopen' => 'Coudna apen import file',
 'importnotext' => 'Tuim or nae tex',
 'importsuccess' => 'Importit fine!',
 'importhistoryconflict' => 'Conflictin histerie reveesion exeests (micht hae importit this page afore)',
 'importnosources' => 'Nae transwiki import soorces haes been defined n direct histerie uplaids is disabled.',
+'importnofile' => 'Naw import file wis uplaided.',
+'importuploaderrorsize' => 'Uplaid o import file failed.
+The file is muckler than the permitit uplaid size.',
+'importuploaderrorpartial' => 'Uplaid o import file failed.
+The file wis yinlie pairtlie uplaided.',
+'importuploaderrortemp' => 'Uplaid o import file failed.
+Ae temparie fauder is missin.',
+'import-noarticle' => 'Naw page tae import!',
 'import-nonewrevisions' => 'Nae reveesions imported (aw were either awreadie present, or skipt cause o mistaks).',
+'import-upload' => 'Uplaid XML data',
+'import-token-mismatch' => 'Loss o session data.
+Please gie it anither gae.',
+'import-invalid-interwiki' => 'Canna import fae the speceefied wiki.',
+'import-error-edit' => 'Page "$1" isna importit cause ye\'r na permitit tae eedit it.',
+'import-error-create' => 'Page "$1" is na importit cause ye\'r na permitit tae cræft it.',
+'import-error-interwiki' => 'Page "$1" is na importit cause its name is reserved fer external linkin (interwiki).',
+'import-error-special' => 'Page "$1" is na importit cause it belangs til ae speecial namespace that disna permit pages.',
+'import-error-invalid' => 'Page "$1" is na importit cause its name is onvalit.',
+'import-error-unserialize' => 'Reveesion $2 o page "$1" coudna be onsereealized. The reveesion wis reported til uiss content model $3 sereealized aes $4.',
 'import-error-bad-location' => 'Reveesion $2 uisin content model $3 canna be stored oan "$1" oan this wiki, syn that model isna supported oan that page.',
+'import-options-wrong' => 'Wrang {{PLURAL:$2|optie|opties}}: <nowiki>$1</nowiki>',
+'import-rootpage-invalid' => 'Gien ruit page is aen onvalit title.',
+'import-rootpage-nosubpage' => 'Namespace "$1" o the ruit page disna permit subpages.',
+
+# Import log
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|reveesion|reveesions}} fae $2',
+
+# JavaScriptTest
+'javascripttest' => 'JavaScript testin',
+'javascripttest-title' => 'Rinnin $1 tests',
+'javascripttest-pagetext-noframework' => 'This page is reserved fer rinnin JavaScript tests.',
+'javascripttest-pagetext-unknownframework' => 'Onkent testin framewairk "$1".',
+'javascripttest-pagetext-frameworks' => 'Please chuise yin o the follaein testin framewairks: $1',
+'javascripttest-pagetext-skins' => 'Chuise ae skin tae rin the tests wi:',
+'javascripttest-qunit-intro' => 'See [$1 testin documentation] oan mediawiki.org.',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Yer uiser page',
+'tooltip-pt-anonuserpage' => "The uiser page fer the IP address that ye'r eeditin aes",
 'tooltip-pt-mytalk' => 'Yer tauk page',
+'tooltip-pt-anontalk' => 'Discussion aneat eedits fae this IP address',
 'tooltip-pt-preferences' => 'Ma preferences',
 'tooltip-pt-watchlist' => "Ae leet o pages ye'r moniterin fer chynges",
 'tooltip-pt-mycontris' => 'Leet o yer contreebutions',
@@ -2161,7 +2753,9 @@ Hain it til yer computer n uplaid it here.',
 Ye can view its soorce',
 'tooltip-ca-history' => 'Bygane reveesions o this page',
 'tooltip-ca-protect' => 'Fend this page',
+'tooltip-ca-unprotect' => 'Chynge protection o this page',
 'tooltip-ca-delete' => 'Delyte this page',
+'tooltip-ca-undelete' => 'Restore the eedits dun oan this page afore it wis delytit',
 'tooltip-ca-move' => 'Flit this page',
 'tooltip-ca-watch' => 'Add this page tae yer watchleet',
 'tooltip-ca-unwatch' => 'Remove this page frum yer watchleet',
@@ -2178,6 +2772,7 @@ Ye can view its soorce',
 'tooltip-n-help' => 'The steid tae fynd oot',
 'tooltip-t-whatlinkshere' => "List o' a' wiki pages that link 'ere",
 'tooltip-t-recentchangeslinked' => 'Recent changes in pages linked frae this page',
+'tooltip-feed-rss' => 'RSS feed fer this page',
 'tooltip-feed-atom' => 'Atom feed fer this page',
 'tooltip-t-contributions' => "View this uiser's contreebutions",
 'tooltip-t-emailuser' => 'Send ae wab-mail til this uiser',
@@ -2187,10 +2782,13 @@ Ye can view its soorce',
 'tooltip-t-permalink' => 'Permanent link til this reveesion o the page',
 'tooltip-ca-nstab-main' => 'Leuk at content page',
 'tooltip-ca-nstab-user' => 'View the uiser page',
-'tooltip-ca-nstab-special' => 'This is a byordinair page, ye cannae eidit the page itsel',
+'tooltip-ca-nstab-media' => 'See the media page',
+'tooltip-ca-nstab-special' => 'This is ae byordinair page, ye canna eedit the page itsel',
 'tooltip-ca-nstab-project' => 'See the waurk page',
 'tooltip-ca-nstab-image' => 'View the file page',
+'tooltip-ca-nstab-mediawiki' => 'See the system message',
 'tooltip-ca-nstab-template' => 'View the template',
+'tooltip-ca-nstab-help' => 'See the heelp page',
 'tooltip-ca-nstab-category' => 'View the categerie page',
 'tooltip-minoredit' => 'Mairk this as a smaa edit',
 'tooltip-save' => 'Hain yer chynges',
@@ -2198,8 +2796,13 @@ Ye can view its soorce',
 'tooltip-diff' => 'Shaw the chynges that ye makit til the tex.',
 'tooltip-compareselectedversions' => 'See the differs atween the twa selectit versions o this page.',
 'tooltip-watch' => 'Add this page tae yer watchleet',
-'tooltip-rollback' => '"Rowback" reverts eidit(s) til this page o the laist contreebuter in yin clap',
-'tooltip-undo' => '"Ondae" reverts this eedit n apens the eidit form in luikower mode. It permits addin ae raison in the owerview.',
+'tooltip-watchlistedit-normal-submit' => 'Remuiv titles',
+'tooltip-watchlistedit-raw-submit' => 'Update watchleet',
+'tooltip-recreate' => "Recræft the page even thoogh it's been delytit",
+'tooltip-upload' => 'Stairt uplaid',
+'tooltip-rollback' => '"Rowback" reverts eedit(s) til this page o the laist contreebuter in yin clap',
+'tooltip-undo' => '"Ondae" reverts this eedit n apens the eedit form in luikower mode. It permits addin ae raison in the owerview.',
+'tooltip-preferences-save' => 'Hain preeferances',
 'tooltip-summary' => 'Enter ae short owerview',
 
 # Metadata
@@ -2208,49 +2811,138 @@ Ye can view its soorce',
 # Attribution
 'anonymous' => 'Nameless {{PLURAL:$1|uiser|uisers}} o {{SITENAME}}',
 'siteuser' => '{{SITENAME}} uiser $1',
+'anonuser' => '{{SITENAME}} anonymoos uiser $1',
+'lastmodifiedatby' => 'This page wis laist modified $2, $1 bi $3.',
 'othercontribs' => 'Based oan wark bi $1.',
 'others' => 'ithers',
 'siteusers' => '{{SITENAME}} {{PLURAL:$2|uiser|uisers}} $1',
+'anonusers' => '{{SITENAME}} anonymoos {{PLURAL:$2|uiser|uisers}} $1',
+'creditspage' => 'Page creeedits',
 'nocredits' => "Thaur's nae creedit info available fer this page.",
 
 # Spam protection
 'spamprotectiontext' => 'The tex ye wished tae save wis blockit bi the spam filter.
 This is maistlikly caused bi aen airtin til ae blaickleeted external site.',
 'spamprotectionmatch' => 'The follaein tex is whit triggered wir spam filter: $1',
+'spam_reverting' => 'Revertin til the laist reveesion na containin links til $1',
+'spam_blanking' => 'Aw reveesions contained links til $1, blankin',
+'spam_deleting' => 'Aw reveesions contained links til $1, delytin',
 'simpleantispam-label' => 'Anti-spam check.
-Dae <strong>NO</strong> ful this in!',
+Div <strong>NAW</strong> ful this in!',
+
+# Info page
+'pageinfo-title' => 'Information fer "$1"',
+'pageinfo-not-current' => "Sairrie, it's na possible tae provide this information fer auld reveesions.",
+'pageinfo-header-edits' => 'Eedit histerie',
+'pageinfo-display-title' => 'Displey title',
+'pageinfo-default-sort' => 'Defaut sort key',
+'pageinfo-language' => 'Page content leid',
+'pageinfo-robot-policy' => 'Indexin bi robots',
+'pageinfo-robot-index' => 'Permitit',
+'pageinfo-robot-noindex' => 'Na permitit',
+'pageinfo-views' => 'Nummer o luiks',
+'pageinfo-watchers' => 'Nummer o page watchers',
+'pageinfo-redirects-name' => 'Nummer o reguidals til this page',
+'pageinfo-subpages-name' => 'Nummer o subpages o this page',
+'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|reguidal|reguidals}}; $3 {{PLURAL:$3|non-reguidal|non-reguidals}})',
+'pageinfo-firstuser' => 'Page cræfter',
+'pageinfo-firsttime' => 'Date o page cræftin',
+'pageinfo-lastuser' => 'Latest eediter',
+'pageinfo-lasttime' => 'Date o latest eedit',
+'pageinfo-edits' => 'Total nummer o eedits',
+'pageinfo-authors' => 'Total nummer o disteenct writers',
+'pageinfo-recent-edits' => 'Recent nummer o eedits (wiin past $1)',
+'pageinfo-recent-authors' => 'Recynt nummer o disteenct writers',
+'pageinfo-magic-words' => 'Magic {{PLURAL:$1|waird|wairds}} ($1)',
+'pageinfo-hidden-categories' => 'Skaukt {{PLURAL:$1|categerie|categeries}} ($1)',
+'pageinfo-templates' => 'Transcluided {{PLURAL:$1|template|templates}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|Page|Pages}} transcluided oan ($1)',
+'pageinfo-redirectsto' => 'Reguidals til',
+'pageinfo-contentpage' => 'Coonted aes ae content page',
+'pageinfo-contentpage-yes' => 'Ay',
+'pageinfo-protect-cascading' => 'Protections ar cascadin fae here',
+'pageinfo-protect-cascading-yes' => 'Ay',
+'pageinfo-protect-cascading-from' => 'Protections ar cascadin fae here',
+'pageinfo-category-info' => 'Categerie information',
+'pageinfo-category-pages' => 'Nummer o pages',
+'pageinfo-category-subcats' => 'Nummer o subcategeries',
+'pageinfo-category-files' => 'Nummer o files',
 
 # Patrolling
 'markaspatrolleddiff' => 'Merk as patrolled',
 'markaspatrolledtext' => 'Merk this airticle as patrolled',
 'markedaspatrolled' => 'Merkit as patrolled',
 'markedaspatrolledtext' => 'The selected reveesion o [[:$1]] haes been maurked aes patrolled.',
+'rcpatroldisabled' => 'Recynt chynges patrol disabled',
 'rcpatroldisabledtext' => 'The Recent Changes Patrol feature is disabled the nou.',
+'markedaspatrollederror' => 'Canna maurk aes patrowed',
+'markedaspatrollederrortext' => 'Ye need tae speceefie ae reveesion tae maurk aes patrowed.',
+'markedaspatrollederror-noautopatrol' => "Ye'r na permitit tae maurk yer ain chynges aes patrowed.",
+'markedaspatrollednotify' => 'This chynge til $1 haes been maurked aes patrowed.',
+'markedaspatrollederrornotify' => 'Maurking aes patrowed failed.',
+
+# Patrol log
+'patrol-log-page' => 'Patrow log',
+'patrol-log-header' => 'This is ae log o patrowed reveesions.',
+'log-show-hide-patrol' => '$1 patrow log',
 
 # Image deletion
 'deletedrevision' => 'Delytit auld reveesion $1.',
+'filedeleteerror-short' => 'Mistak delytin file: $1',
+'filedeleteerror-long' => 'mistaks were encoontered while delytin the file:
+
+$1',
+'filedelete-missing' => 'The file "$1" canna be delytit cause it disna exeest.',
+'filedelete-old-unregistered' => 'The speceefied file reveesion "$1" isna in the database.',
+'filedelete-current-unregistered' => 'The speceefied file "$1" isna in the database.',
+'filedelete-archive-read-only' => 'The archyve directerie "$1" isna writable bi the wabserver.',
 
 # Browsing diffs
-'previousdiff' => '← Aulder eidit',
-'nextdiff' => 'Newer eidit →',
+'previousdiff' => '← Aulder eedit',
+'nextdiff' => 'Newer eedit →',
 
 # Media information
 'mediawarning' => '<strong>Warnishment:</strong> This file type micht contain maleecious code.
 Bi executin it, yer system micht be compromised.',
 'imagemaxsize' => 'Eimage size limit:<br /><em>(fer file description pages)</em>',
+'thumbsize' => 'Thummnail size:',
 'file-info-size' => '$1 × $2 pixels, file size: $3, MIME type: $4',
 'file-nohires' => 'Na higher resolution available.',
 'svg-long-desc' => 'SVG file, nominally $1 × $2 pixels, file size: $3',
+'svg-long-desc-animated' => 'Animated SVG file, nominallie $1 × $2 pixels, file size: $3',
+'svg-long-error' => 'Onvalit SVG file: $1',
 'show-big-image' => 'Oreeginal file',
-'file-no-thumb-animation' => '<strong>Note: Due til technical limitations, thumbnails o this file will no be animated.</strong>',
+'show-big-image-preview' => 'Size o this luikower: $1.',
+'show-big-image-other' => 'Ither {{PLURAL:$2|resolution|resolutions}}: $1.',
+'file-info-gif-looped' => "luip't",
+'file-info-png-looped' => "luip't",
+'file-info-png-repeat' => 'pleyed $1 {{PLURAL:$1|time|times}}',
+'file-no-thumb-animation' => '<strong>Note: Due til techneecal limitations, thummnails o this file will naw be animated.</strong>',
 'file-no-thumb-animation-gif' => '<strong>Note: Due til technical limitations, thumbnails o hich resolution GIF eimages sic as this will no be animated.</strong>',
 
 # Special:NewFiles
 'newimages' => 'Gallery o new files',
 'imagelisttext' => 'Ablo is a leet o $1 {{PLURAL:$1|eimage|eimages}} sortit $2.',
+'newimages-summary' => 'This byordinair page shaws the last uplaidit files.',
+'newimages-label' => 'Filename (or ae pairt o it):',
 'noimages' => 'Naething tae see.',
 'ilsubmit' => 'Rake',
 'bydate' => 'bi date',
+'sp-newimages-showfrom' => 'Shaw new files stairtin fae $2, $1',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '{{PLURAL:$1|$1 seicont|$1 seiconts}}',
+'hours' => '{{PLURAL:$1|$1 hoor|$1 hoors}}',
+'ago' => '$1 sin',
+'just-now' => 'richt nou',
+
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|hoor|hoors}} sin',
+'minutes-ago' => '$1 {{PLURAL:$1|minute|minutes}} sin',
+'seconds-ago' => '$1 {{PLURAL:$1|seicont|seiconts}} sin',
+'monday-at' => 'Monenday at $1',
+'wednesday-at' => 'Wedensday at $1',
+'friday-at' => 'Frisday at $1',
 
 # Bad image list
 'bad_image_list' => 'The format is aes follaes:
@@ -2259,8 +2951,10 @@ Ainlie leet items (lines stairtin wi *) ar considered. The foremaist link oan ae
 
 # Metadata
 'metadata' => 'Metadata',
-'metadata-help' => 'This file contains addeetional speirins, likelie added frae the deegital camera or scanner uised tae mak or deegitize it. 
-Gif the file haes bin modified frae its oreeginal state, some details micht no fullie reflect the modified file.',
+'metadata-help' => 'This file contains addeetional speirins, likelie added fae the deegital camera or scanner uised tae cræft or deegitize it. 
+Gif the file haes bin modified fae its oreeginal state, some details micht naw fullie reflect the modified file.',
+'metadata-expand' => 'Shaw extendit details',
+'metadata-collapse' => 'Skauk extendit details',
 'metadata-fields' => "Image metadata fields leeted in this message wull be inclæded oan eimage page displey whan the metadata buird is collaps't. Ithers wull be skauk't bi defaut. 
 * mak
 * model
@@ -2277,17 +2971,300 @@ Gif the file haes bin modified frae its oreeginal state, some details micht no f
 * gpsaltitude",
 
 # Exif tags
+'exif-imagelength' => 'Heicht',
+'exif-samplesperpixel' => 'Nummer o components',
+'exif-ycbcrsubsampling' => 'Subsamplin ratio o Y til C',
+'exif-ycbcrpositioning' => 'Y n C poseetionin',
+'exif-yresolution' => 'Verteecal resolution',
+'exif-stripoffsets' => 'Eemage data location',
+'exif-rowsperstrip' => 'Nummer o raws per streep',
+'exif-stripbytecounts' => 'Bytes per compressed streep',
+'exif-jpeginterchangeformat' => 'Affset til JPEG SOI',
+'exif-jpeginterchangeformatlength' => 'Bytes o JPEG data',
+'exif-whitepoint' => 'White poynt chromateeceetie',
+'exif-primarychromaticities' => 'Chromateeceeties o primarities',
+'exif-ycbcrcoefficients' => 'Colour space transformation matrix coeffeecients',
+'exif-referenceblackwhite' => 'Pair o blaick n white referance values',
+'exif-datetime' => 'File chynge date n time',
+'exif-imagedescription' => 'Eemage title',
+'exif-software' => 'Saffware uised',
+'exif-artist' => 'Writer',
 'exif-copyright' => 'Copyricht hauder',
+'exif-flashpixversion' => 'Supportit Flashpix version',
 'exif-colorspace' => 'Colour space',
 'exif-componentsconfiguration' => 'Meanin o ilka component',
 'exif-compressedbitsperpixel' => 'Eimage compression mode',
+'exif-pixelydimension' => 'Eemage width',
+'exif-pixelxdimension' => 'Eemage heicht',
+'exif-usercomment' => 'Uiser comments',
+'exif-relatedsoundfile' => 'Relatit audío file',
+'exif-datetimeoriginal' => 'Date n time o data generation',
+'exif-datetimedigitized' => 'Date n time o deegeetizin',
+'exif-subsectime' => 'DateTime subseiconts',
+'exif-subsectimeoriginal' => 'DateTimeOreeginal subseiconts',
+'exif-subsectimedigitized' => 'DateTimeDeegeetized subseiconts',
+'exif-fnumber' => 'F Nummer',
+'exif-spectralsensitivity' => 'Spectral sensiteevitie',
+'exif-isospeedratings' => 'ISO speed ratin',
 'exif-brightnessvalue' => 'APEX brichtness',
+'exif-maxaperturevalue' => 'Mucklest launn aperture',
+'exif-meteringmode' => 'Meterin mode',
+'exif-lightsource' => 'Licht soorce',
+'exif-subjectarea' => 'Subject airt',
+'exif-flashenergy' => 'Flash energie',
+'exif-sensingmethod' => 'Sensin methyd',
+'exif-filesource' => 'File soorce',
+'exif-customrendered' => 'Custym eemage processin',
+'exif-digitalzoomratio' => 'Deegeetal zuim ratio',
+'exif-sharpness' => 'Shairpness',
+'exif-devicesettingdescription' => 'Device settins descreeption',
+'exif-subjectdistancerange' => 'Subject deestance range',
+'exif-imageuniqueid' => 'Uníque eemage ID',
+'exif-gpslatituderef' => 'Nort or sooth lateetude',
+'exif-gpslatitude' => 'Lateetude',
+'exif-gpslongituderef' => 'Aest or west langeetude',
+'exif-gpslongitude' => 'Langeetude',
+'exif-gpsaltituderef' => 'Altítude reference',
+'exif-gpsaltitude' => 'Altítude',
+'exif-gpstimestamp' => 'GPS time (atomeec clock)',
+'exif-gpssatellites' => 'Satellites uised fer measurement',
+'exif-gpsstatus' => 'Receever status',
+'exif-gpsdop' => 'Measurement preeceesion',
+'exif-gpsspeed' => 'Speed o GPS receever',
+'exif-gpstrackref' => 'Referance fer direction o muivement',
+'exif-gpstrack' => 'Direction o muivement',
+'exif-gpsimgdirectionref' => 'Referance fer direction o eemage',
+'exif-gpsimgdirection' => 'Direction o eemage',
+'exif-gpsmapdatum' => 'Geodeteec survey data uised',
+'exif-gpsdestlatituderef' => 'Referance fer lateetude o destination',
+'exif-gpsdestlatitude' => 'Lateetude destination',
+'exif-gpsdestlongituderef' => 'Reference fer langeetude o destination',
+'exif-gpsdestlongitude' => 'Langeetude o destination',
+'exif-gpsdestbearingref' => 'Referance fer bearin o destination',
+'exif-gpsdestbearing' => 'Bearin o destination',
+'exif-gpsdestdistanceref' => 'Reference fer distance til destination',
+'exif-gpsdestdistance' => 'Distance til destination',
+'exif-gpsprocessingmethod' => 'Name o GPS processin methyd',
+'exif-gpsareainformation' => 'Name o GPS airt',
+'exif-gpsdifferential' => 'GPS differantial correction',
+'exif-keywords' => 'Keywairds',
+'exif-worldregioncreated' => 'Region o the Yird that the picture wis taen in',
+'exif-countrycreated' => 'Kintra that the picture wis taen in',
+'exif-countrycodecreated' => 'Code fer the kintra that the picture wis taen in',
+'exif-provinceorstatecreated' => 'Provínce or state that the picture wis taen in',
+'exif-citycreated' => 'Ceetie that the picture wis taen in',
+'exif-sublocationcreated' => 'Sublocation o the ceetie that the picture wis taen in',
+'exif-worldregiondest' => 'Yird region shawn',
+'exif-countrydest' => 'Kintra shawn',
+'exif-countrycodedest' => 'Code fer kintra shawn',
+'exif-provinceorstatedest' => 'Provínce or state shawn',
+'exif-citydest' => 'Ceetie shawn',
+'exif-sublocationdest' => 'Sublocation o ceetie shawn',
+'exif-specialinstructions' => 'Byordiair insructions',
+'exif-headline' => 'Heidline',
+'exif-credit' => 'Creedit/Provider',
+'exif-source' => 'Soorce',
+'exif-editstatus' => 'Eediterial status o eemage',
+'exif-urgency' => 'Urgencie',
+'exif-fixtureidentifier' => 'Fixtur name',
+'exif-locationdest' => 'Location depeected',
+'exif-locationdestcode' => 'Code o location depeected',
+'exif-objectcycle' => 'Time o day that media is intended fer',
+'exif-languagecode' => 'Leid',
+'exif-iimcategory' => 'Categerie',
+'exif-iimsupplementalcategory' => 'Supplemental categeries',
+'exif-datetimeexpires' => 'Dinna uise efter',
+'exif-datetimereleased' => 'Released oan',
+'exif-originaltransmissionref' => 'Oreeginal transmeession location code',
+'exif-lens' => 'Lens uised',
+'exif-serialnumber' => 'Serial nummer o camera',
+'exif-cameraownername' => 'Ainer o camera',
+'exif-datetimemetadata' => 'Date metadata wis laist modeefied',
+'exif-nickname' => 'Informal name o eemage',
+'exif-rating' => 'Ratin (oot o 5)',
+'exif-rightscertificate' => 'Richts management certeeficate',
+'exif-copyrighted' => 'Copiericht status',
+'exif-copyrightowner' => 'Copiericht ainer',
+'exif-usageterms' => 'Uisage terms',
+'exif-webstatement' => 'Online copiericht statement',
+'exif-originaldocumentid' => 'Uníque ID o oreeginal document',
+'exif-licenseurl' => 'URL fer copiericht license',
+'exif-morepermissionsurl' => 'Alternative licensin information',
+'exif-attributionurl' => 'Whan re-uisin this wairk, please link til',
+'exif-preferredattributionname' => 'Whan re-uisin this wairk, please creedit',
+'exif-contentwarning' => 'Content warnishment',
+'exif-intellectualgenre' => 'Type o eetem',
+'exif-event' => 'Event depected',
+'exif-organisationinimage' => 'Organization depected',
+'exif-personinimage' => 'Person depected',
+'exif-originalimageheight' => 'Heicht o eemage afore it wis crappit',
+'exif-originalimagewidth' => 'Width o eemage afore it wis crappit',
+
+# Exif attributes
+'exif-compression-1' => "Oncompress't",
+'exif-compression-2' => 'CCITT Groop 3 1-Dimensional Modified Huffman rin length encodin',
+'exif-compression-3' => 'CCITT Groop 3 fax encodin',
+'exif-compression-4' => 'CCITT Groop 4 fax encodin',
+
+'exif-copyrighted-true' => 'Copierichted',
+'exif-copyrighted-false' => 'Copiericht status na set',
+
+'exif-unknowndate' => 'Onkent date',
+
+'exif-orientation-2' => 'Flipt horizontallie',
+'exif-orientation-3' => 'Rotatit 180°',
+'exif-orientation-4' => 'Flipt verticlie',
+'exif-orientation-5' => 'Rotatit 90° CCW n flip verticlie',
+'exif-orientation-6' => 'Rotatit 90° CCW',
+'exif-orientation-7' => 'Rotatit 90° CW n flipt verticlie',
+'exif-orientation-8' => 'Rotatit 90° CW',
+
+'exif-planarconfiguration-1' => 'chunkie format',
+
+'exif-colorspace-65535' => 'Oncalibratit',
 
 'exif-componentsconfiguration-0' => 'disna exist',
 
+'exif-exposureprogram-0' => 'Na defined',
+'exif-exposureprogram-3' => 'Apertur prioritie',
+'exif-exposureprogram-4' => 'Shutter prioritie',
+'exif-exposureprogram-5' => 'Cræftie program (biased thewaird the depth o field)',
+'exif-exposureprogram-6' => 'Action program (biased thewaird fast shutter speed)',
+'exif-exposureprogram-7' => 'Portrait mode (fer closeup photæs wi the backgroond oot o focus)',
+'exif-exposureprogram-8' => 'Launnscape mode (fer launnscape photæs wi the backgroonn in focus)',
+
+'exif-meteringmode-0' => 'Onkent',
+'exif-meteringmode-2' => 'Center weichtit average',
+'exif-meteringmode-4' => 'Multí-Spot',
+'exif-meteringmode-6' => 'Pairtial',
+'exif-meteringmode-255' => 'Ither',
+
+'exif-lightsource-0' => 'Onkent',
+'exif-lightsource-1' => 'Daylicht',
+'exif-lightsource-2' => 'Fluorescant',
+'exif-lightsource-3' => 'Tungsten (incandescant licht)',
+'exif-lightsource-10' => 'Cloodie weather',
+'exif-lightsource-12' => 'Daylicht fluorescant (D 5700 – 7100K)',
+'exif-lightsource-13' => 'Day white fluorescant (N 4600 – 5400K)',
+'exif-lightsource-14' => 'Cuil white fluorescant (W 3900 – 4500K)',
+'exif-lightsource-15' => 'White fluorescant (WW 3200 – 3700K)',
+'exif-lightsource-17' => 'Staunart licht A',
+'exif-lightsource-18' => 'Staunart licht B',
+'exif-lightsource-19' => 'Staunart licht C',
+'exif-lightsource-255' => 'Ither licht soorce',
+
+# Flash modes
+'exif-flash-fired-0' => 'Flash didna fire',
+'exif-flash-return-0' => 'naw flash return detection function',
+'exif-flash-return-2' => 'flash return licht na detectit',
+'exif-flash-return-3' => 'flash return licht detectit',
+'exif-flash-mode-1' => 'compulserie flash firin',
+'exif-flash-mode-2' => 'compulserie flash suppression',
+'exif-flash-mode-3' => 'autæ mode',
+'exif-flash-function-1' => 'Naw flash function',
+'exif-flash-redeye-1' => 'reid-ee reduction mode',
+
+'exif-sensingmethod-1' => 'Ondefined',
+'exif-sensingmethod-2' => 'Yin-chip colour airt senser',
+'exif-sensingmethod-3' => 'Twa-chip colour airt senser',
+'exif-sensingmethod-4' => 'Three-chip colour airt senser',
+'exif-sensingmethod-5' => 'Colour sequential airt senser',
+'exif-sensingmethod-7' => 'Trilinear senser',
+'exif-sensingmethod-8' => 'Colour sequential linear senser',
+
+'exif-filesource-3' => 'Deegeetal still camera',
+
+'exif-scenetype-1' => 'Ae directlie photægraphed eemage',
+
+'exif-customrendered-1' => 'Custym process',
+
+'exif-exposuremode-0' => 'Autæ exposure',
+'exif-exposuremode-2' => 'Autæ bracket',
+
+'exif-whitebalance-0' => 'Autæ white balance',
+
+'exif-scenecapturetype-0' => 'Staunart',
+'exif-scenecapturetype-1' => 'Launscape',
+'exif-scenecapturetype-3' => 'Nicht scene',
+
 'exif-gaincontrol-0' => 'Nane',
+'exif-gaincontrol-1' => 'Law gain up',
+'exif-gaincontrol-2' => 'Hei gain up',
+'exif-gaincontrol-3' => 'Law gain doon',
+'exif-gaincontrol-4' => 'Hei gain doon',
 
 'exif-contrast-1' => 'Saft',
+'exif-contrast-2' => 'Haurd',
+
+'exif-saturation-1' => 'Law saturation',
+'exif-saturation-2' => 'Hei saturation',
+
+'exif-sharpness-1' => 'Saff',
+'exif-sharpness-2' => 'Haurd',
+
+'exif-subjectdistancerange-0' => 'Onkent',
+'exif-subjectdistancerange-2' => 'Claise luik at',
+'exif-subjectdistancerange-3' => 'Distance sechtline',
+
+# Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
+'exif-gpslatitude-n' => 'Nort lateetude',
+'exif-gpslatitude-s' => 'Sooth lateetude',
+
+# Pseudotags used for GPSLongitudeRef and GPSDestLongitudeRef
+'exif-gpslongitude-e' => 'Aest langeetude',
+'exif-gpslongitude-w' => 'West langeetude',
+
+# Pseudotags used for GPSAltitudeRef
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|meter|meters}} abuin sea level',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|meter|meters}} ablo sea level',
+
+'exif-gpsstatus-v' => 'Measurement interoperabeelitie',
+
+# Pseudotags used for GPSSpeedRef
+'exif-gpsspeed-k' => 'Kilometers aen hoor',
+'exif-gpsspeed-m' => 'Miles aen hoor',
+
+# Pseudotags used for GPSDestDistanceRef
+'exif-gpsdestdistance-n' => 'Nauteecal miles',
+
+'exif-gpsdop-excellent' => 'Excellant ($1)',
+'exif-gpsdop-good' => 'Guid ($1)',
+'exif-gpsdop-poor' => 'Puir ($1)',
+
+'exif-objectcycle-a' => 'Mornin yinlie',
+'exif-objectcycle-p' => 'Evenin yinlie',
+'exif-objectcycle-b' => 'Baith mornin n evenin',
+
+# Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
+'exif-gpsdirection-m' => 'Magneteec direction',
+
+'exif-dc-contributor' => 'Contreebuters:',
+'exif-dc-coverage' => 'Spatial or tempral scope o media',
+'exif-dc-relation' => 'Relatit media',
+'exif-dc-rights' => 'Richts',
+'exif-dc-source' => 'Soorce media',
+'exif-dc-type' => 'Type o media',
+
+'exif-rating-rejected' => 'Rejectit',
+
+'exif-isospeedratings-overflow' => 'Muckler than 65535',
+
+'exif-iimcategory-ace' => 'Arts, cultur n entertainmant',
+'exif-iimcategory-clj' => 'Crime n law',
+'exif-iimcategory-dis' => 'Disasters n accidants',
+'exif-iimcategory-fin' => 'Economie n business',
+'exif-iimcategory-hth' => 'The Heal',
+'exif-iimcategory-lab' => 'Laber',
+'exif-iimcategory-lif' => 'Lifestyle n leisure',
+'exif-iimcategory-pol' => 'Poleeteecs',
+'exif-iimcategory-rel' => 'Releegion n truent',
+'exif-iimcategory-sci' => 'Sciance n technologie',
+'exif-iimcategory-soi' => 'Social eessues',
+'exif-iimcategory-war' => 'War, conflict n onrest',
+
+'exif-urgency-low' => 'Law ($1)',
+'exif-urgency-high' => 'Hei ($1)',
+'exif-urgency-other' => 'Uiser-defined prioritie ($1)',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'aw',
@@ -2295,19 +3272,27 @@ Gif the file haes bin modified frae its oreeginal state, some details micht no f
 'monthsall' => 'aw',
 
 # Email address confirmation
+'confirmemail' => 'Confirm wab-mail address',
 'confirmemail_noemail' => 'Ye dinna hae a valid email address set in yer [[Special:Preferences|uiser preferences]].',
 'confirmemail_text' => 'This wiki needs ye tae validate yer wab-mail address
 afore uisin wab-mail featurs. Acteevate the button ablo tae send a confirmation
 mail til yer address. The mail will incluide ae link containin ae code; laid the
  link in yer brouser tae confirm that yer wab-mail address is guid.',
+'confirmemail_pending' => 'Ae confirmation code haes awreadie been wab-mailed til ye;
+gif ye recantlie cræftit yer accoont, ye micht wish tae wait ae few minutes fer it tae arrive afore speirin fer ae new code.',
+'confirmemail_send' => 'Mail ae confirmation code',
+'confirmemail_sent' => 'Confirmation wab-mail sent.',
+'confirmemail_oncreate' => "Ae confirmation code wis sent til yer wab-mail address.
+This code isna required tae log in, but ye'll need tae gie it afore enablin onie wab-mail-based featurs in the wiki.",
 'confirmemail_sendfailed' => '{{SITENAME}} coudna send yer confirmation mail.
 Please check yer wab-mail address fer onvalid chairacters.
 
 Mailer returned: $1',
 'confirmemail_invalid' => 'Confirmation code nae guid. The code haes mibbe expired.',
 'confirmemail_needlogin' => 'Please $1 fer tae confirm yer wab-mail address.',
-'confirmemail_success' => 'Yer wab-mail address haes been confirmed. Ye can nou log in an enjoy the wiki.',
+'confirmemail_success' => 'Yer wab-mail address haes been confirmed. Ye can nou [[Special:UserLogin|login]]  n enjoy the wiki.',
 'confirmemail_loggedin' => 'Yer e-mail address haes noo been confirmed.',
+'confirmemail_subject' => '{{SITENAME}} wab-mail address confirmation',
 'confirmemail_body' => 'Somebodie, maist likely ye, fae IP address $1,
 haes registered aen accoont "$2" wi this wab-mail address oan {{SITENAME}}.
 
@@ -2315,12 +3300,26 @@ Tae confirm that this accoont reallie is yers n acteevate wab-mail featurs oan {
 
 $3
 
-Gif ye div *no* register the accoont, follae this link
+Gif ye div *naw* register the accoont, follae this link
 tae cancel the wab-mail address confirmation:
 
 $5
 
 This confirmation code will expire oan $4.',
+'confirmemail_body_changed' => 'Somebodie, proabablie ye, from IP address $1,
+haes chynged the wab-mail address o the accoont "$2" til this address oan {{SITENAME}}.
+
+Tae confirm that this accoont reallie dis belang til ye n reacteevate
+wab-mail featurs oan {{SITENAME}}, apen this link in yer brouser:
+
+$3
+
+Gif the account dis *na* belang til ye, follae this link
+tae cancel the wab-mail address confirmation:
+
+$5
+
+This confirmation code will die oan $4.',
 
 # Delete conflict
 'deletedwhileediting' => '<strong>Warnishment:</strong> This page wis delytit efter ye stairted eeditin!',
@@ -2348,8 +3347,8 @@ Please confirm that ye reallie want tae recræft this page.',
 
 # Watchlist editing tools
 'watchlisttools-view' => 'View relevant changes',
-'watchlisttools-edit' => 'View an eidit watchleet',
-'watchlisttools-raw' => 'Edit raw watchleet',
+'watchlisttools-edit' => 'See n eedit watchleet',
+'watchlisttools-raw' => 'Eedit raw watchleet',
 
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'Wairnin:\'\'\' Default sort key "$2" overrides earlier default sort key "$1".',
@@ -2382,6 +3381,10 @@ Please confirm that ye reallie want tae recræft this page.',
 'tags-edit' => 'eedit',
 
 # HTML forms
+'htmlform-invalid-input' => 'Thau ar proablems wi some o yer input.',
+'htmlform-int-toolow' => 'The value that ye speceefied is ablo the smaaest o $1.',
+'htmlform-int-toohigh' => 'The value that ye speceefied is abuin the mucklest o $1.',
+'htmlform-required' => 'This value is needit.',
 'htmlform-selectorother-other' => 'Ither',
 
 );
index e216380..36b883e 100644 (file)
@@ -229,7 +229,6 @@ $messages = array(
 'tog-ccmeonemails' => 'මා විසින් අනෙකුත් පරිශීලකයන් හට යවන විද්‍යුත්-තැපෑලයන්හි පිටපත් මාහට එවන්න',
 'tog-diffonly' => '“වෙනස් ”පදයන්ට පහළින්, පිටුවල අන්තර්ගතය   නොපෙන්වන්න',
 'tog-showhiddencats' => 'සැඟවුනු ප්‍රවර්ග පෙන්වන්න',
-'tog-noconvertlink' => 'සබැඳියන්ගේ ශීර්ෂ පෙරැළීම අක්‍රීය කරන්න',
 'tog-norollbackdiff' => 'පුනරාවර්තනයක් කිරීමෙන් පසු වෙනස්වීම් අත්හරින්න',
 'tog-useeditwarning' => 'මා සංස්කරණ පිටුවක් සුරකිනු නොලැබූ වෙනස්කිරීම් සමඟ අතහැර යන විට අවවාද කරන්න',
 'tog-prefershttps' => 'සැම විටම ඇතුළු වීමේදී ආරක්ෂාකාරී ජාලයක් භාවිතා කරන්න',
index 63ebd3b..d6d1f89 100644 (file)
@@ -320,7 +320,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Posielať mi kópie mojich emailov, ktoré pošlem ostatným používateľom',
 'tog-diffonly' => 'Nezobrazovať obsah stránky pod rozdielmi',
 'tog-showhiddencats' => 'Zobraziť skryté kategórie',
-'tog-noconvertlink' => 'Vypnúť konverziu názvov odkazov',
 'tog-norollbackdiff' => 'Vynechať rozdiel po vykonaní rollbacku',
 'tog-useeditwarning' => 'Upozorniť ma, keď opúšťam upravovaciu stránku s neuloženými zmenami',
 'tog-prefershttps' => 'Po prihlásení používať vždy zabezpečené pripojenie',
index d409c83..9d6e7de 100644 (file)
@@ -2441,7 +2441,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 ali vključujejo stran, ki jo nameravate izbrisati.",
+'deleting-backlinks-warning' => "'''Opozorilo:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Druge strani]] se povezujejo na ali vključujejo stran, ki jo nameravate izbrisati.",
 
 # Rollback
 'rollback' => 'Vrni spremembe',
index decaa09..132c506 100644 (file)
@@ -431,7 +431,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Пошаљи ми копије е-порука које пошаљем другим корисницима',
 'tog-diffonly' => 'Не приказуј садржај странице испод разлика',
 'tog-showhiddencats' => 'Прикажи скривене категорије',
-'tog-noconvertlink' => 'Онемогући претварање наслова веза',
 'tog-norollbackdiff' => 'Изостави разлику након извршеног враћања',
 'tog-useeditwarning' => 'Упозори ме када напуштам страницу са несачуваним променама',
 'tog-prefershttps' => 'Увек користи сигурну конекцију када сам пријављен.',
index 4449d99..29339f6 100644 (file)
@@ -342,7 +342,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Pošalji mi primerke e-poruka koje pošaljem drugim korisnicima',
 'tog-diffonly' => 'Ne prikazuj sadržaj stranice ispod razlika',
 'tog-showhiddencats' => 'Prikaži skrivene kategorije',
-'tog-noconvertlink' => 'Onemogući pretvaranje naslova veza',
 'tog-norollbackdiff' => 'Izostavi razliku nakon izvršenog vraćanja',
 'tog-useeditwarning' => 'Upozori me kada napuštam stranicu sa nesačuvanim promenama',
 'tog-prefershttps' => 'Uvek koristi sigurnu konekciju kada sam prijavljen.',
index 687b18c..8c8326c 100644 (file)
@@ -164,7 +164,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Kirimkeun ogé salinan surélékna ka alamat kuring',
 'tog-diffonly' => 'Ulah némbongkeun eusi kaca di handapeun béda éditan',
 'tog-showhiddencats' => 'Témbongkeun kategori nyumput',
-'tog-noconvertlink' => 'Non-aktifkeun konvérsi judul tumbu',
 'tog-norollbackdiff' => 'Liwat béda sanggeus malikkeun révisi',
 'tog-useeditwarning' => 'Béjaan kuring lamun ninggalkeun kaca édit anu parobahanana can disimpen',
 
index 0bba5e0..65951d1 100644 (file)
@@ -362,7 +362,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Skicka kopior till mig av e-post jag skickar till andra användare',
 'tog-diffonly' => 'Visa inte sidinnehåll under diffar',
 'tog-showhiddencats' => 'Visa dolda kategorier',
-'tog-noconvertlink' => 'Stäng av konvertering av sidtitlar',
 'tog-norollbackdiff' => 'Visa inte diff efter tillbakarullning',
 'tog-useeditwarning' => 'Varna mig om jag lämnar en redigeringssida där jag gjort ändringar men inte sparat.',
 'tog-prefershttps' => 'Använd alltid en säker anslutning när jag är inloggad',
@@ -2551,7 +2550,8 @@ Se $2 för noteringar om de senaste raderingarna.',
 'delete-edit-reasonlist' => 'Redigera anledningar för radering',
 'delete-toobig' => 'Denna sida har en lång redigeringshistorik med mer än $1 {{PLURAL:$1|sidversion|sidversioner}}. Borttagning av sådana sidor har begränsats för att förhindra oavsiktliga driftstörningar på {{SITENAME}}.',
 'delete-warning-toobig' => 'Denna sida har en lång redigeringshistorik med mer än $1 {{PLURAL:$1|sidversion|sidversioner}}. Att radera sidan kan skapa problem med hanteringen av databasen på {{SITENAME}}; var försiktig.',
-'deleting-backlinks-warning' => "'''Varning:''' Andra sidor länkar till eller inkluderar sidan som du är på väg att radera.",
+'deleting-backlinks-warning' => "'''Varning:'''
+[[Special:WhatLinksHere/{{FULLPAGENAME}}|Andra sidor]] länkar till eller inkluderar sidan som du är på väg att radera.",
 
 # Rollback
 'rollback' => 'Rulla tillbaka ändringar',
@@ -3139,7 +3139,7 @@ Vänligen använd förhandsgranskningsknappen innan du sparar.',
 'tooltip-n-currentevents' => 'Hitta bakgrundsinformation om aktuella händelser',
 'tooltip-n-recentchanges' => 'Lista över senaste ändringar i wikin',
 'tooltip-n-randompage' => 'Gå till en slumpmässigt vald sida',
-'tooltip-n-help' => 'Platsen för att hitta',
+'tooltip-n-help' => 'Platsen där du hittar hjälp',
 'tooltip-t-whatlinkshere' => 'Lista över alla wikisidor som länkar hit',
 'tooltip-t-recentchangeslinked' => 'Visa senaste ändringarna av sidor som den här sidan länkar till',
 'tooltip-feed-rss' => 'RSS-flöde för den här sidan',
index e36071a..2f3ca8b 100644 (file)
@@ -160,7 +160,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Nitumie nakala ya barua pepe nitakazo tuma kwa watumiaji wengine',
 'tog-diffonly' => 'Usionyeshe yaliyomo kwenye ukurasa chini ya faili za diff',
 'tog-showhiddencats' => 'Onyesha jamii zilizofichwa',
-'tog-noconvertlink' => 'Lemaza kiungo cha jina la badiliko',
 'tog-norollbackdiff' => 'Ondoa faili za diff baada ya kufanyakazi ya kurejesha',
 'tog-useeditwarning' => 'Unionyeshe ilani ninapotaka kutoka kwenye ukurasa ninouhariri, bila kuhifadhi mabadiliko',
 
index bad1020..79faa58 100644 (file)
@@ -691,11 +691,11 @@ $2',
 మీరు దాన్ని ఇస్తే, వాడుకరి పనుల శ్రేయస్సు ఆ పేరుకు ఆపాదించబడుతుంది.',
 'pt-login' => 'లాగినవండి',
 'pt-createaccount' => 'ఖాతా సృష్టించు',
-'pt-userlogout' => 'నిషà±\8dà°\95à±\8dరమిà°\82à°\9aà±\81',
+'pt-userlogout' => 'లాà°\97à±\8cà°\9fà°µà°\82à°¡à°¿',
 
 # Email sending
 'php-mail-error-unknown' => 'PHP యొక్క mail() ఫంక్షన్‍లో ఏదో తెలియని లోపం దొర్లింది',
-'user-mail-no-addy' => 'ఈ-మెయిలు చిరునామాని ఇవ్వకుండానే ఈ-మెయిలు పంపడానికి ప్రయత్నించారు.',
+'user-mail-no-addy' => 'ఈమెయిలు చిరునామా ఇవ్వకుండానే ఈమెయిలు పంపడానికి ప్రయత్నించారు.',
 'user-mail-no-body' => 'ఈమెయిలును ఖాళీగానో, మరీ తక్కువ విషయంతోనో పంపేందుకు ప్రయత్నించారు.',
 
 # Change password dialog
@@ -900,9 +900,9 @@ $2
 మీ మార్పులు ఇంకా భద్రమవ్వలేదు!',
 'continue-editing' => 'సరిదిద్దే చోటుకి వెళ్ళండి',
 'previewconflict' => 'భద్రపరచిన తరువాత పై టెక్స్ట్‌ ఏరియాలోని టెక్స్టు ఇలాగ కనిపిస్తుంది.',
-'session_fail_preview' => "'''క్షమించండి! సెషను డేటా పోవడం వలన మీ మార్పులను స్వీకరించలేకపోతున్నాం.'''
-దయà°\9aà±\87సి à°®à°³à±\8dà°³à±\80 à°ªà±\8dరయతà±\8dనిà°\82à°\9aà°\82à°¡à°¿.
-à°\85యినా à°ªà°¨à°¿ à°\9cà°°à°\95à±\8dà°\95à°ªà±\8bà°¤à±\87, à°\93సారి [[Special:UserLogout|నిషà±\8dà°\95à±\8dరమిà°\82à°\9aà°¿]] à°®à°³à±\8dà°³à±\80 à°²à±\8bనిà°\95à°¿ à°ªà±\8dà°°à°µà±\87శిà°\82à°\9aà°¿ à°ªà±\8dరయతà±\8dనిà°\82à°\9aà°\82à°¡à°¿.",
+'session_fail_preview' => '<strong>క్షమించండి! సెషను డేటా పోవడం వలన మీ మార్పులను స్వీకరించలేకపోతున్నాం.</strong>
+మళ్ళీ ప్రయత్నించండి.
+à°\85యినా à°ªà°¨à°¿ à°\9cà°°à°\95à±\8dà°\95à°ªà±\8bà°¤à±\87, à°\93సారి [[Special:UserLogout|లాà°\97à±\8cà°\9fà±\88]] à°®à°³à±\8dà°³à±\80 à°²à°¾à°\97ినయి à°ªà±\8dరయతà±\8dనిà°\82à°\9aà°\82à°¡à°¿.',
 'session_fail_preview_html' => "<strong>సారీ! సెషను డేటా పోవడం వలన మీ దిద్దుబాటును ప్రాసెస్ చెయ్యలేలేక పోతున్నాం.</strong>
 
 ''{{SITENAME}}లో ముడి HTML సశక్తమై ఉంది కాబట్టి, జావాస్క్రిప్టు దాడుల నుండి రక్షణగా మునుజూపును దాచేశాం.''
@@ -941,8 +941,8 @@ $2
 'semiprotectedpagewarning' => '<strong>గమనిక:</strong> నమోదయిన వాడుకరులు మాత్రమే మార్పులు చెయ్యగలిగేలా ఈ పేజీకి సంరక్షించారు.
 మీ సమాచారం కోసం చివరి లాగ్ పద్దుని ఇక్కడ ఇస్తున్నాం:',
 'cascadeprotectedwarning' => "'''హెచ్చరిక:''' ఈ పేజీ, కాస్కేడింగు రక్షణలో ఉన్న కింది {{PLURAL:$1|పేజీ|పేజీల్లో}} ఇంక్లూడు అయి ఉంది కాబట్టి, నిర్వాహకులు తప్ప ఇతరులు దిద్దుబాటు చేసే వీలు లేకుండా {{PLURAL:$1|పేజీని|పేజీలను}} లాకు చేసాం:",
-'titleprotectedwarning' => "హెచ్చరిక:  ఈ పేజీని సంరక్షించారు కాబట్టి దీన్ని సృష్టించడానికి [[Special:ListGroupRights|ప్రత్యేక హక్కులు]] ఉండాలి.'''
-మీ సమాచారం కోసం చివరి చిట్టా పద్దుని ఇక్కడ ఇస్తున్నాం:",
+'titleprotectedwarning' => '<strong>హెచ్చరిక: ఈ పేజీని సంరక్షించారు కాబట్టి దీన్ని సృష్టించడానికి [[Special:ListGroupRights|ప్రత్యేక హక్కులు]] ఉండాలి.</strong>
+మీ సమాచారం కోసం చివరి చిట్టా పద్దుని ఇక్కడ ఇస్తున్నాం:',
 'templatesused' => 'ఈ పేజీలో వాడిన {{PLURAL:$1|మూస|మూసలు}}:',
 'templatesusedpreview' => 'ఈ మునుజూపులో వాడిన {{PLURAL:$1|మూస|మూసలు}}:',
 'templatesusedsection' => 'ఈ విభాగంలో వాడిన {{PLURAL:$1|మూస|మూసలు}}:',
@@ -1099,8 +1099,8 @@ $3 ఇచ్చిన కారణం: ''$2''",
 'revdelete-show-file-submit' => 'అవును',
 'revdelete-selected' => '<strong>[[:$1]] యొక్క {{PLURAL:$2|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:</strong>',
 'logdelete-selected' => '<strong>{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:</strong>',
-'revdelete-text' => "'''తొలగించిన కూర్పులు, ఘటనలూ పేజీ చరితం లోనూ, చిట్టాలలోనూ కనిపిస్తాయి, కానీ వాటిలో కొన్ని భాగాలు సార్వజనికంగా అందుబాటులో ఉండవు.'''
-{{SITENAME}} à°²à±\8bని à°\87తర à°¨à°¿à°°à±\8dవాహà°\95à±\81à°²à±\81 à°\86 à°¦à°¾à°\9aà°¿à°¨ à°­à°¾à°\97ాలనà±\81 à°\9aà±\82à°¡à°\97లరà±\81 à°®à°°à°¿à°¯à±\81 (à°\8fవిధమà±\88à°¨ à°¨à°¿à°¯à°\82à°¤à±\8dరణలà±\82 à°²à±\87à°\95à±\81à°\82à°\9fà±\87) à°\87à°¦à±\87 à°\85à°\82తరవరà±\8dతి à°¦à±\8dవారా à°µà°¾à°\9fిని à°ªà±\81నసà±\8dథాపిà°\82à°\9aà°\97లరà±\81.",
+'revdelete-text' => '<strong>తొలగించిన కూర్పులు, ఘటనలూ పేజీ చరితం లోనూ, చిట్టాలలోనూ కనిపిస్తాయి, కానీ వాటిలో కొన్ని భాగాలు సార్వజనికంగా అందుబాటులో ఉండవు.</strong>
+{{SITENAME}} à°²à±\8bని à°\87తర à°¨à°¿à°°à±\8dవాహà°\95à±\81à°²à±\81 à°\86 à°¦à°¾à°\9aà°¿à°¨ à°­à°¾à°\97ాలనà±\81 à°\9aà±\82à°¡à°\97లరà±\81 à°®à°°à°¿à°¯à±\81 (à°\87తర à°¨à°¿à°¯à°\82à°¤à±\8dరణలà±\87à°®à±\80 à°²à±\87à°\95à°ªà±\8bà°¤à±\87) à°\85à°¦à±\87 à°\85à°\82తరవరà±\8dతి à°¦à±\8dవారా à°µà°¾à°\9fిని à°ªà±\81నసà±\8dథాపిà°\82à°\9aà°\97లరà±\81.',
 'revdelete-confirm' => 'మీరు దీన్ని చేయగోరుతున్నారనీ, దీని పర్యవసానాలు మీకు తెలుసుననీ, దీన్ని సంబంధిత [[{{MediaWiki:Policy-url}}|విధానం]] ప్రకారమే చేస్తున్నారనీ నిర్ధారించండి.',
 'revdelete-suppress-text' => 'అణచివేతను కింది సందర్భాలలో <strong>మాత్రమే</strong> వాడాలి:
 * బురదజల్లే ధోరణిలో ఉన్న సమాచారం
@@ -1243,7 +1243,7 @@ $1",
 'showingresults' => '#<strong>$2</strong> నుండి మొదలుకొని {{PLURAL:$1|</strong>ఒక్క</strong> ఫలితాన్ని|<strong>$1</strong> ఫలితాలను}} కింద చూపించాం.',
 'showingresultsinrange' => '#<strong>$2</strong> నుండి  #<strong>$3</strong> వరకు ఉన్న ఫలితాల శ్రేణి నుండి {{PLURAL:$1|<strong>ఒక్క</strong> ఫలితం|<strong>$1</strong> ఫలితాల}} వరకు కింద చూపించాం.',
 'showingresultsnum' => '#<strong>$2</strong> నుండి మొదలుకొని {{PLURAL:$3|<strong>ఒక్క</strong> ఫలితాన్ని|<strong>$3</strong> ఫలితాలను}} కింద చూపించాం.',
-'showingresultsheader' => "'''$4''' కొరకై {{PLURAL:$5|'''$3'''లో '''$1''' ఫలితం|'''$3''' ఫలితాల్లో '''$1 - $2''' వరకు}}",
+'showingresultsheader' => '<strong>$4</strong> కోసం వచ్చిన ఫలితాలు {{PLURAL:$5|<strong>$3</strong> లో <strong>$1</strong>|</strong>$3</strong> లో <strong>$1 - $2</strong>}}',
 'search-nonefound' => 'మీ ప్రశ్నకి సరిపోలిన ఫలితాలేమీ లేవు.',
 'powersearch-legend' => 'నిశితమైన అన్వేషణ',
 'powersearch-ns' => 'ఈ పేరుబరుల్లో వెతుకు:',
@@ -1616,9 +1616,9 @@ HTML ట్యాగులను ఒకసారి సరిచూసుకో
 'upload_directory_missing' => 'ఎక్కింపు డైరెక్టరీ ($1) కనబడలేదు. పైగా వెబ్ సర్వర్ దాన్ని సృష్టించలేకపోయింది.',
 'upload_directory_read_only' => 'ఎక్కింపు డైరెక్టరీ ($1), వెబ్‌సర్వరు రాసేందుకు అనుకూలంగా లేదు.',
 'uploaderror' => 'ఎక్కింపు లోపం',
-'upload-recreate-warning' => "'''హెచ్చరిక: ఆ పేరుతో ఉన్న దస్త్రాన్ని తరలించి లేదా తొలగించి ఉన్నారు.'''
+'upload-recreate-warning' => '<strong>హెచ్చరిక: ఆ పేరుతో ఉన్న దస్త్రాన్ని తరలించడం లేదా తొలగించడం జరిగింది.</strong>
 
-à°®à±\80 à°¸à±\8cà°\95à°°à±\8dà°¯à°\82 à°\95à±\8bà°¸à°\82 à°\88 à°ªà±\81à°\9f à°¯à±\8aà°\95à±\8dà°\95 à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81 à°®à°°à°¿à°¯à±\81 à°¤à°°à°²à°¿à°\82à°ªà±\81 à°\9aà°¿à°\9fà±\8dà°\9fాని à°\87à°\95à±\8dà°\95à°¡ à°\87à°¸à±\8dà°¤à±\81à°¨à±\8dనాà°\82:",
+à°®à±\80 à°¸à±\8cà°\95à°°à±\8dà°¯à°\82 à°\95à±\8bà°¸à°\82 à°\88 à°ªà±\87à°\9cà±\80 à°¯à±\8aà°\95à±\8dà°\95 à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81 à°®à°°à°¿à°¯à±\81 à°¤à°°à°²à°¿à°\82à°ªà±\81 à°\9aà°¿à°\9fà±\8dà°\9fాని à°\87à°\95à±\8dà°\95à°¡ à°\87à°¸à±\8dà°¤à±\81à°¨à±\8dనాà°\82:',
 'uploadtext' => "దస్త్రాలను ఎక్కించడానికి ఈ కింది ఫారాన్ని ఉపయోగించండి.
 గతంలో ఎక్కించిన దస్త్రాలను చూడడానికి లేదా వెతకడానికి [[Special:FileList|ఎక్కించిన దస్త్రాల యొక్క జాబితా]]కు వెళ్ళండి, (పునః)ఎక్కింపులు [[Special:Log/upload|ఎక్కింపుల చిట్టా]] లోనూ తొలగింపులు [[Special:Log/delete|తొలగింపుల చిట్టా]] లోనూ కూడా నమోదవుతాయి.
 
@@ -1690,19 +1690,19 @@ $2 {{PLURAL:$3|అనేది వాడదగ్గ ఫైలు రకం|అ
 మీరు ఇప్పటికీ ఈ ఫైలుని ఎగుమతి చేయాలనుకుంటే, వెనక్కి వెళ్ళి మరో పేరుతో ఎగుమతి చేయండి. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'ఈ పేరుతో ఇప్పటికే ఒక ఫైలు అందరి ఫైళ్ళ ఖజానాలో ఉంది.
 ఇప్పటికీ మీ ఫైలుని ఎగుమతి చేయాలనుకుంటే, వెనక్కివెళ్ళి మరో పేరు వాడండి. [[File:$1|thumb|center|$1]]',
-'file-exists-duplicate' => 'à°\88 à°«à±\88à°²à±\81 à°\95à±\8dà°°à°¿à°\82à°¦ à°ªà±\87à°°à±\8dà°\95à±\8aà°¨à±\8dà°¨ {{PLURAL:$1|à°«à±\88à°²à±\81à°\95à°¿|à°«à±\88à°³à±\8dà°³à°\95à°¿}} నకలు:',
-'file-deleted-duplicate' => 'à°\97à°¤à°\82à°²à±\8b à°\88 à°«à±\88à°²à±\81 à°²à°¾à°\82à°\9fà°¿à°¦à±\87 à°\92à°\95 à°«à±\88à°²à±\81ని ([[:$1]]) à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°¿à°µà±\81à°¨à±\8dనారà±\81. à°®à±\80à°°à±\81 à°¦à±\80à°¨à±\8dని à°\8eà°\97à±\81మతి à°\9aà±\87à°¸à±\87à°®à±\81à°\82à°¦à±\81 à°\86 à°«à±\88à°²à±\81 à°¯à±\8aà°\95à±\8dà°\95 à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81 à°\9aà°°à°¿à°¤à±\8dరని à°\92à°\95à±\8dà°\95సారి చూడండి.',
+'file-exists-duplicate' => 'à°\88 à°«à±\88à°²à±\81 à°\95à±\8dà°°à°¿à°\82à°¦ à°ªà±\87à°°à±\8dà°\95à±\8aà°¨à±\8dà°¨ {{PLURAL:$1|à°«à±\88à°²à±\81à°\95à±\81|à°«à±\88à°³à±\8dà°³à°\95à±\81}} నకలు:',
+'file-deleted-duplicate' => 'à°\97à°¤à°\82à°²à±\8b à°\88 à°«à±\88à°²à±\81 à°²à°¾à°\82à°\9fà°¿à°¦à±\87 à°\92à°\95 à°«à±\88à°²à±\81ని ([[:$1]]) à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°¿à°µà±\81à°¨à±\8dనారà±\81. à°®à±\80à°°à±\81 à°¦à±\80à°¨à±\8dని à°¤à°¿à°°à°¿à°\97à°¿ à°\8eà°\95à±\8dà°\95à°¿à°\82à°\9aà±\87 à°®à±\81à°\82à°¦à±\81 à°\86 à°«à±\88à°²à±\81 à°¯à±\8aà°\95à±\8dà°\95 à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81 à°\9aà°°à°¿à°¤à±\8dà°°à°¨à±\81 చూడండి.',
 'file-deleted-duplicate-notitle' => 'సరిగ్గా ఈ ఫైలునే పోలిన మరో ఫైలును గతంలో తొలగించాం. దాని పేరును అణచిపెట్టాం.
 దాన్ని తిరిగి ఎక్కించే ముందు, పరిస్థితిని సమీక్షించేందుకు గాను, అణచబడిన ఫైళ్ళ డేటాను చూడగలిగే వారిని అడగండి.',
 'uploadwarning' => 'ఎక్కింపు హెచ్చరిక',
-'uploadwarning-text' => 'à°«à±\88à°²à±\81 à°µà°¿à°µà°°à°£à°¨à°¿ à°\95à±\8dà°°à°¿à°\82à°¦ à°®à°¾à°°à±\8dà°\9aà°¿ మళ్ళీ ప్రయత్నించండి.',
+'uploadwarning-text' => 'à°\95à°¿à°\82à°¦ à°\88 à°«à±\88à°²à±\81 à°µà°¿à°µà°°à°£à°¨à±\81 à°®à°¾à°°à±\8dà°\9aà°¿, మళ్ళీ ప్రయత్నించండి.',
 'savefile' => 'దస్త్రాన్ని భద్రపరచు',
 'uploadedimage' => '"[[$1]]"ని ఎక్కించారు',
 'overwroteimage' => '"[[$1]]" యొక్క కొత్త కూర్పును ఎక్కించారు',
-'uploaddisabled' => 'à°\95à±\8dషమిà°\82à°\9aà°\82à°¡à°¿, à°\85à°ªà±\8dâ\80\8cà°²à±\8bà°¡à±\81 à°\9aà±\86à°¯à±\8dయడà°\82 à°ªà±\8dà°°à°¸à±\8dà°¤à±\81తానిà°\95à°¿ à°\86పబడిà°\82ది',
+'uploaddisabled' => 'à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªà±\81à°²à±\81 à°\85à°\9aà±\87తనà°\82 à°\9aà±\86à°¯à±\8dయబడà±\8dడాయి.',
 'copyuploaddisabled' => 'URL ద్వారా ఎక్కింపుని అశక్తం చేసారు.',
 'uploadfromurl-queued' => 'మీ ఎక్కింపు వరుసలో ఉంది.',
-'uploaddisabledtext' => 'à°«à±\88à°³à±\8dà°³ à°\8eà°\97à±\81మతులను అచేతనం చేసారు.',
+'uploaddisabledtext' => 'à°«à±\88à°³à±\8dà°³ à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªులను అచేతనం చేసారు.',
 'php-uploaddisabledtext' => 'PHPలో ఫైలు ఎక్కింపులు అచేతనమై ఉన్నాయి.
 దయచేసి file_uploads అమరికని చూడండి.',
 'uploadscripted' => 'ఈ ఫైల్లో HTML కోడు గానీ స్క్రిప్టు కోడు గానీ ఉంది. వెబ్ బ్రౌజరు దాన్ని పొరపాటుగా అనువదించే అవకాశం ఉంది.',
@@ -1719,9 +1719,9 @@ Java ఫైళ్ళ వలన భద్రతకు తూట్లు పడ
 'upload-description' => 'దస్త్రపు వివరణ',
 'upload-options' => 'ఎక్కింపు వికల్పాలు',
 'watchthisupload' => 'ఈ ఫైలుని గమనించు',
-'filewasdeleted' => 'à°\87à°¦à±\87 à°ªà±\87à°°à±\81à°¤à±\8b à°\89à°¨à±\8dà°¨ à°\92à°\95 à°«à±\88à°²à±\81à°¨à±\81 à°\97à°¤à°\82à°²à±\8b à°\85à°ªà±\8dà°²à±\8bà°¡à±\81 à°\9aà±\87సారà±\81, à°¤à°°à±\81వాతి à°\95ాలà°\82à°²à±\8b à°¦à°¾à°¨à±\8dని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aారà±\81. à°¦à°¾à°¨à±\8dà°¨à±\80 à°®à°³à±\8dà°³à±\80 à°\85à°ªà±\8dà°²à±\8bà°¡à±\81 à°\9aà±\87à°¸à±\87 à°®à±\81à°\82à°¦à±\81, à°®à±\80à°°à±\81 $1 à°¨à±\81 à°\9aà±\82డాలి',
-'filename-bad-prefix' => "మీరు అప్లోడు చేస్తున్న ఫైలు పేరు '''\"\$1\"''' తో మొదలవుతుంది. ఇది డిజిటల్ కెమెరాలు ఆటోమాటిగ్గా ఇచ్చే పేరు. మరింత వివరంగా ఉండే పేరును ఎంచుకోండి.",
-'upload-success-subj' => 'à°\85à°ªà±\8dâ\80\8cà°²à±\8bà°¡à±\81 à°\9cయపà±\8dà°°à°¦à°\82',
+'filewasdeleted' => 'à°\87à°¦à±\87 à°ªà±\87à°°à±\81à°¤à±\8b à°\89à°¨à±\8dà°¨ à°\92à°\95 à°«à±\88à°²à±\81à°¨à±\81 à°\97à°¤à°\82à°²à±\8b à°\8eà°\95à±\8dà°\95à°¿à°\82à°\9aారà±\81. à°¤à°°à±\81వాతి à°\95ాలà°\82à°²à±\8b à°¦à°¾à°¨à±\8dని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aారà±\81. à°¦à°¾à°¨à±\8dà°¨à±\80 à°®à°³à±\8dà°³à±\80 à°\8eà°\95à±\8dà°\95à°¿à°\82à°\9aà±\87 à°®à±\81à°\82à°¦à±\81, à°®à±\80à°°à±\81 $1 à°¨à±\81 à°\9aà±\82డాలి.',
+'filename-bad-prefix' => 'మీరు అప్లోడు చేస్తున్న ఫైలు పేరు <strong>"$1"</strong> తో మొదలవుతుంది. ఇది డిజిటల్ కెమెరాలు ఆటోమాటిగ్గా ఇచ్చే పేరు. మరింత వివరంగా ఉండే పేరును ఎంచుకోండి.',
+'upload-success-subj' => 'విà°\9cయవà°\82తమà±\88à°¨ à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªà±\81',
 'upload-success-msg' => '[$2] నుండి మీ ఎక్కింపు సఫలమైంది. అది ఇక్కడ అందుబాటులో ఉంది: [[:{{ns:file}}:$1]]',
 'upload-failure-subj' => 'ఎక్కింపు సమస్య',
 'upload-failure-msg' => '[$2] నుండి మీ ఎక్కింపుతో ఏదో సమస్య ఉంది:
@@ -1734,8 +1734,8 @@ $1',
 'upload-proto-error-text' => 'రిమోట్ అప్‌లోడులు చెయ్యాలంటే URLలు <code>http://</code> లేదా <code>ftp://</code> తో మొదలు కావాలి.',
 'upload-file-error' => 'అంతర్గత లోపం',
 'upload-file-error-text' => 'సర్వరులో తాత్కాలిక ఫైలును సృష్టించబోగా ఏదో అంతర్గత లోపం తలెత్తింది. ఎవరైనా [[Special:ListUsers/sysop|నిర్వాహకుడిని]] సంప్రదించండి.',
-'upload-misc-error' => 'à°¤à±\86లియని à°\85à°ªà±\8dâ\80\8cà°²à±\8bà°¡ు లోపం',
-'upload-misc-error-text' => 'à°\85à°ªà±\8dâ\80\8cà°²à±\8bà°¡à±\81 à°\9aà±\87à°¸à±\8dà°¤à±\82à°\82à°¡à°\97à°¾ à°\8fà°¦à±\8b à°¤à±\86లియని à°²à±\8bà°ªà°\82 à°¤à°²à±\86à°¤à±\8dతిà°\82ది. URL à°¸à°°à±\88నదà±\87నని, à°\85ది à°\85à°\82à°¦à±\81బాà°\9fà±\81à°²à±\8bà°¨à±\87 à°\89à°\82దని à°¨à°¿à°°à±\8dధారిà°\82à°\9aà±\81à°\95à±\81ని à°®à°³à±\8dà°³à±\80 à°ªà±\8dరయతà±\8dనిà°\82à°¦ండి. సమస్య అలాగే ఉంటే, సిస్టము నిర్వాహకుని సంప్రదించండి.',
+'upload-misc-error' => 'à°¤à±\86లియని à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªు లోపం',
+'upload-misc-error-text' => 'à°\8eà°\95à±\8dà°\95à°¿à°¸à±\8dà°¤à±\82à°\82à°¡à°\97à°¾ à°\8fà°¦à±\8b à°¤à±\86లియని à°²à±\8bà°ªà°\82 à°¤à°²à±\86à°¤à±\8dతిà°\82ది. URL à°¸à°°à±\88నదà±\87నని, à°\85ది à°\85à°\82à°¦à±\81బాà°\9fà±\81à°²à±\8bà°¨à±\87 à°\89à°\82దని à°¨à°¿à°°à±\8dధారిà°\82à°\9aà±\81à°\95à±\81ని à°®à°³à±\8dà°³à±\80 à°ªà±\8dరయతà±\8dనిà°\82à°\9aండి. సమస్య అలాగే ఉంటే, సిస్టము నిర్వాహకుని సంప్రదించండి.',
 'upload-too-many-redirects' => 'ఆ URLలో చాలా దారిమార్పులు ఉన్నాయి',
 'upload-unknown-size' => 'సైజు తెలియదు',
 'upload-http-error' => 'ఒక HTTP పొరపాటు జరిగింది: $1',
@@ -1754,11 +1754,11 @@ $1',
 'backend-fail-store' => '"$1" ఫైలును "$2" వద్ద భద్రపరచలేకపోయాం.',
 'backend-fail-copy' => '"$1" నుండి "$2" కి ఫైలును కాపీ చెయ్యలేకపోయాం.',
 'backend-fail-move' => '"$1" నుండి "$2" కి ఫైలును తరలించలేకపోయాం.',
-'backend-fail-opentemp' => 'తాతà±\8dà°\95ాలిà°\95 à°¦à°¸à±\8dà°¤à±\8dరానà±\8dని à°¤à±\86రవలà±\87à°\95à°ªà±\8bà°¤à±\81à°¨à±\8dà°¨ాం.',
+'backend-fail-opentemp' => 'తాతà±\8dà°\95ాలిà°\95 à°¦à°¸à±\8dà°¤à±\8dరానà±\8dని à°¤à±\86రవలà±\87à°\95à°ªà±\8bà°¯ాం.',
 'backend-fail-writetemp' => 'తాత్కాలిక ఫైలులో రాయలేకపోయాం.',
 'backend-fail-closetemp' => 'తాత్కాలిక దస్త్రాన్ని మూసివేయలేకపోయాం.',
-'backend-fail-read' => '$1 దస్త్రము చదువలేకపోతిమి.',
-'backend-fail-create' => '$1 ఫైలులో రాయలేకున్నాం.',
+'backend-fail-read' => 'దస్త్రము "$1" ని చదువలేకపోయాం.',
+'backend-fail-create' => 'ఫైలు "$1" లో రాయలేకపోయాం.',
 'backend-fail-maxsize' => '"$1" ఫైలు {{PLURAL:$2|ఒక బైట్|$2 బైట్ల}} కంటే పెద్దది కావడం చేత దాన్ని రాయలేకపోయాం.',
 'backend-fail-readonly' => 'స్టోరేజి బ్యాక్‍ఎండ్ "$1" ప్రస్తుతం రీడ్-ఓన్లీ స్థితిలో ఉంది. దానికి కారణం: "<em>$2</em>"',
 'backend-fail-synced' => 'ఫైలు "$1" అంతర్గత స్టోరేజి బ్యాక్‍ఎండ్లలో అసమ స్థితిలో ఉంది',
@@ -1810,7 +1810,7 @@ $1',
 https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'img-auth-notindir' => 'అభ్యర్థించిన తోవ ఎక్కింపు సంచయంలో లేదు.',
 'img-auth-badtitle' => '"$1" నుండి సరైన శీర్షికని నిర్మించలేకపోయాం.',
-'img-auth-nologinnWL' => 'à°®à±\80à°°à±\81 à°ªà±\8dà°°à°µà±\87శిà°\82à°\9aà°¿ à°²à±\87à°°à±\81 à°®à°°à°¿à°¯à±\81 "$1" అనేది తెల్లజాబితాలో లేదు.',
+'img-auth-nologinnWL' => 'à°®à±\80à°°à±\81 à°²à°¾à°\97ినయి à°²à±\87à°°à±\81. à°ªà±\88à°\97à°¾ "$1" అనేది తెల్లజాబితాలో లేదు.',
 'img-auth-nofile' => '"$1" అనే ఫైలు ఉనికిలో లేదు.',
 'img-auth-isdir' => 'మీరు "$1" అనే సంచయాన్ని చూడడానికి ప్రయత్నిస్తున్నారు.
 ఫైళ్ళను చూడడానికి మాత్రమే అనుమతివుంది.',
@@ -1822,18 +1822,18 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'img-auth-bad-query-string' => 'ఈ URL లో తప్పుడు క్వెరీ స్ట్రింగు ఉంది.',
 
 # HTTP errors
-'http-invalid-url' => 'తపà±\8dà°ªà±\81à°¡à±\81 URL: $1',
+'http-invalid-url' => 'à°\9aà±\86à°²à±\8dలని URL: $1',
 'http-invalid-scheme' => '"$1" ప్రణాళికలో ఉన్న URLలకు తోడ్పాటులేదు',
 'http-request-error' => 'తెలియని లోపం వల్ల HTTP అభ్యర్థన విఫలమైంది.',
 'http-read-error' => 'HTTP చదువుటలో పొరపాటు.',
 'http-timed-out' => 'HTTP అభ్యర్థనకి కాలం చెల్లింది.',
-'http-curl-error' => 'URLని à°¤à±\87వడà°\82à°²à±\8b à°ªà±\8aరపాà°\9fà±\81: $1',
+'http-curl-error' => 'URLని à°¤à±\87వడà°\82à°²à±\8b à°²à±\8bà°ªà°\82: $1',
 'http-bad-status' => 'HTTP అభ్యర్ధన చేస్తున్నప్పుడు సమస్య ఉంది: $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL కు వెళ్ళలేకపోయాం',
 'upload-curl-error6-text' => 'ఇచ్చిన URL కు వెళ్ళలేకపోయాం. URL సరైనదేనని, సైటు పనిచేస్తూనే ఉన్నదనీ నిర్ధారించుకోండి.',
-'upload-curl-error28' => 'à°\85à°ªà±\8dà°²à±\8bà°¡ు కాలాతీతం',
+'upload-curl-error28' => 'à°\8eà°\95à±\8dà°\95à°¿à°\82à°ªు కాలాతీతం',
 'upload-curl-error28-text' => 'చాలా సమయం తరువాత కూడా సైటు స్పందించలేదు. సైటు పనిచేస్తూనే ఉందని నిర్ధారించుకుని, కాస్త ఆగి మళ్ళీ ప్రయత్నించండి. రద్దీ కాస్త తక్కువగా ఉన్నపుడు ప్రయత్నిస్తే నయం.',
 
 'license' => 'లైసెన్సు వివరాలు:',
@@ -1879,15 +1879,15 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'filehist-missing' => 'ఫైలు కనిపించుటలేదు',
 'imagelinks' => 'దస్త్రపు వాడుక',
 'linkstoimage' => 'కింది {{PLURAL:$1|పేజీ|$1 పేజీల}} నుండి ఈ ఫైలుకి లింకులు ఉన్నాయి:',
-'linkstoimage-more' => '$1 కంటే ఎక్కువ {{PLURAL:$1|పేజీలు|పేజీలు}} ఈ ఫైలుకి లింకుని కలిగివున్నాయి.
-à°\88 à°«à±\88à°²à±\81à°\95à°¿ à°²à°¿à°\82à°\95à±\81à°¨à±\8dà°¨ {{PLURAL:$1|à°®à±\8aà°¦à°\9fà°¿ à°\92à°\95 పేజీని|మొదటి $1 పేజీలను}} ఈ క్రింది జాబితా చూపిస్తుంది.
+'linkstoimage-more' => 'ఈ ఫైలుకు $1 కంటే ఎక్కువ {{PLURAL:$1|పేజీ లింకై ఉంది|పేజీలు లింకై ఉన్నాయి}}.
+à°\88 à°«à±\88à°²à±\81à°\95à°¿ à°®à°¾à°¤à±\8dà°°à°®à±\87 à°²à°¿à°\82à°\95à±\88 à°\89à°¨à±\8dà°¨ {{PLURAL:$1|à°®à±\8aà°¦à°\9fà°¿ పేజీని|మొదటి $1 పేజీలను}} ఈ క్రింది జాబితా చూపిస్తుంది.
 [[Special:WhatLinksHere/$2|పూర్తి జాబితా]] కూడా ఉంది.',
 'nolinkstoimage' => 'ఈ ఫైలుకు లింకున్న పేజీలు లేవు.',
-'morelinkstoimage' => 'à°\88 à°«à±\88à°²à±\81à°\95à±\81 à°\87à°\82à°\95à°¾ [[Special:WhatLinksHere/$1| à°²à°¿à°\82à°\95à±\81లనà±\81]] à°\9aà±\82à°¡ు',
+'morelinkstoimage' => 'à°\88 à°«à±\88à°²à±\81à°\95à±\81 à°\89à°¨à±\8dà°¨ à°®à°°à°¿à°¨à±\8dని [[Special:WhatLinksHere/$1| à°²à°¿à°\82à°\95à±\81లనà±\81]] à°\9aà±\82పిà°\82à°\9aు',
 'linkstoimage-redirect' => '$1 (దస్త్రపు దారిమార్పు) $2',
 'duplicatesoffile' => 'క్రింద పేర్కొన్న {{PLURAL:$1|ఫైలు ఈ ఫైలుకి నకలు|$1 ఫైళ్ళు ఈ ఫైలుకి నకళ్ళు}} ([[Special:FileDuplicateSearch/$2|మరిన్ని వివరాలు]]):',
-'sharedupload' => 'à°\88 à°«à±\88à°²à±\81 $1 à°¨à±\81à°\82à°¡à°¿ à°®à°°à°¿à°¯à±\81 à°¦à±\80నిని à°\87తర à°ªà±\8dà°°à°¾à°\9cà±\86à°\95à±\8dà°\9fà±\81లలà±\8b à°\95à±\82à°¡à°¾ à°\89పయà±\8bà°\97à°¿à°¸à±\8dà°¤à±\82à°µà±\81ండవచ్చు.',
-'sharedupload-desc-there' => 'à°\88 à°«à±\88à°²à±\81 $1 à°¨à±\81à°\82à°¡à°¿ à°µà°\9aà±\8dà°\9aà°¿à°\82ది à°\85లానà±\87 à°\87తర à°ªà±\8dà°°à°¾à°\9cà±\86à°\95à±\8dà°\9fà±\81లలà±\8b à°\95à±\82à°¡à°¾ à°\89పయà±\8bà°\97à°¿à°¸à±\8dà°¤à±\82 ఉండవచ్చు.
+'sharedupload' => 'à°\88 à°«à±\88à°²à±\81 $1 à°²à±\8bనిది. à°¦à±\80నిని à°\87తర à°ªà±\8dà°°à°¾à°\9cà±\86à°\95à±\8dà°\9fà±\81లలà±\8b à°\95à±\82à°¡à°¾ à°\89పయà±\8bà°\97à°¿à°¸à±\8dà°¤à±\82 à°\89à°\82à°¡à°¿ à°\89ండవచ్చు.',
+'sharedupload-desc-there' => 'à°\88 à°«à±\88à°²à±\81 $1 à°²à±\8bనిది. à°\85లానà±\87 à°\87తర à°ªà±\8dà°°à°¾à°\9cà±\86à°\95à±\8dà°\9fà±\81లలà±\8b à°\95à±\82à°¡à°¾ à°\89పయà±\8bà°\97à°¿à°¸à±\8dà°¤à±\82 à°\89à°\82à°¡à°¿ ఉండవచ్చు.
 మరింత సమాచారం కోసం, దయచేసి [$2 ఫైలు వివరణ పేజీ]ని చూడండి.',
 'sharedupload-desc-here' => 'ఈ ఫైలు $1 లోనిది. దీనిని ఇతర ప్రాజెక్టులు కూడా ఉపయోగిస్తూ ఉండవచ్చు.
 అక్కడ దీని [$2 ఫైలు వివరణ పేజీ] లో ఉన్న వివరణని కింద చూపించాం.',
@@ -1895,8 +1895,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 దాని [$2 ఫైలు వివరణ పేజీ] లోని వివరణను మారుస్తారేమో చూడండి.',
 'sharedupload-desc-create' => 'ఈ ఫైలు $1 లోనిది. దాన్ని ఇతర ప్రాజెక్టులు కూడా వాడుతూ ఉండి ఉండవచ్చు.
 దాని [$2 ఫైలు వివరణ పేజీ] లోని వివరణను మారుస్తారేమో చూడండి.',
-'filepage-nofile' => 'à°\88 à°ªà±\87à°°à±\81à°¤à±\8b à°\8f à°«à±\88à°²à±\81 లేదు.',
-'filepage-nofile-link' => 'à°\88 à°ªà±\87à°°à±\81à°¤à±\8b à°\8f à°«à±\88à°²à±\82 à°²à±\87à°¦à±\81, à°\95ానà±\80 à°®à±\80à°°à±\81 $1 à°¨à±\81 à°\85à°ªà±\8dâ\80\8cà°²à±\8bà°¡à±\8d à°\9aà±\86à°¯à±\8dయవà°\9aà±\8dà°\9aà±\81.',
+'filepage-nofile' => 'à°\88 à°ªà±\87à°°à±\81à°¤à±\8b à°«à±\88à°²à±\87à°¦à±\80 లేదు.',
+'filepage-nofile-link' => 'à°\88 à°ªà±\87à°°à±\81à°¤à±\8b à°«à±\88à°²à±\87à°¦à±\80 à°²à±\87à°¦à±\81, à°®à±\80à°°à±\81 [$1 à°¦à°¾à°¨à±\8dని à°\8eà°\95à±\8dà°\95à°¿à°\82à°\9aà°µà°\9aà±\8dà°\9aà±\81].',
 'uploadnewversion-linktext' => 'ఈ దస్త్రపు కొత్త కూర్పును ఎక్కించండి',
 'shared-repo-from' => '$1 నుండి',
 'shared-repo' => 'సామూహిక నిక్షేపం',
@@ -1910,14 +1910,14 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'filerevert-comment' => 'కారణం:',
 'filerevert-defaultcomment' => '$2, $1 నాటి కూర్పుకు తీసుకువెళ్ళాం',
 'filerevert-submit' => 'వెనక్కు తీసుకువెళ్ళు',
-'filerevert-success' => "'''[[Media:$1|$1]]''' ను  [$3, $2 నాటి $4 కూర్పు]కు తీసుకువెళ్ళాం.",
+'filerevert-success' => '<strong>[[Media:$1|$1]]</strong> ను  [$4 $2 $3 నాటి కూర్పు]కు తీసుకువెళ్ళాం.',
 'filerevert-badversion' => 'మీరిచ్చిన టైముస్టాంపుతో ఈ ఫైలుకు స్థానిక కూర్పేమీ లేదు.',
 
 # File deletion
 'filedelete' => '$1ని తొలగించు',
 'filedelete-legend' => 'ఫైలుని తొలగించు',
-'filedelete-intro' => "మీరు '''[[Media:$1|$1]]''' ఫైలుని దాని చరిత్రతో సహా తొలగించబోతున్నారు.",
-'filedelete-intro-old' => "మీరు '''[[Media:$1|$1]]''' యొక్క  [$4 $3, $2] నాటి కూర్పును తొలగిస్తున్నారు.",
+'filedelete-intro' => 'మీరు <strong>[[Media:$1|$1]]</strong> ఫైలును దాని చరిత్రతో సహా తొలగించబోతున్నారు.',
+'filedelete-intro-old' => 'మీరు <strong>[[Media:$1|$1]]</strong> యొక్క  [$4 $2, $3 నాటి కూర్పును] తొలగిస్తున్నారు.',
 'filedelete-comment' => 'కారణం:',
 'filedelete-submit' => 'తొలగించు',
 'filedelete-success' => "'''$1'''ని తొలగించాం.",
@@ -1930,7 +1930,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 ** కాపీహక్కుల ఉల్లంఘన
 ** వేరొక దస్త్రానికి నకలు',
 'filedelete-edit-reasonlist' => 'తొలగింపు కారణాలని మార్చండి',
-'filedelete-maintenance' => 'à°¸à°\82à°°à°\95à±\8dà°·à°£ à°¨à°¿à°®à°¿à°¤à±\8dà°¤à°\82 à°«à±\88à°³à±\8dà°³ à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81 à°®à°°à°¿à°¯à±\81 à°ªà±\81నసà±\8dథాపనలనà±\81 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95à°\82à°\97à°¾ à°\85à°\9aà±\87యతనà°\82 à°\9aà±\87సారà±\81.',
+'filedelete-maintenance' => 'నిరà±\8dవహణ à°¸à°\82దరà±\8dà°­à°\82à°\97à°¾ à°«à±\88à°³à±\8dà°³ à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81, à°ªà±\81నసà±\8dథాపనలనà±\81 à°¤à°¾à°¤à±\8dà°\95ాలిà°\95à°\82à°\97à°¾ à°\85à°\9aà±\87తనà°\82 à°\9aà±\87సాà°\82.',
 'filedelete-maintenance-title' => 'దస్త్రాన్ని తొలగించలేకపోయాం',
 
 # MIME search
@@ -1982,9 +1982,9 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'statistics-views-total' => 'మొత్తం వీక్షణలు',
 'statistics-views-total-desc' => 'ఉనికిలో లేని పుటలకు మరియు ప్రత్యేక పుటలకు వచ్చిన సందర్శనలని కలుపలేదు',
 'statistics-views-peredit' => 'ఒక మార్పుకి వీక్షణలు',
-'statistics-users' => 'నమà±\8bà°¦à±\88à°¨ [[Special:ListUsers|వాడà±\81à°\95à°°à±\8dలు]]',
-'statistics-users-active' => 'à°\95à±\8dరియాశà±\80à°² à°µà°¾à°¡à±\81à°\95à°°à±\8dలు',
-'statistics-users-active-desc' => 'à°\97à°¤ {{PLURAL:$1|à°°à±\8bà°\9cà±\81|$1 à°°à±\8bà°\9cà±\81à°²}}à°²à±\8b à°\92à°\95à±\8dà°\95 à°\9aà°°à±\8dà°¯à±\88నా చేసిన వాడుకరులు',
+'statistics-users' => 'నమà±\8bà°¦à±\88à°¨ [[Special:ListUsers|వాడà±\81à°\95à°°à±\81లు]]',
+'statistics-users-active' => 'à°\95à±\8dరియాశà±\80à°² à°µà°¾à°¡à±\81à°\95à°°à±\81లు',
+'statistics-users-active-desc' => 'à°\97à°¤ {{PLURAL:$1|à°°à±\8bà°\9cà±\81|$1 à°°à±\8bà°\9cà±\81à°²}}à°²à±\8b à°ªà°¨à°¿ చేసిన వాడుకరులు',
 'statistics-mostpopular' => 'ఎక్కువగా చూసిన పేజీలు',
 
 'pageswithprop' => 'ఒక పేజీ లక్షణం కలిగిన పేజీలు',
@@ -2004,7 +2004,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'double-redirect-fixer' => 'దారిమార్పు సరిద్దువారు',
 
 'brokenredirects' => 'తెగిపోయిన దారిమార్పులు',
-'brokenredirectstext' => 'à°\95à°¿à°\82ది à°¦à°¾à°°à°¿à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81 à°²à±\87ని-à°ªà±\87à°\9cà±\80à°²à°\95à±\81 à°®à°³à±\8dళిà°\82à°\9aà±\81తున్నాయి:',
+'brokenredirectstext' => 'à°\95à°¿à°\82ది à°¦à°¾à°°à°¿à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81 à°\89నిà°\95à°¿à°²à±\8bà°¨à±\87 à°²à±\87ని à°ªà±\87à°\9cà±\80à°²à°\95à±\81 à°µà±\86à°³à±\8dతున్నాయి:',
 'brokenredirects-edit' => 'సవరించు',
 'brokenredirects-delete' => 'తొలగించు',
 
@@ -2020,10 +2020,10 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'ncategories' => '$1 {{PLURAL:$1|వర్గం|వర్గాలు}}',
 'ninterwikis' => '$1 {{PLURAL:$1|అంతర్వికీ|అంతర్వికీలు}}',
 'nlinks' => '$1 {{PLURAL:$1|లింకు|లింకులు}}',
-'nmembers' => '{{PLURAL:$1|ఒక ఉపవర్గం/పేజీ/ఫైలు|$1 ఉపవర్గాలు/పేజీలు/ఫైళ్లు}}',
+'nmembers' => '$1 {{PLURAL:$1|సభ్యుడు|సభ్యులు}}',
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|సభ్యుడు|సభ్యులు}}',
-'nrevisions' => '{{PLURAL:$1|à°\92à°\95 à°¸à°\82à°\9aà°¿à°\95|$1 à°¸à°\82à°\9aà°¿à°\95లు}}',
-'nviews' => '$1 {{PLURAL:$1|దరà±\8dశనమà±\81|దర్శనలు}}',
+'nrevisions' => '{{PLURAL:$1|à°\95à±\82à°°à±\8dà°ªà±\81|$1 à°\95à±\82à°°à±\8dà°ªà±\81లు}}',
+'nviews' => '$1 {{PLURAL:$1|à°¸à°\82దరà±\8dశన|à°¸à°\82దర్శనలు}}',
 'nimagelinks' => '$1 {{PLURAL:$1|పుట|పుటల}}లో ఉపయోగించారు',
 'ntransclusions' => '$1 {{PLURAL:$1|పుట|పుటల}}లో ఉపయోగించారు',
 'specialpage-empty' => 'ఈ పేజీ ఖాళీగా ఉంది.',
@@ -2034,7 +2034,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'uncategorizedimages' => 'వర్గీకరించని బొమ్మలు',
 'uncategorizedtemplates' => 'వర్గీకరించని మూసలు',
 'unusedcategories' => 'ఉపయోగించని వర్గాలు',
-'unusedimages' => 'à°\89పయà±\8bà°\97à°¿à°\82à°\9aబడని à°«à±\88à°³à±\8dà°³à±\81',
+'unusedimages' => 'ఉపయోగించని ఫైళ్ళు',
 'popularpages' => 'ప్రజాదరణ పొందిన పేజీలు',
 'wantedcategories' => 'కోరిన వర్గాలు',
 'wantedpages' => 'కోరిన పేజీలు',
@@ -2123,11 +2123,11 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'allpagesfrom' => 'ఇక్కడ మొదలు పెట్టి పేజీలు చూపించు:',
 'allpagesto' => 'ఇక్కడవరకు ఉన్న పేజీలు చూపించు:',
 'allarticles' => 'అన్ని పేజీలు',
-'allinnamespace' => 'అన్ని పేజీలు ($1 namespace)',
+'allinnamespace' => 'అన్ని పేజీలు ($1 పేరుబరి)',
 'allpagessubmit' => 'వెళ్లు',
 'allpagesprefix' => 'ఈ ఆదిపదం కలిగిన పేజీలను చూపించు:',
 'allpagesbadtitle' => 'మీరిచ్చిన పేజీ పేరు సరైనది కాకపోయి ఉండాలి లేదా దానికి భాషాంతర లేదా అంతర్వికీ ఆదిపదమైనా ఉండి ఉండాలి. పేర్లలో వాడకూడని కారెక్టర్లు ఆ పేరులో ఉండి ఉండవచ్చు.',
-'allpages-bad-ns' => '{{SITENAME}} à°²à±\8b "$1" à°\85à°¨à±\87 à°¨à±\87à°®à±\8d&zwnj;à°¸à±\8dà°ªà±\87à°¸à±\8d లేదు.',
+'allpages-bad-ns' => '{{SITENAME}} à°²à±\8b "$1" à°\85à°¨à±\87 à°ªà±\87à°°à±\81బరి లేదు.',
 'allpages-hide-redirects' => 'దారిమార్పులను దాచు',
 
 # SpecialCachedPage
@@ -2147,7 +2147,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 # Special:DeletedContributions
 'deletedcontributions' => 'తొలగించబడిన వాడుకరి రచనలు',
 'deletedcontributions-title' => 'తొలగించబడిన వాడుకరి రచనలు',
-'sp-deletedcontributions-contribs' => 'మారà±\8dà°ªà±\81à°²à±\81 à°\9aà±\87à°°à±\8dà°ªà±\81à°²à±\81',
+'sp-deletedcontributions-contribs' => 'మార్పుచేర్పులు',
 
 # Special:LinkSearch
 'linksearch' => 'బయటి లింకుల అన్వేషణ',
@@ -2188,9 +2188,9 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'listgrouprights-removegroup' => '{{PLURAL:$2|గుంపుని|గుంపులను}} తొలగించగలరు: $1',
 'listgrouprights-addgroup-all' => 'అన్ని గుంపులను చేర్చగలరు',
 'listgrouprights-removegroup-all' => 'అన్ని గుంపులను తొలగించగలరు',
-'listgrouprights-addgroup-self' => '{{PLURAL:$2|సమà±\82హానà±\8dని|సమà±\82హాలని}} à°¤à°¨ à°¸à±\8dà°µà°\82à°¤ à°\96ాతాà°\95à°¿ చేర్చుకోగలగడం: $1',
+'listgrouprights-addgroup-self' => '{{PLURAL:$2|à°\97à±\81à°\82à°ªà±\81à°¨à±\81|à°\97à±\81à°\82à°ªà±\81లనà±\81}} à°¤à°¨ à°¸à±\8dà°µà°\82à°¤ à°\96ాతాà°\95à±\81 చేర్చుకోగలగడం: $1',
 'listgrouprights-removegroup-self' => '{{PLURAL:$2|సమూహాన్ని|సమూహాలని}} తన స్వంత ఖాతా నుండి తొలగించుకోవడం: $1',
-'listgrouprights-addgroup-self-all' => 'à°\85à°¨à±\8dని à°¸à°®à±\82హాలని à°¸à±\8dà°µà°\82à°¤ à°\96ాతాà°\95à°¿ చేర్చుకోలగడటం',
+'listgrouprights-addgroup-self-all' => 'à°\85à°¨à±\8dని à°¸à°®à±\82హాలని à°¸à±\8dà°µà°\82à°¤ à°\96ాతాà°\95à±\81 చేర్చుకోలగడటం',
 'listgrouprights-removegroup-self-all' => 'స్వంత ఖాతా నుండి అన్ని సమూహాలనూ తొలగించుకోగలగడం',
 
 # Email user
@@ -2511,17 +2511,17 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'ఈ ఐపీ చిరునామాపై ప్రస్తుతం నిరోధం ఉంది.
 నిరోధపు చిట్టాలోని చివరి పద్దుని మీ సమాచారంకోసం ఇస్తున్నాం:',
 'sp-contributions-search' => 'రచనల కోసం అన్వేషణ',
-'sp-contributions-suppresslog' => 'à°\85à°£à°\97à°¦à±\8dà°°à±\8aà°\95à±\8dà°\95బడిన వాడుకరి రచనలు',
+'sp-contributions-suppresslog' => 'à°\85à°£à°\9aà°¿à°ªà±\86à°\9fà±\8dà°\9fబడిన వాడుకరి రచనలు',
 'sp-contributions-username' => 'ఐపీ చిరునామా లేదా వాడుకరిపేరు:',
 'sp-contributions-toponly' => 'చిట్టచివరి కూర్పులను మాత్రమే చూపించు',
-'sp-contributions-newonly' => 'పేజీ సృష్టి మార్పులు మాత్రమే చూపించు',
+'sp-contributions-newonly' => 'పేజీని సృష్టించిన మార్పులను మాత్రమే చూపించు',
 'sp-contributions-submit' => 'వెతుకు',
 
 # What links here
 'whatlinkshere' => 'ఇక్కడికి లింకైనవి',
 'whatlinkshere-title' => '"$1"కి లింకున్న పుటలు',
 'whatlinkshere-page' => 'పేజీ:',
-'linkshere' => "కిందనున్న పేజీల నుండి '''[[:$1]]'''కు లింకులు ఉన్నాయి:",
+'linkshere' => 'కింది పేజీల నుండి <strong>[[:$1]]</strong>కు లింకులు ఉన్నాయి:',
 'nolinkshere' => "'''[[:$1]]'''కు ఏ పేజీ నుండీ లింకు లేదు.",
 'nolinkshere-ns' => "'''[[:$1]]''' పేజీకి లింకయ్యే పేజీలు ఎంచుకున్న నేంస్పేసులో లేవు.",
 'isredirect' => 'దారిమార్పు పుట',
@@ -2887,6 +2887,7 @@ $2',
 'javascripttest-pagetext-noframework' => 'ఈ పేజీ JavaScript పరీక్షల కోసం ఉద్దేశించబడింది.',
 'javascripttest-pagetext-unknownframework' => 'తెలియని పరీక్షా ఫ్రేమ్‍వర్కు "$1".',
 'javascripttest-pagetext-frameworks' => 'కింది పరీక్షా ఫ్రేమ్‍వర్కులలో ఒకదాన్ని ఎంచుకోండి: $1',
+'javascripttest-pagetext-skins' => 'పరీక్షలు నడిపేందుకు ఓ రూపును ఎంచుకోండి:',
 'javascripttest-qunit-intro' => 'mediawiki.org లోని [$1 పరీక్షా డాక్యుమెంటేషన్] చూడండి.',
 
 # Tooltip help for the actions
@@ -2910,9 +2911,9 @@ $2',
 'tooltip-ca-undelete' => 'ఈ పేజీని తొలగించడానికి ముందు చేసిన మార్పులను పునఃస్థాపించు',
 'tooltip-ca-move' => 'ఈ పేజీని తరలించండి',
 'tooltip-ca-watch' => 'ఈ పేజీని మీ వీక్షణ జాబితాకు చేర్చుకోండి',
-'tooltip-ca-unwatch' => 'à°\88 à°ªà±\87à°\9cà±\80ని à°®à±\80 à°µà°¿à°\95à±\8dషణా జాబితా నుండి తొలగించండి',
+'tooltip-ca-unwatch' => 'à°\88 à°ªà±\87à°\9cà±\80ని à°®à±\80 à°µà±\80à°\95à±\8dà°·à°£ జాబితా నుండి తొలగించండి',
 'tooltip-search' => '{{SITENAME}} లో వెతకండి',
-'tooltip-search-go' => 'ఇదే పేరుతో పేజీ ఉంటే అక్కడికి తీసుకెళ్ళు',
+'tooltip-search-go' => 'à°\95à°\9aà±\8dà°\9aà°¿à°¤à°\82à°\97à°¾ à°\87à°¦à±\87 à°ªà±\87à°°à±\81à°¤à±\8b à°ªà±\87à°\9cà±\80 à°\89à°\82à°\9fà±\87 à°\85à°\95à±\8dà°\95à°¡à°¿à°\95à°¿ à°¤à±\80à°¸à±\81à°\95à±\86à°³à±\8dà°³à±\81',
 'tooltip-search-fulltext' => 'పేజీలలో ఈ పాఠ్యం కొరకు వెతుకు',
 'tooltip-p-logo' => 'మొదటి పేజీ చూడండి',
 'tooltip-n-mainpage' => 'మొదటి పేజీ చూడండి',
@@ -2929,7 +2930,7 @@ $2',
 'tooltip-t-contributions' => 'ఈ వాడుకరి యొక్క రచనల జాబితా చూడండి',
 'tooltip-t-emailuser' => 'ఈ వాడుకరికి ఓ ఈమెయిలు పంపండి',
 'tooltip-t-upload' => 'దస్త్రాలను ఎక్కించండి',
-'tooltip-t-specialpages' => 'à°\85à°¨à±\8dని à°ªà±\8dà°°à°¤à±\8dà°¯à±\87à°\95 à°ªà±\81à°\9fà°² à°¯à±\8aà°\95à±\8dà°\95 à°\9cాబితా',
+'tooltip-t-specialpages' => 'అన్ని ప్రత్యేక పుటల జాబితా',
 'tooltip-t-print' => 'ఈ పేజీ యొక్క ముద్రణా రూపు',
 'tooltip-t-permalink' => 'పేజీ యొక్క ఈ కూర్పుకి శాశ్వత లంకె',
 'tooltip-ca-nstab-main' => 'విషయపు పేజీని చూడండి',
@@ -2945,16 +2946,16 @@ $2',
 'tooltip-minoredit' => 'దీన్ని చిన్న మార్పుగా గుర్తించు',
 'tooltip-save' => 'మీ మార్పులను భద్రపరచండి',
 'tooltip-preview' => 'మీ మార్పులను మునుజూడండి, భద్రపరిచేముందు ఇది వాడండి!',
-'tooltip-diff' => 'పాఠానిà°\95à°¿ à°®à±\80à°°à±\81 à°\9aà±\87సిన à°®à°¾à°°à±\8dà°ªà±\81లనà±\81 à°\9aà±\82à°ªà±\81à°\82à°\9aà±\81. [alt-v]',
-'tooltip-compareselectedversions' => 'ఈ పేజీలో ఎంచుకున్న రెండు కూర్పులకు మధ్య తేడాలను చూడండి. [alt-v]',
+'tooltip-diff' => 'పాఠానిà°\95à°¿ à°®à±\80à°°à±\81 à°\8f à°®à°¾à°°à±\8dà°ªà±\81à°²à±\81 à°\9aà±\87సారà±\8b à°\9aà±\82పిసà±\8dà°¤à±\81à°\82ది',
+'tooltip-compareselectedversions' => 'ఈ పేజీలో ఎంచుకున్న రెండు కూర్పులకు మధ్య తేడాలను చూడండి',
 'tooltip-watch' => 'ఈ పేజీని మీ విక్షణా జాబితాకు చేర్చండి',
 'tooltip-watchlistedit-normal-submit' => 'శీర్షికలను తీసివెయ్యి',
 'tooltip-watchlistedit-raw-submit' => 'వీక్షణ జాబితాను తాజాకరించు',
 'tooltip-recreate' => 'పేజీ తుడిచివేయబడ్డాకానీ మళ్ళీ సృష్టించు',
 'tooltip-upload' => 'ఎగుమతి మొదలుపెట్టు',
 'tooltip-rollback' => '"రద్దుచేయి" అనేది ఈ పేజీని చివరిగా మార్చినవారి మార్పులను ఒక్కనొక్కుతో రద్దుచేస్తుంది',
-'tooltip-undo' => '"దిదà±\8dà°¦à±\81బాà°\9fà±\81ని à°°à°¦à±\8dà°¦à±\81à°\9aà±\87యి" à°\88 à°®à°¾à°°à±\8dà°ªà±\81ని à°°à°¦à±\8dà°¦à±\81à°\9aà±\87à°¸à±\8dà°¤à±\81à°\82ది à°®à°°à°¿à°¯à±\81 దిద్దుబాటు ఫారాన్ని మునుజూపులో తెరుస్తుంది.
-సారాంశానికి కారణాన్ని చేర్చే వీలుకల్పిస్తుంది',
+'tooltip-undo' => '"à°°à°¦à±\8dà°¦à±\81à°\9aà±\87యి" à°\88 à°®à°¾à°°à±\8dà°ªà±\81ని à°°à°¦à±\8dà°¦à±\81à°\9aà±\87సి, దిద్దుబాటు ఫారాన్ని మునుజూపులో తెరుస్తుంది.
+సారాంశానికి కారణాన్ని చేర్చే వీలుకల్పిస్తుంది.',
 'tooltip-preferences-save' => 'అభిరుచులను భద్రపరచు',
 'tooltip-summary' => 'చిన్న సారాంశాన్ని ఇవ్వండి',
 
@@ -3139,7 +3140,7 @@ $1',
 
 # Metadata
 'metadata' => 'మెటాడేటా',
-'metadata-help' => 'à°\88 à°«à±\88à°²à±\81à°²à±\8b à°\85దనపà±\81 à°¸à°®à°¾à°\9aారà°\82 à°\89à°\82ది, à°¬à°¹à±\81శా à°¦à±\80à°¨à±\8dని à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aడానిà°\95à°¿ à°²à±\87దా à°¸à°¾à°\82à°\96à±\8dà°¯à±\80à°\95à°°à°¿à°\82à°\9aడానిà°\95à°¿ à°µà°¾à°¡à°¿à°¨ à°¡à°¿à°\9cà°¿à°\9fà°²à±\8d à°\95à±\87à°®à±\86à°°à°¾ à°²à±\87దా à°¸à±\8dà°\95ానరà±\8d à°\86 à°¸à°®à°¾à°\9aారానà±\8dని à°\9aà±\87à°°à±\8dà°\9aà°¿à°µà±\81à°\82à°µà°\9aà±\8dà°\9aà±\81. à°\88 à°«à±\88à°²à±\81ని à°\85సలà±\81 à°¸à±\8dథితి à°¨à±\81à°\82à°¡à°¿ à°®à°¾à°°à°¿à°¸à±\8dà°¤à±\87, à°\95à±\8aà°¨à±\8dని à°µà°¿à°µà°°à°¾à°²à±\81 à°\86 à°®à°¾à°°à°¿à°¨ à°«à±\88à°²à±\81à°²à±\8b పూర్తిగా ప్రతిఫలించకపోవచ్చు.',
+'metadata-help' => 'à°\88 à°«à±\88à°²à±\81à°²à±\8b à°\85దనపà±\81 à°¸à°®à°¾à°\9aారà°\82 à°\89à°\82ది, à°¬à°¹à±\81శా à°¦à±\80à°¨à±\8dని à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aడానిà°\95à°¿ à°²à±\87దా à°¸à°¾à°\82à°\96à±\8dà°¯à±\80à°\95à°°à°¿à°\82à°\9aడానిà°\95à°¿ à°µà°¾à°¡à°¿à°¨ à°¡à°¿à°\9cà°¿à°\9fà°²à±\8d à°\95à±\87à°®à±\86à°°à°¾ à°²à±\87దా à°¸à±\8dà°\95ానరà±\8d à°\86 à°¸à°®à°¾à°\9aారానà±\8dని à°\9aà±\87à°°à±\8dà°\9aà°¿à°µà±\81à°\82à°¡à°µà°\9aà±\8dà°\9aà±\81. à°\88 à°«à±\88à°²à±\81à°¨à±\81 à°\85సలà±\81 à°¸à±\8dథితి à°¨à±\81à°\82à°¡à°¿ à°®à°¾à°°à°¿à°¸à±\8dà°¤à±\87, à°\86 à°®à°¾à°°à°¿à°¨ à°«à±\88à°²à±\81à°²à±\8b à°\95à±\8aà°¨à±\8dని à°µà°¿à°µà°°à°¾à°²à±\81 పూర్తిగా ప్రతిఫలించకపోవచ్చు.',
 'metadata-expand' => 'విస్తరిత వివరాలను చూపించు',
 'metadata-collapse' => 'విస్తరిత వివరాలను దాచు',
 'metadata-fields' => 'కింది జాబితాలో ఉన్న మెటాడేటా ఫీల్డులు, బొమ్మ పేజీలో మేటాడేటా టేబులు మూసుకొన్నపుడు కనబడతాయి. మిగతావి దాచేసి ఉంటాయి. 
@@ -3314,8 +3315,8 @@ $1',
 'exif-copyrightowner' => 'కాపీ హక్కుదారు',
 'exif-usageterms' => 'వాడుక నియమాలు',
 'exif-webstatement' => 'ఆన్‌లైన్ కాపీరైటు పాఠ్యం',
-'exif-originaldocumentid' => 'à°\85సలà±\81 à°¦à°¸à±\8dà°¤à±\8dà°°à°\82 à°¯à±\8aà°\95à±\8dà°\95 à°\8fà°\95à±\88à°\95 ఐడీ',
-'exif-licenseurl' => 'కాపీరైటు లైసెన్సు గల URL',
+'exif-originaldocumentid' => 'à°®à±\82à°² à°¦à°¸à±\8dà°¤à±\8dà°°à°\82 à°¯à±\8aà°\95à±\8dà°\95 à°µà°¿à°¶à°¿à°·à±\8dà°  ఐడీ',
+'exif-licenseurl' => 'కాపీరైటు లైసెన్సు URL',
 'exif-morepermissionsurl' => 'ప్రత్యామ్నాయ లైసెన్సు సమాచారం',
 'exif-attributionurl' => 'దీనిని తిరిగి వాడుకోవాలంటే, ఇక్కడికి లంకె వేయండి',
 'exif-preferredattributionname' => 'దీనిని తిరిగి వాడుకోవాలంటే, వీరిని పేర్కొనండి',
index 1397e75..41f498e 100644 (file)
@@ -232,7 +232,6 @@ $messages = array(
 'tog-ccmeonemails' => 'ส่งสำเนาอีเมลที่ฉันส่งหาผู้อื่นให้ฉัน',
 'tog-diffonly' => 'ไม่แสดงเนื้อหาใต้ส่วนต่างการแก้ไข',
 'tog-showhiddencats' => 'แสดงหมวดหมู่ที่ซ่อนอยู่',
-'tog-noconvertlink' => 'ปิดใช้งานการแปลงชื่อเรื่องของลิงก์',
 'tog-norollbackdiff' => 'ไม่แสดงการเปลี่ยนแปลงหลังดำเนินการย้อนกลับฉุกเฉิน',
 'tog-useeditwarning' => 'เตือนฉัน เมื่อฉันกำลังจะออกจากหน้าแก้ไขโดยมีข้อมูลที่ยังไม่ได้บันทึก',
 'tog-prefershttps' => 'ใช้การเชื่อมต่อปลอดภัยทุกครั้งเมื่อล็อกอิน',
@@ -1261,6 +1260,7 @@ $1",
 'search-result-score' => 'ความเกี่ยวข้อง : $1%',
 'search-redirect' => '(เปลี่ยนทาง $1)',
 'search-section' => '(ส่วน $1)',
+'search-file-match' => '(จับคู่เนื้อหาไฟล์)',
 'search-suggest' => 'คุณอาจหมายถึง: $1',
 'search-interwiki-caption' => 'โครงการพี่น้อง',
 'search-interwiki-default' => '$1 ผลลัพธ์:',
@@ -2015,6 +2015,7 @@ $1',
 'ninterwikis' => '$1 ลิงก์ข้ามโครงการ',
 'nlinks' => '$1 ลิงก์',
 'nmembers' => '$1 หน้า',
+'nmemberschanged' => '$1 → $2 สมาชิก',
 'nrevisions' => '$1 รุ่น',
 'nviews' => '$1 ครั้ง',
 'nimagelinks' => 'ใช้ใน $1 {{PLURAL:$1|หน้า|หน้า}}',
@@ -2336,7 +2337,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => 'แก้ไขเหตุผลการลบ',
 'delete-toobig' => 'หน้านี้มีประวัติการแก้ไขนาดใหญ่ คือ กว่า $1 รุ่น การลบหน้าเช่นนี้ถูกจำกัดเพื่อป้องกันการรบกวน{{SITENAME}}โดยบังเอิญ',
 'delete-warning-toobig' => 'หน้านี้มีประวัติการแก้ไขขนาดใหญ่ กว่า $1 รุ่น การลบหน้านี้อาจรบกวนการทำงานของฐานข้อมูลของ {{SITENAME}} โปรดดำเนินการด้วยความระมัดระวัง',
-'deleting-backlinks-warning' => "'''คำเตือน:''' หน้าอื่นเชื่อมโยงมายังหรือดึงข้อมูลจากหน้าที่คุณกำลังลบ",
+'deleting-backlinks-warning' => "'''คำเตือน:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|หน้าอื่น]]เชื่อมโยงมายังหรือดึงข้อมูลจากหน้าที่คุณกำลังจะลบ",
 
 # Rollback
 'rollback' => 'ย้อนการแก้ไขกลับฉุกเฉิน',
@@ -3666,7 +3667,7 @@ $5
 # Special:Redirect
 'redirect' => 'การเปลี่ยนทางตามชื่อไฟล์ รหัสประจำผู้ใช้ หน้าหรือรุ่น',
 'redirect-legend' => 'การเปลี่ยนทางไปยังไฟล์หรือหน้า',
-'redirect-summary' => 'หน้าพิเศษนี้เปลี่ยนทางไปยังไฟล์ (ระบุเป็นชื่อไฟล์) หน้า (ระบุเป็นรหัสรุ่น) หรือหน้าผู้ใช้ (ระบุเป็นรหัสผู้ใช้)',
+'redirect-summary' => 'หน้าพิเศษนี้เปลี่ยนทางไปยังไฟล์ (ระบุเป็นชื่อไฟล์) หน้า (ระบุเป็นรหัสรุ่นหรือรหัสหน้า) หรือหน้าผู้ใช้ (ระบุเป็นรหัสผู้ใช้ตัวเลข) การใช้งาน: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]] หรือ [[{{#Special:Redirect}}/user/101]]',
 'redirect-submit' => 'ไป',
 'redirect-lookup' => 'ค้นดู:',
 'redirect-value' => 'ค่า:',
@@ -3780,7 +3781,7 @@ $5
 'logentry-delete-delete' => '$1 ลบหน้า $3',
 'logentry-delete-restore' => '$1 กู้คืนหน้า $3',
 'logentry-delete-event' => '$1 เปลี่ยนทัศนวิสัยของ $5 รายการปูมใน $3: $4',
-'logentry-delete-revision' => '$1 เปลี่ยนทัศนวิสัยของ $5 รุ่น ในหน้า $3: $4',
+'logentry-delete-revision' => '$1 เปลี่ยนทัศนวิสัยของ $5 รุ่นในหน้า $3: $4',
 'logentry-delete-event-legacy' => '$1 เปลี่ยนทัศนวิสัยของเหตุการณ์ปูมในหน้า $3',
 'logentry-delete-revision-legacy' => '$1 เปลี่ยนทัศนวิสัยของรุ่นในหน้า $3',
 'logentry-suppress-delete' => '$1 ระงับหน้า $3',
index 0fe0f7d..356993e 100644 (file)
@@ -185,7 +185,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Padalahan ako ng mga kopya ng mga ipinadala kong e-liham sa ibang mga tagagamit',
 'tog-diffonly' => 'Huwag ipakita ang nilalaman ng pahinang nasa ilalim ng mga pagkakaiba',
 'tog-showhiddencats' => 'Ipakita ang mga nakatagong kategorya',
-'tog-noconvertlink' => 'Huwag paganahin ang pagpapalit ng pamagat na pangkawing',
 'tog-norollbackdiff' => 'Alisin ang mga pagkakaiba pagkatapos isagawa ang pagpapagulong na pabalik sa dati',
 'tog-useeditwarning' => 'Magbabala sa akin kapag umalis ako sa isang pahina ng pampatnugot na hindi pa nasasagip ang mga pagbabago',
 
index f687869..0214a8a 100644 (file)
@@ -394,7 +394,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Diğer kullanıcılara gönderdiğim e-postaların kopyalarını bana da gönder',
 'tog-diffonly' => 'Sayfa içeriğini sürüm farklarının altında gösterme',
 'tog-showhiddencats' => 'Gizli kategorileri göster',
-'tog-noconvertlink' => 'Bağlantı başlığı dönüştürmesini devre dışı bırakma',
 'tog-norollbackdiff' => 'Geridönüş uygulandıktan sonra değişikliği atla',
 'tog-useeditwarning' => 'Kaydedilmemiş değişikliğe sahip bir değişiklik sayfasından çıkarken beni uyar',
 'tog-prefershttps' => 'Oturumu açarken her zaman güvenli bağlantı kullan',
index eb963a4..dd664f6 100644 (file)
@@ -12,6 +12,7 @@
  * @author Don Alessandro
  * @author Haqmar
  * @author Himiq Dzyu
+ * @author Ilnur efende
  * @author KhayR
  * @author MF-Warburg
  * @author Marat Vildanov
@@ -353,7 +354,7 @@ $messages = array(
 'moredotdotdot' => 'Дәвамы…',
 'morenotlisted' => 'Башка берни дә юк...',
 'mypage' => 'Бит',
-'mytalk' => 'Бәхәс',
+'mytalk' => 'Бәхәс бите',
 'anontalk' => 'Бу IP адресы өчен бәхәс бите',
 'navigation' => 'Күчү',
 'and' => '&#32;һәм',
@@ -694,6 +695,8 @@ $2',
 'login-abort-generic' => 'Системага уңышсыз керү очрагы',
 'loginlanguagelabel' => 'Тел: $1',
 'suspicious-userlogout' => 'Сезнең эшчәнлекне бетерү соравыгыз кире кагылды, чөнки ул ялгыш браузер яисә кэшлаучы прокси аша җибәрелергэ мөмкин.',
+'pt-login' => 'Керү',
+'pt-userlogout' => 'Чыгу',
 
 # Email sending
 'php-mail-error-unknown' => 'PHP mail() функциясендә билгесез хата',
@@ -1340,17 +1343,29 @@ $1",
 'recentchanges-feed-description' => 'Бу агымда соңгы үзгәртүләрне күзәтү.',
 'recentchanges-label-newpage' => 'Бу үзгәртү белән яңа бит төзелде',
 'recentchanges-label-minor' => 'Бу кече үзгәртү',
-'recentchanges-label-bot' => 'Бу үзгәртү бот белән эшләнгән иде',
+'recentchanges-label-bot' => 'Бу үзгәртү бот белән эшләнгән',
 'recentchanges-label-unpatrolled' => 'Үзгәртүне әлегә тикшермәгәннәр',
+'recentchanges-label-plusminus' => 'Битнең зурлыгы шуның кадәрле байтка үзгәрде',
 'recentchanges-legend-newpage' => '([[Special:NewPages|яңа бит]])',
 'rcnotefrom' => "Астарак '''$2''' башлап ('''$1''' кадәр) үзгәртүләр күрсәтелгән.",
 'rclistfrom' => '$1 башлап яңа үзгәртүләрне күрсәт',
 'rcshowhideminor' => 'кече үзгәртүләрне $1',
+'rcshowhideminor-show' => 'Күрсәтергә',
+'rcshowhideminor-hide' => 'Яшерергә',
 'rcshowhidebots' => 'ботларны $1',
-'rcshowhideliu' => '$1 кергән кулланучылар',
+'rcshowhidebots-show' => 'Күрсәтергә',
+'rcshowhidebots-hide' => 'Яшерергә',
+'rcshowhideliu' => '$1 теркәлгән кулланучыларны яшерергә',
+'rcshowhideliu-show' => 'Күрсәтергә',
+'rcshowhideliu-hide' => 'Яшерергә',
 'rcshowhideanons' => 'кермәгән кулланучыларны $1',
+'rcshowhideanons-show' => 'Күрсәтергә',
+'rcshowhideanons-hide' => 'Яшерергә',
 'rcshowhidepatr' => 'тикшерелгән үзгәртүләрне $1',
+'rcshowhidepatr-hide' => 'Яшерергә',
 'rcshowhidemine' => 'минем үзгәртүләремне $1',
+'rcshowhidemine-show' => 'Күрсәтергә',
+'rcshowhidemine-hide' => 'Яшерергә',
 'rclinks' => 'Соңгы $2 көн эчендә соңгы $1 үзгәртүне күрсәт<br />$3',
 'diff' => 'аерма',
 'hist' => 'тарих',
index 6537cb5..2cff208 100644 (file)
@@ -85,7 +85,6 @@ $messages = array(
 'tog-ccmeonemails' => 'مەن باشقىلارغا يوللىغان ئېلخەتنى ئۆزەمگىمۇ بىر نۇسخا يوللا',
 'tog-diffonly' => 'تۈزىتىلگەن ئىككى نەشرىنىڭ پەرقىنى سېلىشتۇرغاندا بەت مەزمۇنىنى كۆرسەتمە',
 'tog-showhiddencats' => 'يوشۇرۇن تۈرلەرنى كۆرسەت',
-'tog-noconvertlink' => 'ئۇلانما ماۋزۇ ئالماشتۇرۇشنى چەكلە',
 'tog-norollbackdiff' => 'قايتۇرۇشنى ئىجرا قىلغاندىن كېيىن پەرقنى كۆرسەتمە',
 'tog-useeditwarning' => 'بىر تەھرىرلىگەن بەتنى ساقلىماي چېكىنگەندە مېنى ئەسكەرت',
 'tog-prefershttps' => 'تىزىمغا كىرگەندە دائىم بىخەتەر ئۇلىنىشنى ئىشلەت',
index cbba22c..f639c31 100644 (file)
@@ -404,7 +404,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Надсилати мені копії листів, які я надсилаю іншим користувачам',
 'tog-diffonly' => 'Не показувати вміст сторінки під різницею версій',
 'tog-showhiddencats' => 'Показувати приховані категорії',
-'tog-noconvertlink' => 'Вимкнути конвертацію назви посилання',
 'tog-norollbackdiff' => 'Не показувати різницю версій після виконання відкоту',
 'tog-useeditwarning' => 'Попереджати мене, якщо я залишаю сторінку редагування з незбереженими змінами',
 'tog-prefershttps' => "Завжди використовувати безпечне з'єднання при вході у систему",
@@ -1811,23 +1810,23 @@ $1",
 'rcnotefrom' => 'Нижче відображені редагування з <strong>$2</strong> (до <strong>$1</strong>).',
 'rclistfrom' => 'Показати редагування починаючи з $1.',
 'rcshowhideminor' => '$1 незначні редагування',
-'rcshowhideminor-show' => 'Ð\9fоказати',
-'rcshowhideminor-hide' => 'Ð\9fриховати',
+'rcshowhideminor-show' => 'показати',
+'rcshowhideminor-hide' => 'приховати',
 'rcshowhidebots' => '$1 ботів',
-'rcshowhidebots-show' => 'Ð\9fоказати',
-'rcshowhidebots-hide' => 'Ð\9fриховати',
+'rcshowhidebots-show' => 'показати',
+'rcshowhidebots-hide' => 'приховати',
 'rcshowhideliu' => '$1 зареєстрованих користувачів',
-'rcshowhideliu-show' => 'Ð\9fоказати',
-'rcshowhideliu-hide' => 'Ð\9fриховати',
+'rcshowhideliu-show' => 'показати',
+'rcshowhideliu-hide' => 'приховати',
 'rcshowhideanons' => '$1 анонімів',
-'rcshowhideanons-show' => 'Ð\9fоказати',
-'rcshowhideanons-hide' => 'Ð\9fриховати',
+'rcshowhideanons-show' => 'показати',
+'rcshowhideanons-hide' => 'приховати',
 'rcshowhidepatr' => '$1 перевірені',
-'rcshowhidepatr-show' => 'Ð\9fоказати',
-'rcshowhidepatr-hide' => 'Ð\9fриховати',
+'rcshowhidepatr-show' => 'показати',
+'rcshowhidepatr-hide' => 'приховати',
 'rcshowhidemine' => '$1 мої редагування',
-'rcshowhidemine-show' => 'Ð\9fоказати',
-'rcshowhidemine-hide' => 'Ð\9fриховати',
+'rcshowhidemine-show' => 'показати',
+'rcshowhidemine-hide' => 'приховати',
 'rclinks' => 'Показати останні $1 редагувань за $2 днів<br />$3',
 'diff' => 'різн.',
 'hist' => 'історія',
index 892df9c..e4b7cc9 100644 (file)
@@ -118,9 +118,9 @@ $messages = array(
 'tog-extendwatchlist' => 'Kengaytirilgan kuzatuv roʻyxati: faqat oxirgi paytdagi emas, barcha oʻzgarishlar koʻrsatiladi',
 'tog-usenewrc' => 'Yangi oʻzgarishlar va kuzatuv roʻyxatidagi sahifalarni guruhlarga boʻlish (JavaScript orqali)',
 'tog-numberheadings' => 'Sarlavhalarni avtomatik raqamlash',
-'tog-showtoolbar' => 'Tahrirlash asboblari joylashgan yoʻlakchani koʻrsatish (JavaScript orqali)',
-'tog-editondblclick' => 'Sichqoncha tugmasini ikki marta bosish orqali tahrirlashni boshlash',
-'tog-editsectiononrightclick' => 'Boʻlim sarlavhasiga sichqonchaning oʻng tugmasi bilan bosib tahrirlashni boshlash',
+'tog-showtoolbar' => 'Yuqoridagi tahrirlash asboblarini koʻrsatish',
+'tog-editondblclick' => 'Sichqonchaning chap tugmasini ikki marta bosib tahrirlashni boshlash',
+'tog-editsectiononrightclick' => 'Boʻlim sarlavhasiga sichqonchaning oʻng tugmasini bosib tahrirlashni boshlash',
 'tog-rememberpassword' => 'Hisob ma’lumotlarim ushbu brauzerda eslab qolinsin (ko‘pi bilan $1 kunga)',
 'tog-watchcreations' => 'Men yaratgan sahifalar va yuklagan fayllar kuzatuv roʻyxatimga qoʻshilsin',
 'tog-watchdefault' => 'Men tahrirlagan sahifa va fayllar kuzatuv roʻyxatimga qoʻshilsin',
@@ -137,7 +137,7 @@ $messages = array(
 'tog-oldsig' => 'Joriy imzo:',
 'tog-fancysig' => 'Imzoni viki-belgi qilib koʻrsatish (avtomatik ishoratsiz)',
 'tog-uselivepreview' => 'Tez koʻrib chiqish (JavaScript orqali) (sinovda)',
-'tog-forceeditsummary' => 'Qisqa tavsif oynasi toʻldirilmagani haqida ogohlantirish koʻrsatilsin',
+'tog-forceeditsummary' => 'Qisqa tavsif oynasi toʻldirilmagani haqida ogohlantirish koʻrsatish',
 'tog-watchlisthideown' => 'Oʻz tahrirlarim kuzatuv roʻyxatimda koʻrsatilmasin',
 'tog-watchlisthidebots' => 'Botlar qilgan tahrirlar kuzatuv roʻyxatimda koʻrsatilmasin',
 'tog-watchlisthideminor' => 'Kichik tahrirlar kuzatuv roʻyxatimda koʻrsatilmasin',
@@ -147,9 +147,8 @@ $messages = array(
 'tog-ccmeonemails' => 'Boshqa ishtirokchilarga yozgan xatimning nusxasi oʻzimga yuborilsin',
 'tog-diffonly' => 'Versiyalar taqqoslanayotganda, pastda sahifa matni koʻrsatilmasin',
 'tog-showhiddencats' => 'Yashirin turkumlarni koʻrsatish',
-'tog-noconvertlink' => 'Sarlavhani oʻzgartirish havolasini oʻchirib qoʻyish',
 'tog-norollbackdiff' => 'Tahrir qaytarilganda, versiyalar taqqosi koʻrsatilmasin',
-'tog-useeditwarning' => 'Kiritgan oʻzgarishlarimni saqlamay sahifadan chiqib ketayotganim haqida ogohlantirilsin',
+'tog-useeditwarning' => 'Oʻzgarishlarni saqlamay sahifadan chiqib ketayotganim haqida ogohlantirish',
 'tog-prefershttps' => 'Doim himoyalangan holda kirish',
 
 'underline-always' => 'Har doim',
@@ -498,11 +497,14 @@ Boshqa hisob raqami orqali kirish uchun quyidagi formadan foydalaning.',
 'userlogin-createanother' => 'Boshqa hisob yaratish',
 'createacct-join' => 'Maʼlumotlaringizni quyiga yozing',
 'createacct-another-join' => 'Yangi hisob yozuvi maʼlumotlarini quyida koʻrsating.',
+'createacct-emailrequired' => 'Elektron pochta manzilingiz',
 'createacct-emailoptional' => 'Elektron pochta manzili (majburiy emas)',
-'createacct-email-ph' => 'Elektron pochtangiz manzilini kiriting',
+'createacct-email-ph' => 'Elektron pochta manzilingizni kiriting',
 'createacct-another-email-ph' => 'Elektron pochta manzilini kiriting',
 'createaccountmail' => 'Tasodifan tanlab beriladigan vaqtinchalik maxfiy soʻzdan foydalanish (elektron pochta manzilingizga joʻnatiladi)',
 'createaccountreason' => 'Sabab:',
+'createacct-reason' => 'Sabab',
+'createacct-reason-ph' => 'Nimaga yana boshqa hisob yaratyapsiz',
 'createacct-captcha' => 'Xavfsizlik tekshiruvi',
 'createacct-imgcaptcha-ph' => 'Yuqoridagi yozuvni bu yerga kiriting',
 'createacct-submit' => 'Hisob yaratish',
@@ -524,13 +526,14 @@ Ism yozilishini tekshirib koʻring.',
 'wrongpasswordempty' => 'Maxfiy soʻz koʻrsatilmagan. Qaytadan urinib koʻring.',
 'mailmypassword' => 'Maxfiy soʻzni yangilash',
 'passwordremindertitle' => "{{SITENAME}} uchun vaqtinchalik yangi maxfiy so'z",
-'emailauthenticated' => 'Sizning elektron pochta manzilingiz $2, $3 da tasdiqlangan.',
-'emailconfirmlink' => 'Sizning elektron pochta manzilingizni tasdiqlash',
+'emailauthenticated' => 'Elektron pochta manzilingiz $2, $3 da tasdiqlangan.',
+'emailconfirmlink' => 'Elektron pochta manzilingizni tasdiqlash',
 'emaildisabled' => 'Bu sayt elektron pochta xatlarini yubora olmaydi.',
 'accountcreated' => 'Hisob yozuvi yaratildi',
 'login-abort-generic' => 'Tizimga kirishga mufavvaqiyatsiz urinish',
 'loginlanguagelabel' => 'Til: $1',
 'pt-login' => 'Kirish',
+'pt-createaccount' => 'Hisob yaratish',
 'pt-userlogout' => 'Chiqish',
 
 # Change password dialog
@@ -552,7 +555,7 @@ Ism yozilishini tekshirib koʻring.',
 'passwordreset-legend' => 'Maxfiy soʻzni yangilash',
 'passwordreset-username' => 'Foydalanuvchi nomi:',
 'passwordreset-domain' => 'Domen:',
-'passwordreset-email' => 'Elektron pochta manzili:',
+'passwordreset-email' => 'Elektron pochta manzilingiz:',
 'passwordreset-emailelement' => "Foydalanuvchi ismi: $1
 Vaqtinchalik maxfiy so'z: $2",
 
index ccbf1d4..6bc0430 100644 (file)
@@ -375,7 +375,6 @@ $messages = array(
 'tog-ccmeonemails' => 'Gửi bản sao cho tôi khi gửi thư điện tử cho người khác',
 'tog-diffonly' => 'Không hiển thị nội dung trang dưới phần so sánh phiên bản',
 'tog-showhiddencats' => 'Hiển thị thể loại ẩn',
-'tog-noconvertlink' => 'Tắt liên kết chuyển đổi tựa đề',
 'tog-norollbackdiff' => 'Không so sánh sau khi lùi sửa',
 'tog-useeditwarning' => 'Cảnh báo khi tôi thoát trang sửa đổi mà chưa lưu trang',
 'tog-prefershttps' => 'Luôn kết nối an toàn khi đăng nhập',
@@ -2548,7 +2547,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 hoặc nhúng trang mà bạn sắp xóa.",
+'deleting-backlinks-warning' => "'''Cảnh báo:''' Có [[Special:WhatLinksHere/{{FULLPAGENAME}}|trang khác]] liên kết đến hoặc nhúng trang mà bạn sắp xóa.",
 
 # Rollback
 'rollback' => 'Lùi tất cả sửa đổi',
index 12d010e..ca8b2fa 100644 (file)
@@ -166,8 +166,8 @@ $messages = array(
 'disclaimerpage' => 'Project:Ceeltümin vassamizõõ',
 'edithelp' => 'Muutuzavid',
 'helppage' => 'Help:Sisälto',
-'mainpage' => 'Esicülci',
-'mainpage-description' => 'Esicülci',
+'mainpage' => 'Päälehto',
+'mainpage-description' => 'Päälehto',
 'portal' => 'Foorum',
 'portal-url' => 'Project:Foorum',
 'privacy' => 'Salaštrahuituz',
@@ -787,7 +787,7 @@ Että või muuttaa cülcia, mutta võittõ kattsoa sene lähtekoodi.',
 'tooltip-search-go' => 'Mee cüľľelee, kummall on vakurat sesama nimi (kui eloz on)',
 'tooltip-search-fulltext' => 'Etsi cülciltä sitä tekstiä',
 'tooltip-p-logo' => 'Mee esicüľľelee',
-'tooltip-n-mainpage' => 'Mee esicüľľelee',
+'tooltip-n-mainpage' => 'Mee päälehole',
 'tooltip-n-mainpage-description' => 'Mee esicüľľelee',
 'tooltip-n-portal' => 'Juttua projektissa: Mitä tüü võittõ tehä, kuza levvette mitä',
 'tooltip-n-currentevents' => 'Lugõ soobšeńńad nücüizess kõhtoiss',
index e7e8770..1068623 100644 (file)
@@ -777,6 +777,7 @@ $2',
 'resetpass-recycled' => 'זײַט אזוי גוט שטעטל אירע פאסווארט צו עפעס אנדערש פונעם לויפיקן פאסווארט.',
 'resetpass-temp-password' => 'צײַטווייליק פאַסווארט:',
 'resetpass-abort-generic' => 'פאסווארט ענדערונג איז מבוטל געווארן דורך א פארברייטערונג.',
+'resetpass-expired' => 'אירע פאסווארט איז אויסגעגאנגען. זײַט אזוי גוט שטעלט א נײַ פאסווארט כדי ארײַנלאגירן.',
 
 # Special:PasswordReset
 'passwordreset' => 'צוריקשטעלן פאַסווארט',
@@ -1630,6 +1631,7 @@ $1",
 'rcnotefrom' => 'פֿאלגנד זענען די ענדערונגען זײַט <strong>$2</strong> (ביז <strong>$1</strong>).',
 'rclistfrom' => 'װײַזן נײַע ענדערונגען פֿון $1',
 'rcshowhideminor' => '$1 מינערדיגע ענדערונגען',
+'rcshowhideminor-show' => 'ווײַזן',
 'rcshowhideminor-hide' => 'באהאלטן',
 'rcshowhidebots' => '$1 ראבאטן',
 'rcshowhidebots-show' => 'ווײַזן',
@@ -2097,6 +2099,11 @@ $1",
 'protectedpages-cascade' => 'בלויז קאַסקאַדירנדיקע באַשיצונגען',
 'protectedpages-noredirect' => 'פֿארהיילן ווייטערפֿירונגען',
 'protectedpagesempty' => 'אצינד זענען קיין בלעטער נישט געשיצט מיט די דאזיגע פאַראַמעטערס.',
+'protectedpages-timestamp' => 'צײַטשטעמפל',
+'protectedpages-page' => 'בלאַט',
+'protectedpages-expiry' => 'גייט אויס',
+'protectedpages-reason' => 'אורזאַך',
+'protectedpages-unknown-timestamp' => 'אומבאַוואוסט',
 'protectedtitles' => 'געשיצטע קעפלעך',
 'protectedtitlesempty' => 'אצינד זענען קיין קעפלעך נישט באַשיצט מיט די דאזיגע פאַראַמעטערס.',
 'listusers' => 'באַניצער ליסטע',
@@ -2368,7 +2375,8 @@ $UNWATCHURL
 'delete-edit-reasonlist' => 'רעדאַקטירן די אויסמעקן סיבות',
 'delete-toobig' => 'דער בלאַט האט א גרויסע רעדאקטירונג היסטאריע, מער ווי $1 {{PLURAL:$1|רעוויזיע|רעוויזיעס}}. אויסמעקן אזעלכע בלעטער איז באַגרענעצט געווארן בכדי צו פֿאַרמײַדן א צופֿעליגע פֿאַרשטערונג פֿון  {{SITENAME}}.',
 'delete-warning-toobig' => 'דער בלאַט האט א גרויסע רעדאקטירונג היסטאריע, מער ווי $1 {{PLURAL:$1|רעוויזיע|רעוויזיעס}}. אויסמעקן אים קען פֿאַרשטערן דאַטנבאַזע אפעראַציעס פֿון {{SITENAME}}; זײַט פֿארזיכטיג איידער איר מעקט אויס.',
-'deleting-backlinks-warning' => "'''ווארענוג:''' אנדערע בלעטער פארבינדן צום בלאט אדער אריבערשליסן פונעם בלאט איר האלט ביי אויסמעקן.",
+'deleting-backlinks-warning' => "'''ווארענוג:'''
+[[Special:WhatLinksHere/{{FULLPAGENAME}}|אנדערע בלעטער]]  פארבינדן צום בלאט אדער אריבערשליסן דעם בלאט איר האלט ביי אויסמעקן.",
 
 # Rollback
 'rollback' => 'צוריקדרייען רעדאַקטירונגען',
index 658b6fa..dac35e8 100644 (file)
@@ -271,7 +271,6 @@ $messages = array(
 'tog-ccmeonemails' => '當我寄電郵畀其他人嗰陣寄返封副本畀我',
 'tog-diffonly' => '響差異下面唔顯示頁面內容',
 'tog-showhiddencats' => '顯示隱藏類',
-'tog-noconvertlink' => '唔轉連結標題',
 'tog-norollbackdiff' => '進行反轉之後略過差異',
 'tog-useeditwarning' => '當我離開未保存好嘅修改嗰陣警告我',
 'tog-prefershttps' => '簽到後繼續用加密連線',
index ed1ee3a..6e6ad18 100644 (file)
@@ -7,16 +7,10 @@
  * @ingroup Language
  * @file
  *
- * @author Cwek
- * @author Gakmo
  * @author Kuailong
- * @author Li3939108
  * @author PhiLiP
- * @author Qiyue2001
  * @author Shizhao
- * @author StephDC
  * @author Wong128hk
- * @author Xiaomingyan
  */
 
 # Stub message file for converter code "zh"
@@ -179,84 +173,18 @@ $specialPageAliases = array(
 );
 
 $messages = array(
-# User preference toggles
-'tog-underline' => '鏈接下劃線:',
-'tog-hideminor' => '于最近更改列表中隱藏小編輯',
-'tog-showtoolbar' => '顯示編輯工具欄(需要 JavaScript)',
-'tog-editondblclick' => '双击以编辑页面',
-'tog-editsectiononrightclick' => '允许通过右击章节标题来编辑章节',
-'tog-rememberpassword' => '让浏览器记住我的登录(最大记录为$1天)',
-'tog-watchcreations' => '将我创建的页面和上传的文件添加到监视列表',
-'tog-watchdefault' => '将我编辑过的页面和上传的文件添加到监视列表',
-'tog-watchmoves' => '将我移动过的页面和上传的文件添加到监视列表',
-'tog-watchdeletion' => '将我删除的页面和文件添加到监视列表',
-'tog-minordefault' => '默认所有编辑为小编辑',
-'tog-previewontop' => '在编辑框前显示预览',
-'tog-previewonfirst' => '在第一次编辑时显示预览',
-'tog-enotifwatchlistpages' => '当在我监视列表的页面或文件发生更改时以电子邮件通知我',
-'tog-enotifusertalkpages' => '当我的用户讨论页发生更改时以电子邮件通知我',
-'tog-watchlisthideown' => '从监视列表隐藏我的编辑',
-'tog-watchlisthidebots' => '在监视列表中隐藏機器人用戶的修改',
-'tog-watchlisthideminor' => '在监视列表中隐藏小修改',
-'tog-norollbackdiff' => '進行回退後略過差異比較',
-
-# Font style option in Special:Preferences
-'editfont-monospace' => '等寬字體',
-
-# Categories related messages
-'category_header' => '分类“$1”中的页面',
-'subcategories' => '子分类',
-'hidden-category-category' => '隐藏的分类',
-
-'about' => '关于',
-'cancel' => '取消',
-'moredotdotdot' => '更多……',
-'mypage' => '页面',
-'mytalk' => '讨论',
-'anontalk' => '这个IP地址的讨论页',
-'navigation' => '导航',
-
-# Cologne Blue skin
-'qbbrowse' => '浏览',
-'qbedit' => '编辑',
-'qbpageoptions' => '该页',
-'faq' => '常见问题',
-'faqpage' => 'Project:常见问题',
-
-# Vector skin
-'vector-action-delete' => '删除',
-'vector-action-move' => '移动',
-'vector-view-create' => '创建',
-'vector-view-edit' => '编辑',
-'vector-view-history' => '查看历史',
-
-'newpage' => '最新页面',
-
-# Login and logout pages
-'userlogin-noaccount' => '没有账户?',
-'createacct-join' => '请在下面输入您的资料',
-
-# Edit pages
-'editing' => '编辑“$1”',
-
-# Miscellaneous special pages
-'newpages' => '最新页面',
-
-# Tooltip help for the actions
-'interlanguage-link-title' => '$1 – $2',
-
 /*
 Short names for language variants used for language conversion links.
 Variants for Chinese language
 */
 'variantname-zh-hans' => '简体',
 'variantname-zh-hant' => '繁體',
-'variantname-zh-cn' => '大陆简体',
-'variantname-zh-tw' => '台灣正體',
-'variantname-zh-hk' => '香港繁體',
-'variantname-zh-mo' => '澳門繁體',
-'variantname-zh-sg' => '新加坡简体',
-'variantname-zh-my' => '大马简体',
-'variantname-zh' => '不转换',
+'variantname-zh-cn'   => '大陆简体',
+'variantname-zh-tw'   => '台灣正體',
+'variantname-zh-hk'   => '香港繁體',
+'variantname-zh-mo'   => '澳門繁體',
+'variantname-zh-sg'   => '新加坡简体',
+'variantname-zh-my'   => '大马简体',
+'variantname-zh'      => '不转换',
 
 );
index cd395bb..6e72e36 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (China) (中文(中国大陆)‎)
+/** Chinese (China) (‪中文(中国大陆)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -12,7 +12,6 @@
  * @author Shizhao
  * @author Wong128hk
  * @author Xiaomingyan
- * @author 范
  */
 
 # Inherit everything for now
@@ -22,21 +21,12 @@ $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '进行回退后略过差异比较',
 
-'mytalk' => '讨论',
+'mytalk' => '我的讨论页',
 
-# 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).
+# 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) and the disambiguation template definition (see disambiguations).
 'portal' => '社区专页',
 
-# Login and logout pages
-'createacct-benefit-body1' => '{{PLURAL:$1|次编辑}}',
-'createacct-benefit-body2' => '
-{{PLURAL:$1|个页面}}',
-'createacct-benefit-body3' => '位最近{{PLURAL:$1|贡献者}}',
-
 # Edit pages
-'editing' => '编辑“$1”',
-
-# Tooltip help for the actions
-'interlanguage-link-title' => '$1 – $2',
+'editing' => '正在编辑 $1',
 
 );
index aa8ca0a..dd0183b 100644 (file)
@@ -422,7 +422,6 @@ $messages = array(
 'tog-ccmeonemails' => '把我给其他用户发送的电子邮件的副本发送给我',
 'tog-diffonly' => '不在差异下面显示页面内容',
 'tog-showhiddencats' => '显示隐藏分类',
-'tog-noconvertlink' => '停用链接文字转换',
 'tog-norollbackdiff' => '执行回退后不显示差异',
 'tog-useeditwarning' => '当我离开有未保存更改的编辑页面时提醒我',
 'tog-prefershttps' => '登录时始终使用安全连接',
@@ -2477,7 +2476,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => '编辑删除原因',
 'delete-toobig' => '这个页面有一个十分大量的编辑历史,超过$1次修订。删除此类页面的动作已经被限制,以防止在{{SITENAME}}上的意外扰乱。',
 'delete-warning-toobig' => '这个页面有一个十分大量的编辑历史,超过$1次修订。删除它可能会扰乱{{SITENAME}}的数据库操作;在继续此动作前请小心。',
-'deleting-backlinks-warning' => "'''警告:'''有其他页面链接至或包含您要删除的页面。",
+'deleting-backlinks-warning' => "'''警告:'''有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他页面]]链接至或包含您要删除的页面。",
 
 # Rollback
 'rollback' => '回退编辑',
@@ -3027,7 +3026,7 @@ $2',
 'tooltip-pt-watchlist' => '你正在监视更改的页面的列表',
 'tooltip-pt-mycontris' => '你的贡献的列表',
 'tooltip-pt-login' => '我们鼓励您登录,不过这不是强制的',
-'tooltip-pt-logout' => '退出登录',
+'tooltip-pt-logout' => '退出',
 'tooltip-ca-talk' => '关于内容页面的讨论',
 'tooltip-ca-edit' => '你可以编辑本页面。请在保存前使用预览按钮',
 'tooltip-ca-addsection' => '开始新段落',
index 62f4b80..17123d0 100644 (file)
@@ -306,7 +306,6 @@ $messages = array(
 'tog-ccmeonemails' => '當我寄電子郵件給其他使用者時,也寄一份副本到我的信箱',
 'tog-diffonly' => '比對版本差異時下面不顯示頁面內容',
 'tog-showhiddencats' => '顯示隱藏分類',
-'tog-noconvertlink' => '不轉換連結標題',
 'tog-norollbackdiff' => '回退後不做差異比對',
 'tog-useeditwarning' => '當離開頁面時編輯仍未儲存,請提醒我',
 'tog-prefershttps' => '登入時始終使用安全連線',
@@ -2433,7 +2432,7 @@ $UNWATCHURL
 'delete-edit-reasonlist' => '編輯刪除理由',
 'delete-toobig' => '這個頁面有一個十分大量的編輯歷史,超過$1次修訂。刪除此類頁面的動作已經被限制,以防止在{{SITENAME}}上的意外擾亂。',
 'delete-warning-toobig' => '這個頁面有一個十分大量的編輯歷史,超過$1次修訂。刪除它可能會擾亂{{SITENAME}}的資料庫操作;在繼續此動作前請小心。',
-'deleting-backlinks-warning' => "'''警告:'''您要刪除的頁面有其他頁面連接至此或包含此頁面。",
+'deleting-backlinks-warning' => "'''警告:'''您要刪除的頁面有[[Special:WhatLinksHere/{{FULLPAGENAME}}|其他頁面]]連接至此或包含此頁面。",
 
 # Rollback
 'rollback' => '回退編輯',
index de09791..dc28646 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Hong Kong) (中文(香港)‎)
+/** Chinese (Hong Kong) (‪中文(香港)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,16 +7,11 @@
  * @ingroup Language
  * @file
  *
- * @author Gakmo
  * @author Horacewai2
- * @author Justincheng12345
  * @author Kayau
- * @author Liflon
  * @author Mark85296341
- * @author Openerror
  * @author PhiLiP
  * @author Shizhao
- * @author Simon Shek
  * @author Waihorace
  * @author Wong128hk
  * @author Yukiseaside
@@ -34,235 +29,38 @@ $specialPageAliases = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline' => '連結加底線:',
-'tog-hideminor' => '近期變動中隱藏細微修改',
-'tog-hidepatrolled' => '於近期變動中隱藏巡查過的編輯',
-'tog-newpageshidepatrolled' => '於新頁面清單中隱藏巡查過的頁面',
-'tog-extendwatchlist' => '展開監視清單以顯示所有更改',
-'tog-usenewrc' => '在最近更改和監視列表中整合同一頁的修改',
-'tog-numberheadings' => '標題自動編號',
-'tog-showtoolbar' => '顯示編輯工具欄',
-'tog-editondblclick' => '雙擊編輯頁面',
-'tog-editsectiononrightclick' => '允許右擊標題編輯段落',
-'tog-rememberpassword' => '在這個瀏覽器上記住我的登入資訊(可維持 $1 {{PLURAL:$1|天|天}})',
-'tog-watchcreations' => '將我建立的頁面及檔案添加到我的監視列表中',
-'tog-watchdefault' => '將我更改的頁面及檔案添加到我的監視列表中',
-'tog-watchmoves' => '將我移動的頁面及檔案添加到我的監視列表',
-'tog-watchdeletion' => '將我刪除的頁面及檔案添加到我的監視列表',
-'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' => '從不使用',
-'underline-default' => '面板或瀏覽器預設',
-
-# Font style option in Special:Preferences
-'editfont-style' => '編輯區字型樣式:',
-'editfont-default' => '瀏覽器預設',
-'editfont-monospace' => '固定間距字型',
-'editfont-sansserif' => '無襯線字型',
-'editfont-serif' => '襯線字型',
 
 # Dates
-'sunday' => '星期日',
-'monday' => '星期一',
-'tuesday' => '星期二',
-'wednesday' => '星期三',
-'thursday' => '星期四',
-'friday' => '星期五',
-'saturday' => '星期六',
-'sun' => '日',
-'mon' => '一',
-'tue' => '二',
-'wed' => '三',
-'thu' => '四',
-'fri' => '五',
-'sat' => '六',
-'january' => '一月',
-'february' => '二月',
-'march' => '三月',
-'april' => '四月',
-'may_long' => '五月',
-'june' => '六月',
-'july' => '七月',
-'august' => '八月',
+'january'   => '一月',
+'february'  => '二月',
+'march'     => '三月',
+'april'     => '四月',
+'may_long'  => '五月',
+'june'      => '六月',
+'july'      => '七月',
+'august'    => '八月',
 'september' => '九月',
-'october' => '十月',
-'november' => '十一月',
-'december' => '十二月',
-'january-gen' => '一月',
-'february-gen' => '二月',
-'march-gen' => '三月',
-'april-gen' => '四月',
-'may-gen' => '五月',
-'june-gen' => '六月',
-'july-gen' => '七月',
-'august-gen' => '八月',
-'september-gen' => '九月',
-'october-gen' => '十月',
-'november-gen' => '十一月',
-'december-gen' => '十二月',
-'jan' => '1月',
-'feb' => '2月',
-'mar' => '3月',
-'apr' => '4月',
-'may' => '5月',
-'jun' => '6月',
-'jul' => '7月',
-'aug' => '8月',
-'sep' => '9月',
-'oct' => '10月',
-'nov' => '11月',
-'dec' => '12月',
-'january-date' => '1月$1日',
-'february-date' => '2月$1日',
-'march-date' => '三月$1日',
-'april-date' => '四月$1日',
-'may-date' => '五月$1日',
-'june-date' => '六月$1日',
-'july-date' => '七月$1日',
-'august-date' => '八月$1日',
-'september-date' => '九月$1日',
-'october-date' => '十月$1日',
-'november-date' => '十一月$1日',
-'december-date' => '十二月$1日',
-
-# Categories related messages
-'pagecategories' => '$1個分類',
-'category_header' => '分類中的頁面「$1」',
-'subcategories' => '子分類',
-'category-media-header' => '「$1」分類中的媒體',
-'category-empty' => "''這個分類中尚未包含任何頁面或媒體。''",
-'hidden-categories' => '$1個隱藏分類',
-'hidden-category-category' => '隱藏分類',
-'category-subcat-count' => '{{PLURAL:$2|這個分類中只有以下的子分類。|這個分類中有以下的$1個子分類,共有$2個子分類。}}',
-'category-subcat-count-limited' => '這個分類下有$1個子分類。',
-'category-article-count' => '{{PLURAL:$2|這個分類中只有以下的頁面。|這個分類中有以下的$1個頁面,共有$2個頁面。}}',
-'category-article-count-limited' => '這個分類下有$1個頁面。',
-'category-file-count' => '{{PLURAL:$2|這個分類中只有以下的檔案。|這個分類中有以下的$1個檔案,共有$2個檔案。}}',
-'category-file-count-limited' => '這個分類下有$1個檔案。',
-'listingcontinuesabbrev' => '續',
-'index-category' => '已索引的頁面',
-'noindex-category' => '未索引的頁面',
-'broken-file-category' => '包含損壞檔案連結的頁面',
+'october'   => '十月',
+'november'  => '十一月',
+'december'  => '十二月',
 
-'about' => '關於',
-'article' => '內容頁面',
-'newwindow' => '(於新視窗開啟)',
-'cancel' => '取消',
-'moredotdotdot' => '更多...',
-'morenotlisted' => '這不是完整的列表。',
-'mytalk' => '討論頁',
-'anontalk' => '此IP位址的討論頁',
-'navigation' => '導航',
-'and' => '和',
+'mytalk' => '我的討論頁',
 
-# Cologne Blue skin
-'qbfind' => '搜尋',
-'qbbrowse' => '瀏覽',
-'qbedit' => '編輯',
-'qbpageoptions' => '本頁',
-'qbmyoptions' => '我的用戶頁面',
-'faq' => '常見問題',
-'faqpage' => 'Project:常見問題',
-
-# Vector skin
-'vector-action-addsection' => '新增主題',
-'vector-action-delete' => '刪除',
-'vector-action-undelete' => '恢復',
-'vector-action-unprotect' => '修改保護狀態',
-'vector-view-history' => '歷史',
-'vector-view-view' => '閱覽',
-'vector-view-viewsource' => '查看原始碼',
-'variants' => '變體',
-
-'navigation-heading' => '導航菜單',
-'returnto' => '回到$1。',
-'tagline' => '從 {{SITENAME}}',
-'help' => '幫助',
-'search' => '搜尋',
-'searcharticle' => '提交',
-'updatedmarker' => '自從我上次查看後已更新',
+'tagline'          => '從 {{SITENAME}}',
+'search'           => '搜尋',
 'printableversion' => '可打印版',
-'permalink' => '永久連接',
-'print' => '打印',
-'undeletethispage' => '恢復本頁',
-'undelete_short' => '恢復{{PLURAL:$1|1次編輯|$1次編輯}}',
-'viewdeleted_short' => '查看{{PLURAL:$1|1次已刪的編輯|$1次已刪的編輯}}',
-'protect_change' => '修改',
-'unprotect' => '修改保護狀態',
-'unprotectthispage' => '修改本頁的保護狀態',
-'talkpage' => '對本頁進行討論',
-'talkpagelinktext' => '討論頁',
-'specialpage' => '特殊頁面',
-'postcomment' => '新章節',
-'articlepage' => '查看內容頁面',
-'views' => '外觀',
-'userpage' => '查看用戶頁',
-'projectpage' => '查看計劃頁面',
-'imagepage' => '查看檔案頁面',
-'mediawikipage' => '查看訊息頁面',
-'templatepage' => '查看模板頁',
-'viewhelppage' => '查看幫助頁面',
-'categorypage' => '查看分類頁面',
-'viewtalkpage' => '查看討論頁',
-'redirectpagesub' => '重定向頁',
-'lastmodifiedat' => '本頁最後更改於$1$2。',
-'viewcount' => '本頁的瀏覽次數為{{PLURAL:$1|1次|$1次}}。',
-'protectedpage' => '受保護的頁面',
-'jumpto' => '跳到:',
-'jumptonavigation' => '導航',
-'jumptosearch' => '搜尋',
-'view-pool-error' => '抱歉,伺服器現時超出負荷。
-有太多用戶想要查看本頁。
-請先稍候片刻才再嘗試查看本頁。
-
-$1',
-'pool-timeout' => '等待鎖時超出了時限',
-
-# 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' => 'Project:關於我們',
-'copyright' => '除非另外註明,否則內容以$1提供。',
-'copyrightpage' => '{{ns:project}}:版權',
-'edithelp' => '編輯方面的幫助',
-'mainpage' => '主頁',
-'mainpage-description' => '主頁',
-'portal' => '社群區入口',
-'portal-url' => 'Project:社群入口',
-'privacy' => '私隱政策',
+'permalink'        => '永久連接',
+'print'            => '打印',
+'specialpage'      => '特殊頁面',
+'jumpto'           => '跳到:',
+'jumptosearch'     => '搜尋',
+
+# 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) and the disambiguation template definition (see disambiguations).
+'aboutpage'   => 'Project:關於我們',
+'privacy'     => '私隱政策',
 'privacypage' => 'Project:私隱政策',
 
-'badaccess-group0' => '您無權執行您所提出的行動。',
-'badaccess-groups' => '您所提出的行動只有{{PLURAL:$2|此群組|以下群組之一}}才可執行:$1。',
-
-'versionrequired' => '需要$1版本的MediaWiki',
-'versionrequiredtext' => '要使用本頁的話需要$1版本的MediaWiki。
-請見[[Special:版本|版本頁面]]。',
-
-'retrievedfrom' => '擷取自$1',
 'red-link-title' => '$1 (頁面不存在)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
@@ -270,14 +68,14 @@ $1',
 
 # Login and logout pages
 'nav-login-createaccount' => '登入/創造帳戶',
-'userlogin' => '登入/創造帳戶',
+'userlogin'               => '登入/創造帳戶',
 
 # Edit pages
-'editing' => '正在編輯「$1」',
+'editing' => '正在編輯 $1',
 
 # Revision deletion
-'rev-deleted-comment' => '(註釋已除)',
-'rev-deleted-event' => '(日誌已除)',
+'rev-deleted-comment'     => '(註釋已除)',
+'rev-deleted-event'       => '(日誌已除)',
 'revdelete-suppress-text' => "壓制'''只'''應用於以下的情況:
 * 不合適的個人資料
 *: ''地址、電話號碼、身份證號碼等。''",
@@ -285,6 +83,9 @@ $1',
 # Diffs
 'editundo' => '撤銷',
 
+# Search results
+'search-mwsuggest-disabled' => '沒有意見',
+
 # Preferences page
 'prefs-help-gender' => '可選:用於軟件中的性別指定。此項資料將會被公開。',
 
@@ -297,7 +98,7 @@ $1',
 
 # Recent changes
 'recentchanges-label-bot' => '這次編輯是由機械人進行',
-'rcshowhidebots' => '$1機械人的編輯',
+'rcshowhidebots'          => '$1機械人的編輯',
 
 # Special:ActiveUsers
 'activeusers-hidebots' => '隱藏機械人',
@@ -306,24 +107,17 @@ $1',
 'contribslink' => '貢獻',
 
 # Tooltip help for the actions
-'tooltip-search' => '搜尋 {{SITENAME}}',
-'tooltip-search-go' => '若是真有其頁,則進入相同名字的頁面',
-'tooltip-search-fulltext' => '在此頁面內搜尋此文字',
-'tooltip-n-mainpage' => '回到首頁',
+'tooltip-search'                 => '搜尋 {{SITENAME}}',
+'tooltip-search-go'              => '若是真有其頁,則進入相同名字的頁面',
+'tooltip-search-fulltext'        => '在此頁面內搜尋此文字',
+'tooltip-n-mainpage'             => '回到首頁',
 'tooltip-n-mainpage-description' => '回到首頁',
-'tooltip-n-randompage' => '跳到一個隨機抽取的頁面',
-'tooltip-t-print' => '這個頁面的可打印版本',
-'interlanguage-link-title' => '$1 – $2',
+'tooltip-n-randompage'           => '跳到一個隨機抽取的頁面',
+'tooltip-t-print'                => '這個頁面的可打印版本',
 
 # Special:NewFiles
 'showhidebots' => '($1機械人)',
 
-/*
-Short names for language variants used for language conversion links.
-Variants for Chinese language
-*/
-'variantname-zh-hant' => '‪繁體中文',
-
 # Special:SpecialPages
 'specialpages' => '特殊頁面',
 
index fc87626..37be152 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** 中文(澳門)‎ (中文(澳門)‎)
+/** ‪Chinese (Macau) (‪中文(澳門)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -11,9 +11,3 @@
 
 # Inherit everything for now
 $fallback = 'zh-hk, zh-hant, zh-hans';
-
-$messages = array(
-# Tooltip help for the actions
-'interlanguage-link-title' => '$1 – $2',
-
-);
index f4aa157..ccf8371 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Singapore) (中文(新加坡)‎)
+/** Chinese (Singapore) (‪中文(新加坡)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -7,11 +7,9 @@
  * @ingroup Language
  * @file
  *
- * @author Liuxinyu970226
  * @author PhiLiP
  * @author Shizhao
  * @author Wong128hk
- * @author Xiaomingyan
  */
 
 # Inherit everything for now
@@ -21,15 +19,10 @@ $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '进行回退后略过差异比较',
 
-'talkpagelinktext' => '讨论页',
-
-# 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).
+# 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) and the disambiguation template definition (see disambiguations).
 'portal' => '社区入口',
 
 # Edit pages
-'editing' => '编辑“$1”',
-
-# Tooltip help for the actions
-'interlanguage-link-title' => '$1 – $2',
+'editing' => '正在编辑 $1',
 
 );
index 3c21302..d28642e 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Chinese (Taiwan) (中文(台灣)‎)
+/** Chinese (Taiwan) (‪中文(台灣)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -10,7 +10,6 @@
  * @author Alexsh
  * @author Andrew971218
  * @author BobChao
- * @author Danny0838
  * @author Ianbu
  * @author Jidanni
  * @author Mark85296341
  * @author PhiLiP
  * @author Roc michael
  * @author Shizhao
- * @author Simon Shek
  * @author Urhixidur
- * @author Waihorace
  * @author Wong128hk
- * @author Xiaomingyan
  * @author Zerng07
  * @author לערי ריינהארט
  */
@@ -107,65 +103,66 @@ $dateFormats = array(
 
 $messages = array(
 # User preference toggles
-'tog-underline' => '連結標注底線',
-'tog-hideminor' => '近期變動中隱藏小修改',
-'tog-usenewrc' => '使用強化的近期變動 (需要JavaScript)',
-'tog-numberheadings' => '自動編號標題',
-'tog-showtoolbar' => '顯示編輯工具欄 (需要JavaScript)',
-'tog-watchcreations' => '將我建立的頁面加進我的監視列表',
-'tog-watchdefault' => '將我更改的頁面添加到我的監視列表中',
-'tog-minordefault' => '預設將編輯設定為細微修改',
+'tog-underline'            => '連結標注底線',
+'tog-justify'              => '段落對齊',
+'tog-hideminor'            => '近期變動中隱藏細微修改',
+'tog-usenewrc'             => '使用強化的近期變動 (需要JavaScript)',
+'tog-numberheadings'       => '自動編號標題',
+'tog-showtoolbar'          => '顯示編輯工具欄 (需要JavaScript)',
+'tog-watchcreations'       => '將我建立的頁面加進我的監視列表',
+'tog-watchdefault'         => '將我更改的頁面添加到我的監視列表中',
+'tog-minordefault'         => '預設將編輯設定為細微修改',
 'tog-enotifwatchlistpages' => '當我監視的頁面改變時發電子郵件給我',
-'tog-enotifusertalkpages' => '當我的對話頁有更動時發電子郵件通知我',
-'tog-shownumberswatching' => '顯示監視數目',
-'tog-uselivepreview' => '使用即時預覽 (JavaScript) (試驗中)',
-'tog-watchlisthideminor' => '監視列表中隱藏細微修改',
-'tog-ccmeonemails' => '當我寄電子郵件給其他使用者時,也寄一份複本到我的信箱。',
+'tog-enotifusertalkpages'  => '當我的對話頁有更動時發電子郵件通知我',
+'tog-shownumberswatching'  => '顯示監視數目',
+'tog-uselivepreview'       => '使用即時預覽 (JavaScript) (試驗中)',
+'tog-watchlisthideminor'   => '監視列表中隱藏細微修改',
+'tog-ccmeonemails'         => '當我寄電子郵件給其他使用者時,也寄一份複本到我的信箱。',
 
 # Dates
-'saturday' => '星期六',
-'sun' => '日',
-'mon' => '一',
-'tue' => '二',
-'wed' => '三',
-'thu' => '四',
-'fri' => '五',
-'january' => '一月',
-'february' => '二月',
-'march' => '三月',
-'april' => '四月',
-'may_long' => '五月',
-'june' => '六月',
-'july' => '七月',
-'august' => '八月',
-'september' => '九月',
-'october' => '十月',
-'november' => '十一月',
-'december' => '十二月',
-'january-gen' => '一月',
-'february-gen' => '二月',
-'march-gen' => '三月',
-'april-gen' => '四月',
-'may-gen' => '五月',
-'june-gen' => '六月',
-'july-gen' => '七月',
-'august-gen' => '八月',
+'saturday'      => '星期六',
+'sun'           => '日',
+'mon'           => '一',
+'tue'           => '二',
+'wed'           => '三',
+'thu'           => '四',
+'fri'           => '五',
+'january'       => '一月',
+'february'      => '二月',
+'march'         => '三月',
+'april'         => '四月',
+'may_long'      => '五月',
+'june'          => '六月',
+'july'          => '七月',
+'august'        => '八月',
+'september'     => '九月',
+'october'       => '十月',
+'november'      => '十一月',
+'december'      => '十二月',
+'january-gen'   => '一月',
+'february-gen'  => '二月',
+'march-gen'     => '三月',
+'april-gen'     => '四月',
+'may-gen'       => '五月',
+'june-gen'      => '六月',
+'july-gen'      => '七月',
+'august-gen'    => '八月',
 'september-gen' => '九月',
-'october-gen' => '十月',
-'november-gen' => '十一月',
-'december-gen' => '十二月',
-'jan' => '1月',
-'feb' => '2月',
-'mar' => '3月',
-'apr' => '4月',
-'may' => '5月',
-'jun' => '6月',
-'jul' => '7月',
-'aug' => '8月',
-'sep' => '9月',
-'oct' => '10月',
-'nov' => '11月',
-'dec' => '12月',
+'october-gen'   => '十月',
+'november-gen'  => '十一月',
+'december-gen'  => '十二月',
+'jan'           => '1月',
+'feb'           => '2月',
+'mar'           => '3月',
+'apr'           => '4月',
+'may'           => '5月',
+'jun'           => '6月',
+'jul'           => '7月',
+'aug'           => '8月',
+'sep'           => '9月',
+'oct'           => '10月',
+'nov'           => '11月',
+'dec'           => '12月',
 
 # Categories related messages
 'subcategories' => '子分類',
@@ -175,54 +172,54 @@ $messages = array(
 
 # Vector skin
 'vector-action-protect' => '保護',
-'vector-view-create' => '建立',
-'vector-view-view' => '閱讀',
-
-'help' => '使用說明',
-'search' => '搜尋',
-'searchbutton' => '搜尋',
-'history' => '修訂記錄',
-'history_short' => '歷史',
-'edit' => '編輯',
-'create' => '建立',
-'delete' => '刪除',
+'vector-view-create'    => '建立',
+'vector-view-view'      => '閱讀',
+
+'help'           => '使用說明',
+'search'         => '搜尋',
+'searchbutton'   => '搜尋',
+'history'        => '修訂記錄',
+'history_short'  => '歷史',
+'edit'           => '編輯',
+'create'         => '建立',
+'delete'         => '刪除',
 'protect_change' => '更改',
-'postcomment' => '新段落',
-'toolbox' => '工具箱',
-'userpage' => '檢視使用者頁面',
-'projectpage' => '檢視計畫頁面',
+'postcomment'    => '新段落',
+'toolbox'        => '工具箱',
+'userpage'       => '檢視使用者頁面',
+'projectpage'    => '檢視計畫頁面',
 'lastmodifiedat' => '本頁最後更動時間在 $1 $2。',
-'jumptosearch' => '搜尋',
+'jumptosearch'   => '搜尋',
 
-# 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}}',
-'copyright' => '本站的文字內容除另有聲明外,全部以 $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) and the disambiguation template definition (see disambiguations).
+'aboutsite'   => '關於 {{SITENAME}}',
+'copyright'   => '本站的文字內容除另有聲明外,全部以 $1 條款授權使用。',
 'disclaimers' => '免責聲明',
-'edithelp' => '編輯說明',
-'mainpage' => '首頁',
-'portal' => '社群入口',
-'portal-url' => 'Project:社群入口',
+'edithelp'    => '編輯說明',
+'mainpage'    => '首頁',
+'portal'      => '社群入口',
+'portal-url'  => 'Project:社群入口',
 
 'badaccess-groups' => '您剛才的請求只有{{PLURAL:$2|這個|這些}}使用者組的使用者才能使用: $1',
 
-'editold' => '編輯',
-'editsectionhint' => '編輯章ç¯\80:$1',
-'showtoc' => '顯示',
-'hidetoc' => '隱藏',
-'thisisdeleted' => '檢視或復原$1?',
-'site-rss-feed' => '訂閱 $1 的 RSS 資料來源',
-'site-atom-feed' => '訂閱 $1 的 Atom 資料來源',
-'page-rss-feed' => '訂閱「$1」的 RSS 資料來源',
-'page-atom-feed' => '訂閱「$1」的 Atom 資料來源',
-'red-link-title' => '$1 (頁面不存在)',
+'editold'         => '編輯',
+'editsectionhint' => 'ç¼\96è¾\91段è\90½:$1',
+'showtoc'         => '顯示',
+'hidetoc'         => '隱藏',
+'thisisdeleted'   => '檢視或復原$1?',
+'site-rss-feed'   => '訂閱 $1 的 RSS 資料來源',
+'site-atom-feed'  => '訂閱 $1 的 Atom 資料來源',
+'page-rss-feed'   => '訂閱「$1」的 RSS 資料來源',
+'page-atom-feed'  => '訂閱「$1」的 Atom 資料來源',
+'red-link-title'  => '$1 (頁面不存在)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => '頁面',
-'nstab-user' => '使用者頁面',
-'nstab-special' => '特殊頁面',
-'nstab-project' => '計畫頁面',
+'nstab-main'      => '頁面',
+'nstab-user'      => '使用者頁面',
+'nstab-special'   => '特殊頁面',
+'nstab-project'   => '計畫頁面',
 'nstab-mediawiki' => '介面',
-'nstab-help' => '說明頁面',
+'nstab-help'      => '說明頁面',
 
 # Main script and global functions
 'nosuchactiontext' => '該URL所指定的動作無效。
@@ -230,75 +227,79 @@ $messages = array(
 這也可能是{{SITENAME}}所使用的軟件出現了錯誤。',
 
 # General errors
-'readonlytext' => '資料庫目前禁止輸入新內容及更改,
+'readonlytext'        => '資料庫目前禁止輸入新內容及更改,
 這很可能是由於資料庫正在維修,之後即可復原。
 管理員有如下解釋:
 <p>$1</p>',
-'cannotdelete' => '無法刪除選定的頁面或圖片(它可能已經被其他人刪除了)。',
+'cannotdelete'        => '無法刪除選定的頁面或圖片(它可能已經被其他人刪除了)。',
 'actionthrottledtext' => '系統因為反垃圾編輯的考量,禁止如此頻繁地修改資料,請數分鐘後再嘗試。',
-'viewsourcetext' => '你可以檢視並複製本頁面的原始碼。',
-'editinginterface' => "'''警告:''' 您正在編輯的頁面是正用在軟體上的介面文字。改變此頁將影響其他用戶的介面外觀。如要翻譯,請考慮使用 [//translatewiki.net/wiki/Main_Page?setlang=zh-hant translatewiki.net],一個用來為MediaWiki軟體本地化的計畫。",
+'viewsourcetext'      => '你可以檢視並複製本頁面的原始碼。',
+'editinginterface'    => "'''警告:''' 您正在編輯的頁面是正用在軟體上的介面文字。改變此頁將影響其他用戶的介面外觀。如要翻譯,請考慮使用 [//translatewiki.net/wiki/Main_Page?setlang=zh-hant translatewiki.net],一個用來為MediaWiki軟體本地化的計畫。",
 'ns-specialprotected' => '在{{ns:special}}名字空間中的頁面是不可以編輯的。',
 
 # Login and logout pages
-'logouttext' => "您現在已經登出。
-
-您可以以匿名方式繼續使用{{SITENAME}},或者以相同或不同用戶身份<span class='plainlinks'>[$1 登入]</span>。
-請注意,如果你再次登入,此頁或會繼續顯示,直到您清除瀏覽器快取。",
-'yourname' => '您的使用者名稱:',
-'yourpassword' => '密碼:',
-'login' => '登入',
-'nav-login-createaccount' => '登入/建立新帳號',
-'userlogin' => '登入/建立新帳號',
-'logout' => '登出',
-'userlogout' => '登出',
-'nologin' => '您還沒有帳號嗎?$1。',
-'nologinlink' => '建立新帳號',
-'createaccount' => '建立新帳號',
-'gotaccount' => '已經擁有帳號?$1。',
-'badretype' => '你所輸入的密碼並不相同。',
-'userexists' => '您所輸入的使用者名稱已經存在,請另選一個名稱。',
-'nocookiesnew' => '已成功建立新帳號!偵測到您已關閉 Cookies,請開啟它並登入。',
-'nocookieslogin' => '本站利用 Cookies 進行使用者登入,偵測到您已關閉 Cookies,請開啟它並重新登入。',
-'noname' => '你沒有輸入一個有效的使用者帳號。',
-'loginsuccess' => '你現在以 "$1"的身份登入{{SITENAME}}。',
-'nosuchuser' => '找不到使用者 "$1"。
+'logouttext'                 => '您現在已經登出。
+
+您可以以匿名方式繼續使用{{SITENAME}},或者以相同或不同用戶身份[[Special:UserLogin|登入]]。
+請注意,如果你再次登入,此頁或會繼續顯示,直到您清除瀏覽器快取。',
+'welcomecreation'            => '== 歡迎,$1! ==
+您的帳號已經建立。
+請不要忘記設定[[Special:Preferences|{{SITENAME}}的個人參數]]。',
+'yourname'                   => '您的使用者名:',
+'yourpassword'               => '密碼:',
+'login'                      => '登入',
+'nav-login-createaccount'    => '登入/建立新帳號',
+'userlogin'                  => '登入/建立新帳號',
+'logout'                     => '登出',
+'userlogout'                 => '登出',
+'nologin'                    => '您還沒有帳號嗎?$1。',
+'nologinlink'                => '建立新帳號',
+'createaccount'              => '建立新帳號',
+'gotaccount'                 => '已經擁有帳號?$1。',
+'badretype'                  => '你所輸入的密碼並不相同。',
+'userexists'                 => '您所輸入的使用者名稱已經存在,請另選一個名稱。',
+'nocookiesnew'               => '已成功建立新帳號!偵測到您已關閉 Cookies,請開啟它並登入。',
+'nocookieslogin'             => '本站利用 Cookies 進行使用者登入,偵測到您已關閉 Cookies,請開啟它並重新登入。',
+'noname'                     => '你沒有輸入一個有效的使用者帳號。',
+'loginsuccess'               => '你現在以 "$1"的身份登入{{SITENAME}}。',
+'nosuchuser'                 => '找不到使用者 "$1"。
 檢查您的拼寫,或者用下面的表格[[Special:UserLogin/signup|建立一個新帳號]]。',
-'nosuchusershort' => '沒有一個名為「$1」的使用者。請檢查您輸入的文字是否有錯誤。',
-'nouserspecified' => '你需要指定一個使用者帳號。',
-'passwordtooshort' => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟使用者名不同。',
-'passwordremindertitle' => '{{SITENAME}}密碼提醒',
-'passwordremindertext' => '有人(來自IP位址$1,可能是您)已請求{{SITENAME}}的新密碼 ($4)。
+'nosuchusershort'            => '沒有一個名為「$1」的使用者。請檢查您輸入的文字是否有錯誤。',
+'nouserspecified'            => '你需要指定一個使用者帳號。',
+'passwordtooshort'           => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟使用者名不同。',
+'passwordremindertitle'      => '{{SITENAME}}密碼提醒',
+'passwordremindertext'       => '有人(來自IP位址$1,可能是您)已請求{{SITENAME}}的新密碼 ($4)。
 用戶"$2"現在已設定新臨時密碼"$3"。
 如果這個動作是您所指示的,您需要立即登入並選擇一個新的密碼。
 您的臨時密碼會在{{PLURAL:$5|一|$5}}天內過期。
 
 如果是其他人發出了該請求,或者您已經想起了您的密碼而且並不打算換掉,
 您可以忽略此消息並繼續使用您的舊密碼。',
-'noemail' => '使用者"$1"沒有登記電子郵件地址。',
-'passwordsent' => '使用者"$1"的新密碼已經寄往所登記的電子郵件地址。
+'noemail'                    => '使用者"$1"沒有登記電子郵件地址。',
+'passwordsent'               => '使用者"$1"的新密碼已經寄往所登記的電子郵件地址。
 請在收到後再登入。',
-'blocked-mailpassword' => '由於這個使用者被封鎖,我們暫時禁止您請求申請新密碼。造成不便敬請見諒',
-'eauthentsent' => '一封確認信已經發送到所示的地址。在發送其它郵件到此帳號前,您必須首先依照這封信中的指導確認這個電子郵件信箱真實有效。',
+'blocked-mailpassword'       => '由於這個使用者被封鎖,我們暫時禁止您請求申請新密碼。造成不便敬請見諒',
+'eauthentsent'               => '一封確認信已經發送到所示的地址。在發送其它郵件到此帳號前,您必須首先依照這封信中的指導確認這個電子郵件信箱真實有效。',
 'acct_creation_throttle_hit' => '抱歉,使用您的IP位址拜訪此wiki網站的訪客已經在昨天創建了$1個帳號,達到了該時段的上限,所以目前使用這個IP位址的訪客不能再繼續創建帳號。',
-'emailauthenticated' => '您的電子郵件地址已經於$2 $3確認有效。',
-'emailnotauthenticated' => '您的電子郵件地址<strong>還沒被認證</strong>。以下功能將不會發送任何郵件。',
-'noemailprefs' => '指定一個電子郵件地址以使用此功能',
-'emailconfirmlink' => '確認您的電子郵件地址',
-'invalidemailaddress' => '電子郵件地址格式不正確,請輸入正確的電子郵件位址或清空該輸入框。',
-'accountcreated' => '已建立帳號',
-'accountcreatedtext' => '$1的帳號已經被建立。',
-'createaccount-title' => '在{{SITENAME}}中建立新帳號',
-'createaccount-text' => '有人在{{SITENAME}}中為 $2 建立了一個新帳號($4)。 "$2" 的密碼是 "$3" 。您應該立即登入並更改密碼。
+'emailauthenticated'         => '您的電子郵件地址已經於$2 $3確認有效。',
+'emailnotauthenticated'      => '您的電子郵件地址<strong>還沒被認證</strong>。以下功能將不會發送任何郵件。',
+'noemailprefs'               => '指定一個電子郵件地址以使用此功能',
+'emailconfirmlink'           => '確認您的電子郵件地址',
+'invalidemailaddress'        => '電子郵件地址格式不正確,請輸入正確的電子郵件位址或清空該輸入框。',
+'accountcreated'             => '已建立帳號',
+'accountcreatedtext'         => '$1的帳號已經被建立。',
+'createaccount-title'        => '在{{SITENAME}}中建立新帳號',
+'createaccount-text'         => '有人在{{SITENAME}}中為 $2 建立了一個新帳號($4)。 "$2" 的密碼是 "$3" 。您應該立即登入並更改密碼。
 
 如果該帳號建立錯誤的話,您可以忽略此訊息。',
 
 # Change password dialog
-'resetpass_announce' => '您是透過臨時發送到郵件中的代碼登入的。要完成登入,您必須在這裡設定一個新密碼:',
-'resetpass_header' => '更換帳號密碼',
-'oldpassword' => '舊密碼',
-'newpassword' => '新密碼',
-'changepassword-success' => '您的密碼已經被成功更改﹗現下正為您登入...',
+'resetpass'           => '更換密碼',
+'resetpass_announce'  => '您是透過臨時發送到郵件中的代碼登入的。要完成登入,您必須在這裡設定一個新密碼:',
+'resetpass_header'    => '更換帳號密碼',
+'oldpassword'         => '舊密碼',
+'newpassword'         => '新密碼',
+'resetpass_success'   => '您的密碼已經被成功更改﹗現下正為您登入...',
 'resetpass_forbidden' => '無法更改密碼',
 
 # Edit page toolbar
@@ -306,49 +307,49 @@ $messages = array(
 'media_tip' => '媒體檔案連結',
 
 # Edit pages
-'summary' => '摘要',
-'minoredit' => '這是一個細微修改',
-'savearticle' => '儲存頁面',
-'blockedtitle' => '使用者被封鎖',
-'confirmedittext' => '在編輯此頁之前您必須確認您的電子郵件地址。請透過[[Special:Preferences|偏好設定]]設定並驗證您的電子郵件地址。',
-'accmailtext' => "'[[User talk:$1|$1]]'的隨機產生密碼已經寄到$2。
+'summary'                    => '摘要',
+'minoredit'                  => '這是一個細微修改',
+'savearticle'                => '儲存頁面',
+'blockedtitle'               => '使用者被封鎖',
+'confirmedittext'            => '在編輯此頁之前您必須確認您的電子郵件地址。請透過[[Special:Preferences|偏好設定]]設定並驗證您的電子郵件地址。',
+'accmailtext'                => "'[[User talk:$1|$1]]'的隨機產生密碼已經寄到$2。
 
 這個新帳號的密碼可以在登入後的''[[Special:ChangePassword|更改密碼]]''頁面中更改。",
-'newarticletext' => '您進入了一個尚未建立的頁面。
+'newarticletext'             => '您進入了一個尚未建立的頁面。
 要建立該頁面,請在下面的編輯框中輸入內容(詳情參見[[{{MediaWiki:Helppage}}|說明]])。
 如果您是不小心來到此頁面,直接點擊您瀏覽器中的「返回」按鈕返回。',
-'anontalkpagetext' => "---- ''這是一個還未建立帳號的匿名使用者的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名使用者共享。如果您是一名匿名使用者並認為本頁上的評語與您無關,請[[Special:UserLogin|建立新帳號或登入]]以避免在未來於其他匿名使用者混淆。''",
-'noarticletext' => '此頁目前沒有內容,您可以在其它頁[[Special:Search/{{PAGENAME}}|搜索此頁標題]],
+'anontalkpagetext'           => "---- ''這是一個還未建立帳號的匿名使用者的對話頁。我們因此只能用IP地址來與他/她聯絡。該IP地址可能由幾名使用者共享。如果您是一名匿名使用者並認為本頁上的評語與您無關,請[[Special:UserLogin|建立新帳號或登入]]以避免在未來於其他匿名使用者混淆。''",
+'noarticletext'              => '此頁目前沒有內容,您可以在其它頁[[Special:Search/{{PAGENAME}}|搜索此頁標題]],
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索有關日誌],
 或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。',
-'userpage-userdoesnotexist' => '使用者帳號「<nowiki>$1</nowiki>」未曾建立。請在建立/編輯這個頁面前先檢查一下。',
-'clearyourcache' => "'''注意:''' 在儲存以後, 您必須清除瀏覽器的快取才能看到所作出的改變。 '''Mozilla / Firefox / Safari:''' 按著 ''Shift'' 再點擊''重新整理''(或按下''Ctrl-Shift-R'',在蘋果Mac上按下''Cmd-Shift-R'');'''IE:''' 按著 ''Ctrl'' 再點擊 ''重新整理'',或按下 ''Ctrl-F5'';'''Konqueror:''' 只需點擊 ''重新整理'';'''Opera:''' 使用者需要在 ''工具-設定'' 中完整地清除它們的快取。",
-'usercsspreview' => "'''注意您只是在預覽您的個人 CSS, 還沒有儲存﹗'''",
-'userjspreview' => "'''注意您只是在測試/預覽您的個人 JavaScript,還沒有儲存﹗'''",
-'previewnote' => "'''請記住這只是預覽,內容尚未儲存!'''",
-'session_fail_preview' => "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''
+'userpage-userdoesnotexist'  => '使用者帳號「<nowiki>$1</nowiki>」未曾建立。請在建立/編輯這個頁面前先檢查一下。',
+'usercsspreview'             => "'''注意您只是在預覽您的個人 CSS, 還沒有儲存﹗'''",
+'userjspreview'              => "'''注意您只是在測試/預覽您的個人 JavaScript,還沒有儲存﹗'''",
+'previewnote'                => "'''請記住這只是預覽,內容尚未儲存!'''",
+'session_fail_preview'       => "'''很抱歉!由於部份資料遺失,我們無法處理您的編輯。'''
 請再試一次。
 如果仍然失敗,請[[Special:UserLogout|登出]]後重新登入。",
-'session_fail_preview_html' => "'''很抱歉!部份資料已遺失,我們無法處理您的編輯。''''''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請登出後再重新登入一次。'''",
-'token_suffix_mismatch' => "'''由於您使用者端中的編輯信符毀損了一些標點符號字元,為防止編輯的文字損壞,您的編輯已經被拒絕。
+'session_fail_preview_html'  => "'''很抱歉!部份資料已遺失,我們無法處理您的編輯。''''''如果這個編輯過程沒有問題,請再試一次。如果仍然有問題,請登出後再重新登入一次。'''",
+'token_suffix_mismatch'      => "'''由於您使用者端中的編輯信符毀損了一些標點符號字元,為防止編輯的文字損壞,您的編輯已經被拒絕。
 這種情況通常出現於使用含有很多臭蟲、以網路為主的匿名代理服務的時候。'''",
-'editing' => '編輯「$1」',
-'editingcomment' => '正在編輯$1(新段落)',
-'storedversion' => '已保存版本',
-'nonunicodebrowser' => "'''警告: 您的瀏覽器不相容Unicode編碼。這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。'''",
-'editingold' => "'''警告:你正在編輯的是本頁的舊版本。
+'editing'                    => '正在编辑 $1',
+'editingcomment'             => '正在編輯$1(新段落)',
+'storedversion'              => '已保存版本',
+'nonunicodebrowser'          => "'''警告: 您的瀏覽器不相容Unicode編碼。這裡有一個工作區將使您能安全地編輯頁面: 非ASCII字元將以十六進製編碼模式出現在編輯框中。'''",
+'editingold'                 => "'''警告:你正在編輯的是本頁的舊版本。
 如果你保存它的話,在本版本之後的任何修改都會遺失。'''",
-'longpageerror' => "'''錯誤: 您所提交的文字長度有$1KB,這大於$2KB的最大值。該文字不能被儲存。'''",
-'protectedpagewarning' => "'''警告: 本頁已經被保護,只有擁有管理員許可權的使用者才可修改。'''",
-'semiprotectedpagewarning' => "'''注意:''' 本頁面被鎖定,僅限註冊使用者編輯。",
-'cascadeprotectedwarning' => '警告: 本頁已經被保護,只有擁有管理員權限的使用者才可修改,因為本頁已被以下連鎖保護的{{PLURAL:$1|一個|多個}}頁面所包含:',
-'nocreatetext' => '此網站限制了建立新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:UserLogin|登錄或建立新帳號]]。',
-'nocreate-loggedin' => '您在這個wiki中並無許可權去建立新頁面。',
+'longpageerror'              => "'''錯誤: 您所提交的文字長度有$1KB,這大於$2KB的最大值。該文字不能被儲存。'''",
+'protectedpagewarning'       => "'''警告: 本頁已經被保護,只有擁有管理員許可權的使用者才可修改。'''",
+'semiprotectedpagewarning'   => "'''注意:''' 本頁面被鎖定,僅限註冊使用者編輯。",
+'cascadeprotectedwarning'    => '警告: 本頁已經被保護,只有擁有管理員權限的使用者才可修改,因為本頁已被以下連鎖保護的{{PLURAL:$1|一個|多個}}頁面所包含:',
+'nocreatetitle'              => '建立頁面受限',
+'nocreatetext'               => '此網站限制了建立新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:UserLogin|登錄或建立新帳號]]。',
+'nocreate-loggedin'          => '您在這個wiki中並無許可權去建立新頁面。',
 'recreate-moveddeleted-warn' => "'''警告: 你現在重新建立一個先前曾經刪除過的頁面。'''
 
 你應該要考慮一下繼續編輯這一個頁面是否合適。
 為方便起見,這一個頁面的刪除記錄已經在下面提供:",
-'edit-hook-aborted' => '編輯被鉤取消。
+'edit-hook-aborted'          => '編輯被鉤取消。
 它並無給出解釋。',
 
 # Parser/template warnings
@@ -365,86 +366,93 @@ $messages = array(
 說明:(目前) 指與目前版本比較,(先前) 指與前一個修訂版本比較,小 = 細微修改。',
 
 # Revision feed
-'history-feed-title' => '修訂沿革',
+'history-feed-title'       => '修訂沿革',
 'history-feed-description' => '本站上此頁的修訂沿革',
-'history-feed-empty' => '所請求的頁面不存在。它可能已被刪除或重新命名。
+'history-feed-empty'       => '所請求的頁面不存在。它可能已被刪除或重新命名。
 嘗試[[Special:Search|搜尋本站]]獲得相關的新建頁面。',
 
 # Revision deletion
-'rev-deleted-comment' => '(註釋已除)',
-'rev-deleted-user' => '(使用者名已移除)',
-'rev-deleted-event' => '(日誌已除)',
+'rev-deleted-comment'         => '(註釋已除)',
+'rev-deleted-user'            => '(使用者名已移除)',
+'rev-deleted-event'           => '(日誌已除)',
 'rev-deleted-text-permission' => '該頁面修訂已經被從公共文件中移除。
+在[{{fullurl:{{#Special:Log}}/suppress|page={{PAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
+'rev-deleted-text-view'       => '該頁面修訂已經被從公共文件中移除。作為此網站的管理員,您可以檢視它;
 在[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
-'rev-deleted-text-view' => '該頁面修訂已經被從公共文件中移除。作為此網站的管理員,您可以檢視它;
-在[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} 刪除日誌]中您可能會檢視到詳細的訊息。',
-'revisiondelete' => '刪除/復原刪除修訂',
-'revdelete-nooldid-title' => '沒有目標修訂',
-'revdelete-nooldid-text' => '您沒有指定此操作的目標修訂。',
-'logdelete-selected' => "'''選取的$1個日誌項目:'''",
-'revdelete-text' => "'''刪除的修訂仍將顯示在修訂記錄中, 但它們的文字內容已不能被公眾訪問。'''
+'revisiondelete'              => '刪除/復原刪除修訂',
+'revdelete-nooldid-title'     => '沒有目標修訂',
+'revdelete-nooldid-text'      => '您沒有指定此操作的目標修訂。',
+'logdelete-selected'          => "'''選取的$1個日誌項目:'''",
+'revdelete-text'              => "'''刪除的修訂仍將顯示在修訂記錄中, 但它們的文字內容已不能被公眾訪問。'''
 
 在此網站的其他管理員將仍能訪問隱藏的內容並透過與此相同的介面復原刪除,除非網站工作者進行了一些附加的限制。",
-'revdelete-legend' => '設定修訂限制:',
-'revdelete-hide-user' => '隱藏編輯者的使用者名/IP',
-'revdelete-hide-restricted' => '將此限制同樣應用於管理員',
-'revdelete-suppress' => '同時壓制由操作員以及其他使用者的資料',
-'revdelete-unsuppress' => '在已復原的修訂中移除限制',
-'revdelete-success' => '修訂的可見性已經成功設定。',
-'logdelete-success' => '事件的可見性已經成功設定。',
+'revdelete-legend'            => '設定修訂限制:',
+'revdelete-hide-user'         => '隱藏編輯者的使用者名/IP',
+'revdelete-hide-restricted'   => '將此限制同樣應用於管理員',
+'revdelete-suppress'          => '同時壓制由操作員以及其他使用者的資料',
+'revdelete-unsuppress'        => '在已復原的修訂中移除限制',
+'revdelete-success'           => '修訂的可見性已經成功設定。',
+'logdelete-success'           => '事件的可見性已經成功設定。',
 
 # History merging
-'mergehistory' => '合併修訂記錄',
+'mergehistory'        => '合併修訂記錄',
 'mergehistory-header' => "這一頁可以講您合併一個來源頁面的歷史到另一個新頁面中。
 請確認這次更改會繼續保留該頁面先前的歷史版本。
 
 '''最少該來源頁面的現時修訂必定會保持。'''",
-'mergehistory-merge' => '以下[[:$1]]的修訂可以合併到[[:$2]]。用該選項按鈕欄去合併只有在指定時間以前所建立的修訂。要留意的是使用導航連結便會重設這一欄。',
+'mergehistory-merge'  => '以下[[:$1]]的修訂可以合併到[[:$2]]。用該選項按鈕欄去合併只有在指定時間以前所建立的修訂。要留意的是使用導航連結便會重設這一欄。',
 
 # Merge log
 'mergelogpagetext' => '以下是一個最近由一個頁面的修訂沿革合併到另一個頁面的列表。',
 
 # Diffs
-'history-title' => '「$1」的修訂沿革',
+'history-title'           => '「$1」的修訂沿革',
 'compareselectedversions' => '比較選定的版本',
 
 # Search results
-'searchresults' => '搜尋結果',
-'searchdisabled' => '{{SITENAME}}由於性能方面的原因,全文搜尋已被暫時停用。您可以暫時透過Google搜尋。請留意他們的索引可能會過時。',
+'searchresults'    => '搜尋結果',
+'searchresulttext' => '有關搜尋{{SITENAME}}的更多詳情,參見[[{{MediaWiki:Helppage}}|{{int:help}}]]。',
+'searchsubtitle'   => '查詢\'\'\'[[:$1]]\'\'\'([[Special:Prefixindex/$1|所有以 "$1" 開頭的頁面]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|所有鏈接到 "$1" 的頁面]])',
+'nonefound'        => "'''注意''': 只有一些名稱空間是會作為預設搜尋。嘗試''all:''去搜尋全部的頁面(包埋討論頁面、模板等),或可用需要的名稱空間作為前綴。",
+'powersearch'      => '搜尋',
+'searchdisabled'   => '{{SITENAME}}由於性能方面的原因,全文搜尋已被暫時停用。您可以暫時透過Google搜尋。請留意他們的索引可能會過時。',
 
 # Preferences page
-'preferences' => '偏好設定',
-'mypreferences' => '偏好設定',
-'prefs-personal' => '使用者資料',
-'prefs-rc' => '近期變動',
+'preferences'          => '偏好設定',
+'mypreferences'        => '我的偏好設定',
+'prefsnologintext'     => '您必須先[[Special:UserLogin|登入]]才能設定個人參數。',
+'prefs-personal'       => '使用者資料',
+'prefs-rc'             => '近期變動',
 'prefs-watchlist-days' => '監視列表中顯示記錄的最長天數:',
-'saveprefs' => '保存偏好設定',
-'searchresultshead' => '搜尋結果設定',
-'recentchangesdays' => '近期變動中的顯示日數:',
-'recentchangescount' => '近期變動中的編輯數:',
-'savedprefs' => '您的個人偏好設定已經儲存。',
-'timezonelegend' => '時區',
-'localtime' => '當地時間',
-'servertime' => '伺服器時間:',
-'allowemail' => '接受來自其他使用者的郵件',
-'defaultns' => '否則在這些名字空間搜尋:',
-'username' => '使用者名:',
-'uid' => '使用者ID:',
-'yournick' => '暱稱:',
-'badsig' => '錯誤的原始簽名;請檢查HTML標籤。',
-'badsiglength' => '你的簽名過長;簽名長度必須在$1個字元以下。',
-'prefs-help-gender' => '可選:用於軟體中的性別指定。此項資料將會被公開。',
-'prefs-help-realname' => '真實姓名是選填的,如果您選擇提供它,那它便用以對您的貢獻署名。',
-'prefs-help-email' => '電子郵件是選填的,但當啟用它後可以在您忘記您的個密碼時需要將新密碼重設寄回給您。而在您未公開自己的使用者身分時也能透過您的用戶頁或用戶討論頁與您聯繫。',
+'saveprefs'            => '保存偏好設定',
+'resetprefs'           => '重設參數',
+'searchresultshead'    => '搜尋結果設定',
+'recentchangesdays'    => '近期變動中的顯示日數:',
+'recentchangescount'   => '近期變動中的編輯數:',
+'savedprefs'           => '您的個人偏好設定已經儲存。',
+'timezonelegend'       => '時區',
+'localtime'            => '當地時間',
+'timezoneoffset'       => '時差¹',
+'servertime'           => '伺服器時間',
+'allowemail'           => '接受來自其他使用者的郵件',
+'defaultns'            => '否則在這些名字空間搜尋:',
+'username'             => '使用者名:',
+'uid'                  => '使用者ID:',
+'yournick'             => '暱稱:',
+'badsig'               => '錯誤的原始簽名;請檢查HTML標籤。',
+'badsiglength'         => '你的簽名過長;簽名長度必須在$1個字元以下。',
+'prefs-help-gender'    => '可選:用於軟體中的性別指定。此項資料將會被公開。',
+'prefs-help-realname'  => '真實姓名是選填的,如果您選擇提供它,那它便用以對您的貢獻署名。',
+'prefs-help-email'     => '電子郵件是選填的,但當啟用它後可以在您忘記您的個密碼時需要將新密碼重設寄回給您。而在您未公開自己的使用者身分時也能透過您的用戶頁或用戶討論頁與您聯繫。',
 
 # User rights
-'userrights' => '使用者權限管理',
-'userrights-lookup-user' => '管理使用者群組',
+'userrights'               => '使用者權限管理',
+'userrights-lookup-user'   => '管理使用者群組',
 'userrights-user-editname' => '輸入使用者帳號:',
-'editusergroup' => '編輯使用者群組',
-'editinguser' => "正在編輯使用者'''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]] | [[Special:Contributions/$1|{{int:contribslink}}]])",
+'editusergroup'            => '編輯使用者群組',
+'editinguser'              => "正在編輯使用者'''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]] | [[Special:Contributions/$1|{{int:contribslink}}]])",
 'userrights-editusergroup' => '編輯使用者群組',
-'saveusergroups' => '保存使用者群組',
+'saveusergroups'           => '保存使用者群組',
 
 # Groups
 'group-autoconfirmed' => '自動確認使用者',
@@ -454,31 +462,31 @@ $messages = array(
 'grouppage-autoconfirmed' => '{{ns:project}}:自動確認使用者',
 
 # User rights log
-'rightslog' => '使用者權限日誌',
+'rightslog'     => '使用者權限日誌',
 'rightslogtext' => '以下記錄了使用者權限的更改記錄。',
 
 # Recent changes
-'recentchanges' => '近期變動',
-'recentchanges-feed-description' => '追蹤此訂閱在 wiki 上的近期變動。',
-'rcnotefrom' => '下面是自<b>$2</b>(最多顯示<b>$1</b>):',
-'rcshowhideminor' => '$1細微修改',
-'rcshowhidebots' => '$1機器人的編輯',
-'rcshowhideliu' => '$1具名使用者的編輯',
-'rcshowhideanons' => '$1匿名使用者的編輯',
-'rcshowhidepatr' => ' $1檢查過的編輯',
+'recentchanges'                     => '近期變動',
+'recentchanges-feed-description'    => '追蹤此訂閱在 wiki 上的近期變動。',
+'rcnotefrom'                        => '下面是自<b>$2</b>(最多顯示<b>$1</b>):',
+'rcshowhideminor'                   => '$1細微修改',
+'rcshowhidebots'                    => '$1機器人的編輯',
+'rcshowhideliu'                     => '$1具名使用者的編輯',
+'rcshowhideanons'                   => '$1匿名使用者的編輯',
+'rcshowhidepatr'                    => ' $1檢查過的編輯',
 'number_of_watching_users_pageview' => '[$1個關注使用者]',
 
 # Recent changes linked
-'recentchangeslinked' => '相關頁面修訂記錄',
-'recentchangeslinked-feed' => '相關頁面修訂記錄',
+'recentchangeslinked'         => '相關頁面修訂記錄',
+'recentchangeslinked-feed'    => '相關頁面修訂記錄',
 'recentchangeslinked-toolbox' => '相關頁面修訂記錄',
-'recentchangeslinked-title' => '$1 內連結頁面的修訂記錄',
+'recentchangeslinked-title'   => '$1 內連結頁面的修訂記錄',
 'recentchangeslinked-summary' => "這一個特殊頁面列示這一頁連出頁面的近期變動。在您監視列表中的頁面會以'''粗體'''表示。",
 
 # Upload
-'upload' => '上傳檔案',
-'reuploaddesc' => '返回上載表單。',
-'uploadtext' => "使用下面的表單來上傳用在頁面內新的圖片檔案。
+'upload'                      => '上傳檔案',
+'reuploaddesc'                => '返回上載表單。',
+'uploadtext'                  => "使用下面的表單來上傳用在頁面內新的圖片檔案。
 要檢視或搜尋以前上傳的圖片
 可以進入[[Special:FileList|圖片清單]],
 上傳和刪除將在[[Special:Log/upload|上傳日誌]]中記錄。
@@ -487,50 +495,50 @@ $messages = array(
 '''<nowiki>[[</nowiki>{{ns:file}}:file.jpg<nowiki>]]</nowiki>''',
 '''<nowiki>[[</nowiki>{{ns:file}}:file.png|替換文字<nowiki>]]</nowiki>''' 或
 '''<nowiki>[[</nowiki>{{ns:media}}:file.ogg<nowiki>]]</nowiki>'''。",
-'uploadlogpagetext' => '以下是最近上傳的檔案的一覽表。',
-'ignorewarning' => '忽略警告並儲存檔案。',
-'illegalfilename' => '檔案名"$1"包含有頁面標題所禁止的字符。請改名後重新上傳。',
-'badfilename' => '檔案名已被改為"$1"。',
-'hookaborted' => '您所嘗試的修改被擴展鉤捨棄。',
-'fileexists-thumbnail-yes' => "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]
-請檢查清楚該檔案<strong>[[:$1]]</strong>
+'uploadlogpagetext'           => '以下是最近上傳的檔案的一覽表。',
+'ignorewarning'               => '忽略警告並儲存檔案。',
+'illegalfilename'             => '檔案名"$1"包含有頁面標題所禁止的字符。請改名後重新上傳。',
+'badfilename'                 => '檔案名已被改為"$1"。',
+'hookaborted'                 => '您所嘗試的修改被擴展鉤捨棄。',
+'fileexists-thumbnail-yes'    => "這個檔案好像是一幅圖片的縮圖版本''(縮圖)''。 [[$1|thumb]]
+請檢查清楚該檔案'''<tt>[[:$1]]</tt>'''
 如果檢查後的檔案是同原本圖片的大小是一樣的話,就不用再上載多一幅縮圖。",
-'file-thumbnail-no' => "該檔名是以<strong>$1</strong>開始。它好像一幅圖片的縮圖版本''(縮圖)''。
+'file-thumbnail-no'           => "該檔名是以'''<tt>$1</tt>'''開始。它好像一幅圖片的縮圖版本''(縮圖)''。
 如果你有該圖片的完整大小,如不是請再修改檔名。",
-'fileexists-forbidden' => '已存在相同名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
+'fileexists-forbidden'        => '已存在相同名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => '在共享檔案庫中已存在此名稱的檔案;請返回並用一個新的名稱來上傳此檔案。[[File:$1|thumb|center|$1]]',
-'uploaddisabledtext' => '檔案上傳在此網站不可用。',
-'watchthisupload' => '監視此頁',
+'uploaddisabledtext'          => '檔案上傳在此網站不可用。',
+'watchthisupload'             => '監視此頁',
 
-'upload-proto-error' => '協訂錯誤',
+'upload-proto-error'     => '協訂錯誤',
 'upload-file-error-text' => '當試圖在伺服器上建立臨時檔案時發生內部錯誤。請與系統管理員聯繫。',
 'upload-misc-error-text' => '在上傳時發生未知的錯誤. 請驗証使用了正確並可訪問的 URL,然後進行重試。如果問題仍然存在,請與系統管理員聯繫。',
 
 # Special:ListFiles
 'listfiles_search_for' => '按圖片名稱搜尋:',
-'listfiles_user' => '使用者',
+'listfiles_user'       => '使用者',
 
 # File description page
-'filehist' => '檔案歷史',
+'filehist'           => '檔案歷史',
 'filehist-deleteone' => '刪除這個',
-'filehist-revert' => '復原',
-'filehist-datetime' => '日期/時間',
-'filehist-user' => '使用者',
-'imagelinks' => '連結',
+'filehist-revert'    => '復原',
+'filehist-datetime'  => '日期/時間',
+'filehist-user'      => '使用者',
+'imagelinks'         => '連結',
 
 # File reversion
-'filerevert' => '復原$1',
-'filerevert-legend' => '復原檔案',
-'filerevert-intro' => '<span class="plainlinks">您現正在復原\'\'\'[[Media:$1|$1]]\'\'\'到[$4 於$2 $3的版本]。</span>',
+'filerevert'                => '復原$1',
+'filerevert-legend'         => '復原檔案',
+'filerevert-intro'          => '<span class="plainlinks">您現正在復原\'\'\'[[Media:$1|$1]]\'\'\'到[$4 於$2 $3的版本]。</span>',
 'filerevert-defaultcomment' => '已經復原到於$1 $2的版本',
-'filerevert-submit' => '復原',
-'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經復原到[$4 於$2 $3的版本]。</span>',
+'filerevert-submit'         => '復原',
+'filerevert-success'        => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經復原到[$4 於$2 $3的版本]。</span>',
 
 # File deletion
-'filedelete-intro' => "您現正刪除'''[[Media:$1|$1]]'''。",
-'filedelete-intro-old' => '<span class="plainlinks">你現正刪除\'\'\'[[Media:$1|$1]]\'\'\'於[$4 $2 $3]的版本。</span>',
-'filedelete-comment' => '註解:',
-'filedelete-nofile' => "'''$1'''在這個網站中不存在。",
+'filedelete-intro'      => "您現正刪除'''[[Media:$1|$1]]'''。",
+'filedelete-intro-old'  => '<span class="plainlinks">你現正刪除\'\'\'[[Media:$1|$1]]\'\'\'於[$4 $2 $3]的版本。</span>',
+'filedelete-comment'    => '註解:',
+'filedelete-nofile'     => "'''$1'''在這個網站中不存在。",
 'filedelete-nofile-old' => "在已指定屬性的情況下,這裡沒有'''$1'''於 $2 $3 的版本。",
 
 # MIME search
@@ -548,57 +556,62 @@ $messages = array(
 # Statistics
 'statistics-header-users' => '使用者統計',
 
+'disambiguations'      => '消歧義',
+'disambiguations-text' => '以下的頁面都有到<b>消歧義頁</b>的鏈接,
+但它們應該是連到適當的標題。<br />
+個頁面會被視為消含糊頁如果它是連自[[MediaWiki:Disambiguationspage]]。',
+
 'withoutinterwiki-summary' => '以下的頁面是未有語言鏈接到其它語言版本:',
 
 # Miscellaneous special pages
-'lonelypagestext' => '以下頁面尚未被這個wiki中的其它頁面連結。',
+'lonelypagestext'     => '以下頁面尚未被這個wiki中的其它頁面連結。',
 'uncategorizedimages' => '待分類圖片',
-'unusedimages' => '未使用圖片',
-'popularpages' => '熱門頁面',
-'mostimages' => '最多連結圖片',
-'prefixindex' => '所有頁面之前綴',
-'deadendpagestext' => '以下頁面沒有連結到這個wiki中的其它頁面。',
-'listusers' => '使用者列表',
-'newpages-username' => '使用者帳號:',
-'move' => '移動',
-'unusedimagestext' => '請注意其它網站可能直接透過 URL 連結此圖片,所以這裡列出的圖片有可能依然被使用。',
-'notargettext' => '您還沒有指定一個目標頁面或使用者以進行此項操作。',
+'unusedimages'        => '未使用圖片',
+'popularpages'        => '熱門頁面',
+'mostimages'          => '最多連結圖片',
+'prefixindex'         => '所有頁面之前綴',
+'deadendpagestext'    => '以下頁面沒有連結到這個wiki中的其它頁面。',
+'listusers'           => '使用者列表',
+'newpages-username'   => '使用者帳號:',
+'move'                => '移動',
+'unusedimagestext'    => '請注意其它網站可能直接透過 URL 連結此圖片,所以這裡列出的圖片有可能依然被使用。',
+'notargettext'        => '您還沒有指定一個目標頁面或使用者以進行此項操作。',
 
 # Special:Log
 'specialloguserlabel' => '使用者:',
-'alllogstext' => '綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。',
+'alllogstext'         => '綜合顯示 {{SITENAME}} 的上傳、刪除、保護、查封以及站務日誌。',
 
 # Special:ListUsers
-'listusersfrom' => '給定顯示使用者條件:',
+'listusersfrom'      => '給定顯示使用者條件:',
 'listusers-noresult' => '找不到使用者。',
 
 # Special:ActiveUsers
 'activeusers-hidebots' => '隱藏機器人',
 
-# Email user
-'mailnologin' => '無E-mail地址',
+# E-mail user
+'mailnologin'     => '無E-mail地址',
 'mailnologintext' => '您必須先[[Special:UserLogin|登入]]
 並在[[Special:Preferences|偏好設定]]
 中有一個有效的e-mail地址才可以E-mail其他使用者。',
-'emailuser' => 'E-mail該使用者',
-'emailpage' => 'E-mail使用者',
-'emailpagetext' => '如果該使用者已經在他或她的偏好設定頁中輸入了有效的e-mail地址,以下的表格將寄一個訊息給該使用者。您在您偏好設定中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該使用者就可以回覆您。',
-'noemailtext' => '該使用者還沒有指定一個有效的e-mail地址,
+'emailuser'       => 'E-mail該使用者',
+'emailpage'       => 'E-mail使用者',
+'emailpagetext'   => '如果該使用者已經在他或她的偏好設定頁中輸入了有效的e-mail地址,以下的表格將寄一個訊息給該使用者。您在您偏好設定中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該使用者就可以回覆您。',
+'noemailtext'     => '該使用者還沒有指定一個有效的e-mail地址,
 或者選擇不接受來自其他使用者的e-mail。',
-'emailfrom' => '發件人',
-'emailto' => '收件人',
-'emailsubject' => '主題',
-'emailmessage' => '訊息',
-'emailccme' => '將我的消息的副本發送一份到我的E-mail信箱。',
+'emailfrom'       => '發件人',
+'emailto'         => '收件人',
+'emailsubject'    => '主題',
+'emailmessage'    => '訊息',
+'emailccme'       => '將我的消息的副本發送一份到我的E-mail信箱。',
 
 # Watchlist
-'addedwatchtext' => '已將頁面「[[:$1]]」加入您的[[Special:Watchlist|監視列表]],未來此頁面或其討論頁如有更動,都會在監視列表中列出。',
-'removedwatchtext' => '頁面「[[:$1]]」已經從您的監視頁面中移除。',
+'addedwatchtext'    => "頁面「[[:$1]]」已經被加入到您的[[Special:Watchlist|監視清單]]中。將來有關此頁面及其討論頁的任何修改將會在那裡列出,而且還會在[[Special:RecentChanges|近期變動]]中以'''粗體'''形式列出以使起更容易識別。",
+'removedwatchtext'  => '頁面「[[:$1]]」已經從您的監視頁面中移除。',
 'watchlist-details' => '不包含討論頁,您的監視列表共有 $1 頁。',
 
 'enotif_impersonal_salutation' => '{{SITENAME}}使用者',
-'enotif_anon_editor' => '匿名使用者$1',
-'enotif_body' => '親愛的 $WATCHINGUSERNAME,
+'enotif_anon_editor'           => '匿名使用者$1',
+'enotif_body'                  => '親愛的 $WATCHINGUSERNAME,
 
 $PAGEEDITOR 已經在 $PAGEEDITDATE $CHANGEDORCREATED{{SITENAME}}的 $PAGETITLE 頁面,請到 $PAGETITLE_URL 檢視目前版本。
 
@@ -626,77 +639,77 @@ $NEWPAGE
 # Delete
 'confirmdeletetext' => '您即將從資料庫中永遠刪除一個頁面或圖片以及其歷史。
 請確定您要進行此項操作,並且了解其後果,同時您的行為符合[[{{MediaWiki:Policy-url}}]]。',
-'deletedtext' => '「$1」已經被刪除。
+'deletedtext'       => '「$1」已經被刪除。
 最近刪除的紀錄請參見$2。',
-'dellogpagetext' => '以下是最近刪除的紀錄列表。
+'dellogpagetext'    => '以下是最近刪除的紀錄列表。
 所有的時間都是使用伺服器時間。',
-'reverted' => '復原到早期版本',
-'deletecomment' => '原因:',
+'reverted'          => '復原到早期版本',
+'deletecomment'     => '原因:',
 
 # Rollback
-'rollback' => '復原',
-'rollback_short' => '復原',
-'rollbacklink' => '復原',
-'rollbackfailed' => '無法復原',
-'cantrollback' => '無法復原編輯;最後的貢獻者是本文的唯一作者。',
-'alreadyrolled' => '無法復原由[[User:$2|$2]] ([[User talk:$2|討論]])進行的[[$1]]的最後編輯;
+'rollback'         => '復原',
+'rollback_short'   => '復原',
+'rollbacklink'     => '復原',
+'rollbackfailed'   => '無法復原',
+'cantrollback'     => '無法復原編輯;最後的貢獻者是本文的唯一作者。',
+'alreadyrolled'    => '無法復原由[[User:$2|$2]] ([[User talk:$2|討論]])進行的[[$1]]的最後編輯;
 其他人已經編輯或是復原了該頁。
 
 最後編輯者: [[User:$3|$3]] ([[User talk:$3|討論]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])。',
-'editcomment' => "編輯說明: \"''\$1''\"。",
-'revertpage' => '復原由[[Special:Contributions/$2|$2]] ([[User talk:$2|對話]])的編輯;更改回[[User:$1|$1]]的最後一個版本',
+'editcomment'      => "編輯說明: \"''\$1''\"。",
+'revertpage'       => '復原由[[Special:Contributions/$2|$2]] ([[User talk:$2|對話]])的編輯;更改回[[User:$1|$1]]的最後一個版本',
 'rollback-success' => '復原由$1的編輯;更改回$2的最後一個版本。',
 
 # Protect
-'protect-title' => '更改「$1」的保護等級',
-'protect-locked-blocked' => "您不能在被封鎖時更改保護級別。
+'protect-title'               => '更改「$1」的保護等級',
+'protect-locked-blocked'      => "您不能在被封鎖時更改保護級別。
 以下是'''$1'''現時的保護級別:",
-'protect-locked-access' => "您的帳號權限不能修改保護級別。
+'protect-locked-access'       => "您的帳號權限不能修改保護級別。
 以下是'''$1'''現時的保護級別:",
-'protect-cascadeon' => '以下的{{PLURAL:$1|一個|多個}}頁面包含著本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
-'protect-default' => '(預設)',
+'protect-cascadeon'           => '以下的{{PLURAL:$1|一個|多個}}頁面包含著本頁面的同時,啟動了連鎖保護,因此本頁面目前也被保護,未能編輯。您可以設定本頁面的保護級別,但這並不會對連鎖保護有所影響。',
+'protect-default'             => '(預設)',
 'protect-level-autoconfirmed' => '禁止未註冊使用者',
-'protect-expiry-options' => '2小時:2 hours,1天:1 day,1周:1 week,2周:2 weeks,1個月:1 month,3個月:3 months,6個月:6 months,1年:1 year,永久:infinite',
-'maximum-size' => '最大大小',
+'protect-expiry-options'      => '2小時:2 hours,1天:1 day,1周:1 week,2周:2 weeks,1個月:1 month,3個月:3 months,6個月:6 months,1年:1 year,永久:infinite',
+'maximum-size'                => '最大大小',
 
 # Undelete
-'undelete' => '復原被刪頁面',
-'undeletepage' => '瀏覽及復原被刪頁面',
-'undeletepagetext' => '以下頁面已經被刪除,但依然在檔案中並可以被復原。
+'undelete'                     => '復原被刪頁面',
+'undeletepage'                 => '瀏覽及復原被刪頁面',
+'undeletepagetext'             => '以下頁面已經被刪除,但依然在檔案中並可以被復原。
 檔案庫可能被定時清理。',
-'undeleteextrahelp' => "復原整個頁面時,請清除所有複選框後按 '''''復原''''' 。 復原特定版本時,請選擇相應版本前的複選框後按'''''復原''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
-'undeletehistory' => '如果您復原了該頁面,所有版本都會被復原到修訂沿革中。
+'undeleteextrahelp'            => "復原整個頁面時,請清除所有複選框後按 '''''復原''''' 。 復原特定版本時,請選擇相應版本前的複選框後按'''''復原''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
+'undeletehistory'              => '如果您復原了該頁面,所有版本都會被復原到修訂沿革中。
 如果本頁刪除後有一個同名的新頁面建立,被復原的版本將會稱為較新的歷史。',
-'undeleterevdel' => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法復原的。',
-'undeletehistorynoadmin' => '這個頁面已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻使用者等等細節只有管理員可以看見。',
-'undelete-revision' => '刪除$1時由$3(在$2)所編寫的修訂版本:',
-'undeleterevision-missing' => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被復原。',
-'undeletebtn' => '復原',
-'undeletedrevisions' => '$1個修訂版本已經復原',
-'undeletedrevisions-files' => '$1 個版本和 $2 個檔案被復原',
-'undeletedfiles' => '$1 個檔案被復原',
-'cannotundelete' => '復原失敗;可能之前已經被其他人復原。',
-'undeletedpage' => "'''$1已經被復原''' 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及復原記錄。",
+'undeleterevdel'               => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法復原的。',
+'undeletehistorynoadmin'       => '這個頁面已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻使用者等等細節只有管理員可以看見。',
+'undelete-revision'            => '刪除$1時由$3(在$2)所編寫的修訂版本:',
+'undeleterevision-missing'     => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被復原。',
+'undeletebtn'                  => '復原',
+'undeletedrevisions'           => '$1個修訂版本已經復原',
+'undeletedrevisions-files'     => '$1 個版本和 $2 個檔案被復原',
+'undeletedfiles'               => '$1 個檔案被復原',
+'cannotundelete'               => '復原失敗;可能之前已經被其他人復原。',
+'undeletedpage'                => "'''$1已經被復原''' 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及復原記錄。",
 'undelete-missing-filearchive' => '由於檔案存檔 ID $1 不在資料庫中,不能在檔案存檔中復原。它可能已經反刪除了。',
 
 # Contributions
 'contributions' => '使用者編修記錄',
-'mycontris' => '編修記錄',
-'contribsub2' => '$1的編修記錄 ($2)',
-'uctop' => '(最新修改)',
+'mycontris'     => '我的編修記錄',
+'contribsub2'   => '$1的編修記錄 ($2)',
+'uctop'         => '(最新修改)',
 
-'sp-contributions-newbies' => '只顯示新建立之使用者的編修記錄',
-'sp-contributions-blocklog' => '封鎖記錄',
+'sp-contributions-newbies'    => '只顯示新建立之使用者的編修記錄',
+'sp-contributions-blocklog'   => '封鎖記錄',
 'sp-contributions-userrights' => '使用者權限管理',
-'sp-contributions-username' => 'IP位址或使用者名稱:',
+'sp-contributions-username'   => 'IP位址或使用者名稱:',
 
 # What links here
 'whatlinkshere-title' => '鏈接到$1的頁面',
 
 # Block/unblock
-'blockip' => '封鎖使用者',
-'ipadressorusername' => 'IP地址或使用者名稱:',
-'ipbreason-dropdown' => '*一般的封鎖理由
+'blockip'                     => '封鎖使用者',
+'ipadressorusername'          => 'IP地址或使用者名:',
+'ipbreason-dropdown'          => '*一般的封鎖理由
 ** 屢次增加不實資料
 ** 刪除頁面內容
 ** 外部連結廣告
@@ -704,49 +717,50 @@ $NEWPAGE
 ** 無禮的行為、攻擊/騷擾別人
 ** 濫用多個帳號
 ** 不能接受的使用者名',
-'ipbcreateaccount' => '阻止建立新帳號',
-'ipbemailban' => '阻止使用者傳送E-mail',
-'ipbenableautoblock' => '自動封鎖此使用者最後所用的IP位址,以及後來試圖編輯所用的所有位址',
-'ipbsubmit' => '封鎖該地址',
-'ipbhidename' => '在封鎖日誌、活躍封鎖列表以及使用者列表中隱藏使用者名/IP',
-'blockipsuccesssub' => '封鎖成功',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]]已經被封鎖。
+'ipbcreateaccount'            => '阻止建立新帳號',
+'ipbemailban'                 => '阻止使用者傳送E-mail',
+'ipbenableautoblock'          => '自動封鎖此使用者最後所用的IP位址,以及後來試圖編輯所用的所有位址',
+'ipbsubmit'                   => '封鎖該地址',
+'ipbhidename'                 => '在封鎖日誌、活躍封鎖列表以及使用者列表中隱藏使用者名/IP',
+'blockipsuccesssub'           => '封鎖成功',
+'blockipsuccesstext'          => '[[Special:Contributions/$1|$1]]已經被封鎖。
 <br />參看[[Special:BlockList|被封IP地址列表]]以覆審封鎖。',
-'ipb-edit-dropdown' => '編輯封鎖原因',
-'ipb-unblock-addr' => '解除封鎖$1',
-'ipb-unblock' => '解除禁封使用者名或IP地址',
-'ipb-blocklist' => '檢視現有的封鎖',
-'unblockip' => '解除禁封IP地址',
-'unblockiptext' => '用下面的表單來復原先前被禁封的IP地址的書寫權。',
-'ipusubmit' => '解除禁封',
-'unblocked' => '[[User:$1|$1]] 的封鎖已經解除。',
-'unblocked-id' => '封鎖 $1 已經被移除',
-'ipblocklist-legend' => '搜尋一位已經被封鎖的使用者',
-'anononlyblock' => '僅限匿名使用者',
-'noautoblockblock' => '禁用自動封鎖',
-'createaccountblock' => '禁止建立帳號',
-'ipblocklist-empty' => '封鎖列表為空。',
-'ipblocklist-no-results' => '所要求的IP地址/使用者名沒有被封鎖。',
-'blocklink' => '禁封',
-'blocklogentry' => '[[$1]]已被封鎖 $3 ,終止時間為$2',
-'blocklogtext' => '這是關於使用者封鎖和解除封鎖操作的記錄。被自動封鎖的IP地址沒有被列出。請參閱[[Special:BlockList|被封鎖的IP地址和使用者列表]]。',
-'block-log-flags-anononly' => '僅限匿名使用者',
-'block-log-flags-nocreate' => '禁止建立新帳號',
+'ipb-edit-dropdown'           => '編輯封鎖原因',
+'ipb-unblock-addr'            => '解除封鎖$1',
+'ipb-unblock'                 => '解除禁封使用者名或IP地址',
+'ipb-blocklist'               => '檢視現有的封鎖',
+'unblockip'                   => '解除禁封IP地址',
+'unblockiptext'               => '用下面的表單來復原先前被禁封的IP地址的書寫權。',
+'ipusubmit'                   => '解除禁封',
+'unblocked'                   => '[[User:$1|$1]] 的封鎖已經解除。',
+'unblocked-id'                => '封鎖 $1 已經被移除',
+'ipblocklist-legend'          => '搜尋一位已經被封鎖的使用者',
+'anononlyblock'               => '僅限匿名使用者',
+'noautoblockblock'            => '禁用自動封鎖',
+'createaccountblock'          => '禁止建立帳號',
+'ipblocklist-empty'           => '封鎖列表為空。',
+'ipblocklist-no-results'      => '所要求的IP地址/使用者名沒有被封鎖。',
+'blocklink'                   => '禁封',
+'blocklogentry'               => '[[$1]]已被封鎖 $3 ,終止時間為$2',
+'blocklogtext'                => '這是關於使用者封鎖和解除封鎖操作的記錄。被自動封鎖的IP地址沒有被列出。請參閱[[Special:BlockList|被封鎖的IP地址和使用者列表]]。',
+'block-log-flags-anononly'    => '僅限匿名使用者',
+'block-log-flags-nocreate'    => '禁止此IP/使用者建立新帳號',
 'block-log-flags-noautoblock' => '停用自動封鎖',
-'range_block_disabled' => '只有管理員才能建立禁止封鎖的範圍。',
-'ipb_cant_unblock' => '錯誤: 找不到封鎖ID$1。可能已經解除封鎖。',
-'ipb_blocked_as_range' => '錯誤: 該IP $1 無直接封鎖,不可以解除封鎖。但是它是在 $2 的封鎖範圍之內,該段範圍是可以解除封鎖的。',
-'sorbsreason' => '您的IP位址被 DNSBL列為屬於開放代理服務器.',
+'range_block_disabled'        => '只有管理員才能建立禁止封鎖的範圍。',
+'ipb_cant_unblock'            => '錯誤: 找不到封鎖ID$1。可能已經解除封鎖。',
+'ipb_blocked_as_range'        => '錯誤: 該IP $1 無直接封鎖,不可以解除封鎖。但是它是在 $2 的封鎖範圍之內,該段範圍是可以解除封鎖的。',
+'blockme'                     => '封鎖我',
+'sorbsreason'                 => '您的IP位址被 DNSBL列為屬於開放代理服務器.',
 'sorbs_create_account_reason' => '由於您的IP位址被 DNSBL列為屬於開放代理服務器,所以您無法建立帳號。',
 
 # Developer tools
-'lockdbtext' => '鎖住資料庫將禁止所有使用者進行編輯頁面、更改參數、編輯監視列表以及其他需要更改資料庫的操作。
+'lockdbtext'   => '鎖住資料庫將禁止所有使用者進行編輯頁面、更改參數、編輯監視列表以及其他需要更改資料庫的操作。
 請確認您的決定,並且保證您在維護工作結束後會重新開放資料庫。',
 'unlockdbtext' => '開放資料庫將會復原所有使用者進行編輯頁面、修改參數、編輯監視列表以及其他需要更改資料庫的操作。
 請確認您的決定。',
 
 # Move page
-'movepagetext' => "用下面的表單來重新命名一個頁面,並將其修訂沿革同時移動到新頁面。
+'movepagetext'    => "用下面的表單來重新命名一個頁面,並將其修訂沿革同時移動到新頁面。
 老的頁面將成為新頁面的重定向頁。
 連結到老頁面的連結並不會自動更改;
 請檢查雙重或損壞重定向連結。
@@ -762,13 +776,13 @@ $NEWPAGE
 請在行動前先了結其所可能帶來的後果。",
 'movenologintext' => '您必須是一名登記使用者並且[[Special:UserLogin|登入]]
 後才可移動一個頁面。',
-'movenotallowed' => '您在這個wiki中度並沒有許可權去移動頁面。',
-'movetalk' => '如果可能的話,請同時移動對話頁。',
+'movenotallowed'  => '您在這個wiki中度並沒有許可權去移動頁面。',
+'movetalk'        => '如果可能的話,請同時移動對話頁。',
 'movelogpagetext' => '以下是已經移動的頁面清單:',
-'revertmove' => '復原該移動',
+'revertmove'      => '復原該移動',
 
 # Export
-'exporttext' => '您可以將特定頁面或一組頁面的文字以及編輯歷史以 XML 格式匯出;這樣可以將有關頁面透過「[[Special:Import|匯入頁面]]」頁面匯入到另一個執行 MediaWiki 的網站。
+'exporttext'      => '您可以將特定頁面或一組頁面的文字以及編輯歷史以 XML 格式匯出;這樣可以將有關頁面透過「[[Special:Import|匯入頁面]]」頁面匯入到另一個執行 MediaWiki 的網站。
 
 要匯出頁面,請在下面的文字框中輸入頁面標題,每行一個標題,
 並選擇你是否需要匯出帶有修訂紀錄的以前的版本,
@@ -778,60 +792,59 @@ $NEWPAGE
 'export-download' => '提供一個檔案以供另存',
 
 # Namespace 8 related
-'allmessages' => '系統介面',
-'allmessagestext' => '這裡列出所有可定製的系統介面。',
+'allmessages'               => '系統介面',
+'allmessagestext'           => '這裡列出所有可定製的系統介面。',
 'allmessagesnotsupportedDB' => '系統介面功能處於關閉狀態 (wgUseDatabaseMessages)。',
 
 # Thumbnails
 'thumbnail_error' => '建立縮圖錯誤: $1',
 
 # Special:Import
-'import-interwiki-history' => '複製此頁的所有歷史版本',
+'import-interwiki-history'   => '複製此頁的所有歷史版本',
 'import-interwiki-namespace' => '將頁面轉移到名字空間:',
-'importtext' => '請使用 Special:Export 功能從源 wiki 匯出檔案,儲存到您的磁片並上傳到這裡。',
-'importfailed' => '匯入失敗: $1',
-'importsuccess' => '匯入成功﹗',
-'importhistoryconflict' => '存在衝突的修訂沿革(可能在之前已經匯入過此頁面)',
+'importtext'                 => '請使用 Special:Export 功能從源 wiki 匯出檔案,儲存到您的磁片並上傳到這裡。',
+'importfailed'               => '匯入失敗: $1',
+'importsuccess'              => '匯入成功﹗',
+'importhistoryconflict'      => '存在衝突的修訂沿革(可能在之前已經匯入過此頁面)',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => '用戶頁',
-'tooltip-pt-anonuserpage' => '您編輯本站所用IP的對應使用者頁',
-'tooltip-pt-mytalk' => '討論頁',
-'tooltip-pt-preferences' => '我的偏好設定',
-'tooltip-pt-watchlist' => '我的監視列表',
-'tooltip-pt-mycontris' => '編修記錄',
-'tooltip-ca-addsection' => '於本討論頁增加新的討論主題',
-'tooltip-ca-history' => '本頁面的早前版本。',
-'tooltip-ca-undelete' => '將這個頁面復原到被刪除以前的狀態',
-'tooltip-p-logo' => '首頁',
-'tooltip-n-help' => '尋求說明',
-'tooltip-feed-rss' => '訂閱本修訂記錄的RSS資訊',
-'tooltip-feed-atom' => '訂閱本修訂記錄的Atom訊息',
-'tooltip-t-contributions' => '檢視該使用者的編修記錄',
-'tooltip-t-emailuser' => '向該使用者發送電子郵件',
-'tooltip-t-upload' => '上傳圖片或多媒體檔',
-'tooltip-t-permalink' => '這個頁面版本的永久連結',
-'tooltip-ca-nstab-user' => '檢視使用者頁',
-'tooltip-ca-nstab-image' => '查詢圖片頁面',
-'tooltip-ca-nstab-template' => '檢視模板',
-'tooltip-ca-nstab-help' => '檢視說明頁面',
-'tooltip-ca-nstab-category' => '檢視分類頁面',
-'tooltip-minoredit' => '標記為細微修改',
+'tooltip-pt-userpage'             => '用戶頁',
+'tooltip-pt-anonuserpage'         => '您編輯本站所用IP的對應使用者頁',
+'tooltip-pt-mytalk'               => '討論頁',
+'tooltip-pt-preferences'          => '我的偏好設定',
+'tooltip-pt-watchlist'            => '我的監視列表',
+'tooltip-pt-mycontris'            => '編修記錄',
+'tooltip-ca-addsection'           => '於本討論頁增加新的討論主題',
+'tooltip-ca-history'              => '本頁面的早前版本。',
+'tooltip-ca-undelete'             => '將這個頁面復原到被刪除以前的狀態',
+'tooltip-p-logo'                  => '首頁',
+'tooltip-n-help'                  => '尋求說明',
+'tooltip-feed-rss'                => '訂閱本修訂記錄的RSS資訊',
+'tooltip-feed-atom'               => '訂閱本修訂記錄的Atom訊息',
+'tooltip-t-contributions'         => '檢視該使用者的編修記錄',
+'tooltip-t-emailuser'             => '向該使用者發送電子郵件',
+'tooltip-t-upload'                => '上傳圖片或多媒體檔',
+'tooltip-t-permalink'             => '這個頁面版本的永久連結',
+'tooltip-ca-nstab-user'           => '檢視使用者頁',
+'tooltip-ca-nstab-image'          => '查詢圖片頁面',
+'tooltip-ca-nstab-template'       => '檢視模板',
+'tooltip-ca-nstab-help'           => '檢視說明頁面',
+'tooltip-ca-nstab-category'       => '檢視分類頁面',
+'tooltip-minoredit'               => '標記為細微修改',
 'tooltip-compareselectedversions' => '檢視本頁被點選的兩個版本間的差異',
-'tooltip-rollback' => '『{{int:rollbacklink}}』可以一按恢復上一位貢獻者對這個頁面的編輯',
-'tooltip-undo' => '『{{int:editundo}}』可以在編輯模式上開啟編輯表格以便復原。它容許在摘要中加入原因。',
-'interlanguage-link-title' => '$1–$2',
+'tooltip-rollback'                => '『{{int:rollbacklink}}』可以一按恢復上一位貢獻者對這個頁面的編輯',
+'tooltip-undo'                    => '『{{int:editundo}}』可以在編輯模式上開啟編輯表格以便復原。它容許在摘要中加入原因。',
 
 # Attribution
 'anonymous' => '{{SITENAME}}的匿名{{PLURAL:$1|使用者|使用者}}',
-'siteuser' => '{{SITENAME}}使用者$1',
-'anonuser' => '{{SITENAME}}匿名使用者$1',
+'siteuser'  => '{{SITENAME}}使用者$1',
+'anonuser'  => '{{SITENAME}}匿名使用者$1',
 'siteusers' => '{{SITENAME}}{{PLURAL:$2|使用者|使用者}}$1',
 'anonusers' => '{{SITENAME}}匿名{{PLURAL:$2|使用者|使用者}}$1',
 
 # Spam protection
 'spamprotectiontext' => '垃圾過濾器禁止保存您剛才提交的頁面,這可能是由於您所加入的外部網站連結所產生的問題。',
-'spam_reverting' => '復原到不包含連結至$1的最近版本',
+'spam_reverting'     => '復原到不包含連結至$1的最近版本',
 
 # Patrolling
 'markedaspatrolledtext' => '選定的版本已被標記為已檢查.',
@@ -841,18 +854,18 @@ $NEWPAGE
 
 # Browsing diffs
 'previousdiff' => '←上一個',
-'nextdiff' => '下一個→',
+'nextdiff'     => '下一個→',
 
 # Media information
-'imagemaxsize' => '在圖片描述頁對圖片大小限制為:',
-'file-nohires' => '無更高解析度可提供。',
+'imagemaxsize'   => '在圖片描述頁對圖片大小限制為:',
+'file-nohires'   => '無更高解析度可提供。',
 'show-big-image' => '完整解析度',
 
 # Special:NewFiles
-'newimages' => '新建圖片畫廊',
+'newimages'     => '新建圖片畫廊',
 'imagelisttext' => '以下是按$2排列的$1個檔案列表。',
-'showhidebots' => '(機器人$1)',
-'noimages' => '無可檢視圖片。',
+'showhidebots'  => '(機器人$1)',
+'noimages'      => '無可檢視圖片。',
 
 # Bad image list
 'bad_image_list' => '請根據以下的格式去編寫:
@@ -860,10 +873,7 @@ $NEWPAGE
 只有列示項目(以 * 開頭的項目)會被考慮。第一個連結一定要連接去壞圖片中。
 然後在同一行的連結會考慮作例外,即是幅圖片可以在哪一個頁面中同時顯示。',
 
-/*
-Short names for language variants used for language conversion links.
-Variants for Chinese language
-*/
+# Variants for Chinese language
 'variantname-zh-tw' => '台灣繁體',
 
 # Metadata
@@ -871,82 +881,72 @@ Variants for Chinese language
 
 如果此檔案的源檔案已經被修改,一些訊息在修改後的檔案中將不能完全反映出來。',
 
-# Exif tags
-'exif-bitspersample' => '每像素位元數',
+# EXIF tags
+'exif-bitspersample'             => '每像素位元數',
 'exif-photometricinterpretation' => '像素合成',
-'exif-samplesperpixel' => '像素數',
-'exif-xresolution' => '水準解析度',
-'exif-yresolution' => '垂直解析度',
-'exif-stripoffsets' => '圖片數據區',
-'exif-imagedescription' => '圖片標題',
-'exif-compressedbitsperpixel' => '圖片壓縮模式',
-'exif-pixelydimension' => '有效圖片寬度',
-'exif-pixelxdimension' => '有效圖片高度',
-'exif-usercomment' => '使用者註釋',
-'exif-focalplanexresolution' => 'X軸焦平面解析度',
-'exif-focalplaneyresolution' => 'Y軸焦平面解析度',
-'exif-focalplaneresolutionunit' => '焦平面解析度單位',
-'exif-customrendered' => '自定義圖片處理',
-'exif-imageuniqueid' => '唯一圖片ID',
-'exif-gpsimgdirectionref' => '圖片方位參照',
-'exif-gpsimgdirection' => '圖片方位',
-
-'exif-lightsource-2' => '螢光燈',
+'exif-samplesperpixel'           => '像素數',
+'exif-xresolution'               => '水準解析度',
+'exif-yresolution'               => '垂直解析度',
+'exif-stripoffsets'              => '圖片數據區',
+'exif-imagedescription'          => '圖片標題',
+'exif-compressedbitsperpixel'    => '圖片壓縮模式',
+'exif-pixelydimension'           => '有效圖片寬度',
+'exif-pixelxdimension'           => '有效圖片高度',
+'exif-usercomment'               => '使用者註釋',
+'exif-focalplanexresolution'     => 'X軸焦平面解析度',
+'exif-focalplaneyresolution'     => 'Y軸焦平面解析度',
+'exif-focalplaneresolutionunit'  => '焦平面解析度單位',
+'exif-customrendered'            => '自定義圖片處理',
+'exif-imageuniqueid'             => '唯一圖片ID',
+'exif-gpsimgdirectionref'        => '圖片方位參照',
+'exif-gpsimgdirection'           => '圖片方位',
+
+'exif-lightsource-2'  => '螢光燈',
 'exif-lightsource-12' => '日光螢光燈(色溫 D 5700    7100K)',
 'exif-lightsource-13' => '日溫白色螢光燈(N 4600    5400K)',
 'exif-lightsource-14' => '冷白色螢光燈(W 3900    4500K)',
 'exif-lightsource-15' => '白色螢光 (WW 3200    3700K)',
 
-# Email address confirmation
-'confirmemail' => '確認電子郵件地址',
-'confirmemail_noemail' => '您沒有在您的[[Special:Preferences|使用者設定]]裡面輸入一個有效的 email 位址。',
-'confirmemail_text' => '此網站要求您在使用郵件功能之前驗證您的電子郵件地址。
+# External editor support
+'edit-externally-help' => '請參見[//www.mediawiki.org/wiki/Manual:External_editors 設定步驟]了解詳細資訊。',
+
+# E-mail address confirmation
+'confirmemail'            => '確認電子郵件地址',
+'confirmemail_noemail'    => '您沒有在您的[[Special:Preferences|使用者設定]]裡面輸入一個有效的 email 位址。',
+'confirmemail_text'       => '此網站要求您在使用郵件功能之前驗證您的電子郵件地址。
 點擊以下按鈕可向您的郵箱發送一封確認郵件。該郵件包含有一行代碼連結;
 請在您的瀏覽器中加載此連結以確認您的電子郵件地址是有效的。',
 'confirmemail_sendfailed' => '不能發送確認郵件,請檢查電子郵件地址是否包含非法字元。
 
 郵件傳送員回應: $1',
-'confirmemail_needlogin' => '您需要$1以確認您的電子郵件地址。',
-'confirmemail_success' => '您的郵箱已經被確認。您現下可以登錄並使用此網站了。',
-'confirmemail_loggedin' => '您的電子郵件地址現下已被確認。',
-'confirmemail_subject' => '{{SITENAME}}電子郵件地址確認',
+'confirmemail_needlogin'  => '您需要$1以確認您的電子郵件地址。',
+'confirmemail_success'    => '您的郵箱已經被確認。您現下可以登錄並使用此網站了。',
+'confirmemail_loggedin'   => '您的電子郵件地址現下已被確認。',
+'confirmemail_subject'    => '{{SITENAME}}電子郵件地址確認',
 
 # Scary transclusion
-'scarytranscludefailed' => '[抱歉,模板$1讀取失敗]',
+'scarytranscludefailed'  => '[抱歉,模板$1讀取失敗]',
 'scarytranscludetoolong' => '[抱歉,URL 地址太長]',
 
 # Delete conflict
 'confirmrecreate' => '在您編輯這個頁面後,使用者[[User:$1|$1]]([[User talk:$1|對話]])以下列原因刪除了這個頁面: $2。請在重新建立頁面前三思。',
 
 # Auto-summaries
-'autosumm-blank' => '移除所有頁面內容',
+'autosumm-blank'   => '移除所有頁面內容',
 'autosumm-replace' => "正在將頁面替換為 '$1'",
 'autoredircomment' => '正在重定向到 [[$1]]',
-'autosumm-new' => '新頁面: $1',
+'autosumm-new'     => '新頁面: $1',
 
 # Live preview
 'livepreview-failed' => '即時預覽失敗! 嘗試標準預覽。',
 
 # Special:Version
-'version-parserhooks' => '語法鉤',
-'version-hooks' => '鉤',
+'version-parserhooks'           => '語法鉤',
+'version-hooks'                 => '鉤',
 'version-parser-function-hooks' => '語法函數鉤',
-'version-hook-name' => '鉤名',
+'version-hook-name'             => '鉤名',
 
 # Special:SpecialPages
 'specialpages' => '特殊頁面',
 
-# Special:ExpandTemplates
-'expandtemplates' => '展開模板',
-'expand_templates_intro' => '本特殊頁面用於將一些文字中的模版展開,包括模版中引用的模版。同時也展開解譯器函數如<nowiki> {{</nowiki>#language:...}},以及變數如<nowiki>{{< /nowiki>CURRENTDAY}}&mdash;實際上,幾乎所有在雙括弧中的內容都被展開。本特殊頁面是通過使用 MediaWiki的相關解釋階段的功能完成的。',
-'expand_templates_title' => '上下文標題,用於 {{FULLPAGENAME}} 等:',
-'expand_templates_input' => '輸入文字:',
-'expand_templates_output' => '結果:',
-'expand_templates_xml_output' => 'XML輸出',
-'expand_templates_ok' => '確定',
-'expand_templates_remove_comments' => '移除註釋',
-'expand_templates_remove_nowiki' => '在結果中隱藏<nowiki>標記',
-'expand_templates_generate_xml' => '顯示XML解析樹',
-'expand_templates_preview' => '預覽',
-
 );
index 2cf277f..1e82dc1 100644 (file)
@@ -37,15 +37,21 @@ class AttachLatest extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->addOption( "fix", "Actually fix the entries, will dry run otherwise" );
+               $this->addOption( "regenerate-all",
+                       "Regenerate the page_latest field for all records in table page" );
                $this->mDescription = "Fix page_latest entries in the page table";
        }
 
        public function execute() {
                $this->output( "Looking for pages with page_latest set to 0...\n" );
                $dbw = wfGetDB( DB_MASTER );
+               $conds = array( 'page_latest' => 0 );
+               if ( $this->hasOption( 'regenerate-all' ) ) {
+                       $conds = '';
+               }
                $result = $dbw->select( 'page',
                        array( 'page_id', 'page_namespace', 'page_title' ),
-                       array( 'page_latest' => 0 ),
+                       $conds,
                        __METHOD__ );
 
                $n = 0;
index 978d44f..2b637cb 100644 (file)
@@ -99,9 +99,6 @@ $maintenance->finalSetup();
 // Some last includes
 require_once "$IP/includes/Setup.php";
 
-// Much much faster startup than creating a title object
-$wgTitle = null;
-
 // Do the work
 try {
        $maintenance->execute();
index dadc84a..c7df6c3 100644 (file)
@@ -42,6 +42,7 @@ if ( count( $args ) < 1 || isset( $options['help'] ) ) {
 
                        echo "\nUsing title '" . $title->getPrefixedText() . "'...";
                        if ( !$title->exists() || !isset( $options['nooverwrite'] ) ) {
+                               RequestContext::getMain()->setTitle( $title );
 
                                $text = file_get_contents( $filename );
                                $user = isset( $options['user'] ) ? $options['user'] : 'Maintenance script';
index d118747..44c117e 100644 (file)
@@ -70,10 +70,9 @@ class CommandLineInstaller extends Maintenance {
        }
 
        function execute() {
-               global $IP, $wgTitle;
+               global $IP;
                $siteName = isset( $this->mArgs[0] ) ? $this->mArgs[0] : "Don't care"; // Will not be set if used with --env-checks
                $adminName = isset( $this->mArgs[1] ) ? $this->mArgs[1] : null;
-               $wgTitle = Title::newFromText( 'Installer script' );
 
                $dbpassfile = $this->getOption( 'dbpassfile', false );
                if ( $dbpassfile !== false ) {
index aa138bd..adaf114 100644 (file)
@@ -10,7 +10,6 @@
                                        "mw.Message",
                                        "mw.loader",
                                        "mw.loader.store",
-                                       "mw.log",
                                        "mw.html",
                                        "mw.html.Cdata",
                                        "mw.html.Raw",
@@ -22,8 +21,6 @@
                                "classes": [
                                        "mw.Title",
                                        "mw.Uri",
-                                       "mw.inspect",
-                                       "mw.inspect.reports",
                                        "mw.notification",
                                        "mw.Notification_",
                                        "mw.user",
                                "classes": [
                                        "mw.Feedback"
                                ]
+                       },
+                       {
+                               "name": "Development",
+                               "classes": [
+                                       "mw.log",
+                                       "mw.inspect",
+                                       "mw.inspect.reports",
+                                       "mw.Debug"
+                               ]
                        }
                ]
        },
index 7326ed2..837c00c 100644 (file)
        "--external": "HTMLElement,HTMLDocument,Window",
        "--": [
                "./external.js",
-               "../../resources/mediawiki/mediawiki.js",
-               "../../resources/mediawiki/mediawiki.htmlform.js",
-               "../../resources/mediawiki/mediawiki.feedback.js",
-               "../../resources/mediawiki/mediawiki.log.js",
-               "../../resources/mediawiki/mediawiki.util.js",
-               "../../resources/mediawiki/mediawiki.Title.js",
-               "../../resources/mediawiki/mediawiki.Uri.js",
-               "../../resources/mediawiki/mediawiki.inspect.js",
-               "../../resources/mediawiki/mediawiki.jqueryMsg.js",
-               "../../resources/mediawiki/mediawiki.notify.js",
-               "../../resources/mediawiki/mediawiki.notification.js",
-               "../../resources/mediawiki/mediawiki.user.js",
+               "../../resources/mediawiki",
                "../../resources/mediawiki.action/mediawiki.action.edit.js",
                "../../resources/mediawiki.action/mediawiki.action.view.postEdit.js",
                "../../resources/mediawiki.page/mediawiki.page.startup.js",
index ff02468..95d2c08 100644 (file)
@@ -50,10 +50,7 @@ class NamespaceConflictChecker extends Maintenance {
        }
 
        public function execute() {
-               global $wgTitle;
-
                $this->db = wfGetDB( DB_MASTER );
-               $wgTitle = Title::newFromText( 'Namespace title conflict cleanup script' );
 
                $fix = $this->hasOption( 'fix' );
                $suffix = $this->getOption( 'suffix', '' );
index b4d255a..b856baf 100644 (file)
@@ -47,8 +47,6 @@ class Orphans extends Maintenance {
        }
 
        public function execute() {
-               global $wgTitle;
-               $wgTitle = Title::newFromText( 'Orphan revision cleanup script' );
                $this->checkOrphans( $this->hasOption( 'fix' ) );
                $this->checkSeparation( $this->hasOption( 'fix' ) );
                # Does not work yet, do not use
index 12ed9fa..6ce54b9 100644 (file)
@@ -49,7 +49,7 @@ class RebuildFileCache extends Maintenance {
 
        public function execute() {
                global $wgUseFileCache, $wgReadOnly, $wgContentNamespaces, $wgRequestTime;
-               global $wgTitle, $wgOut;
+               global $wgOut;
                if ( !$wgUseFileCache ) {
                        $this->error( "Nothing to do -- \$wgUseFileCache is disabled.", true );
                }
@@ -104,22 +104,22 @@ class RebuildFileCache extends Maintenance {
                                $rebuilt = false;
                                $wgRequestTime = microtime( true ); # bug 22852
 
-                               $wgTitle = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
-                               if ( null == $wgTitle ) {
+                               $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
+                               if ( null == $title ) {
                                        $this->output( "Page {$row->page_id} has bad title\n" );
                                        continue; // broken title?
                                }
 
                                $context = new RequestContext;
-                               $context->setTitle( $wgTitle );
-                               $article = Article::newFromTitle( $wgTitle, $context );
+                               $context->setTitle( $title );
+                               $article = Article::newFromTitle( $title, $context );
                                $context->setWikiPage( $article->getPage() );
 
                                $wgOut = $context->getOutput(); // set display title
 
                                // If the article is cacheable, then load it
                                if ( $article->isFileCacheable() ) {
-                                       $cache = HTMLFileCache::newFromTitle( $wgTitle, 'view' );
+                                       $cache = HTMLFileCache::newFromTitle( $title, 'view' );
                                        if ( $cache->isCacheGood() ) {
                                                if ( $overwrite ) {
                                                        $rebuilt = true;
@@ -151,11 +151,6 @@ class RebuildFileCache extends Maintenance {
                        $blockEnd += $this->mBatchSize;
                }
                $this->output( "Done!\n" );
-
-               // Remove these to be safe
-               if ( isset( $wgTitle ) ) {
-                       unset( $wgTitle );
-               }
        }
 }
 
index c651f72..722db26 100644 (file)
@@ -50,8 +50,6 @@ class RebuildTextIndex extends Maintenance {
        }
 
        public function execute() {
-               global $wgTitle;
-
                // Shouldn't be needed for Postgres
                $this->db = wfGetDB( DB_MASTER );
                if ( $this->db->getType() == 'postgres' ) {
@@ -68,8 +66,6 @@ class RebuildTextIndex extends Maintenance {
                        }
                }
 
-               $wgTitle = Title::newFromText( "Rebuild text index script" );
-
                if ( $this->db->getType() == 'mysql' ) {
                        $this->dropMysqlTextIndex();
                        $this->populateSearchIndex();
index 7c896d2..f7d5fc0 100644 (file)
@@ -47,8 +47,6 @@ class RunJobs extends Maintenance {
        }
 
        public function execute() {
-               global $wgTitle;
-
                if ( wfReadOnly() ) {
                        $this->error( "Unable to run jobs; the wiki is in read-only mode.", 1 ); // die
                }
@@ -69,7 +67,6 @@ class RunJobs extends Maintenance {
                $maxJobs = $this->getOption( 'maxjobs', false );
                $maxTime = $this->getOption( 'maxtime', false );
                $startTime = time();
-               $wgTitle = Title::newFromText( 'RunJobs.php' );
 
                $group = JobQueueGroup::singleton();
                // Handle any required periodic queue maintenance
index 9168d6f..854910f 100644 (file)
@@ -46,16 +46,6 @@ class ShowCacheStats extends Maintenance {
                if ( get_class( $wgMemc ) == 'EmptyBagOStuff' ) {
                        $this->error( "You are running EmptyBagOStuff, I can not provide any statistics.", true );
                }
-               $session = intval( $wgMemc->get( wfMemcKey( 'stats', 'request_with_session' ) ) );
-               $noSession = intval( $wgMemc->get( wfMemcKey( 'stats', 'request_without_session' ) ) );
-               $total = $session + $noSession;
-               if ( $total == 0 ) {
-                       $this->error( "You either have no stats or the cache isn't running. Aborting.", true );
-               }
-               $this->output( "Requests\n" );
-               $this->output( sprintf( "with session:      %-10d %6.2f%%\n", $session, $session / $total * 100 ) );
-               $this->output( sprintf( "without session:   %-10d %6.2f%%\n", $noSession, $noSession / $total * 100 ) );
-               $this->output( sprintf( "total:             %-10d %6.2f%%\n", $total, 100 ) );
 
                $this->output( "\nParser cache\n" );
                $hits = intval( $wgMemc->get( wfMemcKey( 'stats', 'pcache_hit' ) ) );
index 85364ee..8c1ad17 100644 (file)
@@ -83,7 +83,7 @@ class UpdateMediaWiki extends Maintenance {
        }
 
        function execute() {
-               global $wgVersion, $wgTitle, $wgLang, $wgAllowSchemaUpdates;
+               global $wgVersion, $wgLang, $wgAllowSchemaUpdates;
 
                if ( !$wgAllowSchemaUpdates && !( $this->hasOption( 'force' ) || $this->hasOption( 'schema' ) || $this->hasOption( 'noschema' ) ) ) {
                        $this->error( "Do not run update.php on this wiki. If you're seeing this you should\n"
@@ -106,7 +106,6 @@ class UpdateMediaWiki extends Maintenance {
                }
 
                $wgLang = Language::factory( 'en' );
-               $wgTitle = Title::newFromText( "MediaWiki database updater" );
 
                define( 'MW_UPDATER', true );
 
index b35199a..49b8fda 100644 (file)
@@ -1249,9 +1249,16 @@ return array(
        'mediawiki.special.userlogin.signup.js' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.userlogin.signup.js',
                'messages' => array(
+                       'createacct-error',
                        'createacct-emailrequired',
+                       'noname',
+                       'userexists',
+               ),
+               'dependencies' => array(
+                       'mediawiki.api',
+                       'mediawiki.jqueryMsg',
+                       'jquery.throttle-debounce',
                ),
-               'dependencies' => 'mediawiki.jqueryMsg',
        ),
        'mediawiki.special.javaScriptTest' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.javaScriptTest.js',
index 5a24247..653c90a 100644 (file)
@@ -8,19 +8,20 @@
         * @private
         * @context mw.Api
         *
-        * @param {string|mw.Title|string[]|mw.Title[]} page Full page name or instance of mw.Title, or an
+        * @param {string|mw.Title|string[]|mw.Title[]} pages Full page name or instance of mw.Title, or an
         *  array thereof. If an array is passed, the return value passed to the promise will also be an
         *  array of appropriate objects.
         * @param {Function} [ok] Success callback (deprecated)
         * @param {Function} [err] Error callback (deprecated)
         * @return {jQuery.Promise}
         * @return {Function} return.done
-        * @return {Object|Object[]} return.done.watch
+        * @return {Object|Object[]} return.done.watch Object or list of objects (depends on the `pages`
+        *  parameter)
         * @return {string} return.done.watch.title Full pagename
-        * @return {boolean} return.done.watch.watched
+        * @return {boolean} return.done.watch.watched Whether the page is now watched or unwatched
         * @return {string} return.done.watch.message Parsed HTML of the confirmational interface message
         */
-       function doWatchInternal( page, ok, err, addParams ) {
+       function doWatchInternal( pages, ok, err, addParams ) {
                // XXX: Parameter addParams is undocumented because we inherit this
                // documentation in the public method..
                var params, apiPromise,
                params = {
                        action: 'watch',
                        token: mw.user.tokens.get( 'watchToken' ),
-                       uselang: mw.config.get( 'wgUserLanguage' )
+                       uselang: mw.config.get( 'wgUserLanguage' ),
+                       titles: $.isArray( pages ) ? pages.join( '|' ) : String( pages )
                };
 
-               if ( $.isArray( page ) ) {
-                       params.titles = page.join( '|' );
-               } else {
-                       // The 'title' parameter is deprecated, keeping this for compatibility instead of
-                       // converting to array because the API response changes from object to array of objects
-                       // as well (bug 62422).
-                       params.title = String( page );
-               }
-
                if ( addParams ) {
                        $.extend( params, addParams );
                }
 
                apiPromise = this.post( params )
                        .done( function ( data ) {
-                               d.resolve( data.watch );
+                               // If a single page was given (not an array) respond with a single item as well.
+                               d.resolve( $.isArray( pages ) ? data.watch : data.watch[0] );
                        } )
                        .fail( d.reject );
 
                 *
                 * @inheritdoc #doWatchInternal
                 */
-               watch: function ( page, ok, err ) {
-                       return doWatchInternal.call( this, page, ok, err );
+               watch: function ( pages, ok, err ) {
+                       return doWatchInternal.call( this, pages, ok, err );
                },
                /**
                 * Convenience method for `action=watch&unwatch=1`.
                 *
                 * @inheritdoc #doWatchInternal
                 */
-               unwatch: function ( page, ok, err ) {
-                       return doWatchInternal.call( this, page, ok, err, { unwatch: 1 } );
+               unwatch: function ( pages, ok, err ) {
+                       return doWatchInternal.call( this, pages, ok, err, { unwatch: 1 } );
                }
 
        } );
index c293f65..0615932 100644 (file)
@@ -3,7 +3,7 @@
  */
 ( function ( mw, $ ) {
        // When sending password by email, hide the password input fields.
-       function hidePasswordOnEmail() {
+       $( function () {
                // Always required if checked, otherwise it depends, so we use the original
                var $emailLabel = $( 'label[for="wpEmail"]' ),
                        originalText = $emailLabel.text(),
 
                $createByMailCheckbox.on( 'change', updateForCheckbox );
                updateForCheckbox();
-       }
+       } );
 
-       $( hidePasswordOnEmail );
+       // Check if the username is invalid or already taken
+       $( function () {
+               var
+                       // We need to hook to all of these events to be sure we are notified of all changes to the
+                       // value of an <input type=text> field.
+                       events = 'keyup keydown change mouseup cut paste focus blur',
+                       $input = $( '#wpName2' ),
+                       $statusContainer = $( '#mw-createacct-status-area' ),
+                       api = new mw.Api(),
+                       currentRequest;
+
+               // Hide any present status messages.
+               function clearStatus() {
+                       $statusContainer.slideUp( function () {
+                               $statusContainer
+                                       .removeAttr( 'class' )
+                                       .empty();
+                       } );
+               }
+
+               // Returns a promise receiving a { state:, username: } object, where:
+               // * 'state' is one of 'invalid', 'taken', 'ok'
+               // * 'username' is the validated username if 'state' is 'ok', null otherwise (if it's not
+               //   possible to register such an account)
+               function checkUsername( username ) {
+                       // We could just use .then() if we didn't have to pass on .abort()…
+                       var d, apiPromise;
+
+                       d = $.Deferred();
+                       apiPromise = api.get( {
+                               action: 'query',
+                               list: 'users',
+                               ususers: username // '|' in usernames is handled below
+                       } )
+                               .done( function ( resp ) {
+                                       var userinfo = resp.query.users[0];
+
+                                       if ( resp.query.users.length !== 1 ) {
+                                               // Happens if the user types '|' into the field
+                                               d.resolve( { state: 'invalid', username: null } );
+                                       } else if ( userinfo.invalid !== undefined ) {
+                                               d.resolve( { state: 'invalid', username: null } );
+                                       } else if ( userinfo.userid !== undefined ) {
+                                               d.resolve( { state: 'taken', username: null } );
+                                       } else {
+                                               d.resolve( { state: 'ok', username: username } );
+                                       }
+                               } )
+                               .fail( d.reject );
+
+                       return d.promise( { abort: apiPromise.abort } );
+               }
+
+               function updateUsernameStatus() {
+                       var
+                               username = $.trim( $input.val() ),
+                               currentRequestInternal;
+
+                       // Abort any pending requests.
+                       if ( currentRequest ) {
+                               currentRequest.abort();
+                       }
+
+                       if ( username === '' ) {
+                               clearStatus();
+                               return;
+                       }
+
+                       currentRequest = currentRequestInternal = checkUsername( username ).done( function ( info ) {
+                               var message;
+
+                               // Another request was fired in the meantime, the result we got here is no longer current.
+                               // This shouldn't happen as we abort pending requests, but you never know.
+                               if ( currentRequest !== currentRequestInternal ) {
+                                       return;
+                               }
+                               // If we're here, then the current request has finished, avoid calling .abort() needlessly.
+                               currentRequest = undefined;
+
+                               if ( info.state === 'ok' ) {
+                                       clearStatus();
+                               } else {
+                                       if ( info.state === 'invalid' ) {
+                                               message = mw.message( 'noname' ).text();
+                                       } else if ( info.state === 'taken' ) {
+                                               message = mw.message( 'userexists' ).text();
+                                       }
+
+                                       $statusContainer
+                                               .attr( 'class', 'errorbox' )
+                                               .empty()
+                                               .append(
+                                                       // Ugh…
+                                                       // @todo Change the HTML structure in includes/templates/Usercreate.php
+                                                       $( '<strong>' ).text( mw.message( 'createacct-error' ).text() ),
+                                                       $( '<br>' ),
+                                                       document.createTextNode( message )
+                                               )
+                                               .slideDown();
+                               }
+                       } ).fail( function () {
+                               clearStatus();
+                       } );
+               }
+
+               $input.on( events, $.debounce( 250, updateUsernameStatus ) );
+       } );
 }( mediaWiki, jQuery ) );
index 04cfbb0..b6cc2b7 100644 (file)
@@ -1,37 +1,41 @@
-/**
- * JavaScript for the new debug toolbar, enabled through $wgDebugToolbar.
- *
- * @author John Du Hart
- * @since 1.19
- */
-
 ( function ( mw, $ ) {
        'use strict';
 
        var debug,
                hovzer = $.getFootHovzer();
 
+       /**
+        * Debug toolbar.
+        *
+        * Enabled server-side through `$wgDebugToolbar`.
+        *
+        * @class mw.Debug
+        * @singleton
+        * @author John Du Hart
+        * @since 1.19
+        */
        debug = mw.Debug = {
                /**
                 * Toolbar container element
                 *
-                * @var {jQuery}
+                * @property {jQuery}
                 */
                $container: null,
 
                /**
                 * Object containing data for the debug toolbar
                 *
-                * @var {Object}
+                * @property {Object}
                 */
                data: {},
 
                /**
-                * Initializes the debugging pane.
+                * Initialize the debugging pane
+                *
                 * Shouldn't be called before the document is ready
                 * (since it binds to elements on the page).
                 *
-                * @param {Object} data, defaults to 'debugInfo' from mw.config
+                * @param {Object} [data] Defaults to 'debugInfo' from mw.config
                 */
                init: function ( data ) {
 
                },
 
                /**
-                * Switches between panes
+                * Switch between panes
+                *
+                * Should be called with an HTMLElement as its thisArg,
+                * because it's meant to be an event handler.
+                *
+                * TODO: Store cookie for last pane open.
                 *
-                * @todo Store cookie for last pane open
-                * @context {Element}
                 * @param {jQuery.Event} e
                 */
                switchPane: function ( e ) {
@@ -91,7 +98,7 @@
                },
 
                /**
-                * Constructs the HTML for the debugging toolbar
+                * Construct the HTML for the debugging toolbar
                 */
                buildHtml: function () {
                        var $container, $bits, panes, id, gitInfo;
                        /**
                         * Returns a jQuery element for a debug-bit div
                         *
-                        * @param id
+                        * @ignore
+                        * @param {string} id
                         * @return {jQuery}
                         */
                        function bitDiv( id ) {
                        /**
                         * Returns a jQuery element for a pane link
                         *
-                        * @param id
-                        * @param text
+                        * @ignore
+                        * @param {string} id
+                        * @param {string} text
                         * @return {jQuery}
                         */
                        function paneLabel( id, text ) {
                        /**
                         * Returns a jQuery element for a debug-bit div with a for a pane link
                         *
-                        * @param id CSS id snippet. Will be prefixed with 'mw-debug-'
-                        * @param text Text to show
-                        * @param count Optional count to show
+                        * @ignore
+                        * @param {string} id CSS id snippet. Will be prefixed with 'mw-debug-'
+                        * @param {string} text Text to show
+                        * @param {string} count Optional count to show
                         * @return {jQuery}
                         */
                        function paneTriggerBitDiv( id, text, count ) {
                },
 
                /**
-                * Builds the console panel
+                * Build the console panel
                 */
                buildConsoleTable: function () {
                        var $table, entryTypeText, i, length, entry;
                },
 
                /**
-                * Query list pane
+                * Build query list pane
+                *
+                * @return {jQuery}
                 */
                buildQueryTable: function () {
                        var $table, i, length, query;
                },
 
                /**
-                * Legacy debug log pane
+                * Build legacy debug log pane
+                *
+                * @return {jQuery}
                 */
                buildDebugLogTable: function () {
                        var $list, i, length, line;
                },
 
                /**
-                * Request information pane
+                * Build request information pane
+                *
+                * @return {jQuery}
                 */
                buildRequestPane: function () {
 
                },
 
                /**
-                * Included files pane
+                * Build included files pane
+                *
+                * @return {jQuery}
                 */
                buildIncludesPane: function () {
                        var $table, i, length, file;
index a498484..6dd4f88 100644 (file)
@@ -29,6 +29,8 @@
         * You can also launch the feedback form with a prefilled subject and body.
         * See the docs for the #launch() method.
         *
+        * @class
+        * @constructor
         * @param {Object} [options]
         * @param {mw.Api} [options.api] if omitted, will just create a standard API
         * @param {mw.Title} [options.title="Feedback"] The title of the page where you collect
index c21dfec..adcb810 100644 (file)
@@ -1,6 +1,6 @@
-/**
      Stylesheet for mediawiki.hlist module
      @author [[User:Edokter]]
+/*!
* Stylesheet for mediawiki.hlist module
* @author [[User:Edokter]]
  */
 .hlist dl,
 .hlist ol,
index 77d8fdc..0bbf8fa 100644 (file)
@@ -1,7 +1,7 @@
-/**
      .hlist fallbacks for IE 6, 7 and 8.
      @author [[User:Edokter]]
-*/
+/*!
* .hlist fallbacks for IE 6, 7 and 8.
* @author [[User:Edokter]]
+ */
 ( function ( mw, $ ) {
        var profile = $.client.profile();
 
index 597f396..1080df3 100644 (file)
@@ -1175,7 +1175,9 @@ var mw = ( function ( $, undefined ) {
                                                        nestedAddScript( script, markModuleReady, registry[module].async, 0 );
                                                } else if ( $.isFunction( script ) ) {
                                                        registry[module].state = 'ready';
-                                                       script( $ );
+                                                       // Pass jQuery twice so that the signature of the closure which wraps
+                                                       // the script can bind both '$' and 'jQuery'.
+                                                       script( $, $ );
                                                        handlePending( module );
                                                }
                                        } catch ( e ) {
index 3aa358a..0c8152e 100644 (file)
@@ -1,7 +1,3 @@
-/**
- * Stylesheet for mediawiki.notification module
- */
-
 .mw-notification-area {
        position: absolute;
        top: 0;
index e22a3d3..6999610 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*!
  * Add search suggestions to the search form.
  */
 ( function ( mw, $ ) {
index 3279900..6eb8552 100644 (file)
@@ -1,3 +1,8 @@
+/**
+ * @private
+ * @singleton
+ * @class mw.toc
+ */
 ( function ( mw, $ ) {
        'use strict';
 
index f924e9b..cd966b9 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs v1.0.7-pre (22e610a5e9)
+ * OOjs v1.0.8
  * https://www.mediawiki.org/wiki/OOjs
  *
  * Copyright 2011-2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Fri Mar 07 2014 17:36:23 GMT-0800 (PST)
+ * Date: Tue Mar 11 2014 19:27:31 GMT+0100 (CET)
  */
 ( function ( global ) {
 
index a7c62b3..9344feb 100644 (file)
@@ -90,21 +90,37 @@ class CologneBlueTemplate extends BaseTemplate {
                        return "";
                }
 
+               $html = '';
+
                // We override SkinTemplate->formatLanguageName() in SkinCologneBlue
                // not to capitalize the language names.
                $language_urls = $this->data['language_urls'];
-               if ( empty( $language_urls ) ) {
-                       return "";
-               }
+               if ( !empty( $language_urls ) ) {
+                       $s = array();
+                       foreach ( $language_urls as $key => $data ) {
+                               $s[] = $this->makeListItem( $key, $data, array( 'tag' => 'span' ) );
+                       }
 
-               $s = array();
-               foreach ( $language_urls as $key => $data ) {
-                       $s[] = $this->makeListItem( $key, $data, array( 'tag' => 'span' ) );
+                       $html = wfMessage( 'otherlanguages' )->text()
+                               . wfMessage( 'colon-separator' )->text()
+                               . $this->getSkin()->getLanguage()->pipeList( $s );
                }
 
-               return wfMessage( 'otherlanguages' )->text()
-                       . wfMessage( 'colon-separator' )->text()
-                       . $this->getSkin()->getLanguage()->pipeList( $s );
+               $html .= $this->renderAfterPortlet( 'lang' );
+
+               return $html;
+       }
+
+       /**
+        * @param string $name
+        */
+       protected function renderAfterPortlet( $name ) {
+               $content = '';
+               wfRunHooks( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) );
+
+               $html = $content !== '' ? "<div class='after-portlet after-portlet-$name'>$content</div>" : '';
+
+               return $html;
        }
 
        function pageTitleLinks() {
@@ -517,6 +533,8 @@ class CologneBlueTemplate extends BaseTemplate {
                                $role = ( $heading == 'search' ) ? 'search' : 'navigation';
                                $s .= "<div class=\"portlet\" id=\"$portletId\" role=\"$role\">\n$headingHTML\n$listHTML\n</div>\n";
                        }
+
+                       $s .= $this->renderAfterPortlet( $heading );
                }
 
                $s .= "</div>\n";
index bd914ce..34f5965 100644 (file)
@@ -221,6 +221,8 @@ echo $footerEnd;
                                } ?>
 
                        </form>
+
+                       <?php $this->renderAfterPortlet( 'search' ); ?>
                </div>
        </div>
 <?php
@@ -242,6 +244,7 @@ echo $footerEnd;
                                } ?>
 
                        </ul>
+<?php          $this->renderAfterPortlet( 'cactions' ); ?>
                </div>
        </div>
 <?php
@@ -263,6 +266,7 @@ echo $footerEnd;
                wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
 ?>
                        </ul>
+<?php          $this->renderAfterPortlet( 'tb' ); ?>
                </div>
        </div>
 <?php
@@ -270,7 +274,7 @@ echo $footerEnd;
 
        /*************************************************************************************************/
        function languageBox() {
-               if ( $this->data['language_urls'] ) {
+               if ( $this->data['language_urls'] !== false ) {
 ?>
        <div id="p-lang" class="portlet" role="navigation">
                <h3<?php $this->html( 'userlangattributes' ) ?>><?php $this->msg( 'otherlanguages' ) ?></h3>
@@ -281,6 +285,8 @@ echo $footerEnd;
 
 <?php          } ?>
                        </ul>
+
+<?php          $this->renderAfterPortlet( 'lang' ); ?>
                </div>
        </div>
 <?php
@@ -315,9 +321,12 @@ echo $footerEnd;
                        # allow raw HTML block to be defined by extensions
                        print $cont;
                }
+
+               $this->renderAfterPortlet( $bar );
 ?>
                </div>
        </div>
 <?php
        }
+
 } // end of class
index 899a272..bb0f013 100644 (file)
@@ -274,7 +274,7 @@ class VectorTemplate extends BaseTemplate {
                                        $this->renderPortal( 'tb', $this->getToolbox(), 'toolbox', 'SkinTemplateToolboxEnd' );
                                        break;
                                case 'LANGUAGES':
-                                       if ( $this->data['language_urls'] ) {
+                                       if ( $this->data['language_urls']  !== false ) {
                                                $this->renderPortal( 'lang', $this->data['language_urls'], 'otherlanguages' );
                                        }
                                        break;
@@ -316,9 +316,12 @@ class VectorTemplate extends BaseTemplate {
                </ul>
 <?php
                } else { ?>
-               <?php echo $content; /* Allow raw HTML block to be defined by extensions */ ?>
-<?php
-               } ?>
+               <?php
+                       echo $content; /* Allow raw HTML block to be defined by extensions */
+               }
+
+               $this->renderAfterPortlet( $name );
+               ?>
        </div>
 </div>
 <?php
index 40a9432..ef9cf8f 100644 (file)
@@ -133,6 +133,11 @@ textarea {
        line-height: inherit;
 }
 
+div.after-portlet {
+       display: inline;
+       padding-left: .5em;
+}
+
 h1 {
        color: #666666;
        font-family: Verdana, Arial, sans-serif;
index 145b375..6d37657 100644 (file)
@@ -250,6 +250,12 @@ table.rimage {
        border: 1px solid #aaa;
        padding: 0 .8em .3em .5em;
 }
+/* allows .pBody styles to wrap around content added via BaseTemplateAfterPortlet hook */
+.pBody:after {
+       content: '';
+       clear: both;
+       display: block;
+}
 .portlet ul {
        line-height: 1.5em;
        font-size: 95%;
index b37aa1a..a03e9cc 100644 (file)
@@ -39,6 +39,30 @@ abstract class ResourceLoaderTestCase extends MediaWikiTestCase {
 
 /* Stubs */
 
-class ResourceLoaderTestModule extends ResourceLoaderModule {}
+class ResourceLoaderTestModule extends ResourceLoaderModule {
+
+       protected $dependencies = array();
+       protected $group = null;
+       protected $source = 'local';
+       protected $targets = array( 'test' );
+
+       public function __construct( $options = array() ) {
+               foreach ( $options as $key => $value ) {
+                       $this->$key = $value;
+               }
+       }
+
+       public function getDependencies() {
+               return $this->dependencies;
+       }
+
+       public function getGroup() {
+               return $this->group;
+       }
+
+       public function getSource() {
+               return $this->source;
+       }
+}
 
 class ResourceLoaderFileModuleTestModule extends ResourceLoaderFileModule {}
index 078dfef..1305724 100644 (file)
@@ -41,7 +41,7 @@ class TitleTest extends MediaWikiTestCase {
         */
        public function testSecureAndSplit() {
                $this->setMwGlobals( array(
-                       'wgLocalInterwiki' => 'localtestiw',
+                       'wgLocalInterwikis' => array( 'localtestiw' ),
                        'wgHooks' => array(
                                'InterwikiLoadPrefix' => array(
                                        function ( $prefix, &$data ) {
diff --git a/tests/phpunit/includes/changes/RCCacheEntryFactoryTest.php b/tests/phpunit/includes/changes/RCCacheEntryFactoryTest.php
new file mode 100644 (file)
index 0000000..49feec1
--- /dev/null
@@ -0,0 +1,415 @@
+<?php
+
+/**
+ * @covers RCCacheEntryFactory
+ *
+ * @group Database
+ *
+ * @licence GNU GPL v2+
+ * @author Katie Filbert < aude.wiki@gmail.com >
+ */
+class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
+       protected function setUp() {
+               parent::setUp();
+
+               $this->setMwGlobals( array(
+                       'wgArticlePath' => '/wiki/$1'
+               ) );
+       }
+
+       /**
+        * @dataProvider editChangeProvider
+        */
+       public function testNewFromRecentChange( $expected, $context, $messages,
+               $recentChange, $watched
+       ) {
+               $cacheEntryFactory = new RCCacheEntryFactory( $context, $messages );
+               $cacheEntry = $cacheEntryFactory->newFromRecentChange( $recentChange, $watched );
+
+               $this->assertInstanceOf( 'RCCacheEntry', $cacheEntry );
+
+               $this->assertEquals( $watched, $cacheEntry->watched, 'watched' );
+               $this->assertEquals( $expected['timestamp'], $cacheEntry->timestamp, 'timestamp' );
+               $this->assertEquals(
+                       $expected['numberofWatchingusers'], $cacheEntry->numberofWatchingusers,
+                       'watching users'
+               );
+               $this->assertEquals( $expected['unpatrolled'], $cacheEntry->unpatrolled, 'unpatrolled' );
+
+               $this->assertUserLinks( 'Mary', $cacheEntry );
+               $this->assertTitleLink( 'Xyz', $cacheEntry );
+
+               $this->assertQueryLink( 'cur', $expected['cur'], $cacheEntry->curlink, 'cur link' );
+               $this->assertQueryLink( 'prev', $expected['diff'], $cacheEntry->lastlink, 'prev link' );
+               $this->assertQueryLink( 'diff', $expected['diff'], $cacheEntry->difflink, 'diff link' );
+       }
+
+       public function editChangeProvider() {
+               return array(
+                       array(
+                               array(
+                                       'title' => 'Xyz',
+                                       'user' => 'Mary',
+                                       'diff' => array( 'curid' => 5, 'diff' => 191, 'oldid' => 190 ),
+                                       'cur' => array( 'curid' => 5, 'diff' => 0, 'oldid' => 191 ),
+                                       'timestamp' => '21:21',
+                                       'numberofWatchingusers' => 0,
+                                       'unpatrolled' => false
+                               ),
+                               $this->getContext(),
+                               $this->getMessages(),
+                               $this->makeEditRecentChange(
+                                       'Xyz',
+                                       $this->getTestUser(),
+                                       5, // curid
+                                       191, // thisid
+                                       190, // lastid
+                                       '20131103212153',
+                                       0, // counter
+                                       0 // number of watching users
+                               ),
+                               false,
+                               'edit'
+                       )
+               );
+       }
+
+       private function makeEditRecentChange( $title, $user, $curid, $thisid, $lastid,
+               $timestamp, $counter, $watchingUsers
+       ) {
+
+               $attribs = array_merge(
+                       $this->getDefaultAttributes( $title, $timestamp ),
+                       array(
+                               'rc_user' => $user->getId(),
+                               'rc_user_text' => $user->getName(),
+                               'rc_this_oldid' => $thisid,
+                               'rc_last_oldid' => $lastid,
+                               'rc_cur_id' => $curid
+                       )
+               );
+
+               return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
+       }
+
+       /**
+        * @dataProvider deleteChangeProvider
+        */
+       public function testNewForDeleteChange( $expected, $context, $messages, $recentChange, $watched ) {
+               $cacheEntryFactory = new RCCacheEntryFactory( $context, $messages );
+               $cacheEntry = $cacheEntryFactory->newFromRecentChange( $recentChange, $watched );
+
+               $this->assertInstanceOf( 'RCCacheEntry', $cacheEntry );
+
+               $this->assertEquals( $watched, $cacheEntry->watched, 'watched' );
+               $this->assertEquals( $expected['timestamp'], $cacheEntry->timestamp, 'timestamp' );
+               $this->assertEquals(
+                       $expected['numberofWatchingusers'],
+                       $cacheEntry->numberofWatchingusers, 'watching users'
+               );
+               $this->assertEquals( $expected['unpatrolled'], $cacheEntry->unpatrolled, 'unpatrolled' );
+
+               $this->assertDeleteLogLink( $cacheEntry );
+               $this->assertUserLinks( 'Mary', $cacheEntry );
+
+               $this->assertEquals( 'cur', $cacheEntry->curlink, 'cur link for delete log or rev' );
+               $this->assertEquals( 'diff', $cacheEntry->difflink, 'diff link for delete log or rev' );
+               $this->assertEquals( 'prev', $cacheEntry->lastlink, 'pref link for delete log or rev' );
+       }
+
+       public function deleteChangeProvider() {
+               return array(
+                       array(
+                               array(
+                                       'title' => 'Abc',
+                                       'user' => 'Mary',
+                                       'timestamp' => '21:21',
+                                       'numberofWatchingusers' => 0,
+                                       'unpatrolled' => false
+                               ),
+                               $this->getContext(),
+                               $this->getMessages(),
+                               $this->makeLogRecentChange(
+                                       'Abc',
+                                       $this->getTestUser(),
+                                       '20131103212153',
+                                       0, // counter
+                                       0 // number of watching users
+                               ),
+                               false,
+                               'delete'
+                       )
+               );
+       }
+
+       private function makeLogRecentChange( $title, $user, $timestamp, $counter, $watchingUsers ) {
+               $attribs = array_merge(
+                       $this->getDefaultAttributes( $title, $timestamp ),
+                       array(
+                               'rc_cur_id' => 0,
+                               'rc_user' => $user->getId(),
+                               'rc_user_text' => $user->getName(),
+                               'rc_this_oldid' => 0,
+                               'rc_last_oldid' => 0,
+                               'rc_old_len' => null,
+                               'rc_new_len' => null,
+                               'rc_type' => 3,
+                               'rc_logid' => 25,
+                               'rc_log_type' => 'delete',
+                               'rc_log_action' => 'delete'
+                       )
+               );
+
+               return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
+       }
+
+       /**
+        * @dataProvider revUserDeleteProvider
+        */
+       public function testNewForRevUserDeleteChange( $expected, $context, $messages,
+               $recentChange, $watched
+       ) {
+               $cacheEntryFactory = new RCCacheEntryFactory( $context, $messages );
+               $cacheEntry = $cacheEntryFactory->newFromRecentChange( $recentChange, $watched );
+
+               $this->assertInstanceOf( 'RCCacheEntry', $cacheEntry );
+
+               $this->assertEquals( $watched, $cacheEntry->watched, 'watched' );
+               $this->assertEquals( $expected['timestamp'], $cacheEntry->timestamp, 'timestamp' );
+               $this->assertEquals(
+                       $expected['numberofWatchingusers'],
+                       $cacheEntry->numberofWatchingusers, 'watching users'
+               );
+               $this->assertEquals( $expected['unpatrolled'], $cacheEntry->unpatrolled, 'unpatrolled' );
+
+               $this->assertRevDel( $cacheEntry );
+               $this->assertTitleLink( 'Zzz', $cacheEntry );
+
+               $this->assertEquals( 'cur', $cacheEntry->curlink, 'cur link for delete log or rev' );
+               $this->assertEquals( 'diff', $cacheEntry->difflink, 'diff link for delete log or rev' );
+               $this->assertEquals( 'prev', $cacheEntry->lastlink, 'pref link for delete log or rev' );
+       }
+
+       public function revUserDeleteProvider() {
+               return array(
+                       array(
+                               array(
+                                       'title' => 'Zzz',
+                                       'user' => 'Mary',
+                                       'diff' => '',
+                                       'cur' => '',
+                                       'timestamp' => '21:21',
+                                       'numberofWatchingusers' => 0,
+                                       'unpatrolled' => false
+                               ),
+                               $this->getContext(),
+                               $this->getMessages(),
+                               $this->makeDeletedEditRecentChange(
+                                       'Zzz',
+                                       $this->getTestUser(),
+                                       '20131103212153',
+                                       191, // thisid
+                                       190, // lastid
+                                       '20131103212153',
+                                       0, // counter
+                                       0 // number of watching users
+                               ),
+                               false,
+                               'deletedrevuser'
+                       )
+               );
+       }
+
+       private function makeDeletedEditRecentChange( $title, $user, $timestamp, $curid, $thisid,
+               $lastid, $counter, $watchingUsers
+       ) {
+               $attribs = array_merge(
+                       $this->getDefaultAttributes( $title, $timestamp ),
+                       array(
+                               'rc_user' => $user->getId(),
+                               'rc_user_text' => $user->getName(),
+                               'rc_deleted' => 5,
+                               'rc_cur_id' => $curid,
+                               'rc_this_oldid' => $thisid,
+                               'rc_last_oldid' => $lastid
+                       )
+               );
+
+               return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
+       }
+
+       private function assertUserLinks( $user, $cacheEntry ) {
+               $this->assertTag(
+                       array(
+                               'tag' => 'a',
+                               'attributes' => array(
+                                       'class' => 'new mw-userlink'
+                               ),
+                               'content' => $user
+                       ),
+                       $cacheEntry->userlink,
+                       'verify user link'
+               );
+
+               $this->assertTag(
+                       array(
+                               'tag' => 'span',
+                               'attributes' => array(
+                                       'class' => 'mw-usertoollinks'
+                               ),
+                               'child' => array(
+                                       'tag' => 'a',
+                                       'content' => 'Talk',
+                               )
+                       ),
+                       $cacheEntry->usertalklink,
+                       'verify user talk link'
+               );
+
+               $this->assertTag(
+                       array(
+                               'tag' => 'span',
+                               'attributes' => array(
+                                       'class' => 'mw-usertoollinks'
+                               ),
+                               'child' => array(
+                                       'tag' => 'a',
+                                       'content' => 'contribs',
+                               )
+                       ),
+                       $cacheEntry->usertalklink,
+                       'verify user tool links'
+               );
+       }
+
+       private function assertDeleteLogLink( $cacheEntry ) {
+               $this->assertTag(
+                       array(
+                               'tag' => 'a',
+                               'attributes' => array(
+                                       'href' => '/wiki/Special:Log/delete',
+                                       'title' => 'Special:Log/delete'
+                               ),
+                               'content' => 'Deletion log'
+                       ),
+                       $cacheEntry->link,
+                       'verify deletion log link'
+               );
+       }
+
+       private function assertRevDel( $cacheEntry ) {
+               $this->assertTag(
+                       array(
+                               'tag' => 'span',
+                               'attributes' => array(
+                                       'class' => 'history-deleted'
+                               ),
+                               'content' => '(username removed)'
+                       ),
+                       $cacheEntry->userlink,
+                       'verify user link for change with deleted revision and user'
+               );
+       }
+
+       private function assertTitleLink( $title, $cacheEntry ) {
+               $this->assertTag(
+                       array(
+                               'tag' => 'a',
+                               'attributes' => array(
+                                       'href' => '/wiki/' . $title,
+                                       'title' => $title
+                               ),
+                               'content' => $title
+                       ),
+                       $cacheEntry->link,
+                       'verify title link'
+               );
+       }
+
+       private function assertQueryLink( $content, $params, $link ) {
+               $this->assertTag(
+                       array(
+                               'tag' => 'a',
+                               'content' => $content
+                       ),
+                       $link,
+                       'assert query link element'
+               );
+
+               foreach ( $params as $key => $value ) {
+                       $this->assertRegExp( '/' . $key . '=' . $value . '/', $link, "verify $key link params" );
+               }
+       }
+
+       private function makeRecentChange( $attribs, $counter, $watchingUsers ) {
+               $change = new RecentChange();
+               $change->setAttribs( $attribs );
+               $change->counter = $counter;
+               $change->numberofWatchingusers = $watchingUsers;
+
+               return $change;
+       }
+
+       private function getDefaultAttributes( $title, $timestamp ) {
+               return array(
+                       'rc_id' => 545,
+                       'rc_user' => 0,
+                       'rc_user_text' => '127.0.0.1',
+                       'rc_ip' => '127.0.0.1',
+                       'rc_title' => $title,
+                       'rc_namespace' => 0,
+                       'rc_timestamp' => $timestamp,
+                       'rc_cur_time' => $timestamp,
+                       'rc_old_len' => 212,
+                       'rc_new_len' => 188,
+                       'rc_comment' => '',
+                       'rc_minor' => 0,
+                       'rc_bot' => 0,
+                       'rc_type' => 0,
+                       'rc_patrolled' => 1,
+                       'rc_deleted' => 0,
+                       'rc_logid' => 0,
+                       'rc_log_type' => null,
+                       'rc_log_action' => '',
+                       'rc_params' => '',
+                       'rc_source' => 'mw.edit'
+               );
+       }
+
+       private function getTestUser() {
+               $user = User::newFromName( 'Mary' );
+
+               if ( !$user->getId() ) {
+                       $user->addToDatabase();
+               }
+
+               return $user;
+       }
+
+       private function getMessages() {
+               return array(
+                       'cur' => 'cur',
+                       'diff' => 'diff',
+                       'hist' => 'hist',
+                       'enhancedrc-history' => 'history',
+                       'last' => 'prev',
+                       'blocklink' => 'block',
+                       'history' => 'Page history',
+                       'semicolon-separator' => '; ',
+                       'pipe-separator' => ' | '
+               );
+       }
+
+       private function getContext() {
+               $title = Title::newFromText( 'RecentChanges', NS_SPECIAL );
+
+               $context = new RequestContext();
+               $context->setTitle( $title );
+               $context->setLanguage( Language::factory( 'en' ) );
+
+               $user = $this->getTestUser();
+               $context->setUser( $user );
+
+               return $context;
+       }
+}
index cfa3e77..c63675e 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * @group Database
  */
@@ -136,7 +137,8 @@ class RecentChangeTest extends MediaWikiTestCase {
 
                # move/move
                $this->assertIRCComment(
-                       $this->context->msg( '1movedto2', 'SomeTitle', 'TestTarget' )->plain() . $sep . $this->user_comment,
+                       $this->context->msg( '1movedto2', 'SomeTitle', 'TestTarget' )
+                               ->plain() . $sep . $this->user_comment,
                        'move', 'move',
                        $move_params,
                        $this->user_comment
@@ -144,7 +146,8 @@ class RecentChangeTest extends MediaWikiTestCase {
 
                # move/move_redir
                $this->assertIRCComment(
-                       $this->context->msg( '1movedto2_redir', 'SomeTitle', 'TestTarget' )->plain() . $sep . $this->user_comment,
+                       $this->context->msg( '1movedto2_redir', 'SomeTitle', 'TestTarget' )
+                               ->plain() . $sep . $this->user_comment,
                        'move', 'move_redir',
                        $move_params,
                        $this->user_comment
@@ -178,7 +181,8 @@ class RecentChangeTest extends MediaWikiTestCase {
 
                # protect/protect
                $this->assertIRCComment(
-                       $this->context->msg( 'protectedarticle', 'SomeTitle ' . $protectParams[0] )->plain() . $sep . $this->user_comment,
+                       $this->context->msg( 'protectedarticle', 'SomeTitle ' . $protectParams[0] )
+                               ->plain() . $sep . $this->user_comment,
                        'protect', 'protect',
                        $protectParams,
                        $this->user_comment
@@ -194,7 +198,8 @@ class RecentChangeTest extends MediaWikiTestCase {
 
                # protect/modify
                $this->assertIRCComment(
-                       $this->context->msg( 'modifiedarticleprotection', 'SomeTitle ' . $protectParams[0] )->plain() . $sep . $this->user_comment,
+                       $this->context->msg( 'modifiedarticleprotection', 'SomeTitle ' . $protectParams[0] )
+                               ->plain() . $sep . $this->user_comment,
                        'protect', 'modify',
                        $protectParams,
                        $this->user_comment
@@ -255,8 +260,9 @@ class RecentChangeTest extends MediaWikiTestCase {
         * @param $comment String (optional) A comment for the log action
         * @param $msg String (optional) A message for PHPUnit :-)
         */
-       protected function assertIRCComment( $expected, $type, $action, $params, $comment = null, $msg = '' ) {
-
+       protected function assertIRCComment( $expected, $type, $action, $params,
+               $comment = null, $msg = ''
+       ) {
                $logEntry = new ManualLogEntry( $type, $action );
                $logEntry->setPerformer( $this->user );
                $logEntry->setTarget( $this->title );
index 0e5f267..8466684 100644 (file)
@@ -48,13 +48,13 @@ class InstallDocFormatterTest extends MediaWikiTestCase {
 
                        # Transform '$wgFooBar' links
                        array(
-                               '<span class="config-plainlink">[http://www.mediawiki.org/wiki/Manual:$wgFooBar $wgFooBar]</span>',
+                               '<span class="config-plainlink">[https://www.mediawiki.org/wiki/Manual:$wgFooBar $wgFooBar]</span>',
                                '$wgFooBar', 'Testing basic $wgFooBar' ),
                        array(
-                               '<span class="config-plainlink">[http://www.mediawiki.org/wiki/Manual:$wgFooBar45 $wgFooBar45]</span>',
+                               '<span class="config-plainlink">[https://www.mediawiki.org/wiki/Manual:$wgFooBar45 $wgFooBar45]</span>',
                                '$wgFooBar45', 'Testing $wgFooBar45 (with numbers)' ),
                        array(
-                               '<span class="config-plainlink">[http://www.mediawiki.org/wiki/Manual:$wgFoo_Bar $wgFoo_Bar]</span>',
+                               '<span class="config-plainlink">[https://www.mediawiki.org/wiki/Manual:$wgFoo_Bar $wgFoo_Bar]</span>',
                                '$wgFoo_Bar', 'Testing $wgFoo_Bar (with underscore)' ),
 
                        # Icky variables that shouldn't link
diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php
new file mode 100644 (file)
index 0000000..5b51ef8
--- /dev/null
@@ -0,0 +1,278 @@
+<?php
+
+class ResourceLoaderStartupModuleTest extends ResourceLoaderTestCase {
+
+       public static function provideGetModuleRegistrations() {
+               return array(
+                       array( array(
+                               'msg' => 'Empty registry',
+                               'modules' => array(),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    }
+} );mw.loader.register( [] );'
+                       ) ),
+                       array( array(
+                               'msg' => 'Basic registry',
+                               'modules' => array(
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                               ),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    }
+} );mw.loader.register( [
+    [
+        "test.blank",
+        "1388534400"
+    ]
+] );',
+                       ) ),
+                       array( array(
+                               'msg' => 'Group signature',
+                               'modules' => array(
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                                       'test.group.foo' => new ResourceLoaderTestModule( array( 'group' => 'x-foo' ) ),
+                                       'test.group.bar' => new ResourceLoaderTestModule( array( 'group' => 'x-bar' ) ),
+                               ),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    }
+} );mw.loader.register( [
+    [
+        "test.blank",
+        "1388534400"
+    ],
+    [
+        "test.group.foo",
+        "1388534400",
+        [],
+        "x-foo"
+    ],
+    [
+        "test.group.bar",
+        "1388534400",
+        [],
+        "x-bar"
+    ]
+] );'
+                       ) ),
+                       array( array(
+                               'msg' => 'Different target (non-test should not be registered)',
+                               'modules' => array(
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                                       'test.target.foo' => new ResourceLoaderTestModule( array( 'targets' => array( 'x-foo' ) ) ),
+                               ),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    }
+} );mw.loader.register( [
+    [
+        "test.blank",
+        "1388534400"
+    ]
+] );'
+                       ) ),
+                       array( array(
+                               'msg' => 'Foreign source',
+                               'sources' => array(
+                                       'example' => array(
+                                               'loadScript' => 'http://example.org/w/load.php',
+                                               'apiScript' => 'http://example.org/w/api.php',
+                                       ),
+                               ),
+                               'modules' => array(
+                                       'test.blank' => new ResourceLoaderTestModule( array( 'source' => 'example' ) ),
+                               ),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    },
+    "example": {
+        "loadScript": "http://example.org/w/load.php",
+        "apiScript": "http://example.org/w/api.php"
+    }
+} );mw.loader.register( [
+    [
+        "test.blank",
+        "1388534400",
+        [],
+        null,
+        "example"
+    ]
+] );'
+                       ) ),
+                       array( array(
+                               // This may seem like an edge case, but a plain MediaWiki core install
+                               // with a few extensions installed is likely far more complex than this
+                               // even, not to mention an install like Wikipedia.
+                               // TODO: Make this even more realistic.
+                               'msg' => 'Advanced (everything combined)',
+                               'sources' => array(
+                                       'example' => array(
+                                               'loadScript' => 'http://example.org/w/load.php',
+                                               'apiScript' => 'http://example.org/w/api.php',
+                                       ),
+                               ),
+                               'modules' => array(
+                                       'test.blank' => new ResourceLoaderTestModule(),
+                                       'test.x.core' => new ResourceLoaderTestModule(),
+                                       'test.x.util' => new ResourceLoaderTestModule( array(
+                                               'dependencies' => array(
+                                                       'test.x.core',
+                                               ),
+                                       ) ),
+                                       'test.x.foo' => new ResourceLoaderTestModule( array(
+                                               'dependencies' => array(
+                                                       'test.x.core',
+                                               ),
+                                       ) ),
+                                       'test.x.bar' => new ResourceLoaderTestModule( array(
+                                               'dependencies' => array(
+                                                       'test.x.core',
+                                                       'test.x.util',
+                                               ),
+                                       ) ),
+                                       'test.x.quux' => new ResourceLoaderTestModule( array(
+                                               'dependencies' => array(
+                                                       'test.x.foo',
+                                                       'test.x.bar',
+                                                       'test.x.util',
+                                               ),
+                                       ) ),
+                                       'test.group.foo.1' => new ResourceLoaderTestModule( array(
+                                               'group' => 'x-foo',
+                                       ) ),
+                                       'test.group.foo.2' => new ResourceLoaderTestModule( array(
+                                               'group' => 'x-foo',
+                                       ) ),
+                                       'test.group.bar.1' => new ResourceLoaderTestModule( array(
+                                               'group' => 'x-bar',
+                                       ) ),
+                                       'test.group.bar.2' => new ResourceLoaderTestModule( array(
+                                               'group' => 'x-bar',
+                                               'source' => 'example',
+                                       ) ),
+                                       'test.target.foo' => new ResourceLoaderTestModule( array(
+                                               'targets' => array( 'x-foo' ),
+                                       ) ),
+                                       'test.target.bar' => new ResourceLoaderTestModule( array(
+                                               'source' => 'example',
+                                               'targets' => array( 'x-foo' ),
+                                       ) ),
+                               ),
+                               'out' => '
+mw.loader.addSource( {
+    "local": {
+        "loadScript": "/w/load.php",
+        "apiScript": "/w/api.php"
+    },
+    "example": {
+        "loadScript": "http://example.org/w/load.php",
+        "apiScript": "http://example.org/w/api.php"
+    }
+} );mw.loader.register( [
+    [
+        "test.blank",
+        "1388534400"
+    ],
+    [
+        "test.x.core",
+        "1388534400"
+    ],
+    [
+        "test.x.util",
+        "1388534400",
+        [
+            "test.x.core"
+        ]
+    ],
+    [
+        "test.x.foo",
+        "1388534400",
+        [
+            "test.x.core"
+        ]
+    ],
+    [
+        "test.x.bar",
+        "1388534400",
+        [
+            "test.x.core",
+            "test.x.util"
+        ]
+    ],
+    [
+        "test.x.quux",
+        "1388534400",
+        [
+            "test.x.foo",
+            "test.x.bar",
+            "test.x.util"
+        ]
+    ],
+    [
+        "test.group.foo.1",
+        "1388534400",
+        [],
+        "x-foo"
+    ],
+    [
+        "test.group.foo.2",
+        "1388534400",
+        [],
+        "x-foo"
+    ],
+    [
+        "test.group.bar.1",
+        "1388534400",
+        [],
+        "x-bar"
+    ],
+    [
+        "test.group.bar.2",
+        "1388534400",
+        [],
+        "x-bar",
+        "example"
+    ]
+] );'
+                       ) ),
+               );
+       }
+
+       /**
+        * @dataProvider provideGetModuleRegistrations
+        * @covers ResourceLoaderStartUpModule::getModuleRegistrations
+        */
+       public function testGetModuleRegistrations( $case ) {
+               if ( isset( $case['sources'] ) ) {
+                       $this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] );
+               }
+
+               $context = self::getResourceLoaderContext();
+               $rl = $context->getResourceLoader();
+
+               $rl->register( $case['modules'] );
+
+               $this->assertEquals(
+                       ltrim( $case['out'], "\n" ),
+                       ResourceLoaderStartUpModule::getModuleRegistrations( $context ),
+                       $case['msg']
+               );
+       }
+
+}
index 58509c1..31470e8 100644 (file)
@@ -9,7 +9,13 @@ return array(
        'test.sinonjs' => array(
                'scripts' => array(
                        'resources/sinonjs/sinon-1.9.0.js',
-                       'resources/sinonjs/sinon-ie-1.9.0.js',
+                       // We want tests to work in IE, but can't include this as it
+                       // will break the placeholders in Sinon because the hack it uses
+                       // to hijack IE globals relies on running in the global scope
+                       // and in ResourceLoader this won't be running in the global scope.
+                       // Including it results (among other things) in sandboxed timers
+                       // being broken due to Date inheritance being undefined.
+                       // 'resources/sinonjs/sinon-ie-1.9.0.js',
                ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
@@ -65,6 +71,7 @@ return array(
                        'tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js',
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js',
                        'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.parse.test.js',
+                       'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.watch.test.js',
                        'tests/qunit/suites/resources/mediawiki.special/mediawiki.special.recentchanges.test.js',
                        'tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js',
                        'tests/qunit/suites/resources/mediawiki/mediawiki.cldr.test.js',
@@ -90,6 +97,7 @@ return array(
                        'mediawiki',
                        'mediawiki.api',
                        'mediawiki.api.parse',
+                       'mediawiki.api.watch',
                        'mediawiki.jqueryMsg',
                        'mediawiki.Title',
                        'mediawiki.Uri',
index ba00ff9..73ae0e6 100644 (file)
@@ -82,7 +82,7 @@
        sinon.config = {
                injectIntoThis: true,
                injectInto: null,
-               properties: ['spy', 'stub', 'mock', 'clock', 'sandbox'],
+               properties: ['spy', 'stub', 'mock', 'sandbox'],
                // Don't fake timers by default
                useFakeTimers: false,
                useFakeServer: false
diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.watch.test.js b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.watch.test.js
new file mode 100644 (file)
index 0000000..e178090
--- /dev/null
@@ -0,0 +1,50 @@
+( function ( mw ) {
+       QUnit.module( 'mediawiki.api.watch', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.clock = this.sandbox.useFakeTimers();
+                       this.server = this.sandbox.useFakeServer();
+               },
+               teardown: function () {
+                       this.clock.tick( 1 );
+               }
+       } ) );
+
+       QUnit.test( '.watch()', function ( assert ) {
+               QUnit.expect( 4 );
+
+               var api = new mw.Api();
+
+               // Ensure we don't mistake a single item array for a single item and vice versa.
+               // The query parameter in request is the same either way (separated by pipe).
+               api.watch( 'Foo' ).done( function ( item ) {
+                       assert.equal( item.title, 'Foo' );
+               } );
+
+               api.watch( [ 'Foo' ] ).done( function ( items ) {
+                       assert.equal( items[0].title, 'Foo' );
+               } );
+
+               api.watch( [ 'Foo', 'Bar' ] ).done( function ( items ) {
+                       assert.equal( items[0].title, 'Foo' );
+                       assert.equal( items[1].title, 'Bar' );
+               } );
+
+               // Requests are POST, match requestBody instead of url
+               this.server.respond( function ( req ) {
+                       if ( /action=watch.*&titles=Foo(&|$)/.test( req.requestBody ) ) {
+                               req.respond( 200, { 'Content-Type': 'application/json' },
+                                       '{ "watch": [ { "title": "Foo", "watched": true, "message": "<b>Added</b>" } ] }'
+                               );
+                       }
+
+                       if ( /action=watch.*&titles=Foo%7CBar/.test( req.requestBody ) ) {
+                               req.respond( 200, { 'Content-Type': 'application/json' },
+                                       '{ "watch": [ ' +
+                                               '{ "title": "Foo", "watched": true, "message": "<b>Added</b>" },' +
+                                               '{ "title": "Bar", "watched": true, "message": "<b>Added</b>" }' +
+                                               '] }'
+                               );
+                       }
+               } );
+       } );
+}( mediaWiki ) );