Merge "jquery.migrate: Instrument with mw.track()"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 22 Aug 2017 10:20:11 +0000 (10:20 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 22 Aug 2017 10:20:11 +0000 (10:20 +0000)
208 files changed:
.stylelintrc [deleted file]
.stylelintrc.json [new file with mode: 0644]
RELEASE-NOTES-1.30
autoload.php
docs/uidesign/child-selector-emu.html [deleted file]
includes/Block.php
includes/Category.php
includes/DefaultSettings.php
includes/EditPage.php
includes/MediaWiki.php
includes/MergeHistory.php
includes/OutputPage.php
includes/Preferences.php
includes/Revision.php
includes/SiteStats.php
includes/StreamFile.php
includes/api/ApiParamInfo.php
includes/api/i18n/fa.json
includes/api/i18n/nl.json
includes/api/i18n/zh-hant.json
includes/auth/AuthManager.php
includes/auth/CreateFromLoginAuthenticationRequest.php
includes/cache/HTMLFileCache.php
includes/cache/MessageCache.php
includes/cache/localisation/LocalisationCache.php
includes/collation/IcuCollation.php
includes/config/EtcdConfig.php
includes/dao/DBAccessObjectUtils.php
includes/dao/IDBAccessObject.php
includes/debug/logger/monolog/WikiProcessor.php
includes/deferred/DeferredUpdates.php
includes/deferred/LinksDeletionUpdate.php
includes/deferred/LinksUpdate.php
includes/exception/MWExceptionRenderer.php
includes/filerepo/FileBackendDBRepoWrapper.php
includes/filerepo/ForeignAPIRepo.php
includes/filerepo/file/File.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLFormField.php
includes/htmlform/fields/HTMLFormFieldWithButton.php
includes/installer/i18n/be-tarask.json
includes/installer/i18n/es.json
includes/installer/i18n/fa.json
includes/installer/i18n/fr.json
includes/installer/i18n/ko.json
includes/installer/i18n/lb.json
includes/installer/i18n/nb.json
includes/installer/i18n/nl.json
includes/installer/i18n/pt.json
includes/jobqueue/JobQueueDB.php
includes/jobqueue/jobs/CategoryMembershipChangeJob.php
includes/jobqueue/jobs/RefreshLinksJob.php
includes/libs/GenericArrayObject.php
includes/libs/HashRing.php
includes/libs/MultiHttpClient.php
includes/libs/filebackend/HTTPFileStreamer.php
includes/libs/objectcache/BagOStuff.php
includes/libs/objectcache/HashBagOStuff.php
includes/libs/objectcache/MultiWriteBagOStuff.php
includes/libs/objectcache/RESTBagOStuff.php
includes/libs/objectcache/WANObjectCache.php
includes/libs/objectcache/WANObjectCacheReaper.php
includes/libs/rdbms/ChronologyProtector.php
includes/libs/rdbms/TransactionProfiler.php
includes/libs/rdbms/database/DBConnRef.php
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/IDatabase.php
includes/libs/rdbms/database/position/MySQLMasterPos.php
includes/libs/rdbms/database/resultwrapper/MssqlResultWrapper.php
includes/libs/rdbms/exception/DBQueryError.php
includes/libs/rdbms/lbfactory/ILBFactory.php
includes/libs/rdbms/loadbalancer/ILoadBalancer.php
includes/libs/rdbms/loadbalancer/LoadBalancer.php
includes/libs/rdbms/loadmonitor/ILoadMonitor.php
includes/libs/rdbms/loadmonitor/LoadMonitor.php
includes/libs/stats/BufferingStatsdDataFactory.php
includes/libs/stats/IBufferingStatsdDataFactory.php
includes/libs/stats/NullStatsdDataFactory.php
includes/libs/stats/SamplingStatsdClient.php
includes/objectcache/SqlBagOStuff.php
includes/page/Article.php
includes/page/WikiPage.php
includes/parser/ParserOutput.php
includes/parser/Preprocessor_Hash.php
includes/revisiondelete/RevDelItem.php
includes/revisiondelete/RevisionDeleter.php
includes/services/ServiceContainer.php
includes/session/CookieSessionProvider.php
includes/skins/SkinTemplate.php
includes/specialpage/ChangesListSpecialPage.php
includes/specials/SpecialMediaStatistics.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialWatchlist.php
includes/tidy/Balancer.php
includes/tidy/RemexCompatMunger.php
includes/upload/UploadBase.php
includes/user/User.php
includes/utils/BatchRowIterator.php
includes/utils/UIDGenerator.php
includes/widget/SearchInputWidget.php
includes/widget/SelectWithInputWidget.php
languages/Language.php
languages/i18n/af.json
languages/i18n/ar.json
languages/i18n/ast.json
languages/i18n/ba.json
languages/i18n/be-tarask.json
languages/i18n/bg.json
languages/i18n/bho.json
languages/i18n/bn.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/csb.json
languages/i18n/cy.json
languages/i18n/de.json
languages/i18n/din.json
languages/i18n/el.json
languages/i18n/en.json
languages/i18n/eo.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/frr.json
languages/i18n/gl.json
languages/i18n/got.json
languages/i18n/gu.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hr.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/kab.json
languages/i18n/khw.json
languages/i18n/km.json
languages/i18n/ko.json
languages/i18n/lb.json
languages/i18n/li.json
languages/i18n/lki.json
languages/i18n/lv.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mwl.json
languages/i18n/nb.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/oc.json
languages/i18n/pl.json
languages/i18n/pnb.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/shi.json
languages/i18n/skr-arab.json
languages/i18n/sl.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/tay.json
languages/i18n/th.json
languages/i18n/tl.json
languages/i18n/uk.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/Maintenance.php
maintenance/deleteRevision.php [deleted file]
maintenance/namespaceDupes.php
maintenance/rebuildrecentchanges.php
package.json
phpcs.xml
resources/Resources.php
resources/src/jquery/jquery.mwExtension.js [deleted file]
resources/src/mediawiki.less/mediawiki.ui/variables.less
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueryItemModel.js
resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
resources/src/mediawiki.rcfilters/mw.rcfilters.js
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js [new file with mode: 0644]
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListItemWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js
tests/parser/ParserTestRunner.php
tests/phpunit/includes/db/LoadBalancerTest.php [new file with mode: 0644]
tests/phpunit/includes/libs/objectcache/WANObjectCacheTest.php
tests/qunit/QUnitTestResources.php
tests/qunit/suites/resources/jquery/jquery.mwExtension.test.js [deleted file]

diff --git a/.stylelintrc b/.stylelintrc
deleted file mode 100644 (file)
index 27e289d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "extends": "stylelint-config-wikimedia",
-       "rules": {
-               "no-descending-specificity": null,
-
-               "selector-no-id": null
-       }
-}
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644 (file)
index 0000000..27e289d
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "extends": "stylelint-config-wikimedia",
+       "rules": {
+               "no-descending-specificity": null,
+
+               "selector-no-id": null
+       }
+}
index 9474f21..dd39561 100644 (file)
@@ -168,6 +168,9 @@ changes to languages because of Phabricator reports.
 * WikiImporter now requires the second parameter to be an instance of the Config,
   class. Prior to that, the Config parameter was optional (a behavior deprecated in
   1.25).
+* Removed 'jquery.mwExtension' module. (deprecated since 1.26)
+* mediawiki.ui: Deprecate greys, which are not part of WikimediaUI color palette
+  any more.
 
 == Compatibility ==
 MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for
index d9e85bd..aeecac7 100644 (file)
@@ -367,7 +367,6 @@ $wgAutoloadLocalClasses = [
        'DeleteLogFormatter' => __DIR__ . '/includes/logging/DeleteLogFormatter.php',
        'DeleteOldRevisions' => __DIR__ . '/maintenance/deleteOldRevisions.php',
        'DeleteOrphanedRevisions' => __DIR__ . '/maintenance/deleteOrphanedRevisions.php',
-       'DeleteRevision' => __DIR__ . '/maintenance/deleteRevision.php',
        'DeleteSelfExternals' => __DIR__ . '/maintenance/deleteSelfExternals.php',
        'DeletedContribsPager' => __DIR__ . '/includes/specials/pagers/DeletedContribsPager.php',
        'DeletedContributionsPage' => __DIR__ . '/includes/specials/SpecialDeletedContributions.php',
diff --git a/docs/uidesign/child-selector-emu.html b/docs/uidesign/child-selector-emu.html
deleted file mode 100644 (file)
index 9db4c54..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-       <title>CSS Child selector emulation for IE 6</title>
-       <style>
-               /** Common rules **/
-               body  { background-color: #CCC; }
-               table { border:1px black solid; }
-               caption {
-                       background-color: #98fb98;
-                       border:1px solid #40FF40;
-               }
-
-               /** "old" rules" **/
-               table.global th,
-               table.global td
-               {
-                       border: 1px red solid;
-                       background-color:white;
-                       padding:1em;
-               }
-               table.global th
-               {
-                       background-color: #ffc0cb;
-               }
-
-               /** second table. Try to emulate child selector */
-               table.childemu th,
-               table.childemu td {
-                       border: 1px red solid;
-                       background-color:white;
-                       padding:1em;
-               }
-               table.childemu th
-               {
-                       background-color: #ffc0cb;
-               }
-
-               /** Reset style applied in childemu classes */
-               /** TODO: find the real default value!! */
-               table.childemu tr * th,
-               table.childemu tr * td {
-                       border: none;
-                       background-color: transparent;
-                       padding: 0;
-               }
-
-
-               /** child selector emulation */
-       </style>
-</head>
-<body>
-<p>
-The following table show how nested tables inherit colors from the wikitable class (here it was renamed "global").
-</p>
-<table class="global">
-<caption>Global table</caption>
-<tr>
-       <th>TH: should have pink bg</th>
-</tr>
-<tr>
-       <td>TD: white bg</td>
-</tr>
-<tr>
-       <td>
-               <table class="nested">
-               <caption>Nested table</caption>
-               <tr>
-                       <th>Nested TH: transparent</th>
-                       <td>Nested TD: transparent</td>
-               </tr>
-               </table>
-       </td>
-</tr>
-</table>
-
-<p>
-With child selector we could limit the wikitable styling to the direct childs of the table. Unfortunately, Internet Explorer 6.0 does not support child selector. See <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=33752">our bug #33752</a>.
-</p>
-<table class="childemu">
-<caption>Global table</caption>
-<tr>
-       <th>TH: should have pink bg</th>
-</tr>
-<tr>
-       <td>TD: white bg</td>
-</tr>
-<tr>
-       <td>
-               <table class="nested">
-               <caption>Nested table</caption>
-               <tr>
-                       <th>Nested TH: transparent</th>
-                       <td>Nested TD: transparent</td>
-               </tr>
-               </table>
-       </td>
-</tr>
-</table>
-<p><strong>NOTE:</strong>The nested caption keep the green background. The nested table keep the black border. This is because those declarations are global so we did not reset them.</p>
index 843ea54..5066038 100644 (file)
@@ -1513,7 +1513,7 @@ class Block {
         *
         * @param string $cookieValue The string in which to find the ID.
         *
-        * @return integer|null The block ID, or null if the HMAC is present and invalid.
+        * @return int|null The block ID, or null if the HMAC is present and invalid.
         */
        public static function getIdFromCookieValue( $cookieValue ) {
                // Extract the ID prefix from the cookie value (may be the whole value, if no bang found).
index c22ea64..629962d 100644 (file)
@@ -48,7 +48,7 @@ class Category {
 
        /**
         * Set up all member variables using a database query.
-        * @param integer $mode
+        * @param int $mode
         * @throws MWException
         * @return bool True on success, false on failure.
         */
index 4e162f6..2613889 100644 (file)
@@ -4901,7 +4901,7 @@ $wgDefaultUserOptions = [
        'date' => 'default',
        'diffonly' => 0,
        'disablemail' => 0,
-       'editfont' => 'default',
+       'editfont' => 'monospace',
        'editondblclick' => 0,
        'editsectiononrightclick' => 0,
        'enotifminoredits' => 0,
@@ -6846,6 +6846,11 @@ $wgStructuredChangeFiltersEnableExperimentalViews = false;
  */
 $wgStructuredChangeFiltersEnableLiveUpdate = false;
 
+/**
+ * Whether to enable RCFilters app on Special:Watchlist
+ */
+$wgStructuredChangeFiltersOnWatchlist = false;
+
 /**
  * Use new page patrolling to check new pages on Special:Newpages
  */
index 49341c5..914e7aa 100644 (file)
@@ -336,7 +336,7 @@ class EditPage {
        /** @var string */
        public $edittime = '';
 
-       /** @var integer */
+       /** @var int */
        private $editRevId = null;
 
        /** @var string */
@@ -1726,7 +1726,7 @@ class EditPage {
         *   - spam (string): Spam string from content if any spam is detected by
         *     matchSpamRegex.
         *   - sectionanchor (string): Section anchor for a section save.
-        *   - nullEdit (boolean): Set if doEditContent is OK.  True if null edit,
+        *   - nullEdit (bool): Set if doEditContent is OK.  True if null edit,
         *     false otherwise.
         *   - redirect (bool): Set if doEditContent is OK. True if resulting
         *     revision is a redirect.
index 4e47184..10b9e2b 100644 (file)
@@ -970,7 +970,7 @@ class MediaWiki {
        }
 
        /**
-        * @param integer $n Number of jobs to try to run
+        * @param int $n Number of jobs to try to run
         * @param LoggerInterface $runJobsLogger
         */
        private function triggerSyncJobs( $n, LoggerInterface $runJobsLogger ) {
@@ -979,7 +979,7 @@ class MediaWiki {
        }
 
        /**
-        * @param integer $n Number of jobs to try to run
+        * @param int $n Number of jobs to try to run
         * @param LoggerInterface $runJobsLogger
         * @return bool Success
         */
index 48ff97b..9d63869 100644 (file)
@@ -56,7 +56,7 @@ class MergeHistory {
        /** @var MWTimestamp|bool Timestamp upto which history from the source will be merged */
        protected $timestampLimit;
 
-       /** @var integer Number of revisions merged (for Special:MergeHistory success message) */
+       /** @var int Number of revisions merged (for Special:MergeHistory success message) */
        protected $revisionsMerged;
 
        /**
index 2a3a7cd..dd21194 100644 (file)
@@ -1998,10 +1998,10 @@ class OutputPage extends ContextSource {
         * the TTL is higher the older the $mtime timestamp is. Essentially, the
         * TTL is 90% of the age of the object, subject to the min and max.
         *
-        * @param string|integer|float|bool|null $mtime Last-Modified timestamp
-        * @param integer $minTTL Mimimum TTL in seconds [default: 1 minute]
-        * @param integer $maxTTL Maximum TTL in seconds [default: $wgSquidMaxage]
-        * @return integer TTL in seconds
+        * @param string|int|float|bool|null $mtime Last-Modified timestamp
+        * @param int $minTTL Mimimum TTL in seconds [default: 1 minute]
+        * @param int $maxTTL Maximum TTL in seconds [default: $wgSquidMaxage]
+        * @return int TTL in seconds
         * @since 1.28
         */
        public function adaptCdnTTL( $mtime, $minTTL = 0, $maxTTL = 0 ) {
index c74d6e1..c64e8a8 100644 (file)
@@ -832,10 +832,10 @@ class Preferences {
                                'section' => 'editing/editor',
                                'label-message' => 'editfont-style',
                                'options' => [
-                                       $context->msg( 'editfont-default' )->text() => 'default',
                                        $context->msg( 'editfont-monospace' )->text() => 'monospace',
                                        $context->msg( 'editfont-sansserif' )->text() => 'sans-serif',
                                        $context->msg( 'editfont-serif' )->text() => 'serif',
+                                       $context->msg( 'editfont-default' )->text() => 'default',
                                ]
                        ];
                }
@@ -920,6 +920,9 @@ class Preferences {
                $defaultPreferences['rcfilters-saved-queries'] = [
                        'type' => 'api',
                ];
+               $defaultPreferences['rcfilters-wl-saved-queries'] = [
+                       'type' => 'api',
+               ];
                $defaultPreferences['rcfilters-rclimit'] = [
                        'type' => 'api',
                ];
@@ -1682,7 +1685,7 @@ class PreferencesForm extends HTMLForm {
                $html = parent::getButtons();
 
                if ( $this->getModifiedUser()->isAllowed( 'editmyoptions' ) ) {
-                       $t = SpecialPage::getTitleFor( 'Preferences', 'reset' );
+                       $t = $this->getTitle()->getSubpage( 'reset' );
 
                        $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
                        $html .= "\n" . $linkRenderer->makeLink( $t, $this->msg( 'restoreprefs' )->text(),
index 3d4d161..e457beb 100644 (file)
@@ -752,7 +752,7 @@ class Revision implements IDBAccessObject {
         * This should only be used for proposed revisions that turn out to be null edits
         *
         * @since 1.28
-        * @param integer $id User ID
+        * @param int $id User ID
         * @param string $name User name
         */
        public function setUserIdAndName( $id, $name ) {
@@ -1584,7 +1584,7 @@ class Revision implements IDBAccessObject {
         * Get the text cache TTL
         *
         * @param WANObjectCache $cache
-        * @return integer
+        * @return int
         */
        private static function getCacheTTL( WANObjectCache $cache ) {
                global $wgRevisionCacheExpiry;
index 6a2d0e2..ce87596 100644 (file)
@@ -294,7 +294,7 @@ class SiteStatsInit {
 
        /**
         * @param bool|IDatabase $database
-        * - boolean: Whether to use the master DB
+        * - bool: Whether to use the master DB
         * - IDatabase: Database connection to use
         */
        public function __construct( $database = false ) {
@@ -379,10 +379,10 @@ class SiteStatsInit {
         * for the original initStats, but without output.
         *
         * @param IDatabase|bool $database
-        * - boolean: Whether to use the master DB
+        * - bool: Whether to use the master DB
         * - IDatabase: Database connection to use
         * @param array $options Array of options, may contain the following values
-        * - activeUsers boolean: Whether to update the number of active users (default: false)
+        * - activeUsers bool: Whether to update the number of active users (default: false)
         */
        public static function doAllAndCommit( $database, array $options = [] ) {
                $options += [ 'update' => false, 'activeUsers' => false ];
index cce3fc4..71113a8 100644 (file)
@@ -38,7 +38,7 @@ class StreamFile {
         * @param array $headers Any additional headers to send if the file exists
         * @param bool $sendErrors Send error messages if errors occur (like 404)
         * @param array $optHeaders HTTP request header map (e.g. "range") (use lowercase keys)
-        * @param integer $flags Bitfield of STREAM_* constants
+        * @param int $flags Bitfield of STREAM_* constants
         * @throws MWException
         * @return bool Success
         */
@@ -64,7 +64,7 @@ class StreamFile {
         * Send out a standard 404 message for a file
         *
         * @param string $fname Full name and path of the file to stream
-        * @param integer $flags Bitfield of STREAM_* constants
+        * @param int $flags Bitfield of STREAM_* constants
         * @since 1.24
         */
        public static function send404Message( $fname, $flags = 0 ) {
@@ -75,7 +75,7 @@ class StreamFile {
         * Convert a Range header value to an absolute (start, end) range tuple
         *
         * @param string $range Range header value
-        * @param integer $size File size
+        * @param int $size File size
         * @return array|string Returns error string on failure (start, end, length)
         * @since 1.24
         */
index 17b0093..480575c 100644 (file)
@@ -163,7 +163,7 @@ class ApiParamInfo extends ApiBase {
        /**
         * List all submodules of a module
         * @param ApiBase $module
-        * @param boolean $recursive
+        * @param bool $recursive
         * @return string[]
         */
        private function listAllSubmodules( ApiBase $module, $recursive ) {
index 36ab4c9..c137611 100644 (file)
@@ -55,6 +55,8 @@
        "apihelp-compare-param-totitle": "عنوان دوم برای مقایسه.",
        "apihelp-compare-param-toid": "شناسه صفحه دوم برای مقایسه.",
        "apihelp-compare-param-torev": "نسخه دوم برای مقایسه.",
+       "apihelp-compare-paramvalue-prop-diff": "تفاوت اچ‌تی‌ام‌ال.",
+       "apihelp-compare-paramvalue-prop-diffsize": "اندازهٔ تفاوت اچ‌تی‌ام‌ال، به بایت.",
        "apihelp-compare-example-1": "ایجاد تفاوت بین نسخه 1 و 2",
        "apihelp-createaccount-summary": "ایجاد حساب کاربری",
        "apihelp-createaccount-param-name": "نام کاربری.",
index 0273eca..ff99dff 100644 (file)
        "apihelp-opensearch-param-search": "Zoektekst.",
        "apihelp-opensearch-param-limit": "Het maximaal aantal weer te geven resultaten.",
        "apihelp-opensearch-param-namespace": "Te doorzoeken naamruimten.",
-       "apihelp-opensearch-param-suggest": "Niets doen als <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> onwaar is.",
+       "apihelp-opensearch-param-suggest": "Niets doen als <var>[[mw:Special:MyLanguage/Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> onwaar is.",
        "apihelp-opensearch-param-redirects": "Hoe om te gaan met doorverwijzingen:\n;return:Geef de doorverwijzing terug.\n;resolve:Geef de doelpagina terug. Kan minder dan de limiet $1 resultaten teruggeven.\nOm historische redenen is de standaardinstelling \"return\" voor <code>$1format=json<code> en \"resolve\" voor andere formaten.",
        "apihelp-opensearch-param-format": "Het uitvoerformaat.",
        "apihelp-opensearch-param-warningsaserror": "Als er waarschuwingen zijn met <kbd>format=json</kbd>, geef dan een API-fout terug in plaats van deze te negeren.",
        "apihelp-query+revisions-param-tag": "Alleen versies weergeven met dit label.",
        "apihelp-query+revisions+base-paramvalue-prop-content": "Versietekst.",
        "apihelp-query+revisions+base-paramvalue-prop-tags": "Labels voor de versie.",
-       "apihelp-query+revisions+base-param-difftotextpst": "\"pre-save\"-transformatie uitvoeren op de tekst alvorens de verschillen te bepalen. Alleen geldig als dit wordt gebruikt met <var>$1difftotext</var>.",
+       "apihelp-query+revisions+base-param-difftotextpst": "Gebruik in plaats hiervan [[Special:ApiHelp/compare|action=compare]]. \"pre-save\"-transformatie uitvoeren op de tekst alvorens de verschillen te bepalen. Alleen geldig als dit wordt gebruikt met <var>$1difftotext</var>.",
        "apihelp-query+search-summary": "Voer een volledige tekst zoekopdracht uit.",
        "apihelp-query+search-param-limit": "Hoeveel pagina's te tonen.",
        "apihelp-query+search-example-simple": "Zoeken naar <kbd>betekenis</kbd>.",
index a311728..0767b3e 100644 (file)
                        "Arthur2e5",
                        "烈羽",
                        "Corainn",
-                       "A2093064"
+                       "A2093064",
+                       "Wwycheuk"
                ]
        },
-       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|說明文件]]\n* [[mw:API:FAQ|常見問題]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 郵寄清單]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 報告錯誤及請求功能]\n</div>\n<strong>狀態資訊:</strong>本頁所展示的所有功能都應正常工作,但是API仍在開發當中,將會隨時變化。請訂閱[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 郵件清單]以便得到更新通知。\n\n<strong>錯誤的請求:</strong>當API收到錯誤的請求時,會發出以「MediaWiki-API-Error」為鍵的HTTP頭欄位,隨後頭欄位的值與錯誤碼將會被設為相同的值。詳細資訊請參閱[[mw:API:Errors_and_warnings|API: 錯誤與警告]]。\n\n<strong>測試:</strong>要簡化API請求的測試過程,請見[[Special:ApiSandbox]]。",
+       "apihelp-main-extended-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|說明文件]]\n* [[mw:Special:MyLanguage/API:FAQ|常見問題]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 郵遞清單]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R 報告錯誤及請求功能]\n</div>\n<strong>狀態資訊:</strong>本頁所展示的所有功能都應正常運作,但API仍在開發,會隨時變化。請訂閱[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 郵遞清單]以便獲得更新通知。\n\n<strong>錯誤的請求:</strong>當API收到錯誤的請求,會發出以「MediaWiki-API-Error」為鍵的HTTP標頭欄位,隨後標頭欄位的值,以及傳回的錯誤碼會設為相同值。詳細資訊請參閱[[mw:Special:MyLanguage/API:Errors_and_warnings|API: 錯誤與警告]]。\n\n<strong>測試:</strong>要簡化API請求的測試過程,請見[[Special:ApiSandbox]]。",
        "apihelp-main-param-action": "要執行的動作。",
        "apihelp-main-param-format": "輸出的格式。",
        "apihelp-main-param-smaxage": "將HTTP緩存控制頭欄位設為<code>s-maxage</code>秒。錯誤不會做緩存。",
        "apihelp-main-param-curtimestamp": "在結果中包括目前的時間戳。",
        "apihelp-main-param-responselanginfo": "在結果中包括<var>uselang</var>和<var>errorlang</var>所用的語言。",
        "apihelp-block-summary": "封鎖使用者。",
-       "apihelp-block-param-user": "您要封鎖的使用者名稱、IP 位址或 IP 範圍。",
+       "apihelp-block-param-user": "要封鎖的使用者名稱、IP 位址或 IP 範圍。不能與 <var>$1userid</var> 一起使用",
        "apihelp-block-param-reason": "封鎖原因。",
        "apihelp-block-param-anononly": "僅封鎖匿名使用者 (禁止這個 IP 位址的匿名使用者編輯)。",
        "apihelp-block-param-nocreate": "禁止建立帳號。",
        "apihelp-block-param-autoblock": "自動封鎖最後使用的 IP 位址,以及在這之後嘗試登入的 IP 位址。",
        "apihelp-block-param-noemail": "禁止使用者透過 Wiki 寄送電子郵件。 (需要 <code>blockemail</code> 權限)。",
        "apihelp-block-param-hidename": "隱藏封鎖日誌的使用者名稱。 (需要 <code>hideuser</code> 權限)。",
-       "apihelp-block-param-allowusertalk": "允許使用者編輯自己的對話頁面 (依據 <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var> 的設定)。",
+       "apihelp-block-param-allowusertalk": "允許使用者編輯自己的對話頁面 (依據 <var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var> 的設定)。",
        "apihelp-block-param-reblock": "若使用者已被封鎖,覆寫既有的封鎖設定值。",
        "apihelp-block-param-watchuser": "監視使用者或 IP 位址的使用者頁面與對話頁面。",
        "apihelp-block-example-ip-simple": "封鎖 IP 位址 <kbd>192.0.2.5</kbd> 三天,原因為 <kbd>First strike</kbd>。",
        "apihelp-block-example-user-complex": "永久封鎖 IP 位址 <kbd>Vandal</kbd>,原因為 <kbd>Vandalism</kbd>。",
+       "apihelp-changeauthenticationdata-summary": "為目前使用者變更身分核對資料。",
        "apihelp-checktoken-summary": "檢查來自 <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> 的密鑰有效性。",
        "apihelp-checktoken-param-type": "要測試的密鑰類型。",
        "apihelp-checktoken-param-token": "要測試的密鑰。",
        "apihelp-createaccount-summary": "建立新使用者帳號。",
        "apihelp-createaccount-param-name": "使用者名稱。",
        "apihelp-createaccount-param-password": "密碼 (若有設定 <var>$1mailpassword</var> 則可略過)。",
-       "apihelp-createaccount-param-domain": "å¤\96é\83¨èª\8dè­\89使ç\94¨ç\9a\84網å\9f\9f (é\81¸å¡«)。",
+       "apihelp-createaccount-param-domain": "å¤\96é\83¨èº«å\88\86æ ¸å°\8d使ç\94¨ç\9a\84網å\9f\9f (å\8f¯æ\9c\89å\8f¯ç\84¡)。",
        "apihelp-createaccount-param-token": "在第一次請求時已取得的帳號建立金鑰。",
-       "apihelp-createaccount-param-email": "使用者的電子郵件地址 (選填) 。",
-       "apihelp-createaccount-param-realname": "使用者的真實姓名 (選填)。",
+       "apihelp-createaccount-param-email": "使用者的電子郵件地址 (可有可無) 。",
+       "apihelp-createaccount-param-realname": "使用者的真實姓名 (可有可無)。",
        "apihelp-createaccount-param-mailpassword": "若設為其他值,將會以電子郵件寄送隨機密碼給使用者。",
        "apihelp-createaccount-param-reason": "建立帳號時選填的原因,會被記錄到日誌當中。",
        "apihelp-createaccount-param-language": "要設定的使用者預設語言代碼 (選填,預設依據內容語言)。",
        "apihelp-import-param-interwikipage": "用於跨 wiki 匯入:匯入的頁面。",
        "apihelp-import-param-fullhistory": "用於跨 wiki 匯入:完整匯入歷史,而不只是最新版本。",
        "apihelp-import-param-templates": "用於跨 wiki 匯入:匯入一切包含的模板。",
-       "apihelp-import-param-namespace": "用於跨 wiki 匯入:匯入至此命名空間。",
-       "apihelp-import-param-rootpage": "匯入作為此頁面的子頁面。",
+       "apihelp-import-param-namespace": "匯入至此命名空間。無法與 <var>$1rootpage</var> 一起使用。",
+       "apihelp-import-param-rootpage": "匯入作為此頁面的子頁面。無法與 <var>$1namespace</var> 一起使用。",
+       "apihelp-login-summary": "登入並取得身分核對 cookies",
        "apihelp-login-param-name": "使用者名稱。",
        "apihelp-login-param-password": "密碼。",
-       "apihelp-login-param-domain": "網域名稱(可)。",
+       "apihelp-login-param-domain": "網域名稱(可有可無)。",
        "apihelp-login-example-login": "登入",
        "apihelp-logout-summary": "登出並清除 session 資料。",
        "apihelp-logout-example-logout": "登出當前使用者",
        "apihelp-opensearch-param-search": "搜尋字串。",
        "apihelp-opensearch-param-limit": "回傳的結果數量上限。",
        "apihelp-opensearch-param-namespace": "搜尋的命名空間。",
-       "apihelp-opensearch-param-suggest": "若<var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var>設定為false,則不做任何事。",
+       "apihelp-opensearch-param-suggest": "若<var>[[mw:Special:MyLanguage/Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var>設定為false,則不做任何事。",
        "apihelp-opensearch-param-redirects": "如何處理重定向:\n;return:傳回重定向本身。\n;resolve:傳回目標頁面,傳回的結果數目可能少於$1limit。\n由於歷史原因,$1format=json的預設值為「return」,其他格式則為「resolve」。",
        "apihelp-opensearch-param-format": "輸出的格式。",
        "apihelp-options-param-reset": "重設偏好設定為網站預設值。",
        "apihelp-options-example-reset": "重設所有偏好設定",
-       "apihelp-parse-example-page": "解析一個頁面。",
+       "apihelp-parse-example-page": "解析頁面。",
        "apihelp-parse-example-text": "解析 wikitext。",
        "apihelp-parse-example-texttitle": "解析 wikitext,指定頁面標題。",
-       "apihelp-parse-example-summary": "解析一個摘要。",
-       "apihelp-patrol-summary": "巡查一個頁面或修訂。",
+       "apihelp-parse-example-summary": "解析摘要。",
+       "apihelp-patrol-summary": "巡查頁面或修訂。",
        "apihelp-patrol-param-rcid": "要巡查的最近變更 ID。",
        "apihelp-patrol-param-revid": "要巡查的修訂 ID。",
        "apihelp-patrol-example-rcid": "巡查一次最近變更。",
        "apihelp-protect-summary": "變更頁面的保護層級。",
        "apihelp-protect-param-title": "要(解除)保護頁面的標題。 不能與 $1pageid 一起使用。",
        "apihelp-protect-param-pageid": "要(解除)保護頁面的 ID。 不能與 $1title 一起使用。",
-       "apihelp-protect-param-protections": "保護層級清單,格式為 <kbd>action=level</kbd> (例如 <kbd>edit=sysop</kbd>)。\n\n<strong>注意:</strong> 任何未列入清單項目的限制將會被移除。",
+       "apihelp-protect-param-protections": "保護層級清單,格式為 <kbd>action=level</kbd> (例如 <kbd>edit=sysop</kbd>)。<kbd>all</kbd> 層級代表所有人都可以進行行動,亦即無限制。\n\n<strong>注意:</strong>未列入清單項目的限制皆會移除。",
        "apihelp-protect-param-expiry": "期限時間戳記,若只設定一個時間戳記,該時間戳記將會套用至所有的保護層級。 使用 <kbd>infinite</kbd>、<kbd>indefinite</kbd>、<kbd>infinity</kbd> 或 <kbd>never</kbd> 來設定保護層級期限為永遠。",
        "apihelp-protect-param-reason": "(解除)保護的原因。",
        "apihelp-query-summary": "擷取來自及有關MediaWiki的數據。",
        "apihelp-query+allredirects-param-limit": "要回傳的項目總數。",
        "apihelp-query+allrevisions-summary": "列出所有修訂版本。",
        "apihelp-query+alltransclusions-param-limit": "要回傳的項目總數。",
+       "apihelp-query+authmanagerinfo-summary": "取得目前身分核對狀態的資訊。",
        "apihelp-query+categories-param-limit": "要回傳的分類數量。",
        "apihelp-query+categoryinfo-summary": "回傳有關指定分類的資訊。",
        "apihelp-query+categorymembers-summary": "在指定的分類中列出所有頁面。",
        "apihelp-query+usercontribs-param-limit": "回傳的貢獻數量上限。",
        "apihelp-query+watchlist-param-limit": "每個請求要回傳的結果總數。",
        "apihelp-query+watchlistraw-param-limit": "每個請求要回傳的結果總數。",
+       "apihelp-removeauthenticationdata-summary": "為目前使用者移除身分核對資料。",
        "apihelp-revisiondelete-summary": "刪除和取消刪除修訂。",
        "apihelp-stashedit-param-title": "正在編輯此頁面的標題。",
        "apihelp-stashedit-param-text": "頁面內容。",
        "apihelp-userrights-summary": "更改一位使用者的群組成員。",
        "apihelp-userrights-param-user": "使用者名稱。",
        "apihelp-userrights-param-userid": "使用者 ID。",
-       "apihelp-userrights-param-add": "加入使用者至這些群組。",
+       "apihelp-userrights-param-add": "加入使用者至這些群組;若已是成員,則更新失效時間。",
        "apihelp-userrights-param-remove": "從這些群組移除使用者。",
        "apihelp-userrights-param-reason": "變更的原因。",
-       "apihelp-format-example-generic": "格式化查詢結果為 $1 格式",
+       "apihelp-format-example-generic": "以 $1 格式傳回查詢結果。",
        "apihelp-json-summary": "使用 JSON 格式輸出資料。",
        "apihelp-jsonfm-summary": "使用 JSON 格式輸出資料 (使用 HTML 格式顯示)。",
        "apihelp-none-summary": "不輸出。",
        "api-help-parameters": "{{PLURAL:$1|參數}}:",
        "api-help-param-deprecated": "已停用。",
        "api-help-param-required": "此參數為必填。",
-       "api-help-param-list": "{{PLURAL:$1|1=單值|2=多值 (以 <kbd>{{!}}</kbd> 分隔)}}:$2",
+       "api-help-param-list": "{{PLURAL:$1|1=單值|2=多值 (以 <kbd>{{!}}</kbd> 或 [[Special:ApiHelp/main#main/datatypes|alternative]] 分隔)}}:$2",
        "api-help-param-list-can-be-empty": "{{PLURAL:$1|0=必須空白|可以空白,或 $2}}",
        "api-help-param-limit": "不允許超過 $1。",
        "api-help-param-limit2": "不允許超過 $1 (機器人為 $2)。",
        "api-help-param-integer-max": "{{PLURAL:$1|1=數值|2=數值}}不可大於 $3。",
        "api-help-param-integer-minmax": "{{PLURAL:$1|1=數值|2=數值}}必須在 $2 與 $3 之間。",
        "api-help-param-upload": "必須使用 multipart/form-data 以檔案上傳的方式傳送。",
-       "api-help-param-multi-separate": "使用 <kbd>|</kbd> 分隔數值。",
+       "api-help-param-multi-separate": "將幾個值以 <kbd>|</kbd> 或 [[Special:ApiHelp/main#main/datatypes|alternative]] 分隔。",
        "api-help-param-multi-max": "上限值為 {{PLURAL:$1|$1}} (機器人為 {{PLURAL:$2|$2}})。",
        "api-help-param-default": "預設值:$1",
        "api-help-param-default-empty": "預設值:<span class=\"apihelp-empty\">(空)</span>",
        "api-help-permissions": "{{PLURAL:$1|權限}}:",
        "api-help-permissions-granted-to": "{{PLURAL:$1|已授權給}}: $2",
        "api-help-authmanager-general-usage": "使用此模組的一般程式是:\n# 通過<kbd>amirequestsfor=$4</kbd>取得來自<kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd>的可用欄位,和來自<kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>的<kbd>$5</kbd>令牌。\n# 向用戶顯示欄位,並獲得其提交的內容。\n# 提交(POST)至此模組,提供<var>$1returnurl</var>及任何相關欄位。\n# 在回应中檢查<samp>status</samp>。\n#* 如果您收到了<samp>PASS</samp>(成功)或<samp>FAIL</samp>(失敗),則認為操作結束。成功與否如上句所示。\n#* 如果您收到了<samp>UI</samp>,向用戶顯示新欄位,並再次獲取其提交的內容。然後再次使用<var>$1continue</var>,向本模組提交相關欄位,並重復第四步。\n#* 如果您收到了<samp>REDIRECT</samp>,將使用者指向<samp>redirecttarget</samp>中的目標,等待其返回<var>$1returnurl</var>。然後再次使用<var>$1continue</var>,向本模組提交返回URL中提供的一切欄位,並重復第四步。\n#* 如果您收到了<samp>RESTART</samp>,這意味著身份驗證正常運作,但我們沒有連結的使用者賬戶。您可以將此看做<samp>UI</samp>或<samp>FAIL</samp>。",
-       "apierror-timeout": "伺服器沒有在預期的時間內回應。",
+       "apierror-mustbeloggedin-changeauth": "必須登入,才能變更身分核對資取。",
+       "apierror-mustbeloggedin-removeauth": "必須登入,才能移除身分核對資取。",
+       "apierror-reauthenticate": "於本工作階段還未核對身分,請重新核對。",
+       "apierror-timeout": "伺服器未有在預計的時間內回應。",
        "api-credits-header": "製作群",
        "api-credits": "API 開發人員:\n* Roan Kattouw (首席開發者 Sep 2007–2009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Yuri Astrakhan (創立者,首席開發者 Sep 2006–Sep 2007)\n* Brad Jorsch (首席開發者 2013–present)\n\n請傳送您的評論、建議以及問題至 mediawiki-api@lists.wikimedia.org\n或者回報問題至 https://phabricator.wikimedia.org/。"
 }
index c3f798f..b2528fe 100644 (file)
@@ -2131,7 +2131,7 @@ class AuthManager implements LoggerAwareInterface {
         * @param AuthenticationRequest[] &$reqs
         * @param string $action
         * @param string|null $username
-        * @param boolean $forceAction
+        * @param bool $forceAction
         */
        private function fillRequests( array &$reqs, $action, $username, $forceAction = false ) {
                foreach ( $reqs as $req ) {
index ddeb13d..db82797 100644 (file)
@@ -66,7 +66,7 @@ class CreateFromLoginAuthenticationRequest extends AuthenticationRequest {
         * Indicate whether this request contains any state for the specified
         * action.
         * @param string $action One of the AuthManager::ACTION_* constants
-        * @return boolean
+        * @return bool
         */
        public function hasStateForAction( $action ) {
                switch ( $action ) {
@@ -83,7 +83,7 @@ class CreateFromLoginAuthenticationRequest extends AuthenticationRequest {
         * Indicate whether this request contains state for the specified
         * action sufficient to replace other primary-required requests.
         * @param string $action One of the AuthManager::ACTION_* constants
-        * @return boolean
+        * @return bool
         */
        public function hasPrimaryStateForAction( $action ) {
                switch ( $action ) {
index b0a3a1c..7ae2ee0 100644 (file)
@@ -87,7 +87,7 @@ class HTMLFileCache extends FileCacheBase {
        /**
         * Check if pages can be cached for this request/user
         * @param IContextSource $context
-        * @param integer $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
+        * @param int $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
         * @return bool
         */
        public static function useFileCache( IContextSource $context, $mode = self::MODE_NORMAL ) {
@@ -140,7 +140,7 @@ class HTMLFileCache extends FileCacheBase {
        /**
         * Read from cache to context output
         * @param IContextSource $context
-        * @param integer $mode One of the HTMLFileCache::MODE_* constants
+        * @param int $mode One of the HTMLFileCache::MODE_* constants
         * @return void
         */
        public function loadFromFileCache( IContextSource $context, $mode = self::MODE_NORMAL ) {
index 16c1ac5..768f980 100644 (file)
@@ -253,7 +253,7 @@ class MessageCache {
         * is disabled.
         *
         * @param string $code Language to which load messages
-        * @param integer $mode Use MessageCache::FOR_UPDATE to skip process cache [optional]
+        * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache [optional]
         * @throws MWException
         * @return bool
         */
@@ -396,7 +396,7 @@ class MessageCache {
        /**
         * @param string $code
         * @param array &$where List of wfDebug() comments
-        * @param integer $mode Use MessageCache::FOR_UPDATE to use DB_MASTER
+        * @param int $mode Use MessageCache::FOR_UPDATE to use DB_MASTER
         * @return bool|string True on success or one of ("cantacquire", "disabled")
         */
        protected function loadFromDBWithLock( $code, array &$where, $mode = null ) {
@@ -458,7 +458,7 @@ class MessageCache {
         * on-demand from the database later.
         *
         * @param string $code Language code
-        * @param integer $mode Use MessageCache::FOR_UPDATE to skip process cache
+        * @param int $mode Use MessageCache::FOR_UPDATE to skip process cache
         * @return array Loaded messages for storing in caches
         */
        protected function loadFromDB( $code, $mode = null ) {
@@ -755,7 +755,7 @@ class MessageCache {
 
        /**
         * @param string $key A language message cache key that stores blobs
-        * @param integer $timeout Wait timeout in seconds
+        * @param int $timeout Wait timeout in seconds
         * @return null|ScopedCallback
         */
        protected function getReentrantScopedLock( $key, $timeout = self::WAIT_SEC ) {
index e0da22e..a0ce95e 100644 (file)
@@ -20,8 +20,6 @@
  * @file
  */
 
-use Cdb\Reader as CdbReader;
-use Cdb\Writer as CdbWriter;
 use CLDRPluralRuleParser\Evaluator;
 use CLDRPluralRuleParser\Error as CLDRPluralRuleError;
 use MediaWiki\MediaWikiServices;
index d93362b..54b04ee 100644 (file)
@@ -36,7 +36,7 @@ class IcuCollation extends Collation {
        /** @var Language */
        protected $digitTransformLanguage;
 
-       /** @var boolean */
+       /** @var bool */
        private $useNumericCollation = false;
 
        /** @var array */
index 6605c38..d7dc45a 100644 (file)
@@ -45,11 +45,11 @@ class EtcdConfig implements Config, LoggerAwareInterface {
        private $directory;
        /** @var string */
        private $encoding;
-       /** @var integer */
+       /** @var int */
        private $baseCacheTTL;
-       /** @var integer */
+       /** @var int */
        private $skewCacheTTL;
-       /** @var integer */
+       /** @var int */
        private $timeout;
 
        /**
index cc63446..ee10368 100644 (file)
@@ -28,8 +28,8 @@
  */
 class DBAccessObjectUtils implements IDBAccessObject {
        /**
-        * @param integer $bitfield
-        * @param integer $flags IDBAccessObject::READ_* constant
+        * @param int $bitfield
+        * @param int $flags IDBAccessObject::READ_* constant
         * @return bool Bitfield has flag $flag set
         */
        public static function hasFlags( $bitfield, $flags ) {
@@ -42,7 +42,7 @@ class DBAccessObjectUtils implements IDBAccessObject {
         * The fallback DB index and options are to be used if the entity is not found
         * with the initial DB index, typically querying the master DB to avoid lag
         *
-        * @param integer $bitfield Bitfield of IDBAccessObject::READ_* constants
+        * @param int $bitfield Bitfield of IDBAccessObject::READ_* constants
         * @return array List of DB indexes and options in this order:
         *   - DB_MASTER or DB_REPLICA constant for the initial query
         *   - SELECT options array for the initial query
index 5acf3ae..e18a090 100644 (file)
  */
 interface IDBAccessObject {
        /** Constants for object loading bitfield flags (higher => higher QoS) */
-       /** @var integer Read from a replica DB/non-quorum */
+       /** @var int Read from a replica DB/non-quorum */
        const READ_NORMAL = 0;
-       /** @var integer Read from the master/quorum */
+       /** @var int Read from the master/quorum */
        const READ_LATEST = 1;
-       /* @var integer Read from the master/quorum and lock out other writers */
+       /* @var int Read from the master/quorum and lock out other writers */
        const READ_LOCKING = 3; // READ_LATEST (1) and "LOCK IN SHARE MODE" (2)
-       /** @var integer Read from the master/quorum and lock out other writers and locking readers */
+       /** @var int Read from the master/quorum and lock out other writers and locking readers */
        const READ_EXCLUSIVE = 7; // READ_LOCKING (3) and "FOR UPDATE" (4)
 
-       /** @var integer Read from a replica DB or without a quorum, using the master/quorum on miss */
+       /** @var int Read from a replica DB or without a quorum, using the master/quorum on miss */
        const READ_LATEST_IMMUTABLE = 8;
 
        // Convenience constant for tracking how data was loaded (higher => higher QoS)
index 5e32887..e39a2c3 100644 (file)
@@ -35,15 +35,13 @@ class WikiProcessor {
         */
        public function __invoke( array $record ) {
                global $wgVersion;
-               $record['extra'] = array_merge(
-                       $record['extra'],
-                       [
-                               'host' => wfHostname(),
-                               'wiki' => wfWikiID(),
-                               'mwversion' => $wgVersion,
-                               'reqId' => \WebRequest::getRequestId(),
-                       ]
-               );
+               $record['extra']['host'] = wfHostname();
+               $record['extra']['wiki'] = wfWikiID();
+               $record['extra']['mwversion'] = $wgVersion;
+               $record['extra']['reqId'] = \WebRequest::getRequestId();
+               if ( PHP_SAPI === 'cli' && isset( $_SERVER['argv'] ) ) {
+                       $record['extra']['cli_argv'] = implode( ' ', $_SERVER['argv'] );
+               }
                return $record;
        }
 
index e8f27ef..40069f3 100644 (file)
@@ -71,7 +71,7 @@ class DeferredUpdates {
         * In CLI mode, callback magic will also be used to run updates when safe
         *
         * @param DeferrableUpdate $update Some object that implements doUpdate()
-        * @param integer $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
+        * @param int $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
         */
        public static function addUpdate( DeferrableUpdate $update, $stage = self::POSTSEND ) {
                global $wgCommandLineMode;
@@ -105,7 +105,7 @@ class DeferredUpdates {
         * @see MWCallableUpdate::__construct()
         *
         * @param callable $callable
-        * @param integer $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
+        * @param int $stage DeferredUpdates constant (PRESEND or POSTSEND) (since 1.27)
         * @param IDatabase|null $dbw Abort if this DB is rolled back [optional] (since 1.28)
         */
        public static function addCallableUpdate(
@@ -118,7 +118,7 @@ class DeferredUpdates {
         * Do any deferred updates and clear the list
         *
         * @param string $mode Use "enqueue" to use the job queue when possible [Default: "run"]
-        * @param integer $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL) (since 1.27)
+        * @param int $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL) (since 1.27)
         */
        public static function doUpdates( $mode = 'run', $stage = self::ALL ) {
                $stageEffective = ( $stage === self::ALL ) ? self::POSTSEND : $stage;
@@ -165,7 +165,7 @@ class DeferredUpdates {
         *
         * @param DeferrableUpdate[] &$queue List of DeferrableUpdate objects
         * @param string $mode Use "enqueue" to use the job queue when possible
-        * @param integer $stage Class constant (PRESEND, POSTSEND) (since 1.28)
+        * @param int $stage Class constant (PRESEND, POSTSEND) (since 1.28)
         * @throws ErrorPageError Happens on top-level calls
         * @throws Exception Happens on second-level calls
         */
@@ -238,7 +238,7 @@ class DeferredUpdates {
         * @param DeferrableUpdate $update
         * @param LBFactory $lbFactory
         * @param string $mode
-        * @param integer $stage
+        * @param int $stage
         * @return ErrorPageError|null
         */
        private static function runUpdate(
@@ -322,7 +322,7 @@ class DeferredUpdates {
        }
 
        /**
-        * @return integer Number of enqueued updates
+        * @return int Number of enqueued updates
         * @since 1.28
         */
        public static function pendingUpdatesCount() {
@@ -330,7 +330,7 @@ class DeferredUpdates {
        }
 
        /**
-        * @param integer $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL)
+        * @param int $stage DeferredUpdates constant (PRESEND, POSTSEND, or ALL)
         * @return DeferrableUpdate[]
         * @since 1.29
         */
index 3dd9de6..f579a1f 100644 (file)
@@ -29,7 +29,7 @@ use Wikimedia\Rdbms\IDatabase;
 class LinksDeletionUpdate extends DataUpdate implements EnqueueableDataUpdate {
        /** @var WikiPage */
        protected $page;
-       /** @var integer */
+       /** @var int */
        protected $pageId;
        /** @var string */
        protected $timestamp;
@@ -39,7 +39,7 @@ class LinksDeletionUpdate extends DataUpdate implements EnqueueableDataUpdate {
 
        /**
         * @param WikiPage $page Page we are updating
-        * @param integer|null $pageId ID of the page we are updating [optional]
+        * @param int|null $pageId ID of the page we are updating [optional]
         * @param string|null $timestamp TS_MW timestamp of deletion
         * @throws MWException
         */
index c6facd9..18a87e8 100644 (file)
@@ -192,7 +192,7 @@ class LinksUpdate extends DataUpdate implements EnqueueableDataUpdate {
         * Acquire a lock for performing link table updates for a page on a DB
         *
         * @param IDatabase $dbw
-        * @param integer $pageId
+        * @param int $pageId
         * @param string $why One of (job, atomicity)
         * @return ScopedCallback
         * @throws RuntimeException
index 60d760f..bb5e4f4 100644 (file)
@@ -33,7 +33,7 @@ class MWExceptionRenderer {
 
        /**
         * @param Exception|Throwable $e Original exception
-        * @param integer $mode MWExceptionExposer::AS_* constant
+        * @param int $mode MWExceptionExposer::AS_* constant
         * @param Exception|Throwable|null $eNew New exception from attempting to show the first
         */
        public static function output( $e, $mode, $eNew = null ) {
@@ -262,7 +262,7 @@ class MWExceptionRenderer {
        }
 
        /**
-        * @param integer $code
+        * @param int $code
         */
        private static function statusHeader( $code ) {
                if ( !headers_sent() ) {
index c37a942..0d5a15d 100644 (file)
@@ -282,7 +282,7 @@ class FileBackendDBRepoWrapper extends FileBackend {
        /**
         * Get a connection to the repo file registry DB
         *
-        * @param integer $index
+        * @param int $index
         * @return DBConnRef
         */
        protected function getDB( $index ) {
index 56ccc64..55a19e8 100644 (file)
@@ -511,7 +511,7 @@ class ForeignAPIRepo extends FileRepo {
         * @param string $url
         * @param string $timeout
         * @param array $options
-        * @param integer|bool &$mtime Resulting Last-Modified UNIX timestamp if received
+        * @param int|bool &$mtime Resulting Last-Modified UNIX timestamp if received
         * @return bool|string
         */
        public static function httpGet(
index 71e1c63..460fe51 100644 (file)
@@ -862,7 +862,7 @@ abstract class File implements IDBAccessObject {
         *
         * Overridden by LocalFile to actually query the DB
         *
-        * @param integer $flags Bitfield of File::READ_* constants
+        * @param int $flags Bitfield of File::READ_* constants
         */
        public function load( $flags = 0 ) {
        }
index 7293b99..465736b 100644 (file)
@@ -1893,7 +1893,7 @@ class HTMLForm extends ContextSource {
         * 'novalidate' attribute will be added on the `<form>` element. It will be removed if the user
         * agent has JavaScript support, in htmlform.js.
         *
-        * @return boolean
+        * @return bool
         * @since 1.29
         */
        public function needsJSForHtml5FormValidation() {
index 77ddc1a..3f1c590 100644 (file)
@@ -357,7 +357,7 @@ abstract class HTMLFormField {
         * (wpFormIdentifier).
         *
         * @param WebRequest $request
-        * @return boolean
+        * @return bool
         */
        protected function isSubmitAttempt( WebRequest $request ) {
                return $request->getCheck( 'wpEditToken' ) || $request->getCheck( 'wpFormIdentifier' );
@@ -1218,7 +1218,7 @@ abstract class HTMLFormField {
         * Whether this field requires the user agent to have JavaScript enabled for the client-side HTML5
         * form validation to work correctly.
         *
-        * @return boolean
+        * @return bool
         * @since 1.29
         */
        public function needsJSForHtml5FormValidation() {
index bcb07bd..b2290ce 100644 (file)
@@ -6,7 +6,7 @@ class HTMLFormFieldWithButton extends HTMLFormField {
        /** @var string $mButtonClass CSS class for the button in this field */
        protected $mButtonClass = '';
 
-       /** @var string|integer $mButtonId Element ID for the button in this field */
+       /** @var string|int $mButtonId Element ID for the button in this field */
        protected $mButtonId = '';
 
        /** @var string $mButtonName Name the button in this field */
index 096767f..b427c19 100644 (file)
        "config-nofile": "Файл «$1» ня знойдзены. Ці быў ён выдалены?",
        "config-extension-link": "Ці ведаеце вы, што вашая вікі падтрымлівае [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions пашырэньні]?\n\nВы можаце праглядзець [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category пашырэньні паводле катэгорыяў] або [https://www.mediawiki.org/wiki/Extension_Matrix матрыцу пашырэньняў], каб пабачыць поўны сьпіс.",
        "config-skins-screenshots": "$1 (здымкі экрану: $2)",
+       "config-screenshot": "здымак экрану",
        "mainpagetext": "<strong>MediaWiki была ўсталяваная.</strong>",
        "mainpagedocfooter": "Глядзіце [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents дапаможнік карыстальніка] для атрыманьня інфармацыі па карыстаньні вікі-праграмамі.\n\n== З чаго пачаць ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Сьпіс парамэтраў канфігурацыі]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Частыя пытаньні MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка паведамленьняў пра зьяўленьне новых вэрсіяў MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Пераклад MediaWiki на вашую мову]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Даведайцеся, як змагацца з спамам у вашай вікі]"
 }
index 279e26a..021aa5d 100644 (file)
        "config-no-cli-uploads-check": "<strong>Advertencia:</strong> tu directorio predeterminado para cargas (<code>$1</code>) no está comprobado contra la vulnerabilidad\n de ejecución arbitraria de \"scripts\" durante la instalación por línea de comandos.",
        "config-brokenlibxml": "El sistema tiene una combinación de versiones de PHP y de libxml2 que es poco confiable y puede provocar corrupción oculta en los datos de MediaWiki y otras aplicaciones web.\nActualiza a libxml2 2.7.3 o posterior ([https://bugs.php.net/bug.php?id=45996 bug reportado con PHP]).\nInstalación abortada.",
        "config-suhosin-max-value-length": "Suhosin está instalado y limita el parámetro <code>length</code> GET a $1 bytes.\nEl componente ResourceLoader (gestor de recursos) de MediaWiki trabajará en este límite, pero eso perjudicará el rendimiento.\nSi es posible, deberías establecer <code>suhosin.get.max_value_length</code> en el valor 1024 o superior en <code>php.ini</code> y establecer <code>$wgResourceLoaderMaxQueryLength</code> en el mismo valor en <code>php.ini</code>.",
+       "config-using-32bit": "<strong>Atención:</strong> parece que el sistema funciona con enteros de 32 bits. Esto está [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit desaconsejado].",
        "config-db-type": "Tipo de base de datos:",
        "config-db-host": "Servidor de la base de datos:",
        "config-db-host-help": "Si tu servidor de base de datos está en otro servidor, escribe el nombre del equipo o su dirección IP aquí.\n\nSi estás utilizando alojamiento web compartido, tu proveedor debería darte el nombre correcto del servidor en su documentación.\n\nSi vas a instalar en un servidor Windows y a utilizar MySQL, el uso de \"localhost\" como nombre del servidor puede no funcionar. Si es así, intenta poner \"127.0.0.1\" como dirección IP local.\n\nSi utilizas PostgreSQL, deja este campo vacío para conectarse a través de un socket de Unix.",
        "config-help-tooltip": "haz clic para ampliar",
        "config-nofile": "El archivo \"$1\" no se pudo encontrar. ¿Se ha eliminado?",
        "config-extension-link": "¿Sabías que tu wiki admite [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensiones]?\n\nPuedes navegar por las [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category categorías] o visitar el [https://www.mediawiki.org/wiki/Extension_Matrix centro de extensiones] para ver una lista completa.",
+       "config-skins-screenshots": "$1 (capturas de pantalla: $2)",
+       "config-screenshot": "captura de pantalla",
        "mainpagetext": "<strong>MediaWiki se ha instalado.</strong>",
        "mainpagedocfooter": "Consulta la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents guía] para obtener información sobre el uso del software wiki.\n\n== Primeros pasos ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de publicación de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]"
 }
index 6282ca1..97a09a3 100644 (file)
@@ -91,6 +91,7 @@
        "config-no-cli-uploads-check": "'''هشدار:''' فهرست پیش‌فرض ارسال‌های شما (<code>$1</code>) برای آسیب‌پذیری اجرای متن دلخواه در طول نصب سی‌ال آی بررسی نشده‌است.",
        "config-brokenlibxml": "دستگاه شما دارای تلفیقی از نسخه‌های پی‌اچ‌پی و لیبکسمل۲ است که ناقص است و می‌تواند دلیل از بین رفتن اطلاعات مخفی در مدیاویکی و دیگر برنامه‌های کاربردی شبکه باشد.\nارتقاء به لیبکسمل۲  ۲.۷.۳ یا بالاتر ([https://bugs.php.net/bug.php?id=45996 bug filed with PHP]) ارتفاء دهید.\nنصب شکست خورد ماند.",
        "config-suhosin-max-value-length": "سوهُسین نصب شده‌است و پارامتر جت <code>length</code> را به $1 بایت محدود می‌کند.\n قسمت بارکنندهٔ منبع مدیاویکی پیرامون این محدوده کار خواهد‌کرد، اما عملکرد آن را پایین می‌آورد. اگر به هیچ وجه ممکن نیست، باید <code>suhosin.get.max_value_length</code> را به ۱۰۲۴ یا بالاتر در <code>php.ini</code> تنظیم کنید، و \n<code>$wgResourceLoaderMaxQueryLength</code> را به مقدار مشابه در <code>LocalSettings.php</code> تنظیم کنید.",
+       "config-using-32bit": "<strong>هشدار:</strong> سیستم شما به‌نظر می‌آید با اعداد صحیح ۳۲ بیت اجرا شده باشد. [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit توصیه نمی‌شود].",
        "config-db-type": "نوع پایگاه اطلاعات:",
        "config-db-host": "میزبان پایگاه اطلاعات:",
        "config-db-host-help": "اگر سرور پایگاه اطلاعاتی شما در سرور دیگری است، نام گروه و آدرس آی‌پی را اینجا وارد کنید.\nاگر از گروه شبکهٔ اشتراک گذاری استفاده می‌کنید، تهیه‌کنندهٔ گروه‌تان باید نام گروه صحیح در اسنادومدارک را به شما بدهد.\nاگر در حال نصب یک سرور ویندوز هستید و از مای‌اس‌کیو‌ال استفاده می‌کنید، ممکن است استفاده از \"گروه داخلی\" برای نام سرور کار نکند.اگر کار نکرد، \"۱۲۷.۰.۰.۱\" را برای آدرس آی‌پی داخلی امتحان کنید.\nاگر از پستگِرِاس‌کیوال استفاده می‌کنید،برای اتصال از طریق یک سوکت یونیکس این زمینه را خالی رها کنید.",
        "config-db-account-oracle-warn": "برای نصب برنامهٔ اوراکل به عنوان پایگاه اطلاعاتی در بخش گذشته،سه سناریو پشتیبانی شده است:\nاگر مایل به ایجاد حساب پایگاه اطلاعاتی به عنوان بخشی از روند نصب هستید، لطفاً یک حساب با نقش اس‌وای‌اس‌دی‌بی‌ای به عنوان حساب پایگاه اطلاعاتی برای نصب تهیه کنید و اعتبارنامه‌های مطلوبی را برای حساب دردسترس شبکه تعیین کنید، به عبارتی دیگر یا می‌توانید حساب دردسترس شبکه را به طور دستی ایجاد کنید و تنها آن حساب را تهیه کنید (اگر مستلزم مجوزهایی برای ایجاد موضوعات طرح کلی باشد) یا دو حساب دیگر تهیه کنید،یکی با ایجاد مزایا و یک حساب محدود برای دسترسی شبکه.\nمتنی برای ایجاد یک حساب با مزایای لازم بنویسید که می‌تواند در فهرست\"نگهداری/برنامهٔ اوراکل\" این نصب یافت شود. به یاد داشته باشید که استفاده از یک حساب محدود،همهٔ قابلیت‌های نگهداری با حساب پیش‌فرض را غیرفعال خواهد کرد.",
        "config-db-install-account": "حساب کاربری برای نصب",
        "config-db-username": "نام کاربری پایگاه اطلاعات:",
-       "config-db-password": "گذرواژه پایگاه داده‌ها:",
+       "config-db-password": "گذرواژه پایگاه‌های داده:",
        "config-db-install-username": "نام کاربری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌شد.\nاین نام کاربری حساب مدیاویکی نیست; نام کاربری برای پایگاه اطلاعاتی شما است.",
        "config-db-install-password": "رمز عبوری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌شد.\nاین رمز عبور برای حساب مدیاویکی نیست;رمز عبور برای پایگاه اطلاعاتی شما است.",
        "config-db-install-help": "نام کاربری و رمز عبوری را وارد کنید که برای اتصال به پایگاه اطلاعاتی در طول روند نصب استفاده خواهد‌ٰشد.",
        "config-help-tooltip": "برای گسترش کلیک کنید",
        "config-nofile": "پروندهٔ «$1» یافت نشد. آیا حذف شده‌است؟",
        "config-extension-link": "آیا می‌دانستید که ویکی شما [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions] را پشتیبانی می‌کند؟\nشما می‌توانید [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category]",
+       "config-skins-screenshots": "$1 (تصاویر: $2)",
+       "config-screenshot": "تصویر",
        "mainpagetext": "'''مدیاویکی با موفقیت نصب شد.'''",
        "mainpagedocfooter": "از [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents راهنمای کاربری]\nبرای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی استفاده کنید.\n\n== آغاز به کار ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های متداول مدیاویکی]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce فهرست ایمیلی نسخه‌های مدیاویکی]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources محلی‌سازی مدیاویکی به زبان شما]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam یادگیری روش‌های مقابله با هرزنگاری در ویکی]"
 }
index 9122967..32d7358 100644 (file)
        "config-no-cli-uploads-check": "'''Attention:''' Votre répertoire par défaut pour les imports(<code>$1</code>) n'est pas contrôlé concernant la vulnérabilité d'exécution de scripts arbitraires lors de l'installation CLI.",
        "config-brokenlibxml": "Votre système utilise une combinaison de versions de PHP et libxml2 qui est boguée et peut engendrer des corruptions cachées de données dans MediaWiki et d’autres applications web.\nVeuillez mettre à jour votre système vers libxml2 2.7.3 ou plus récent ([https://bugs.php.net/bug.php?id=45996 bogue déposé auprès de PHP]).\nInstallation interrompue.",
        "config-suhosin-max-value-length": "Suhosin est installé et limite la <code>longueur</code> du paramètre GET à $1 octets.\nLe composant ResourceLoader de MediaWiki va répondre en respectant cette limite, mais ses performances seront dégradées. Si possible, vous devriez définir <code>suhosin.get.max_value_length</code> à 1024 ou plus dans le fichier <code>php.ini</code>, et fixer <code>$wgResourceLoaderMaxQueryLength</code> à la même valeur dans <code>LocalSettings.php</code>.",
+       "config-using-32bit": "<strong>Attention:</strong> votre système semble utiliser les entiers sur 32 bits. Ceci n'est [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit pas recommandé].",
        "config-db-type": "Type de base de données :",
        "config-db-host": "Nom d’hôte de la base de données :",
        "config-db-host-help": "Si votre serveur de base de données est sur un serveur différent, saisissez ici son nom d’hôte ou son adresse IP.\n\nSi vous utilisez un hébergement mutualisé, votre hébergeur doit vous avoir fourni le nom d’hôte correct dans sa documentation.\n\nSi vous installez sur un serveur Windows et utilisez MySQL, « localhost » peut ne pas fonctionner comme nom de serveur. S’il ne fonctionne pas, essayez « 127.0.0.1 » comme adresse IP locale.\n\nSi vous utilisez PostgreSQL, laissez ce champ vide pour vous connecter via un socket Unix.",
        "config-help-tooltip": "cliquer pour agrandir",
        "config-nofile": "Le fichier « $1 » est introuvable. A-t-il été supprimé ?",
        "config-extension-link": "Saviez-vous que votre wiki prend en charge [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions des extensions] ?\n\nVous pouvez consulter les [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions par catégorie] ou la [https://www.mediawiki.org/wiki/Extension_Matrix matrice des extensions] pour voir la liste complète des extensions.",
+       "config-skins-screenshots": "$1 (captures d'écran : $2)",
+       "config-screenshot": "Captures d’écrans",
        "mainpagetext": "<strong>MediaWiki a été installé.</strong>",
        "mainpagedocfooter": "Consultez le [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Guide de l’utilisateur du contenu] pour plus d’informations sur l’utilisation de ce logiciel de wiki.\n\n== Pour démarrer ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste des paramètres de configuration]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/fr Questions courantes sur MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Liste de discussion sur les distributions de MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Adaptez MediaWiki dans votre langue]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Apprendre comment lutter contre le pourriel dans votre wiki]"
 }
index ee01751..f268215 100644 (file)
@@ -88,6 +88,7 @@
        "config-no-cli-uploads-check": "<strong>경고:</strong> 올리기를 위한 기본 디렉터리(<code>$1</code>)는 CLI를 설치하는 동안 임의의 스크립트 실행에 대한 취약점에 대해 검사되지 않습니다.",
        "config-brokenlibxml": "시스템에 버그가 있는 PHP와 libxml2의 조합이 있으며 미디어위키나 다른 웹 애플리케이션에 숨겨진 데이터 손상을 일으킬 수 있습니다.\nlibxml2 2.7.3 이후 버전으로 업그레이드하세요. ([https://bugs.php.net/bug.php?id=45996 PHP에 제기한 버그])\n설치가 중단되었습니다.",
        "config-suhosin-max-value-length": "수호신(Suhosin)이 설치되고 $1 바이트로 GET 매개 변수 <code>length</code>를 제한하고 있습니다.\n미디어위키의 ResourceLoader 구성 요소는 이 제한을 회피하지만 성능이 저하됩니다.\n가능하면 <code>php.ini</code>의 <code>suhosin.get.max_value_length</code>를 1024 이상으로 설정하고 <code>LocalSettings.php</code>의 <code>$wgResourceLoaderMaxQueryLength</code>를 같은 값으로 설정해야 합니다.",
+       "config-using-32bit": "<strong>경고:</strong> 시스템이 32비트 정수와 함께 실행 중인 것으로 보입니다. 이것은 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit 권장되지 않습니다].",
        "config-db-type": "데이터베이스 종류:",
        "config-db-host": "데이터베이스 호스트:",
        "config-db-host-help": "데이터베이스 서버가 다른 서버에 있으면 여기에 호스트 이름이나 IP 주소를 입력하세요.\n\n공유하는 웹 호스팅을 사용하고 있으면 호스팅 제공 업체는 올바른 호스트 이름을 설명하고 있을 것입니다.\n\nWindows 서버에 설치하고 MySQL을 사용하면 \"localhost\"가 서버 이름으로는 작동하지 않을 수 있습니다. 그렇게 된다면 로컬 IP 주소로 \"127.0.0.1\"을 시도하세요.\n\nPostgreSQL을 사용하면 유닉스 소켓을 통해 연결되도록 입력란을 비워두세요.",
        "config-help-tooltip": "확장하려면 클릭",
        "config-nofile": "\"$1\" 파일을 찾을 수 없습니다. 이미 삭제되었나요?",
        "config-extension-link": "당신의 위키가 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions 확장 기능]을 지원한다는 것을 알고 계십니까?\n\n[https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category 분류별 확장 기능]을 찾아보실 수 있습니다.",
+       "config-skins-screenshots": "$1 (스크린샷: $2)",
        "config-screenshot": "스크린샷",
        "mainpagetext": "<strong>미디어위키가 설치되었습니다.</strong>",
        "mainpagedocfooter": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents 이곳]에서 위키 소프트웨어에 대한 정보를 얻을 수 있습니다.\n\n== 시작하기 ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings 설정하기 목록]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ 미디어위키 FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce 미디어위키 릴리스 메일링 리스트]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 내 언어로 미디어위키 지역화]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 당신의 위키에서 스팸에 대처하는 법을 배우세요]"
index 7859d7a..e795211 100644 (file)
        "config-help": "Hëllef",
        "config-help-tooltip": "klickt fir opzeklappen",
        "config-nofile": "De Fichier \"$1\" gouf net fonnt. Gouf e geläscht?",
+       "config-screenshot": "Screenshot",
        "mainpagetext": "<strong>MediaWiki gouf installéiert.</strong>",
        "mainpagedocfooter": "Kuckt w.e.g. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents d'Benotzerhandbuch] fir Informatiounen iwwer de Gebruach vun der Wiki Software.\n\n== Fir  unzefänken ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Hëllef bei der Konfiguratioun]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki-FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglëscht vun neie MediaWiki-Versiounen]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Lokaliséiert MediaWiki fir Är Sprooch]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Léiert wéi Spam op Ärer Wiki reduzéiert gi kann]"
 }
index b43f92f..1eb418e 100644 (file)
@@ -85,6 +85,7 @@
        "config-no-cli-uploads-check": "'''Advarsel:''' Din standard-katalog for opplastinger (<code>$1</code>) er ikke kontrollert for sårbarhet overfor vilkårlig skript-kjøring under CLI-installasjonen.",
        "config-brokenlibxml": "Ditt system bruker en kombinasjon av PHP- og libxml2-versjoner som har feil og kan forårsake skjult dataødeleggelse i MediaWiki og andre web-applikasjoner.\nOppgrader til libxml2 2.7.3 eller nyere ([https://bugs.php.net/bug.php?id=45996 Feil-liste for PHP]).\nInstalleringen ble abortert.",
        "config-suhosin-max-value-length": "Suhosin er installert og begrenser GET-parameterlengder til $1 bytes. MediaWiki sin ResourceLoader-komponent klarer å komme rundt denne begrensningen, men med redusert ytelse. Om mulig bør du sette <code>suhosin.get.max_value_length</code> til minst 1024 i <code>php.ini</code>, og sette <code>$wgResourceLoaderMaxQueryLength</code> til samme verdi i <code>LocalSettings.php</code>.",
+       "config-using-32bit": "<strong>Adversel:</strong> Systemet ditt ser ut til å være 32-bit-basert, mens dette er [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit not advised].",
        "config-db-type": "Databasetype:",
        "config-db-host": "Databasevert:",
        "config-db-host-help": "Hvis databasen kjører på en annen tjenermaskin, skriv inn vertsnavnet eller IP-adressen her.\n\nHvis du bruker et webhotell, vil du kunne be om aktuelt vertsnavn fra din leverandør.\n\nHvis du installerer på en Windowstjener og bruker MySQL, kan det hende at «localhost» ikke brukes som tjenernavn. Hvis så er tilfelle, prøv «127.0.0.1» som lokal IP-adresse.\n\nHvis du bruker PostgreSQL, la dette feltet være blankt slik at koplingen gjøres via en \"Unix socket\".",
index 4db6cfb..442054a 100644 (file)
        "config-help-tooltip": "klik om uit te vouwen",
        "config-nofile": "Het bestand \"$1\" is niet gevonden. Is het verwijderd?",
        "config-extension-link": "Weet u dat u [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions uitbreidingen] kunt gebruiken voor uw wiki?\n\nU kunt [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category uitbreidingen op categorie] bekijken of ga naar de [https://www.mediawiki.org/wiki/Extension_Matrix uitbreidingenmatrix] om de volledige lijst met uitbreidingen te bekijken.",
+       "config-skins-screenshots": "$1 (schermafbeeldingen: $2)",
+       "config-screenshot": "schermafbeelding",
        "mainpagetext": "<strong>De installatie van MediaWiki is geslaagd.</strong>",
        "mainpagedocfooter": "Raadpleeg de [https://meta.wikimedia.org/wiki/Special:MyLanguage/Help:Contents handleiding] voor informatie over het gebruik van de wikisoftware.\n\n== Meer hulp over MediaWiki ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lijst met instellingen]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Veelgestelde vragen (FAQ)]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglijst voor aankondigingen van nieuwe versies]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Maak MediaWiki beschikbaar in uw taal]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Leer hoe u spam kunt voorkomen op uw wiki]"
 }
index 884f956..a6ebd92 100644 (file)
@@ -94,6 +94,7 @@
        "config-no-cli-uploads-check": "<strong>Aviso:</strong> O diretório por omissão para carregamentos, <code>$1</code>, não é verificado para determinar se é vulnerável à execução de listas arbitrárias de comandos durante a instalação por CLI (\"Command-line Interface\").",
        "config-brokenlibxml": "O seu sistema tem uma combinação de versões do PHP e do libxml2 conhecida por ser problemática, podendo causar corrupção de dados no MediaWiki e noutras aplicações da Internet.\nAtualize para a versão 2.7.3 ou posterior do libxml2 ([https://bugs.php.net/bug.php?id=45996 incidência reportada no PHP]).\nInstalação cancelada.",
        "config-suhosin-max-value-length": "O Suhosin está instalado e limita o parâmetro GET <code>length</code> a $1 bytes.\nO componente ResourceLoader do MediaWiki consegue exceder este limite, mas prejudicando o desempenho.\nSe lhe for possível, deve atribuir ao parâmetro <code>suhosin.get.max_value_length</code> o valor 1024 ou maior no ficheiro <code>php.ini</code>, e definir o mesmo valor para <code>$wgResourceLoaderMaxQueryLength</code> no ficheiro LocalSettings.php.",
+       "config-using-32bit": "<strong>Aviso:</strong> o seu sistema parece estar a funcionar com inteiros de 32 bits. Isto  [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit não é recomendado].",
        "config-db-type": "Tipo da base de dados:",
        "config-db-host": "Servidor da base de dados:",
        "config-db-host-help": "Se a base de dados estiver num servidor separado, introduza aqui o nome ou o endereço IP desse servidor.\n\nSe estiver a usar um servidor partilhado, o fornecedor do alojamento deve fornecer o nome do servidor na documentação.\n\nSe está a fazer a instalação num servidor Windows com MySQL, usar como nome do servidor \"localhost\" poderá não funcionar. Se não funcionar, tente usar \"127.0.0.1\" como endereço IP local.\n\nSe estiver a usar PostgreSQL, deixe este campo em branco para fazer a ligação através de um socket Unix.",
index b7cc133..b5f331b 100644 (file)
@@ -184,15 +184,22 @@ class JobQueueDB extends JobQueue {
         * @return void
         */
        protected function doBatchPush( array $jobs, $flags ) {
-               DeferredUpdates::addUpdate(
-                       new AutoCommitUpdate(
-                               $this->getMasterDB(),
-                               __METHOD__,
-                               function ( IDatabase $dbw, $fname ) use ( $jobs, $flags ) {
-                                       $this->doBatchPushInternal( $dbw, $jobs, $flags, $fname );
-                               }
-                       ),
-                       DeferredUpdates::PRESEND
+               $dbw = $this->getMasterDB();
+               // In general, there will be two cases here:
+               // a) sqlite; DB connection is probably a regular round-aware handle.
+               // If the connection is busy with a transaction, then defer the job writes
+               // until right before the main round commit step. Any errors that bubble
+               // up will rollback the main commit round.
+               // b) mysql/postgres; DB connection is generally a separate CONN_TRX_AUTO handle.
+               // No transaction is active nor will be started by writes, so enqueue the jobs
+               // now so that any errors will show up immediately as the interface expects. Any
+               // errors that bubble up will rollback the main commit round.
+               $fname = __METHOD__;
+               $dbw->onTransactionPreCommitOrIdle(
+                       function () use ( $dbw, $jobs, $flags, $fname ) {
+                               $this->doBatchPushInternal( $dbw, $jobs, $flags, $fname );
+                       },
+                       $fname
                );
        }
 
@@ -771,7 +778,12 @@ class JobQueueDB extends JobQueue {
                        ? $lbFactory->getExternalLB( $this->cluster )
                        : $lbFactory->getMainLB( $this->wiki );
 
-               return $lb->getConnectionRef( $index, [], $this->wiki );
+               return ( $lb->getServerType( $lb->getWriterIndex() ) !== 'sqlite' )
+                       // Keep a separate connection to avoid contention and deadlocks;
+                       // However, SQLite has the opposite behavior due to DB-level locking.
+                       ? $lb->getConnectionRef( $index, [], $this->wiki, $lb::CONN_TRX_AUTO )
+                       // Jobs insertion will be defered until the PRESEND stage to reduce contention.
+                       : $lb->getConnectionRef( $index, [], $this->wiki );
        }
 
        /**
index 3a0063c..3907fc6 100644 (file)
@@ -34,7 +34,7 @@ use Wikimedia\Rdbms\LBFactory;
  * @since 1.27
  */
 class CategoryMembershipChangeJob extends Job {
-       /** @var integer|null */
+       /** @var int|null */
        private $ticket;
 
        const ENQUEUE_FUDGE_SEC = 60;
index 0c84a13..b4ead5d 100644 (file)
@@ -39,9 +39,9 @@ use Wikimedia\Rdbms\DBReplicationWaitError;
 class RefreshLinksJob extends Job {
        /** @var float Cache parser output when it takes this long to render */
        const PARSE_THRESHOLD_SEC = 1.0;
-       /** @var integer Lag safety margin when comparing root job times to last-refresh times */
+       /** @var int Lag safety margin when comparing root job times to last-refresh times */
        const CLOCK_FUDGE = 10;
-       /** @var integer How many seconds to wait for replica DBs to catch up */
+       /** @var int How many seconds to wait for replica DBs to catch up */
        const LAG_WAIT_TIMEOUT = 15;
 
        function __construct( Title $title, array $params ) {
index f76d9a2..79d1374 100644 (file)
@@ -45,7 +45,7 @@ abstract class GenericArrayObject extends ArrayObject {
        /**
         * @see SiteList::getNewOffset()
         * @since 1.20
-        * @var integer
+        * @var int
         */
        protected $indexOffset = 0;
 
@@ -56,7 +56,7 @@ abstract class GenericArrayObject extends ArrayObject {
         *
         * @since 1.20
         *
-        * @return integer
+        * @return int
         */
        protected function getNewOffset() {
                while ( $this->offsetExists( $this->indexOffset ) ) {
@@ -167,7 +167,7 @@ abstract class GenericArrayObject extends ArrayObject {
         *
         * @since 1.20
         *
-        * @param integer|string $index
+        * @param int|string $index
         * @param mixed $value
         *
         * @return bool
index a4aabcd..be40965 100644 (file)
@@ -35,7 +35,7 @@ class HashRing {
        protected $liveRing;
        /** @var Array (location => UNIX timestamp) */
        protected $ejectionExpiries = [];
-       /** @var integer UNIX timestamp */
+       /** @var int UNIX timestamp */
        protected $ejectionNextExpiry = INF;
 
        const RING_SIZE = 268435456; // 2^28
@@ -93,7 +93,7 @@ class HashRing {
         * Get the location of an item on the ring, as well as the next locations
         *
         * @param string $item
-        * @param integer $limit Maximum number of locations to return
+        * @param int $limit Maximum number of locations to return
         * @return array List of locations
         */
        public function getLocations( $item, $limit ) {
@@ -152,7 +152,7 @@ class HashRing {
         * Remove a location from the "live" hash ring
         *
         * @param string $location
-        * @param integer $ttl Seconds
+        * @param int $ttl Seconds
         * @return bool Whether some non-ejected locations are left
         */
        public function ejectFromLiveRing( $location, $ttl ) {
@@ -218,7 +218,7 @@ class HashRing {
         * Get the location of an item on the "live" ring, as well as the next locations
         *
         * @param string $item
-        * @param integer $limit Maximum number of locations to return
+        * @param int $limit Maximum number of locations to return
         * @return array List of locations
         * @throws UnexpectedValueException
         */
index 6c48cee..16168e6 100644 (file)
@@ -50,13 +50,13 @@ class MultiHttpClient implements LoggerAwareInterface {
        protected $multiHandle = null; // curl_multi handle
        /** @var string|null SSL certificates path  */
        protected $caBundlePath;
-       /** @var integer */
+       /** @var int */
        protected $connTimeout = 10;
-       /** @var integer */
+       /** @var int */
        protected $reqTimeout = 300;
        /** @var bool */
        protected $usePipelining = false;
-       /** @var integer */
+       /** @var int */
        protected $maxConnsPerHost = 50;
        /** @var string|null proxy */
        protected $proxy;
index a7d064b..9730acb 100644 (file)
@@ -63,7 +63,7 @@ class HTTPFileStreamer {
         * @param array $headers Any additional headers to send if the file exists
         * @param bool $sendErrors Send error messages if errors occur (like 404)
         * @param array $optHeaders HTTP request header map (e.g. "range") (use lowercase keys)
-        * @param integer $flags Bitfield of STREAM_* constants
+        * @param int $flags Bitfield of STREAM_* constants
         * @throws MWException
         * @return bool Success
         */
@@ -179,7 +179,7 @@ class HTTPFileStreamer {
         * Send out a standard 404 message for a file
         *
         * @param string $fname Full name and path of the file to stream
-        * @param integer $flags Bitfield of STREAM_* constants
+        * @param int $flags Bitfield of STREAM_* constants
         * @since 1.24
         */
        public static function send404Message( $fname, $flags = 0 ) {
@@ -202,7 +202,7 @@ class HTTPFileStreamer {
         * Convert a Range header value to an absolute (start, end) range tuple
         *
         * @param string $range Range header value
-        * @param integer $size File size
+        * @param int $size File size
         * @return array|string Returns error string on failure (start, end, length)
         * @since 1.24
         */
index a262e0e..f834ccf 100644 (file)
@@ -47,7 +47,7 @@ use Wikimedia\WaitConditionLoop;
 abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
        /** @var array[] Lock tracking */
        protected $locks = [];
-       /** @var integer ERR_* class constant */
+       /** @var int ERR_* class constant */
        protected $lastError = self::ERR_NONE;
        /** @var string */
        protected $keyspace = 'local';
@@ -55,7 +55,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
        protected $logger;
        /** @var callback|null */
        protected $asyncHandler;
-       /** @var integer Seconds */
+       /** @var int Seconds */
        protected $syncTimeout;
 
        /** @var bool */
@@ -70,7 +70,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
        /** @var callable[] */
        protected $busyCallbacks = [];
 
-       /** @var integer[] Map of (ATTR_* class constant => QOS_* class constant) */
+       /** @var int[] Map of (ATTR_* class constant => QOS_* class constant) */
        protected $attrMap = [];
 
        /** Possible values for getLastError() */
@@ -142,7 +142,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
         * @param string $key
         * @param int $ttl Time-to-live (seconds)
         * @param callable $callback Callback that derives the new value
-        * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+        * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
         * @return mixed The cached value if found or the result of $callback otherwise
         * @since 1.27
         */
@@ -172,8 +172,8 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
         * higher tiers using standard TTLs.
         *
         * @param string $key
-        * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
-        * @param integer $oldFlags [unused]
+        * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
+        * @param int $oldFlags [unused]
         * @return mixed Returns false on failure and if the item does not exist
         */
        public function get( $key, $flags = 0, $oldFlags = null ) {
@@ -220,7 +220,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
 
        /**
         * @param string $key
-        * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+        * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
         * @return mixed Returns false on failure and if the item does not exist
         */
        abstract protected function doGet( $key, $flags = 0 );
@@ -230,7 +230,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
         *
         * @param string $key
         * @param mixed &$casToken
-        * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+        * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
         * @return mixed Returns false on failure and if the item does not exist
         * @throws Exception
         */
@@ -503,7 +503,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
        /**
         * Get an associative array containing the item for each of the keys that have items.
         * @param array $keys List of strings
-        * @param integer $flags Bitfield; supports READ_LATEST [optional]
+        * @param int $flags Bitfield; supports READ_LATEST [optional]
         * @return array
         */
        public function getMulti( array $keys, $flags = 0 ) {
@@ -766,8 +766,8 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
        }
 
        /**
-        * @param integer $flag ATTR_* class constant
-        * @return integer QOS_* class constant
+        * @param int $flag ATTR_* class constant
+        * @return int QOS_* class constant
         * @since 1.28
         */
        public function getQoS( $flag ) {
@@ -778,7 +778,7 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
         * Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map
         *
         * @param BagOStuff[] $bags
-        * @return integer[] Resulting flag map (class ATTR_* constant => class QOS_* constant)
+        * @return int[] Resulting flag map (class ATTR_* constant => class QOS_* constant)
         */
        protected function mergeFlagMaps( array $bags ) {
                $map = [];
index baa3c32..6d583da 100644 (file)
@@ -31,7 +31,7 @@
 class HashBagOStuff extends BagOStuff {
        /** @var mixed[] */
        protected $bag = [];
-       /** @var integer Max entries allowed */
+       /** @var int Max entries allowed */
        protected $maxCacheKeys;
 
        const KEY_VAL = 0;
index 65f3a8a..200ab79 100644 (file)
@@ -171,7 +171,7 @@ class MultiWriteBagOStuff extends BagOStuff {
        /**
         * Apply a write method to the first $count backing caches
         *
-        * @param integer $count
+        * @param int $count
         * @param bool $asyncWrites
         * @param string $method
         * @param mixed $args,...
index 5d2577b..d3aa9f5 100644 (file)
@@ -57,7 +57,7 @@ class RESTBagOStuff extends BagOStuff {
 
        /**
         * @param string $key
-        * @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
+        * @param int $flags Bitfield of BagOStuff::READ_* constants [optional]
         * @return mixed Returns false on failure and if the item does not exist
         */
        protected function doGet( $key, $flags = 0 ) {
index a80ed8d..c1c9cc1 100644 (file)
@@ -92,11 +92,11 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
        /** @var int ERR_* constant for the "last error" registry */
        protected $lastRelayError = self::ERR_NONE;
 
-       /** @var integer Callback stack depth for getWithSetCallback() */
+       /** @var int Callback stack depth for getWithSetCallback() */
        private $callbackDepth = 0;
        /** @var mixed[] Temporary warm-up cache */
        private $warmupCache = [];
-       /** @var integer Key fetched */
+       /** @var int Key fetched */
        private $warmupKeyMisses = 0;
 
        /** Max time expected to pass between delete() and DB commit finishing */
@@ -148,7 +148,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
        const FLD_FLAGS = 4; // key to the flags bitfield
        const FLD_HOLDOFF = 5; // key to any hold-off TTL
 
-       /** @var integer Treat this value as expired-on-arrival */
+       /** @var int Treat this value as expired-on-arrival */
        const FLG_STALE = 1;
 
        const ERR_NONE = 0; // no error
@@ -404,7 +404,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         *
         * @param string $key Cache key
         * @param mixed $value
-        * @param integer $ttl Seconds to live. Special values are:
+        * @param int $ttl Seconds to live. Special values are:
         *   - WANObjectCache::TTL_INDEFINITE: Cache forever
         * @param array $opts Options map:
         *   - lag : Seconds of replica DB lag. Typically, this is either the replica DB lag
@@ -537,7 +537,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * idempotence, the $ttl should not vary for different delete() calls on the same key.
         *
         * @param string $key Cache key
-        * @param integer $ttl Tombstone TTL; Default: WANObjectCache::HOLDOFF_TTL
+        * @param int $ttl Tombstone TTL; Default: WANObjectCache::HOLDOFF_TTL
         * @return bool True if the item was purged or not found, false on failure
         */
        final public function delete( $key, $ttl = self::HOLDOFF_TTL ) {
@@ -797,7 +797,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * @see WANObjectCache::set()
         *
         * @param string $key Cache key
-        * @param integer $ttl Seconds to live for key updates. Special values are:
+        * @param int $ttl Seconds to live for key updates. Special values are:
         *   - WANObjectCache::TTL_INDEFINITE: Cache forever
         *   - WANObjectCache::TTL_UNCACHEABLE: Do not cache at all
         * @param callable $callback Value generation function
@@ -929,7 +929,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * @see WANObjectCache::getWithSetCallback()
         *
         * @param string $key
-        * @param integer $ttl
+        * @param int $ttl
         * @param callback $callback
         * @param array $opts Options map for getWithSetCallback()
         * @param float &$asOf Cache generation timestamp of returned value [returned]
@@ -1098,7 +1098,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * @endcode
         *
         * @param ArrayIterator $keyedIds Result of WANObjectCache::makeMultiKeys()
-        * @param integer $ttl Seconds to live for key updates
+        * @param int $ttl Seconds to live for key updates
         * @param callable $callback Callback the yields entity regeneration callbacks
         * @param array $opts Options map
         * @return array Map of (cache key => value) in the same order as $keyedIds
@@ -1184,7 +1184,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * @endcode
         *
         * @param ArrayIterator $keyedIds Result of WANObjectCache::makeMultiKeys()
-        * @param integer $ttl Seconds to live for key updates
+        * @param int $ttl Seconds to live for key updates
         * @param callable $callback Callback the yields entity regeneration callbacks
         * @param array $opts Options map
         * @return array Map of (cache key => value) in the same order as $keyedIds
@@ -1393,8 +1393,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
        }
 
        /**
-        * @param integer $flag ATTR_* class constant
-        * @return integer QOS_* class constant
+        * @param int $flag ATTR_* class constant
+        * @return int QOS_* class constant
         * @since 1.28
         */
        public function getQoS( $flag ) {
@@ -1417,11 +1417,11 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         *     $ttl = $cache->adaptiveTTL( $mtime, $cache::TTL_DAY );
         * @endcode
         *
-        * @param integer|float $mtime UNIX timestamp
-        * @param integer $maxTTL Maximum TTL (seconds)
-        * @param integer $minTTL Minimum TTL (seconds); Default: 30
+        * @param int|float $mtime UNIX timestamp
+        * @param int $maxTTL Maximum TTL (seconds)
+        * @param int $minTTL Minimum TTL (seconds); Default: 30
         * @param float $factor Value in the range (0,1); Default: .2
-        * @return integer Adaptive TTL
+        * @return int Adaptive TTL
         * @since 1.28
         */
        public function adaptiveTTL( $mtime, $maxTTL, $minTTL = 30, $factor = .2 ) {
@@ -1439,7 +1439,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
        }
 
        /**
-        * @return integer Number of warmup key cache misses last round
+        * @return int Number of warmup key cache misses last round
         * @since 1.30
         */
        public function getWarmupKeyMisses() {
@@ -1452,8 +1452,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * This must set the key to "PURGED:<UNIX timestamp>:<holdoff>"
         *
         * @param string $key Cache key
-        * @param integer $ttl How long to keep the tombstone [seconds]
-        * @param integer $holdoff HOLDOFF_* constant controlling how long to ignore sets for this key
+        * @param int $ttl How long to keep the tombstone [seconds]
+        * @param int $holdoff HOLDOFF_* constant controlling how long to ignore sets for this key
         * @return bool Success
         */
        protected function relayPurge( $key, $ttl, $holdoff ) {
@@ -1540,8 +1540,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * and get hits too. Similar to worthRefreshExpiring(), randomization is used.
         *
         * @param float $asOf UNIX timestamp of the value
-        * @param integer $ageNew Age of key when this might recommend refreshing (seconds)
-        * @param integer $timeTillRefresh Age of key when it should be refreshed if popular (seconds)
+        * @param int $ageNew Age of key when this might recommend refreshing (seconds)
+        * @param int $timeTillRefresh Age of key when it should be refreshed if popular (seconds)
         * @param float $now The current UNIX timestamp
         * @return bool
         */
@@ -1590,7 +1590,7 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
         * Do not use this method outside WANObjectCache
         *
         * @param mixed $value
-        * @param integer $ttl [0=forever]
+        * @param int $ttl [0=forever]
         * @param float $now Unix Current timestamp just before calling set()
         * @return array
         */
index 1696c59..14737b1 100644 (file)
@@ -48,7 +48,7 @@ class WANObjectCacheReaper implements LoggerAwareInterface {
 
        /** @var string */
        protected $channel;
-       /** @var integer */
+       /** @var int */
        protected $initialStartWindow;
 
        /**
index 8b1aabe..f002d3e 100644 (file)
@@ -61,9 +61,9 @@ class ChronologyProtector implements LoggerAwareInterface {
        /** @var float[] Map of (DB master name => 1) */
        protected $shutdownTouchDBs = [];
 
-       /** @var integer Seconds to store positions */
+       /** @var int Seconds to store positions */
        const POSITION_TTL = 60;
-       /** @var integer Max time to wait for positions to appear */
+       /** @var int Max time to wait for positions to appear */
        const POS_WAIT_TIMEOUT = 5;
 
        /**
index 8ac4161..af431a6 100644 (file)
@@ -99,7 +99,7 @@ class TransactionProfiler implements LoggerAwareInterface {
         * With conflicting expectations, the most narrow ones will be used
         *
         * @param string $event (writes,queries,conns,mConns)
-        * @param integer $value Maximum count of the event
+        * @param int $value Maximum count of the event
         * @param string $fname Caller
         * @since 1.25
         */
@@ -199,7 +199,7 @@ class TransactionProfiler implements LoggerAwareInterface {
         * @param string $query Function name or generalized SQL
         * @param float $sTime Starting UNIX wall time
         * @param bool $isWrite Whether this is a write query
-        * @param integer $n Number of affected rows
+        * @param int $n Number of affected rows
         */
        public function recordQueryCompletion( $query, $sTime, $isWrite = false, $n = 0 ) {
                $eTime = microtime( true );
@@ -266,7 +266,7 @@ class TransactionProfiler implements LoggerAwareInterface {
         * @param string $db DB name
         * @param string $id ID string of transaction
         * @param float $writeTime Time spent in write queries
-        * @param integer $affected Number of rows affected by writes
+        * @param int $affected Number of rows affected by writes
         */
        public function transactionWritingOut( $server, $db, $id, $writeTime = 0.0, $affected = 0 ) {
                $name = "{$server} ({$db}) (TRX#$id)";
index eb0e954..ef2953e 100644 (file)
@@ -23,16 +23,17 @@ class DBConnRef implements IDatabase {
        const FLD_INDEX = 0;
        const FLD_GROUP = 1;
        const FLD_DOMAIN = 2;
+       const FLD_FLAGS = 3;
 
        /**
         * @param ILoadBalancer $lb Connection manager for $conn
-        * @param Database|array $conn New connection handle or (server index, query groups, domain)
+        * @param Database|array $conn Database handle or (server index, query groups, domain, flags)
         */
        public function __construct( ILoadBalancer $lb, $conn ) {
                $this->lb = $lb;
                if ( $conn instanceof Database ) {
                        $this->conn = $conn; // live handle
-               } elseif ( count( $conn ) >= 3 && $conn[self::FLD_DOMAIN] !== false ) {
+               } elseif ( count( $conn ) >= 4 && $conn[self::FLD_DOMAIN] !== false ) {
                        $this->params = $conn;
                } else {
                        throw new InvalidArgumentException( "Missing lazy connection arguments." );
@@ -41,8 +42,8 @@ class DBConnRef implements IDatabase {
 
        function __call( $name, array $arguments ) {
                if ( $this->conn === null ) {
-                       list( $db, $groups, $wiki ) = $this->params;
-                       $this->conn = $this->lb->getConnection( $db, $groups, $wiki );
+                       list( $db, $groups, $wiki, $flags ) = $this->params;
+                       $this->conn = $this->lb->getConnection( $db, $groups, $wiki, $flags );
                }
 
                return call_user_func_array( [ $this->conn, $name ], $arguments );
index cec13b5..01020e9 100644 (file)
@@ -108,7 +108,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
        protected $mTablePrefix = '';
        /** @var string */
        protected $mSchema = '';
-       /** @var integer */
+       /** @var int */
        protected $mFlags;
        /** @var array */
        protected $mLBInfo = [];
@@ -197,11 +197,11 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         */
        private $mTrxWriteDuration = 0.0;
        /**
-        * @var integer Number of write queries for the current transaction
+        * @var int Number of write queries for the current transaction
         */
        private $mTrxWriteQueryCount = 0;
        /**
-        * @var integer Number of rows affected by write queries for the current transaction
+        * @var int Number of rows affected by write queries for the current transaction
         */
        private $mTrxWriteAffectedRows = 0;
        /**
@@ -209,7 +209,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         */
        private $mTrxWriteAdjDuration = 0.0;
        /**
-        * @var integer Number of write queries counted in mTrxWriteAdjDuration
+        * @var int Number of write queries counted in mTrxWriteAdjDuration
         */
        private $mTrxWriteAdjQueryCount = 0;
        /**
@@ -1054,7 +1054,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         *
         * @param string $sql A SQL write query
         * @param float $runtime Total runtime, including RTT
-        * @param integer $affected Affected row count
+        * @param int $affected Affected row count
         */
        private function updateTrxWriteQueryTime( $sql, $runtime, $affected ) {
                // Whether this is indicative of replica DB runtime (except for RBR or ws_repl)
@@ -2591,7 +2591,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
        /**
         * Do not use this method outside of Database/DBError classes
         *
-        * @param integer|string $errno
+        * @param int|string $errno
         * @return bool Whether the given query error was a connection drop
         */
        public function wasConnectionError( $errno ) {
@@ -2711,7 +2711,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         *
         * This method should not be used outside of Database/LoadBalancer
         *
-        * @param integer $trigger IDatabase::TRIGGER_* constant
+        * @param int $trigger IDatabase::TRIGGER_* constant
         * @since 1.20
         * @throws Exception
         */
@@ -2791,7 +2791,7 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
         *
         * This method should not be used outside of Database/LoadBalancer
         *
-        * @param integer $trigger IDatabase::TRIGGER_* constant
+        * @param int $trigger IDatabase::TRIGGER_* constant
         * @throws Exception
         * @since 1.20
         */
index b82603e..9375efc 100644 (file)
@@ -277,7 +277,7 @@ interface IDatabase {
        /**
         * Get the number of affected rows from pending write queries
         *
-        * @return integer
+        * @return int
         * @since 1.30
         */
        public function pendingWriteRowsAffected();
index 06776fe..0657cf3 100644 (file)
@@ -24,7 +24,7 @@ class MySQLMasterPos implements DBMasterPos {
 
        /**
         * @param string $file Binlog file name
-        * @param integer $pos Binlog position
+        * @param int $pos Binlog position
         * @param string $gtid Comma separated GTID set [optional]
         */
        function __construct( $file, $pos, $gtid = '' ) {
index 4e28397..298ec61 100644 (file)
@@ -5,7 +5,7 @@ namespace Wikimedia\Rdbms;
 use stdClass;
 
 class MssqlResultWrapper extends ResultWrapper {
-       /** @var integer|null */
+       /** @var int|null */
        private $mSeekTo = null;
 
        /**
index bc2a865..6a4076f 100644 (file)
@@ -27,7 +27,7 @@ namespace Wikimedia\Rdbms;
 class DBQueryError extends DBExpectedError {
        /** @var string */
        public $error;
-       /** @var integer */
+       /** @var int */
        public $errno;
        /** @var string */
        public $sql;
index ff6635d..4cfa542 100644 (file)
@@ -138,7 +138,7 @@ interface ILBFactory {
 
        /**
         * Prepare all tracked load balancers for shutdown
-        * @param integer $mode One of the class SHUTDOWN_* constants
+        * @param int $mode One of the class SHUTDOWN_* constants
         * @param callable|null $workCallback Work to mask ChronologyProtector writes
         */
        public function shutdown(
index c940392..22a5805 100644 (file)
@@ -76,14 +76,17 @@ use InvalidArgumentException;
  * @ingroup Database
  */
 interface ILoadBalancer {
-       /** @var integer Request a replica DB connection */
+       /** @var int Request a replica DB connection */
        const DB_REPLICA = -1;
-       /** @var integer Request a master DB connection */
+       /** @var int Request a master DB connection */
        const DB_MASTER = -2;
 
        /** @var string Domain specifier when no specific database needs to be selected */
        const DOMAIN_ANY = '';
 
+       /** @var int DB handle should have DBO_TRX disabled and the caller will leave it as such */
+       const CONN_TRX_AUTO = 1;
+
        /**
         * Construct a manager of IDatabase connection objects
         *
@@ -168,14 +171,17 @@ interface ILoadBalancer {
        /**
         * Get a connection by index
         *
+        * Avoid using CONN_TRX_AUTO with sqlite (e.g. check getServerType() first)
+        *
         * @param int $i Server index or DB_MASTER/DB_REPLICA
         * @param array|string|bool $groups Query group(s), or false for the generic reader
         * @param string|bool $domain Domain ID, or false for the current domain
+        * @param int $flags Bitfield of CONN_* class constants
         *
         * @throws DBError
         * @return Database
         */
-       public function getConnection( $i, $groups = [], $domain = false );
+       public function getConnection( $i, $groups = [], $domain = false, $flags = 0 );
 
        /**
         * Mark a foreign connection as being available for reuse under a different DB domain
@@ -193,42 +199,51 @@ interface ILoadBalancer {
         *
         * The handle's methods simply wrap those of a Database handle
         *
+        * Avoid using CONN_TRX_AUTO with sqlite (e.g. check getServerType() first)
+        *
         * @see ILoadBalancer::getConnection() for parameter information
         *
         * @param int $i Server index or DB_MASTER/DB_REPLICA
         * @param array|string|bool $groups Query group(s), or false for the generic reader
         * @param string|bool $domain Domain ID, or false for the current domain
+        * @param int $flags Bitfield of CONN_* class constants (e.g. CONN_TRX_AUTO)
         * @return DBConnRef
         */
-       public function getConnectionRef( $i, $groups = [], $domain = false );
+       public function getConnectionRef( $i, $groups = [], $domain = false, $flags = 0 );
 
        /**
         * Get a database connection handle reference without connecting yet
         *
         * The handle's methods simply wrap those of a Database handle
         *
+        * Avoid using CONN_TRX_AUTO with sqlite (e.g. check getServerType() first)
+        *
         * @see ILoadBalancer::getConnection() for parameter information
         *
         * @param int $i Server index or DB_MASTER/DB_REPLICA
         * @param array|string|bool $groups Query group(s), or false for the generic reader
         * @param string|bool $domain Domain ID, or false for the current domain
+        * @param int $flags Bitfield of CONN_* class constants (e.g. CONN_TRX_AUTO)
         * @return DBConnRef
         */
-       public function getLazyConnectionRef( $i, $groups = [], $domain = false );
+       public function getLazyConnectionRef( $i, $groups = [], $domain = false, $flags = 0 );
 
        /**
         * Get a maintenance database connection handle reference for migrations and schema changes
         *
         * The handle's methods simply wrap those of a Database handle
         *
+        * Avoid using CONN_TRX_AUTO with sqlite (e.g. check getServerType() first)
+        *
         * @see ILoadBalancer::getConnection() for parameter information
         *
         * @param int $db Server index or DB_MASTER/DB_REPLICA
         * @param array|string|bool $groups Query group(s), or false for the generic reader
         * @param string|bool $domain Domain ID, or false for the current domain
+        * @param int $flags Bitfield of CONN_* class constants (e.g. CONN_TRX_AUTO)
         * @return MaintainableDBConnRef
         */
-       public function getMaintenanceConnectionRef( $db, $groups = [], $domain = false );
+       public function getMaintenanceConnectionRef( $db, $groups = [], $domain = false, $flags = 0 );
 
        /**
         * Open a connection to the server given by the specified index
@@ -236,14 +251,17 @@ interface ILoadBalancer {
         * The index must be an actual index into the array. If a connection to the server is
         * already open and not considered an "in use" foreign connection, this simply returns it.
         *
+        * Avoid using CONN_TRX_AUTO with sqlite (e.g. check getServerType() first)
+        *
         * @note If disable() was called on this LoadBalancer, this method will throw a DBAccessError.
         *
         * @param int $i Server index (does not support DB_MASTER/DB_REPLICA)
         * @param string|bool $domain Domain ID, or false for the current domain
+        * @param int $flags Bitfield of CONN_* class constants (e.g. CONN_TRX_AUTO)
         * @return Database|bool Returns false on errors
         * @throws DBAccessError
         */
-       public function openConnection( $i, $domain = false );
+       public function openConnection( $i, $domain = false, $flags = 0 );
 
        /**
         * @return int
@@ -253,7 +271,7 @@ interface ILoadBalancer {
        /**
         * Returns true if the specified index is a valid server index
         *
-        * @param string $i
+        * @param int $i
         * @return bool
         */
        public function haveIndex( $i );
@@ -261,7 +279,7 @@ interface ILoadBalancer {
        /**
         * Returns true if the specified index is valid and has non-zero load
         *
-        * @param string $i
+        * @param int $i
         * @return bool
         */
        public function isNonZeroLoad( $i );
@@ -275,12 +293,21 @@ interface ILoadBalancer {
 
        /**
         * Get the host name or IP address of the server with the specified index
-        * Prefer a readable name if available.
-        * @param string $i
-        * @return string
+        *
+        * @param int $i
+        * @return string Readable name if available or IP/host otherwise
         */
        public function getServerName( $i );
 
+       /**
+        * Get DB type of the server with the specified index
+        *
+        * @param int $i
+        * @return string One of (mysql,postgres,sqlite,...) or "unknown" for bad indexes
+        * @since 1.30
+        */
+       public function getServerType( $i );
+
        /**
         * Return the server info structure for a given index, or false if the index is invalid.
         * @param int $i
index 56a7fbb..36de39e 100644 (file)
@@ -41,7 +41,7 @@ use Exception;
 class LoadBalancer implements ILoadBalancer {
        /** @var array[] Map of (server index => server config array) */
        private $mServers;
-       /** @var Database[][][] Map of local/foreignUsed/foreignFree => server index => IDatabase[] */
+       /** @var Database[][][] Map of (connection category => server index => IDatabase[]) */
        private $mConns;
        /** @var float[] Map of (server index => weight) */
        private $mLoads;
@@ -49,7 +49,7 @@ class LoadBalancer implements ILoadBalancer {
        private $mGroupLoads;
        /** @var bool Whether to disregard replica DB lag as a factor in replica DB selection */
        private $mAllowLagged;
-       /** @var integer Seconds to spend waiting on replica DB lag to resolve */
+       /** @var int Seconds to spend waiting on replica DB lag to resolve */
        private $mWaitTimeout;
        /** @var array The LoadMonitor configuration */
        private $loadMonitorConfig;
@@ -79,7 +79,7 @@ class LoadBalancer implements ILoadBalancer {
 
        /** @var Database DB connection object that caused a problem */
        private $errorConnection;
-       /** @var integer The generic (not query grouped) replica DB index (of $mServers) */
+       /** @var int The generic (not query grouped) replica DB index (of $mServers) */
        private $mReadIndex;
        /** @var bool|DBMasterPos False if not set */
        private $mWaitForPos;
@@ -91,7 +91,7 @@ class LoadBalancer implements ILoadBalancer {
        private $mLastError = 'Unknown error';
        /** @var string|bool Reason the LB is read-only or false if not */
        private $readOnlyReason = false;
-       /** @var integer Total connections opened */
+       /** @var int Total connections opened */
        private $connsOpened = 0;
        /** @var string|bool String if a requested DBO_TRX transaction round is active */
        private $trxRoundId = false;
@@ -111,28 +111,39 @@ class LoadBalancer implements ILoadBalancer {
        /** @var callable Exception logger */
        private $errorLogger;
 
-       /** @var boolean */
+       /** @var bool */
        private $disabled = false;
-       /** @var boolean */
+       /** @var bool */
        private $chronProtInitialized = false;
 
-       /** @var integer Warn when this many connection are held */
+       /** @var int Warn when this many connection are held */
        const CONN_HELD_WARN_THRESHOLD = 10;
 
-       /** @var integer Default 'max lag' when unspecified */
+       /** @var int Default 'max lag' when unspecified */
        const MAX_LAG_DEFAULT = 10;
-       /** @var integer Seconds to cache master server read-only status */
+       /** @var int Seconds to cache master server read-only status */
        const TTL_CACHE_READONLY = 5;
 
        const KEY_LOCAL = 'local';
        const KEY_FOREIGN_FREE = 'foreignFree';
        const KEY_FOREIGN_INUSE = 'foreignInUse';
 
+       const KEY_LOCAL_NOROUND = 'localAutoCommit';
+       const KEY_FOREIGN_FREE_NOROUND = 'foreignFreeAutoCommit';
+       const KEY_FOREIGN_INUSE_NOROUND = 'foreignInUseAutoCommit';
+
        public function __construct( array $params ) {
                if ( !isset( $params['servers'] ) ) {
                        throw new InvalidArgumentException( __CLASS__ . ': missing servers parameter' );
                }
                $this->mServers = $params['servers'];
+               foreach ( $this->mServers as $i => $server ) {
+                       if ( $i == 0 ) {
+                               $this->mServers[$i]['master'] = true;
+                       } else {
+                               $this->mServers[$i]['replica'] = true;
+                       }
+               }
 
                $this->localDomain = isset( $params['localDomain'] )
                        ? DatabaseDomain::newFromId( $params['localDomain'] )
@@ -150,9 +161,14 @@ class LoadBalancer implements ILoadBalancer {
 
                $this->mReadIndex = -1;
                $this->mConns = [
+                       // Connection were transaction rounds may be applied
                        self::KEY_LOCAL => [],
                        self::KEY_FOREIGN_INUSE => [],
-                       self::KEY_FOREIGN_FREE => []
+                       self::KEY_FOREIGN_FREE => [],
+                       // Auto-committing counterpart connections that ignore transaction rounds
+                       self::KEY_LOCAL_NOROUND => [],
+                       self::KEY_FOREIGN_INUSE_NOROUND => [],
+                       self::KEY_FOREIGN_FREE_NOROUND => []
                ];
                $this->mLoads = [];
                $this->mWaitForPos = false;
@@ -601,16 +617,7 @@ class LoadBalancer implements ILoadBalancer {
                return $ok;
        }
 
-       /**
-        * @see ILoadBalancer::getConnection()
-        *
-        * @param int $i
-        * @param array $groups
-        * @param bool $domain
-        * @return Database
-        * @throws DBConnectionError
-        */
-       public function getConnection( $i, $groups = [], $domain = false ) {
+       public function getConnection( $i, $groups = [], $domain = false, $flags = 0 ) {
                if ( $i === null || $i === false ) {
                        throw new InvalidArgumentException( 'Attempt to call ' . __METHOD__ .
                                ' with invalid server index' );
@@ -657,7 +664,7 @@ class LoadBalancer implements ILoadBalancer {
                }
 
                # Now we have an explicit index into the servers array
-               $conn = $this->openConnection( $i, $domain );
+               $conn = $this->openConnection( $i, $domain, $flags );
                if ( !$conn ) {
                        // Throw an exception
                        $this->reportConnectionError();
@@ -707,20 +714,29 @@ class LoadBalancer implements ILoadBalancer {
                        return; // DBConnRef handle probably survived longer than the LoadBalancer
                }
 
+               if ( $conn->getLBInfo( 'autoCommitOnly' ) ) {
+                       $connFreeKey = self::KEY_FOREIGN_FREE_NOROUND;
+                       $connInUseKey = self::KEY_FOREIGN_INUSE_NOROUND;
+               } else {
+                       $connFreeKey = self::KEY_FOREIGN_FREE;
+                       $connInUseKey = self::KEY_FOREIGN_INUSE;
+               }
+
                $domain = $conn->getDomainID();
-               if ( !isset( $this->mConns[self::KEY_FOREIGN_INUSE][$serverIndex][$domain] ) ) {
+               if ( !isset( $this->mConns[$connInUseKey][$serverIndex][$domain] ) ) {
                        throw new InvalidArgumentException( __METHOD__ .
                                ": connection $serverIndex/$domain not found; it may have already been freed." );
-               } elseif ( $this->mConns[self::KEY_FOREIGN_INUSE][$serverIndex][$domain] !== $conn ) {
+               } elseif ( $this->mConns[$connInUseKey][$serverIndex][$domain] !== $conn ) {
                        throw new InvalidArgumentException( __METHOD__ .
                                ": connection $serverIndex/$domain mismatched; it may have already been freed." );
                }
+
                $conn->setLBInfo( 'foreignPoolRefCount', --$refCount );
                if ( $refCount <= 0 ) {
-                       $this->mConns[self::KEY_FOREIGN_FREE][$serverIndex][$domain] = $conn;
-                       unset( $this->mConns[self::KEY_FOREIGN_INUSE][$serverIndex][$domain] );
-                       if ( !$this->mConns[self::KEY_FOREIGN_INUSE][$serverIndex] ) {
-                               unset( $this->mConns[ self::KEY_FOREIGN_INUSE ][$serverIndex] ); // clean up
+                       $this->mConns[$connFreeKey][$serverIndex][$domain] = $conn;
+                       unset( $this->mConns[$connInUseKey][$serverIndex][$domain] );
+                       if ( !$this->mConns[$connInUseKey][$serverIndex] ) {
+                               unset( $this->mConns[$connInUseKey][$serverIndex] ); // clean up
                        }
                        $this->connLogger->debug( __METHOD__ . ": freed connection $serverIndex/$domain" );
                } else {
@@ -729,33 +745,26 @@ class LoadBalancer implements ILoadBalancer {
                }
        }
 
-       public function getConnectionRef( $db, $groups = [], $domain = false ) {
+       public function getConnectionRef( $db, $groups = [], $domain = false, $flags = 0 ) {
                $domain = ( $domain !== false ) ? $domain : $this->localDomain;
 
-               return new DBConnRef( $this, $this->getConnection( $db, $groups, $domain ) );
+               return new DBConnRef( $this, $this->getConnection( $db, $groups, $domain, $flags ) );
        }
 
-       public function getLazyConnectionRef( $db, $groups = [], $domain = false ) {
+       public function getLazyConnectionRef( $db, $groups = [], $domain = false, $flags = 0 ) {
                $domain = ( $domain !== false ) ? $domain : $this->localDomain;
 
-               return new DBConnRef( $this, [ $db, $groups, $domain ] );
+               return new DBConnRef( $this, [ $db, $groups, $domain, $flags ] );
        }
 
-       public function getMaintenanceConnectionRef( $db, $groups = [], $domain = false ) {
+       public function getMaintenanceConnectionRef( $db, $groups = [], $domain = false, $flags = 0 ) {
                $domain = ( $domain !== false ) ? $domain : $this->localDomain;
 
-               return new MaintainableDBConnRef( $this, $this->getConnection( $db, $groups, $domain ) );
+               return new MaintainableDBConnRef(
+                       $this, $this->getConnection( $db, $groups, $domain, $flags ) );
        }
 
-       /**
-        * @see ILoadBalancer::openConnection()
-        *
-        * @param int $i
-        * @param bool $domain
-        * @return bool|Database
-        * @throws DBAccessError
-        */
-       public function openConnection( $i, $domain = false ) {
+       public function openConnection( $i, $domain = false, $flags = 0 ) {
                if ( $this->localDomain->equals( $domain ) || $domain === $this->localDomainIdAlias ) {
                        $domain = false; // local connection requested
                }
@@ -767,26 +776,38 @@ class LoadBalancer implements ILoadBalancer {
                        $this->chronProt->initLB( $this );
                }
 
+               // Check if an auto-commit connection is being requested. If so, it will not reuse the
+               // main set of DB connections but rather its own pool since:
+               // a) those are usually set to implicitly use transaction rounds via DBO_TRX
+               // b) those must support the use of explicit transaction rounds via beginMasterChanges()
+               $autoCommit = ( ( $flags & self::CONN_TRX_AUTO ) == self::CONN_TRX_AUTO );
+
                if ( $domain !== false ) {
-                       $conn = $this->openForeignConnection( $i, $domain );
-               } elseif ( isset( $this->mConns[self::KEY_LOCAL][$i][0] ) ) {
-                       $conn = $this->mConns[self::KEY_LOCAL][$i][0];
+                       // Connection is to a foreign domain
+                       $conn = $this->openForeignConnection( $i, $domain, $flags );
                } else {
-                       if ( !isset( $this->mServers[$i] ) || !is_array( $this->mServers[$i] ) ) {
-                               throw new InvalidArgumentException( "No server with index '$i'." );
-                       }
-                       // Open a new connection
-                       $server = $this->mServers[$i];
-                       $server['serverIndex'] = $i;
-                       $conn = $this->reallyOpenConnection( $server, false );
-                       $serverName = $this->getServerName( $i );
-                       if ( $conn->isOpen() ) {
-                               $this->connLogger->debug( "Connected to database $i at '$serverName'." );
-                               $this->mConns[self::KEY_LOCAL][$i][0] = $conn;
+                       // Connection is to the local domain
+                       $connKey = $autoCommit ? self::KEY_LOCAL_NOROUND : self::KEY_LOCAL;
+                       if ( isset( $this->mConns[$connKey][$i][0] ) ) {
+                               $conn = $this->mConns[$connKey][$i][0];
                        } else {
-                               $this->connLogger->warning( "Failed to connect to database $i at '$serverName'." );
-                               $this->errorConnection = $conn;
-                               $conn = false;
+                               if ( !isset( $this->mServers[$i] ) || !is_array( $this->mServers[$i] ) ) {
+                                       throw new InvalidArgumentException( "No server with index '$i'." );
+                               }
+                               // Open a new connection
+                               $server = $this->mServers[$i];
+                               $server['serverIndex'] = $i;
+                               $server['autoCommitOnly'] = $autoCommit;
+                               $conn = $this->reallyOpenConnection( $server, false );
+                               $host = $this->getServerName( $i );
+                               if ( $conn->isOpen() ) {
+                                       $this->connLogger->debug( "Connected to database $i at '$host'." );
+                                       $this->mConns[$connKey][$i][0] = $conn;
+                               } else {
+                                       $this->connLogger->warning( "Failed to connect to database $i at '$host'." );
+                                       $this->errorConnection = $conn;
+                                       $conn = false;
+                               }
                        }
                }
 
@@ -799,6 +820,10 @@ class LoadBalancer implements ILoadBalancer {
                        $conn = false;
                }
 
+               if ( $autoCommit && $conn instanceof IDatabase ) {
+                       $conn->clearFlag( $conn::DBO_TRX ); // auto-commit mode
+               }
+
                return $conn;
        }
 
@@ -820,27 +845,37 @@ class LoadBalancer implements ILoadBalancer {
         *
         * @param int $i Server index
         * @param string $domain Domain ID to open
+        * @param int $flags Class CONN_* constant bitfield
         * @return Database
         */
-       private function openForeignConnection( $i, $domain ) {
+       private function openForeignConnection( $i, $domain, $flags = 0 ) {
                $domainInstance = DatabaseDomain::newFromId( $domain );
                $dbName = $domainInstance->getDatabase();
                $prefix = $domainInstance->getTablePrefix();
+               $autoCommit = ( ( $flags & self::CONN_TRX_AUTO ) == self::CONN_TRX_AUTO );
+
+               if ( $autoCommit ) {
+                       $connFreeKey = self::KEY_FOREIGN_FREE_NOROUND;
+                       $connInUseKey = self::KEY_FOREIGN_INUSE_NOROUND;
+               } else {
+                       $connFreeKey = self::KEY_FOREIGN_FREE;
+                       $connInUseKey = self::KEY_FOREIGN_INUSE;
+               }
 
-               if ( isset( $this->mConns[self::KEY_FOREIGN_INUSE][$i][$domain] ) ) {
-                       // Reuse an in-use connection for the same domain that is not in-use
-                       $conn = $this->mConns[self::KEY_FOREIGN_INUSE][$i][$domain];
+               if ( isset( $this->mConns[$connInUseKey][$i][$domain] ) ) {
+                       // Reuse an in-use connection for the same domain
+                       $conn = $this->mConns[$connInUseKey][$i][$domain];
                        $this->connLogger->debug( __METHOD__ . ": reusing connection $i/$domain" );
-               } elseif ( isset( $this->mConns[self::KEY_FOREIGN_FREE][$i][$domain] ) ) {
-                       // Reuse a free connection for the same domain that is not in-use
-                       $conn = $this->mConns[self::KEY_FOREIGN_FREE][$i][$domain];
-                       unset( $this->mConns[self::KEY_FOREIGN_FREE][$i][$domain] );
-                       $this->mConns[self::KEY_FOREIGN_INUSE][$i][$domain] = $conn;
+               } elseif ( isset( $this->mConns[$connFreeKey][$i][$domain] ) ) {
+                       // Reuse a free connection for the same domain
+                       $conn = $this->mConns[$connFreeKey][$i][$domain];
+                       unset( $this->mConns[$connFreeKey][$i][$domain] );
+                       $this->mConns[$connInUseKey][$i][$domain] = $conn;
                        $this->connLogger->debug( __METHOD__ . ": reusing free connection $i/$domain" );
-               } elseif ( !empty( $this->mConns[self::KEY_FOREIGN_FREE][$i] ) ) {
-                       // Reuse a connection from another domain
-                       $conn = reset( $this->mConns[self::KEY_FOREIGN_FREE][$i] );
-                       $oldDomain = key( $this->mConns[self::KEY_FOREIGN_FREE][$i] );
+               } elseif ( !empty( $this->mConns[$connFreeKey][$i] ) ) {
+                       // Reuse a free connection from another domain
+                       $conn = reset( $this->mConns[$connFreeKey][$i] );
+                       $oldDomain = key( $this->mConns[$connFreeKey][$i] );
                        // The empty string as a DB name means "don't care".
                        // DatabaseMysqlBase::open() already handle this on connection.
                        if ( strlen( $dbName ) && !$conn->selectDB( $dbName ) ) {
@@ -850,8 +885,8 @@ class LoadBalancer implements ILoadBalancer {
                                $conn = false;
                        } else {
                                $conn->tablePrefix( $prefix );
-                               unset( $this->mConns[self::KEY_FOREIGN_FREE][$i][$oldDomain] );
-                               $this->mConns[self::KEY_FOREIGN_INUSE][$i][$domain] = $conn;
+                               unset( $this->mConns[$connFreeKey][$i][$oldDomain] );
+                               $this->mConns[$connInUseKey][$i][$domain] = $conn;
                                $this->connLogger->debug( __METHOD__ .
                                        ": reusing free connection from $oldDomain for $domain" );
                        }
@@ -864,6 +899,7 @@ class LoadBalancer implements ILoadBalancer {
                        $server['serverIndex'] = $i;
                        $server['foreignPoolRefCount'] = 0;
                        $server['foreign'] = true;
+                       $server['autoCommitOnly'] = $autoCommit;
                        $conn = $this->reallyOpenConnection( $server, $dbName );
                        if ( !$conn->isOpen() ) {
                                $this->connLogger->warning( __METHOD__ . ": connection error for $i/$domain" );
@@ -871,7 +907,7 @@ class LoadBalancer implements ILoadBalancer {
                                $conn = false;
                        } else {
                                $conn->tablePrefix( $prefix );
-                               $this->mConns[self::KEY_FOREIGN_INUSE][$i][$domain] = $conn;
+                               $this->mConns[$connInUseKey][$i][$domain] = $conn;
                                $this->connLogger->debug( __METHOD__ . ": opened new connection for $i/$domain" );
                        }
                }
@@ -1030,6 +1066,10 @@ class LoadBalancer implements ILoadBalancer {
                return ( $name != '' ) ? $name : 'localhost';
        }
 
+       public function getServerType( $i ) {
+               return isset( $this->mServers[$i]['type'] ) ? $this->mServers[$i]['type'] : 'unknown';
+       }
+
        /**
         * @deprecated Since 1.30, no alternative
         */
@@ -1083,8 +1123,11 @@ class LoadBalancer implements ILoadBalancer {
 
                $this->mConns = [
                        self::KEY_LOCAL => [],
-                       self::KEY_FOREIGN_FREE => [],
                        self::KEY_FOREIGN_INUSE => [],
+                       self::KEY_FOREIGN_FREE => [],
+                       self::KEY_LOCAL_NOROUND => [],
+                       self::KEY_FOREIGN_INUSE_NOROUND => [],
+                       self::KEY_FOREIGN_FREE_NOROUND => []
                ];
                $this->connsOpened = 0;
        }
@@ -1304,6 +1347,10 @@ class LoadBalancer implements ILoadBalancer {
         * @param IDatabase $conn
         */
        private function applyTransactionRoundFlags( IDatabase $conn ) {
+               if ( $conn->getLBInfo( 'autoCommitOnly' ) ) {
+                       return; // transaction rounds do not apply to these connections
+               }
+
                if ( $conn->getFlag( $conn::DBO_DEFAULT ) ) {
                        // DBO_TRX is controlled entirely by CLI mode presence with DBO_DEFAULT.
                        // Force DBO_TRX even in CLI mode since a commit round is expected soon.
@@ -1318,6 +1365,10 @@ class LoadBalancer implements ILoadBalancer {
         * @param IDatabase $conn
         */
        private function undoTransactionRoundFlags( IDatabase $conn ) {
+               if ( $conn->getLBInfo( 'autoCommitOnly' ) ) {
+                       return; // transaction rounds do not apply to these connections
+               }
+
                if ( $conn->getFlag( $conn::DBO_DEFAULT ) ) {
                        $conn->restoreFlags( $conn::RESTORE_PRIOR );
                }
index fba5e13..a0877a4 100644 (file)
@@ -58,7 +58,7 @@ interface ILoadMonitor extends LoggerAwareInterface {
         *
         * Values may be "false" if replication is too broken to estimate
         *
-        * @param integer[] $serverIndexes
+        * @param int[] $serverIndexes
         * @param string $domain
         * @return array Map of (server index => float|int|bool)
         */
index d4e73c9..4db9e10 100644 (file)
@@ -205,7 +205,7 @@ class LoadMonitor implements ILoadMonitor {
        }
 
        /**
-        * @param integer $index Server index
+        * @param int $index Server index
         * @param IDatabase|null $conn Connection handle or null on connection failure
         * @return float
         */
index 73c6a8f..d75d9c0 100644 (file)
@@ -101,7 +101,7 @@ class BufferingStatsdDataFactory extends StatsdDataFactory implements IBuffering
 
        /**
         * Check whether this data factory has any data.
-        * @return boolean
+        * @return bool
         */
        public function hasData() {
                return !empty( $this->buffer );
index 64ee267..f77b26c 100644 (file)
@@ -10,7 +10,7 @@ use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
 interface IBufferingStatsdDataFactory extends StatsdDataFactoryInterface {
        /**
         * Check whether this data factory has any data.
-        * @return boolean
+        * @return bool
         */
        public function hasData();
 
index 75d6b9e..7369751 100644 (file)
@@ -76,7 +76,7 @@ class NullStatsdDataFactory implements IBufferingStatsdDataFactory {
         * This function creates a 'updateCount' StatsdData object.
         *
         * @param string|array $key The metric(s) to decrement.
-        * @param integer $delta The delta to add to the each metric
+        * @param int $delta The delta to add to the each metric
         *
         * @return mixed
         */
@@ -108,7 +108,7 @@ class NullStatsdDataFactory implements IBufferingStatsdDataFactory {
 
        /**
         * Check whether this data factory has any data.
-        * @return boolean
+        * @return bool
         */
        public function hasData() {
                return false;
index 4db2b60..1da9468 100644 (file)
@@ -77,7 +77,7 @@ class SamplingStatsdClient extends StatsdClient {
         *        strings are not allowed here as sampleData requires a StatsdDataInterface
         * @param int $sampleRate
         *
-        * @return integer the data sent in bytes
+        * @return int the data sent in bytes
         */
        public function send( $data, $sampleRate = 1 ) {
                if ( !is_array( $data ) ) {
index 3cce530..2cfd2a1 100644 (file)
@@ -145,27 +145,11 @@ class SqlBagOStuff extends BagOStuff {
                $this->replicaOnly = !empty( $params['slaveOnly'] );
        }
 
-       protected function getSeparateMainLB() {
-               global $wgDBtype;
-
-               if ( $this->usesMainDB() && $wgDBtype !== 'sqlite' ) {
-                       if ( !$this->separateMainLB ) {
-                               // We must keep a separate connection to MySQL in order to avoid deadlocks
-                               $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
-                               $this->separateMainLB = $lbFactory->newMainLB();
-                       }
-                       return $this->separateMainLB;
-               } else {
-                       // However, SQLite has an opposite behavior due to DB-level locking
-                       return null;
-               }
-       }
-
        /**
         * Get a connection to the specified database
         *
         * @param int $serverIndex
-        * @return IDatabase
+        * @return Database
         * @throws MWException
         */
        protected function getDB( $serverIndex ) {
@@ -181,8 +165,8 @@ class SqlBagOStuff extends BagOStuff {
                                throw $this->connFailureErrors[$serverIndex];
                        }
 
-                       # If server connection info was given, use that
                        if ( $this->serverInfos ) {
+                               // Use custom database defined by server connection info
                                $info = $this->serverInfos[$serverIndex];
                                $type = isset( $info['type'] ) ? $info['type'] : 'mysql';
                                $host = isset( $info['host'] ) ? $info['host'] : '[unknown]';
@@ -190,17 +174,22 @@ class SqlBagOStuff extends BagOStuff {
                                // Use a blank trx profiler to ignore expections as this is a cache
                                $info['trxProfiler'] = new TransactionProfiler();
                                $db = Database::factory( $type, $info );
-                               $db->clearFlag( DBO_TRX );
+                               $db->clearFlag( DBO_TRX ); // auto-commit mode
                        } else {
+                               // Use the main LB database
+                               $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
                                $index = $this->replicaOnly ? DB_REPLICA : DB_MASTER;
-                               if ( $this->getSeparateMainLB() ) {
-                                       $db = $this->getSeparateMainLB()->getConnection( $index );
-                                       $db->clearFlag( DBO_TRX ); // auto-commit mode
+                               if ( $lb->getServerType( $lb->getWriterIndex() ) !== 'sqlite' ) {
+                                       // Keep a separate connection to avoid contention and deadlocks
+                                       $db = $lb->getConnection( $index, [], false, $lb::CONN_TRX_AUTO );
+                                       // @TODO: Use a blank trx profiler to ignore expections as this is a cache
                                } else {
-                                       $db = wfGetDB( $index );
-                                       // Can't mess with transaction rounds (DBO_TRX) :(
+                                       // However, SQLite has the opposite behavior due to DB-level locking.
+                                       // Stock sqlite MediaWiki installs use a separate sqlite cache DB instead.
+                                       $db = $lb->getConnection( $index );
                                }
                        }
+
                        $this->logger->debug( sprintf( "Connection %s will be used for SqlBagOStuff", $db ) );
                        $this->conns[$serverIndex] = $db;
                }
@@ -812,9 +801,7 @@ class SqlBagOStuff extends BagOStuff {
                        return true;
                }
 
-               $lb = $this->getSeparateMainLB()
-                       ?: MediaWikiServices::getInstance()->getDBLoadBalancer();
-
+               $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
                if ( $lb->getServerCount() <= 1 ) {
                        return true; // no replica DBs
                }
index 7311f71..f52cd8d 100644 (file)
@@ -1920,7 +1920,7 @@ class Article implements Page {
 
        /**
         * Check if the page can be cached
-        * @param integer $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
+        * @param int $mode One of the HTMLFileCache::MODE_* constants (since 1.28)
         * @return bool
         */
        public function isFileCacheable( $mode = HTMLFileCache::MODE_NORMAL ) {
index e60f103..d5a2f3f 100644 (file)
@@ -1638,7 +1638,7 @@ class WikiPage implements Page, IDBAccessObject {
 
        /**
         * @param Content $content Pre-save transform content
-        * @param integer $flags
+        * @param int $flags
         * @param User $user
         * @param string $summary
         * @param array $meta
@@ -1812,7 +1812,7 @@ class WikiPage implements Page, IDBAccessObject {
 
        /**
         * @param Content $content Pre-save transform content
-        * @param integer $flags
+        * @param int $flags
         * @param User $user
         * @param string $summary
         * @param array $meta
@@ -2111,13 +2111,13 @@ class WikiPage implements Page, IDBAccessObject {
         * @param Revision $revision
         * @param User $user User object that did the revision
         * @param array $options Array of options, following indexes are used:
-        * - changed: boolean, whether the revision changed the content (default true)
-        * - created: boolean, whether the revision created the page (default false)
-        * - moved: boolean, whether the page was moved (default false)
-        * - restored: boolean, whether the page was undeleted (default false)
+        * - changed: bool, whether the revision changed the content (default true)
+        * - created: bool, whether the revision created the page (default false)
+        * - moved: bool, whether the page was moved (default false)
+        * - restored: bool, whether the page was undeleted (default false)
         * - oldrevision: Revision object for the pre-update revision (default null)
-        * - oldcountable: boolean, null, or string 'no-change' (default null):
-        *   - boolean: whether the page was counted as an article before that
+        * - oldcountable: bool, null, or string 'no-change' (default null):
+        *   - bool: whether the page was counted as an article before that
         *     revision, only used in changed is true and created is false
         *   - null: if created is false, don't update the article count; if created
         *     is true, do update the article count
@@ -2919,7 +2919,7 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Lock the page row for this title+id and return page_latest (or 0)
         *
-        * @return integer Returns 0 if no row was found with this title+id
+        * @return int Returns 0 if no row was found with this title+id
         * @since 1.27
         */
        public function lockAndGetLatest() {
@@ -3414,7 +3414,7 @@ class WikiPage implements Page, IDBAccessObject {
         *
         * @param array $added The names of categories that were added
         * @param array $deleted The names of categories that were deleted
-        * @param integer $id Page ID (this should be the original deleted page ID)
+        * @param int $id Page ID (this should be the original deleted page ID)
         */
        public function updateCategoryCounts( array $added, array $deleted, $id = 0 ) {
                $id = $id ?: $this->getId();
index cfb0c3e..2dd4085 100644 (file)
@@ -211,10 +211,10 @@ class ParserOutput extends CacheTime {
         */
        private $mFlags = [];
 
-       /** @var integer|null Assumed rev ID for {{REVISIONID}} if no revision is set */
+       /** @var int|null Assumed rev ID for {{REVISIONID}} if no revision is set */
        private $mSpeculativeRevId;
 
-       /** @var integer Upper bound of expiry based on parse duration */
+       /** @var int Upper bound of expiry based on parse duration */
        private $mMaxAdaptiveExpiry = INF;
 
        const EDITSECTION_REGEX =
@@ -291,7 +291,7 @@ class ParserOutput extends CacheTime {
        }
 
        /**
-        * @param integer $id
+        * @param int $id
         * @since 1.28
         */
        public function setSpeculativeRevIdUsed( $id ) {
@@ -1075,7 +1075,7 @@ class ParserOutput extends CacheTime {
        /**
         * Lower the runtime adaptive TTL to at most this value
         *
-        * @param integer $ttl
+        * @param int $ttl
         * @since 1.28
         */
        public function updateRuntimeAdaptiveExpiry( $ttl ) {
index 9ea8fa3..8e84cb2 100644 (file)
@@ -1715,7 +1715,7 @@ class PPNode_Hash_Tree implements PPNode {
         * store array can be accessed via getNextSibling().
         *
         * @param array $store
-        * @param integer $index
+        * @param int $index
         */
        public function __construct( array $store, $index ) {
                $this->store = $store;
@@ -1728,7 +1728,7 @@ class PPNode_Hash_Tree implements PPNode {
         * on what is at the relevant store index.
         *
         * @param array $store
-        * @param integer $index
+        * @param int $index
         * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text
         */
        public static function factory( array $store, $index ) {
@@ -1787,7 +1787,7 @@ class PPNode_Hash_Tree implements PPNode {
         * return a temporary proxy object: different instances will be returned
         * if this is called more than once on the same node.
         *
-        * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|boolean
+        * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
         */
        public function getFirstChild() {
                if ( !isset( $this->rawChildren[0] ) ) {
@@ -1802,7 +1802,7 @@ class PPNode_Hash_Tree implements PPNode {
         * return a temporary proxy object: different instances will be returned
         * if this is called more than once on the same node.
         *
-        * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|boolean
+        * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
         */
        public function getNextSibling() {
                return self::factory( $this->store, $this->index + 1 );
@@ -2027,7 +2027,7 @@ class PPNode_Hash_Text implements PPNode {
         * store array can be accessed via getNextSibling().
         *
         * @param array $store
-        * @param integer $index
+        * @param int $index
         */
        public function __construct( array $store, $index ) {
                $this->value = $store[$index];
@@ -2156,7 +2156,7 @@ class PPNode_Hash_Attr implements PPNode {
         * store array can be accessed via getNextSibling().
         *
         * @param array $store
-        * @param integer $index
+        * @param int $index
         */
        public function __construct( array $store, $index ) {
                $descriptor = $store[$index];
index b114c75..bf97bd4 100644 (file)
@@ -37,7 +37,7 @@ abstract class RevDelItem extends RevisionItemBase {
        /**
         * Get the current deletion bitfield value
         *
-        * @return integer
+        * @return int
         */
        abstract public function getBits();
 
index 4a807fb..76fa590 100644 (file)
@@ -234,7 +234,7 @@ class RevisionDeleter {
         * @since 1.22
         * @param array $bitPars ExtractBitParams() params
         * @param int $oldfield Current bitfield
-        * @return integer
+        * @return int
         */
        public static function extractBitfield( array $bitPars, $oldfield ) {
                // Build the actual new rev_deleted bitfield
index 633cfc9..9f09e22 100644 (file)
@@ -56,7 +56,7 @@ class ServiceContainer implements DestructibleService {
        private $serviceInstantiators = [];
 
        /**
-        * @var boolean[] disabled status, per service name
+        * @var bool[] disabled status, per service name
         */
        private $disabled = [];
 
@@ -66,7 +66,7 @@ class ServiceContainer implements DestructibleService {
        private $extraInstantiationParams;
 
        /**
-        * @var boolean
+        * @var bool
         */
        private $destroyed = false;
 
index 79fc720..74925bd 100644 (file)
@@ -420,7 +420,7 @@ class CookieSessionProvider extends SessionProvider {
         * Cookies that are session-length do not call this function.
         *
         * @param string $cookieName
-        * @param boolean $shouldRememberUser Whether the user should be remembered
+        * @param bool $shouldRememberUser Whether the user should be remembered
         *   long-term
         * @return int Cookie expiration time in seconds; 0 for session cookies
         */
index 5ad1b11..cbffe1e 100644 (file)
@@ -306,8 +306,8 @@ class SkinTemplate extends Skin {
                $tpl->set( 'pagetitle', $out->getHTMLTitle() );
                $tpl->set( 'displaytitle', $out->mPageLinkTitle );
 
-               $tpl->setRef( 'thispage', $this->thispage );
-               $tpl->setRef( 'titleprefixeddbkey', $this->thispage );
+               $tpl->set( 'thispage', $this->thispage );
+               $tpl->set( 'titleprefixeddbkey', $this->thispage );
                $tpl->set( 'titletext', $title->getText() );
                $tpl->set( 'articleid', $title->getArticleID() );
 
@@ -336,32 +336,32 @@ class SkinTemplate extends Skin {
                                        'href' => $link
                                ];
                        }
-                       $tpl->setRef( 'feeds', $feeds );
+                       $tpl->set( 'feeds', $feeds );
                } else {
                        $tpl->set( 'feeds', false );
                }
 
-               $tpl->setRef( 'mimetype', $wgMimeType );
-               $tpl->setRef( 'jsmimetype', $wgJsMimeType );
+               $tpl->set( 'mimetype', $wgMimeType );
+               $tpl->set( 'jsmimetype', $wgJsMimeType );
                $tpl->set( 'charset', 'UTF-8' );
-               $tpl->setRef( 'wgScript', $wgScript );
-               $tpl->setRef( 'skinname', $this->skinname );
+               $tpl->set( 'wgScript', $wgScript );
+               $tpl->set( 'skinname', $this->skinname );
                $tpl->set( 'skinclass', static::class );
-               $tpl->setRef( 'skin', $this );
-               $tpl->setRef( 'stylename', $this->stylename );
+               $tpl->set( 'skin', $this );
+               $tpl->set( 'stylename', $this->stylename );
                $tpl->set( 'printable', $out->isPrintable() );
                $tpl->set( 'handheld', $request->getBool( 'handheld' ) );
-               $tpl->setRef( 'loggedin', $this->loggedin );
+               $tpl->set( 'loggedin', $this->loggedin );
                $tpl->set( 'notspecialpage', !$title->isSpecialPage() );
                $tpl->set( 'searchaction', $this->escapeSearchLink() );
                $tpl->set( 'searchtitle', SpecialPage::getTitleFor( 'Search' )->getPrefixedDBkey() );
                $tpl->set( 'search', trim( $request->getVal( 'search' ) ) );
-               $tpl->setRef( 'stylepath', $wgStylePath );
-               $tpl->setRef( 'articlepath', $wgArticlePath );
-               $tpl->setRef( 'scriptpath', $wgScriptPath );
-               $tpl->setRef( 'serverurl', $wgServer );
-               $tpl->setRef( 'logopath', $wgLogo );
-               $tpl->setRef( 'sitename', $wgSitename );
+               $tpl->set( 'stylepath', $wgStylePath );
+               $tpl->set( 'articlepath', $wgArticlePath );
+               $tpl->set( 'scriptpath', $wgScriptPath );
+               $tpl->set( 'serverurl', $wgServer );
+               $tpl->set( 'logopath', $wgLogo );
+               $tpl->set( 'sitename', $wgSitename );
 
                $userLang = $this->getLanguage();
                $userLangCode = $userLang->getHtmlCode();
@@ -374,8 +374,8 @@ class SkinTemplate extends Skin {
                $tpl->set( 'capitalizeallnouns', $userLang->capitalizeAllNouns() ? ' capitalize-all-nouns' : '' );
                $tpl->set( 'showjumplinks', true ); // showjumplinks preference has been removed
                $tpl->set( 'username', $this->loggedin ? $this->username : null );
-               $tpl->setRef( 'userpage', $this->userpage );
-               $tpl->setRef( 'userpageurl', $this->userpageUrlDetails['href'] );
+               $tpl->set( 'userpage', $this->userpage );
+               $tpl->set( 'userpageurl', $this->userpageUrlDetails['href'] );
                $tpl->set( 'userlang', $userLangCode );
 
                // Users can have their language set differently than the
index 645fbb2..52db51a 100644 (file)
@@ -553,6 +553,105 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                                LoggerFactory::getInstance( 'objectcache' )
                        ) );
                }
+
+               $this->includeRcFiltersApp();
+       }
+
+       /**
+        * Include the modules and configuration for the RCFilters app.
+        * Conditional on the user having the feature enabled.
+        */
+       protected function includeRcFiltersApp() {
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $out = $this->getOutput();
+                       $jsData = $this->getStructuredFilterJsData();
+
+                       $messages = [];
+                       foreach ( $jsData['messageKeys'] as $key ) {
+                               $messages[$key] = $this->msg( $key )->plain();
+                       }
+
+                       $out->addHTML(
+                               ResourceLoader::makeInlineScript(
+                                       ResourceLoader::makeMessageSetScript( $messages )
+                               )
+                       );
+
+                       $experimentalStructuredChangeFilters =
+                               $this->getConfig()->get( 'StructuredChangeFiltersEnableExperimentalViews' );
+
+                       $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] );
+                       $out->addJsConfigVars(
+                               'wgStructuredChangeFiltersEnableExperimentalViews',
+                               $experimentalStructuredChangeFilters
+                       );
+                       $out->addJsConfigVars(
+                               'wgStructuredChangeFiltersEnableLiveUpdate',
+                               $this->getConfig()->get( 'StructuredChangeFiltersEnableLiveUpdate' )
+                       );
+                       $out->addJsConfigVars(
+                               'wgRCFiltersChangeTags',
+                               $this->buildChangeTagList()
+                       );
+                       $out->addJsConfigVars(
+                               'StructuredChangeFiltersDisplayConfig',
+                               [
+                                       'maxDays' => (int)$this->getConfig()->get( 'RCMaxAge' ) / ( 24 * 3600 ), // Translate to days
+                                       'limitArray' => $this->getConfig()->get( 'RCLinkLimits' ),
+                                       'daysArray' => $this->getConfig()->get( 'RCLinkDays' ),
+                               ]
+                       );
+               }
+       }
+
+       /**
+        * Fetch the change tags list for the front end
+        *
+        * @return Array Tag data
+        */
+       protected function buildChangeTagList() {
+               $explicitlyDefinedTags = array_fill_keys( ChangeTags::listExplicitlyDefinedTags(), 0 );
+               $softwareActivatedTags = array_fill_keys( ChangeTags::listSoftwareActivatedTags(), 0 );
+
+               // Hit counts disabled for perf reasons, see T169997
+               /*
+               $tagStats = ChangeTags::tagUsageStatistics();
+               $tagHitCounts = array_merge( $explicitlyDefinedTags, $softwareActivatedTags, $tagStats );
+
+               // Sort by hits
+               arsort( $tagHitCounts );
+               */
+               $tagHitCounts = array_merge( $explicitlyDefinedTags, $softwareActivatedTags );
+
+               // Build the list and data
+               $result = [];
+               foreach ( $tagHitCounts as $tagName => $hits ) {
+                       if (
+                               // Only get active tags
+                               isset( $explicitlyDefinedTags[ $tagName ] ) ||
+                               isset( $softwareActivatedTags[ $tagName ] )
+                       ) {
+                               // Parse description
+                               $desc = ChangeTags::tagLongDescriptionMessage( $tagName, $this->getContext() );
+
+                               $result[] = [
+                                       'name' => $tagName,
+                                       'label' => Sanitizer::stripAllTags(
+                                               ChangeTags::tagDescription( $tagName, $this->getContext() )
+                                       ),
+                                       'description' => $desc ? Sanitizer::stripAllTags( $desc->parse() ) : '',
+                                       'cssClass' => Sanitizer::escapeClass( 'mw-tag-' . $tagName ),
+                                       'hits' => $hits,
+                               ];
+                       }
+               }
+
+               // Instead of sorting by hit count (disabled, see above), sort by display name
+               usort( $result, function ( $a, $b ) {
+                       return strcasecmp( $a['label'], $b['label'] );
+               } );
+
+               return $result;
        }
 
        /**
@@ -779,19 +878,20 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         * @return FormOptions
         */
        public function getDefaultOptions() {
-               $config = $this->getConfig();
                $opts = new FormOptions();
-               $structuredUI = $this->getUser()->getOption( 'rcenhancedfilters' );
+               $structuredUI = $this->isStructuredFilterUiEnabled();
                // If urlversion=2 is set, ignore the filter defaults and set them all to false/empty
                $useDefaults = $this->getRequest()->getInt( 'urlversion' ) !== 2;
 
                // Add all filters
+               /** @var ChangesListFilterGroup $filterGroup */
                foreach ( $this->filterGroups as $filterGroup ) {
                        // URL parameters can be per-group, like 'userExpLevel',
                        // or per-filter, like 'hideminor'.
                        if ( $filterGroup->isPerGroupRequestParameter() ) {
                                $opts->add( $filterGroup->getName(), $useDefaults ? $filterGroup->getDefault() : '' );
                        } else {
+                               /** @var ChangesListBooleanFilter $filter */
                                foreach ( $filterGroup->getFilters() as $filter ) {
                                        $opts->add( $filter->getName(), $useDefaults ? $filter->getDefault( $structuredUI ) : false );
                                }
@@ -857,8 +957,6 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                        'messageKeys' => [],
                ];
 
-               $context = $this->getContext();
-
                usort( $this->filterGroups, function ( $a, $b ) {
                        return $b->getPriority() - $a->getPriority();
                } );
@@ -1055,9 +1153,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                &$join_conds, FormOptions $opts
        ) {
                $dbr = $this->getDB();
-               $user = $this->getUser();
 
-               $context = $this->getContext();
                foreach ( $this->filterGroups as $filterGroup ) {
                        // URL parameters can be per-group, like 'userExpLevel',
                        // or per-filter, like 'hideminor'.
@@ -1279,12 +1375,11 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                ) . "\n";
                $legend .= Html::closeElement( 'dl' ) . "\n";
 
-               # Collapsibility
-               $legendHeading = $this->getUser()->getOption(
-                       'rcenhancedfilters'
-               ) ?
+               $legendHeading = $this->isStructuredFilterUiEnabled() ?
                        $context->msg( 'rcfilters-legend-heading' )->parse() :
                        $context->msg( 'recentchanges-legend-heading' )->parse();
+
+               # Collapsible
                $legend =
                        '<div class="mw-changeslist-legend">' .
                                $legendHeading .
@@ -1305,6 +1400,11 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                        'mediawiki.special.changeslist',
                ] );
                $out->addModules( 'mediawiki.special.changeslist.legend.js' );
+
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $out->addModules( 'mediawiki.rcfilters.filters.ui' );
+                       $out->addModuleStyles( 'mediawiki.rcfilters.filters.base.styles' );
+               }
        }
 
        protected function getGroupName() {
@@ -1426,4 +1526,13 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                        $conds[] = reset( $conditions );
                }
        }
+
+       /**
+        * Check whether the structured filter UI is enabled
+        *
+        * @return bool
+        */
+       protected function isStructuredFilterUiEnabled() {
+               return $this->getUser()->getOption( 'rcenhancedfilters' );
+       }
 }
index 8d77091..a6d4a3e 100644 (file)
@@ -32,12 +32,12 @@ class MediaStatisticsPage extends QueryPage {
        protected $totalCount = 0, $totalBytes = 0;
 
        /**
-        * @var integer $totalPerType Combined file size of all files in a section
+        * @var int $totalPerType Combined file size of all files in a section
         */
        protected $totalPerType = 0;
 
        /**
-        * @var integer $totalSize Combined file size of all files
+        * @var int $totalSize Combined file size of all files
         */
        protected $totalSize = 0;
 
index e3b73a9..ede4898 100644 (file)
@@ -391,10 +391,6 @@ class SpecialNewpages extends IncludableSpecialPage {
                $oldTitleText = '';
                $oldTitle = Title::makeTitle( $result->rc_namespace, $result->rc_title );
 
-               if ( count( $classes ) ) {
-                       $attribs['class'] = implode( ' ', $classes );
-               }
-
                if ( !$title->equals( $oldTitle ) ) {
                        $oldTitleText = $oldTitle->getPrefixedText();
                        $oldTitleText = Html::rawElement(
@@ -411,6 +407,10 @@ class SpecialNewpages extends IncludableSpecialPage {
                Hooks::run( 'NewPagesLineEnding', [ $this, &$ret, $result, &$classes, &$attribs ] );
                $attribs = wfArrayFilterByKey( $attribs, [ Sanitizer::class, 'isReservedDataAttribute' ] );
 
+               if ( count( $classes ) ) {
+                       $attribs['class'] = implode( ' ', $classes );
+               }
+
                return Html::rawElement( 'li', $attribs, $ret ) . "\n";
        }
 
index 0b48d40..4659b9d 100644 (file)
@@ -164,94 +164,12 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                parent::execute( $subpage );
 
                if ( $this->isStructuredFilterUiEnabled() ) {
-                       $jsData = $this->getStructuredFilterJsData();
-
-                       $messages = [];
-                       foreach ( $jsData['messageKeys'] as $key ) {
-                               $messages[$key] = $this->msg( $key )->plain();
-                       }
-
-                       $out->addHTML(
-                               ResourceLoader::makeInlineScript(
-                                       ResourceLoader::makeMessageSetScript( $messages )
-                               )
-                       );
-
-                       $experimentalStructuredChangeFilters =
-                               $this->getConfig()->get( 'StructuredChangeFiltersEnableExperimentalViews' );
-
-                       $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] );
+                       $out->addJsConfigVars( 'wgStructuredChangeFiltersLiveUpdateSupported', true );
                        $out->addJsConfigVars(
-                               'wgStructuredChangeFiltersEnableExperimentalViews',
-                               $experimentalStructuredChangeFilters
+                               'wgStructuredChangeFiltersSavedQueriesPreferenceName',
+                               'rcfilters-saved-queries'
                        );
-                       $out->addJsConfigVars(
-                               'wgStructuredChangeFiltersEnableLiveUpdate',
-                               $this->getConfig()->get( 'StructuredChangeFiltersEnableLiveUpdate' )
-                       );
-                       $out->addJsConfigVars(
-                               'wgRCFiltersChangeTags',
-                               $this->buildChangeTagList()
-                       );
-                       $out->addJsConfigVars(
-                               'StructuredChangeFiltersDisplayConfig',
-                               [
-                                       'maxDays' => (int)$this->getConfig()->get( 'RCMaxAge' ) / ( 24 * 3600 ), // Translate to days
-                                       'limitArray' => $this->getConfig()->get( 'RCLinkLimits' ),
-                                       'daysArray' => $this->getConfig()->get( 'RCLinkDays' ),
-                               ]
-                       );
-               }
-       }
-
-       /**
-        * Fetch the change tags list for the front end
-        *
-        * @return Array Tag data
-        */
-       protected function buildChangeTagList() {
-               $explicitlyDefinedTags = array_fill_keys( ChangeTags::listExplicitlyDefinedTags(), 0 );
-               $softwareActivatedTags = array_fill_keys( ChangeTags::listSoftwareActivatedTags(), 0 );
-
-               // Hit counts disabled for perf reasons, see T169997
-               /*
-               $tagStats = ChangeTags::tagUsageStatistics();
-               $tagHitCounts = array_merge( $explicitlyDefinedTags, $softwareActivatedTags, $tagStats );
-
-               // Sort by hits
-               arsort( $tagHitCounts );
-               */
-               $tagHitCounts = array_merge( $explicitlyDefinedTags, $softwareActivatedTags );
-
-               // Build the list and data
-               $result = [];
-               foreach ( $tagHitCounts as $tagName => $hits ) {
-                       if (
-                               // Only get active tags
-                               isset( $explicitlyDefinedTags[ $tagName ] ) ||
-                               isset( $softwareActivatedTags[ $tagName ] )
-                       ) {
-                               // Parse description
-                               $desc = ChangeTags::tagLongDescriptionMessage( $tagName, $this->getContext() );
-
-                               $result[] = [
-                                       'name' => $tagName,
-                                       'label' => Sanitizer::stripAllTags(
-                                               ChangeTags::tagDescription( $tagName, $this->getContext() )
-                                       ),
-                                       'description' => $desc ? Sanitizer::stripAllTags( $desc->parse() ) : '',
-                                       'cssClass' => Sanitizer::escapeClass( 'mw-tag-' . $tagName ),
-                                       'hits' => $hits,
-                               ];
-                       }
                }
-
-               // Instead of sorting by hit count (disabled, see above), sort by display name
-               usort( $result, function ( $a, $b ) {
-                       return strcasecmp( $a['label'], $b['label'] );
-               } );
-
-               return $result;
        }
 
        /**
@@ -540,8 +458,6 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        && $this->getUser()->getOption( 'shownumberswatching' );
                $watcherCache = [];
 
-               $dbr = $this->getDB();
-
                $counter = 1;
                $list = ChangesList::newFromContext( $this->getContext(), $this->filterGroups );
                $list->initChangesListRows( $rows );
@@ -636,7 +552,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                        ++$count;
                        $addSubmit = ( $count === $extraOptsCount ) ? $submit : '';
 
-                       $out .= Xml::openElement( 'tr' );
+                       $out .= Xml::openElement( 'tr', [ 'class' => $name . 'Form' ] );
                        if ( is_array( $optionRow ) ) {
                                $out .= Xml::tags(
                                        'td',
@@ -673,11 +589,11 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $rcoptions = Xml::fieldset(
                        $this->msg( 'recentchanges-legend' )->text(),
                        $panelString,
-                       [ 'class' => 'rcoptions' ]
+                       [ 'class' => 'rcoptions cloptions' ]
                );
 
                // Insert a placeholder for RCFilters
-               if ( $this->getUser()->getOption( 'rcenhancedfilters' ) ) {
+               if ( $this->isStructuredFilterUiEnabled() ) {
                        $rcfilterContainer = Html::element(
                                'div',
                                [ 'class' => 'rcfilters-container' ]
@@ -729,7 +645,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
                        $topLinksAttributes = [ 'class' => 'mw-recentchanges-toplinks' ];
 
-                       if ( $this->getUser()->getOption( 'rcenhancedfilters' ) ) {
+                       if ( $this->isStructuredFilterUiEnabled() ) {
                                $contentTitle = Html::rawElement( 'div',
                                        [ 'class' => 'mw-recentchanges-toplinks-title' ],
                                        $this->msg( 'rcfilters-other-review-tools' )->parse()
@@ -785,17 +701,6 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                return $extraOpts;
        }
 
-       /**
-        * Check whether the structured filter UI is enabled
-        *
-        * @return bool
-        */
-       protected function isStructuredFilterUiEnabled() {
-               return $this->getUser()->getOption(
-                       'rcenhancedfilters'
-               );
-       }
-
        /**
         * Add page-specific modules.
         */
@@ -803,10 +708,6 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                parent::addModules();
                $out = $this->getOutput();
                $out->addModules( 'mediawiki.special.recentchanges' );
-               if ( $this->isStructuredFilterUiEnabled() ) {
-                       $out->addModules( 'mediawiki.rcfilters.filters.ui' );
-                       $out->addModuleStyles( 'mediawiki.rcfilters.filters.base.styles' );
-               }
        }
 
        /**
@@ -1030,7 +931,6 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
                $filterGroups = $this->getFilterGroups();
 
-               $context = $this->getContext();
                foreach ( $filterGroups as $groupName => $group ) {
                        if ( !$group->isPerGroupRequestParameter() ) {
                                foreach ( $group->getFilters() as $key => $filter ) {
@@ -1047,7 +947,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                                                        [ $key => 1 - $options[$key] ], $nondefaults );
 
                                                $attribs = [
-                                                       'class' => "$msg rcshowhideoption",
+                                                       'class' => "$msg rcshowhideoption clshowhideoption",
                                                        'data-filter-name' => $filter->getName(),
                                                ];
 
index 1d76e36..b20b331 100644 (file)
@@ -32,6 +32,8 @@ use Wikimedia\Rdbms\IDatabase;
  * @ingroup SpecialPage
  */
 class SpecialWatchlist extends ChangesListSpecialPage {
+       private $maxDays;
+
        public function __construct( $page = 'Watchlist', $restriction = 'viewmywatchlist' ) {
                parent::__construct( $page, $restriction );
 
@@ -93,6 +95,20 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                }
 
                parent::execute( $subpage );
+
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $output->addJsConfigVars( 'wgStructuredChangeFiltersLiveUpdateSupported', false );
+                       $output->addJsConfigVars(
+                               'wgStructuredChangeFiltersSavedQueriesPreferenceName',
+                               'rcfilters-wl-saved-queries'
+                       );
+               }
+       }
+
+       protected function isStructuredFilterUiEnabled() {
+               return parent::isStructuredFilterUiEnabled()
+                       && ( $this->getConfig()->get( 'StructuredChangeFiltersOnWatchlist' )
+                               || $this->getRequest()->getBool( 'rcfilters' ) );
        }
 
        /**
@@ -126,6 +142,47 @@ class SpecialWatchlist extends ChangesListSpecialPage {
        protected function registerFilters() {
                parent::registerFilters();
 
+               $this->registerFilterGroup( new ChangesListStringOptionsFilterGroup( [
+                       'name' => 'watchlistactivity',
+                       'title' => 'rcfilters-filtergroup-watchlistactivity',
+                       'class' => ChangesListStringOptionsFilterGroup::class,
+                       'priority' => 3,
+                       'isFullCoverage' => true,
+                       'filters' => [
+                               [
+                                       'name' => 'unseen',
+                                       'label' => 'rcfilters-filter-watchlistactivity-unseen-label',
+                                       'description' => 'rcfilters-filter-watchlistactivity-unseen-description',
+                                       'cssClassSuffix' => 'watchedunseen',
+                                       'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                               $changeTs = $rc->getAttribute( 'rc_timestamp' );
+                                               $lastVisitTs = $rc->getAttribute( 'wl_notificationtimestamp' );
+                                               return $changeTs >= $lastVisitTs;
+                                       },
+                               ],
+                               [
+                                       'name' => 'seen',
+                                       'label' => 'rcfilters-filter-watchlistactivity-seen-label',
+                                       'description' => 'rcfilters-filter-watchlistactivity-seen-description',
+                                       'cssClassSuffix' => 'watchedseen',
+                                       'isRowApplicableCallable' => function ( $ctx, $rc ) {
+                                               $changeTs = $rc->getAttribute( 'rc_timestamp' );
+                                               $lastVisitTs = $rc->getAttribute( 'wl_notificationtimestamp' );
+                                               return $changeTs < $lastVisitTs;
+                                       }
+                               ],
+                       ],
+                       'default' => ChangesListStringOptionsFilterGroup::NONE,
+                       'queryCallable' => function ( $specialPageClassName, $context, $dbr,
+                                                                                 &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedValues ) {
+                               if ( $selectedValues === [ 'seen' ] ) {
+                                       $conds[] = 'rc_timestamp < wl_notificationtimestamp';
+                               } elseif ( $selectedValues === [ 'unseen' ] ) {
+                                       $conds[] = 'rc_timestamp >= wl_notificationtimestamp';
+                               }
+                       }
+               ] ) );
+
                $user = $this->getUser();
 
                $significance = $this->getFilterGroup( 'significance' );
@@ -172,12 +229,14 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $opts->add( 'days', $user->getOption( 'watchlistdays' ), FormOptions::FLOAT );
                $opts->add( 'extended', $user->getBoolOption( 'extendwatchlist' ) );
+               $opts->add( 'limit', $user->getIntOption( 'wllimit' ), FormOptions::INT );
 
                return $opts;
        }
 
        public function validateOptions( FormOptions $opts ) {
                $opts->validateBounds( 'days', 0, $this->maxDays );
+               $opts->validateIntBounds( 'limit', 0, 5000 );
                parent::validateOptions( $opts );
        }
 
@@ -300,7 +359,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $query_options = array_merge( [
                        'ORDER BY' => 'rc_timestamp DESC',
-                       'LIMIT' => $user->getIntOption( 'wllimit' )
+                       'LIMIT' => $opts['limit']
                ], $query_options );
                $join_conds = array_merge(
                        [
@@ -458,6 +517,11 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                }
 
                $s = $list->beginRecentChangesList();
+
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $s .= $this->makeLegend();
+               }
+
                $userShowHiddenCats = $this->getUser()->getBoolOption( 'showhiddencats' );
                $counter = 1;
                foreach ( $rows as $obj ) {
@@ -518,6 +582,24 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                $this->setTopText( $opts );
 
+               $form = '';
+
+               $form .= Xml::openElement( 'form', [
+                       'method' => 'get',
+                       'action' => wfScript(),
+                       'id' => 'mw-watchlist-form'
+               ] );
+               $form .= Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
+               $form .= Xml::fieldset(
+                       $this->msg( 'watchlist-options' )->text(),
+                       false,
+                       [ 'id' => 'mw-watchlist-options', 'class' => 'cloptions' ]
+               );
+
+               if ( !$this->isStructuredFilterUiEnabled() ) {
+                       $form .= $this->makeLegend();
+               }
+
                $lang = $this->getLanguage();
                if ( $opts['days'] > 0 ) {
                        $days = $opts['days'];
@@ -525,16 +607,23 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        $days = $this->maxDays;
                }
                $timestamp = wfTimestampNow();
-               $wlInfo = $this->msg( 'wlnote' )->numParams( $numRows, round( $days * 24 ) )->params(
-                       $lang->userDate( $timestamp, $user ), $lang->userTime( $timestamp, $user )
-               )->parse() . "<br />\n";
+               $wlInfo = Html::rawElement(
+                       'span',
+                       [ 'class' => 'wlinfo' ],
+                       $this->msg( 'wlnote' )->numParams( $numRows, round( $days * 24 ) )->params(
+                               $lang->userDate( $timestamp, $user ), $lang->userTime( $timestamp, $user )
+                       )->parse()
+               ) . "<br />\n";
 
                $nondefaults = $opts->getChangedValues();
-               $cutofflinks = $this->msg( 'wlshowtime' ) . ' ' . $this->cutoffselector( $opts );
+               $cutofflinks = Html::rawElement(
+                       'span',
+                       [ 'class' => 'cldays cloption' ],
+                       $this->msg( 'wlshowtime' ) . ' ' . $this->cutoffselector( $opts )
+               );
 
                # Spit out some control panel links
                $links = [];
-               $context = $this->getContext();
                $namesOfDisplayedFilters = [];
                foreach ( $this->getFilterGroups() as $groupName => $group ) {
                        if ( !$group->isPerGroupRequestParameter() ) {
@@ -545,7 +634,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                                                        $nondefaults,
                                                        $filter->getShowHide(),
                                                        $filterName,
-                                                       $opts[$filterName]
+                                                       $opts[$filterName],
+                                                       $filter->isFeatureAvailableOnStructuredUi( $this )
                                                );
                                        }
                                }
@@ -562,17 +652,19 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        unset( $hiddenFields[$filterName] );
                }
 
-               # Create output
-               $form = '';
-
                # Namespace filter and put the whole form together.
                $form .= $wlInfo;
                $form .= $cutofflinks;
-               $form .= $this->msg( 'watchlist-hide' ) .
+               $form .= Html::rawElement(
+                       'span',
+                       [ 'class' => 'clshowhide' ],
+                       $this->msg( 'watchlist-hide' ) .
                        $this->msg( 'colon-separator' )->escaped() .
-                       implode( ' ', $links );
+                       implode( ' ', $links )
+               );
                $form .= "\n<br />\n";
-               $form .= Html::namespaceSelector(
+
+               $namespaceForm = Html::namespaceSelector(
                        [
                                'selected' => $opts['namespace'],
                                'all' => '',
@@ -583,27 +675,66 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                                'class' => 'namespaceselector',
                        ]
                ) . "\n";
-               $form .= '<span class="mw-input-with-label">' . Xml::checkLabel(
+               $namespaceForm .= '<span class="mw-input-with-label">' . Xml::checkLabel(
                        $this->msg( 'invert' )->text(),
                        'invert',
                        'nsinvert',
                        $opts['invert'],
                        [ 'title' => $this->msg( 'tooltip-invert' )->text() ]
                ) . "</span>\n";
-               $form .= '<span class="mw-input-with-label">' . Xml::checkLabel(
+               $namespaceForm .= '<span class="mw-input-with-label">' . Xml::checkLabel(
                        $this->msg( 'namespace_association' )->text(),
                        'associated',
                        'nsassociated',
                        $opts['associated'],
                        [ 'title' => $this->msg( 'tooltip-namespace_association' )->text() ]
                ) . "</span>\n";
-               $form .= Xml::submitButton( $this->msg( 'watchlist-submit' )->text() ) . "\n";
+               $form .= Html::rawElement(
+                       'span',
+                       [ 'class' => 'namespaceForm cloption' ],
+                       $namespaceForm
+               );
+
+               $form .= Xml::submitButton(
+                       $this->msg( 'watchlist-submit' )->text(),
+                       [ 'class' => 'cloption-submit' ]
+               ) . "\n";
                foreach ( $hiddenFields as $key => $value ) {
                        $form .= Html::hidden( $key, $value ) . "\n";
                }
                $form .= Xml::closeElement( 'fieldset' ) . "\n";
                $form .= Xml::closeElement( 'form' ) . "\n";
-               $this->getOutput()->addHTML( $form );
+
+               // Insert a placeholder for RCFilters
+               if ( $this->isStructuredFilterUiEnabled() ) {
+                       $rcfilterContainer = Html::element(
+                               'div',
+                               [ 'class' => 'rcfilters-container' ]
+                       );
+
+                       $loadingContainer = Html::rawElement(
+                               'div',
+                               [ 'class' => 'rcfilters-spinner' ],
+                               Html::element(
+                                       'div',
+                                       [ 'class' => 'rcfilters-spinner-bounce' ]
+                               )
+                       );
+
+                       // Wrap both with rcfilters-head
+                       $this->getOutput()->addHTML(
+                               Html::rawElement(
+                                       'div',
+                                       [ 'class' => 'rcfilters-head' ],
+                                       $rcfilterContainer . $form
+                               )
+                       );
+
+                       // Add spinner
+                       $this->getOutput()->addHTML( $loadingContainer );
+               } else {
+                       $this->getOutput()->addHTML( $form );
+               }
 
                $this->setBottomText( $opts );
        }
@@ -655,7 +786,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
        function setTopText( FormOptions $opts ) {
                $nondefaults = $opts->getChangedValues();
-               $form = "";
+               $form = '';
                $user = $this->getUser();
 
                $numItems = $this->countItems();
@@ -692,32 +823,27 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                        $form .= Xml::closeElement( 'form' ) . "\n";
                }
 
-               $form .= Xml::openElement( 'form', [
-                       'method' => 'get',
-                       'action' => wfScript(),
-                       'id' => 'mw-watchlist-form'
-               ] );
-               $form .= Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
-               $form .= Xml::fieldset(
-                       $this->msg( 'watchlist-options' )->text(),
-                       false,
-                       [ 'id' => 'mw-watchlist-options' ]
-               );
-
-               $form .= $this->makeLegend();
-
                $this->getOutput()->addHTML( $form );
        }
 
-       protected function showHideCheck( $options, $message, $name, $value ) {
+       protected function showHideCheck( $options, $message, $name, $value, $inStructuredUi ) {
                $options[$name] = 1 - (int)$value;
 
-               return '<span class="mw-input-with-label">' . Xml::checkLabel(
-                       $this->msg( $message, '' )->text(),
-                       $name,
-                       $name,
-                       (int)$value
-               ) . '</span>';
+               $attribs = [ 'class' => 'mw-input-with-label clshowhideoption cloption' ];
+               if ( $inStructuredUi ) {
+                       $attribs[ 'data-feature-in-structured-ui' ] = true;
+               }
+
+               return Html::rawElement(
+                       'span',
+                       $attribs,
+                       Xml::checkLabel(
+                               $this->msg( $message, '' )->text(),
+                               $name,
+                               $name,
+                               (int)$value
+                       )
+               );
        }
 
        /**
index b29a3af..947a572 100644 (file)
@@ -1528,7 +1528,7 @@ class BalanceActiveFormattingElements {
        /**
         * Determine whether an element is in the list of formatting elements.
         * @param BalanceElement $elt
-        * @return boolean
+        * @return bool
         */
        public function isInList( BalanceElement $elt ) {
                return $this->head === $elt || $elt->prevAFE;
index a797398..73bc5f8 100644 (file)
@@ -129,7 +129,7 @@ class RemexCompatMunger implements TreeHandler {
         * Insert a p-wrapper
         *
         * @param SerializerNode $parent
-        * @param integer $sourceStart
+        * @param int $sourceStart
         * @return SerializerNode
         */
        private function insertPWrapper( SerializerNode $parent, $sourceStart ) {
@@ -220,12 +220,12 @@ class RemexCompatMunger implements TreeHandler {
         * FIXME: fostering ($preposition == BEFORE) is mostly done by inserting as
         * normal, the full algorithm is not followed.
         *
-        * @param integer $preposition
+        * @param int $preposition
         * @param Element|SerializerNode|null $refElement
         * @param Element $element
         * @param bool $void
-        * @param integer $sourceStart
-        * @param integer $sourceLength
+        * @param int $sourceStart
+        * @param int $sourceLength
         */
        public function insertElement( $preposition, $refElement, Element $element, $void,
                $sourceStart, $sourceLength
@@ -313,7 +313,7 @@ class RemexCompatMunger implements TreeHandler {
         *
         * @param SerializerNode $parentNode
         * @param bool $inline
-        * @param integer $pos The source position
+        * @param int $pos The source position
         * @return SerializerNode
         */
        private function splitTagStack( SerializerNode $parentNode, $inline, $pos ) {
index 2ee40a8..da3f9f8 100644 (file)
@@ -247,7 +247,7 @@ abstract class UploadBase {
 
        /**
         * @param string $tempPath File system path to temporary file containing the upload
-        * @param integer $fileSize
+        * @param int $fileSize
         */
        protected function setTempFile( $tempPath, $fileSize = null ) {
                $this->mTempPath = $tempPath;
index 71a4272..08f054d 100644 (file)
@@ -302,7 +302,7 @@ class User implements IDBAccessObject {
        /** @var Block */
        private $mBlockedFromCreateAccount = false;
 
-       /** @var integer User::READ_* constant bitfield used to load data */
+       /** @var int User::READ_* constant bitfield used to load data */
        protected $queryFlagsUsed = self::READ_NORMAL;
 
        public static $idCacheByName = [];
@@ -357,7 +357,7 @@ class User implements IDBAccessObject {
        /**
         * Load the user table data for this object from the source given by mFrom.
         *
-        * @param integer $flags User::READ_* constant bitfield
+        * @param int $flags User::READ_* constant bitfield
         */
        public function load( $flags = self::READ_NORMAL ) {
                global $wgFullyInitialised;
@@ -419,7 +419,7 @@ class User implements IDBAccessObject {
 
        /**
         * Load user table data, given mId has already been set.
-        * @param integer $flags User::READ_* constant bitfield
+        * @param int $flags User::READ_* constant bitfield
         * @return bool False if the ID does not exist, true otherwise
         */
        public function loadFromId( $flags = self::READ_NORMAL ) {
@@ -450,7 +450,7 @@ class User implements IDBAccessObject {
        /**
         * @since 1.27
         * @param string $wikiId
-        * @param integer $userId
+        * @param int $userId
         */
        public static function purge( $wikiId, $userId ) {
                $cache = ObjectCache::getMainWANInstance();
@@ -759,7 +759,7 @@ class User implements IDBAccessObject {
        /**
         * Get database id given a user name
         * @param string $name Username
-        * @param integer $flags User::READ_* constant bitfield
+        * @param int $flags User::READ_* constant bitfield
         * @return int|null The corresponding user's ID, or null if user is nonexistent
         */
        public static function idFromName( $name, $flags = self::READ_NORMAL ) {
@@ -1252,7 +1252,7 @@ class User implements IDBAccessObject {
         * Load user and user_group data from the database.
         * $this->mId must be set, this is how the user is identified.
         *
-        * @param integer $flags User::READ_* constant bitfield
+        * @param int $flags User::READ_* constant bitfield
         * @return bool True if the user exists, false if the user is anonymous
         */
        public function loadFromDatabase( $flags = self::READ_LATEST ) {
index cab6a3d..60720c8 100644 (file)
@@ -44,7 +44,7 @@ class BatchRowIterator implements RecursiveIterator {
        protected $primaryKey;
 
        /**
-        * @var integer $batchSize The number of rows to fetch per iteration
+        * @var int $batchSize The number of rows to fetch per iteration
         */
        protected $batchSize;
 
@@ -76,7 +76,7 @@ class BatchRowIterator implements RecursiveIterator {
        private $current = [];
 
        /**
-        * @var integer key 0-indexed number of pages fetched since self::reset()
+        * @var int key 0-indexed number of pages fetched since self::reset()
         */
        private $key;
 
@@ -89,7 +89,7 @@ class BatchRowIterator implements RecursiveIterator {
         * @param IDatabase $db The database to read from
         * @param string|array $table The name or names of the table to read from
         * @param string|array $primaryKey The name or names of the primary key columns
-        * @param integer $batchSize The number of rows to fetch per iteration
+        * @param int $batchSize The number of rows to fetch per iteration
         * @throws InvalidArgumentException
         */
        public function __construct( IDatabase $db, $table, $primaryKey, $batchSize ) {
@@ -167,7 +167,7 @@ class BatchRowIterator implements RecursiveIterator {
        }
 
        /**
-        * @return integer 0-indexed count of the page number fetched
+        * @return int 0-indexed count of the page number fetched
         */
        public function key() {
                return $this->key;
index dd9f2d9..736109b 100644 (file)
@@ -542,7 +542,7 @@ class UIDGenerator {
 
        /**
         * @param array $time Result of UIDGenerator::millitime()
-        * @param integer $delta Number of intervals to add on to the timestamp
+        * @param int $delta Number of intervals to add on to the timestamp
         * @return string 60 bits of "100ns intervals since 15 October 1582" (rolls over in 3400)
         * @throws RuntimeException
         */
index 90792fc..773c291 100644 (file)
@@ -22,7 +22,7 @@ class SearchInputWidget extends TitleInputWidget {
         * @param array $config Configuration options
         * @param int|null $config['pushPending'] Whether the input should be visually marked as
         *  "pending", while requesting suggestions (default: false)
-        * @param boolean|null $config['performSearchOnClick'] If true, the script will start a search
+        * @param bool|null $config['performSearchOnClick'] If true, the script will start a search
         *  whenever a user hits a suggestion. If false, the text of the suggestion is inserted into the
         *  text field only (default: true)
         * @param string $config['dataLocation'] Where the search input field will be
index 8faae82..d2dda75 100644 (file)
@@ -24,7 +24,7 @@ class SelectWithInputWidget extends \OOUI\Widget {
         * @param array $config Configuration options
         * @param array $config['textinput'] Configuration for the TextInputWidget
         * @param array $config['dropdowninput'] Configuration for the DropdownInputWidget
-        * @param boolean $config['or'] Configuration for whether the widget is dropdown AND input
+        * @param bool $config['or'] Configuration for whether the widget is dropdown AND input
         *                              or dropdown OR input
         */
        public function __construct( array $config = [] ) {
index 9db7dec..c514cdc 100644 (file)
@@ -4279,7 +4279,7 @@ class Language {
         *
         * @since 1.28
         * @param Language $lang
-        * @return boolean
+        * @return bool
         */
        public function equals( Language $lang ) {
                return $lang->getCode() === $this->mCode;
@@ -4343,7 +4343,7 @@ class Language {
 
        /**
         * @param string $code
-        * @param boolean $fallback Whether we're going through language fallback chain
+        * @param bool $fallback Whether we're going through language fallback chain
         * @return string Name of the language class
         */
        public static function classFromCode( $code, $fallback = true ) {
index 0affa8c..fe6a640 100644 (file)
@@ -23,7 +23,8 @@
                        "Macofe",
                        "Fwolff",
                        "Oesjaar",
-                       "Matma Rex"
+                       "Matma Rex",
+                       "Biggs ZA"
                ]
        },
        "tog-underline": "Onderstreep skakels.",
        "actionthrottled": "Outo-rem op aksie uitgevoer",
        "actionthrottledtext": "As 'n teen-strooi aksie, word u beperk om hierdie aksie te veel keer in 'n kort tyd uit te voer, en u het hierdie limiet oorskry.\nProbeer asseblief weer oor 'n paar minute.",
        "protectedpagetext": "Hierdie bladsy is beskerm om wysigings en ander aksies te verhoed.",
-       "viewsourcetext": "U mag die bronteks van hierdie bladsy lees en kopieer.",
+       "viewsourcetext": "U het toestemming om die bronteks te bekyk en te kopieer.",
        "viewyourtext": "U kan '''u wysigings''' aan die bronteks van hierdie bladsy bekyk en kopieer:",
        "protectedinterface": "Hierdie bladsy verskaf teks vir die koppelvlak van die sagteware, en is beskerm om misbruik te voorkom.\nGebruik asseblief [https://translatewiki.net/ translatewiki.net] om vertalings by te voeg of te wysig.",
        "editinginterface": "'''Waarskuwing:''' U is besig om 'n bladsy te redigeer wat koppelvlakinligting aan die programmatuur voorsien. Wysigings aan hierdie bladsy sal die voorkoms van die gebruikerskoppelvlak vir ander gebruikers beïnvloed. Vir vertalings, oorweeg om eerder [https://translatewiki.net/wiki/Main_Page?setlang=af translatewiki.net] (die vertalingsprojek vir MediaWiki) te gebruik.",
        "page_first": "eerste",
        "page_last": "laaste",
        "histlegend": "Byskrif: (huidige) = verskil van huidige weergawe,\n(vorige) = verskil van vorige weergawe, M = klein wysiging",
-       "history-fieldset-title": "Soek vir wysigings",
+       "history-fieldset-title": "Soek na wysigings",
        "history-show-deleted": "Slegs geskrapte",
        "histfirst": "oudste",
        "histlast": "nuutste",
        "rcfilters-filter-user-experience-level-unregistered-description": "Redigeerders wat nie aangemeld is nie.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Nuwelinge",
        "rcfilters-filter-user-experience-level-newcomer-description": "Minder as 10 wysigings en 4 dae van aktiwiteit.",
+       "rcfilters-filtergroup-watchlistactivity": "Dophoulys-bedrywighede",
        "rcnotefrom": "{{PLURAL:$5|Wysiging|Wysigings}} sedert <strong>$3 om $4</strong> (maksimum van <strong>$1</strong> word gewys).",
        "rclistfrom": "Vertoon wysigings vanaf $3 $2",
        "rcshowhideminor": "$1 klein wysigings",
        "compare-invalid-title": "Die titel wat u verskaf het is ongeldig.",
        "compare-title-not-exists": "Die titel wat u verskaf het bestaan ​​nie.",
        "compare-revision-not-exists": "Die hersiening wat u verskaf het bestaan ​​nie.",
+       "diff-form": "'n '''vorm'''",
        "dberr-problems": "Jammer! Die webwerf ondervind op die oomblik tegniese probleme.",
        "dberr-again": "Wag 'n paar minute en probeer dan weer.",
        "dberr-info": "(Kan nie die databasisbediener kontak nie: $1)",
index b1604f8..a00d2a7 100644 (file)
        "rcfilters-restore-default-filters": "استرجاع المرشحات الافتراضية",
        "rcfilters-clear-all-filters": "مسح كل المرشحات",
        "rcfilters-show-new-changes": "عرض أحدث التغييرات",
-       "rcfilters-previous-changes-label": "تغييرات تم عرضها سابقًا",
        "rcfilters-search-placeholder": "رشح أحدث التغييرات (تصفح أو ابدأ الكتابة)",
        "rcfilters-invalid-filter": "مرشح غير صحيح",
        "rcfilters-empty-filter": "لا مرشحات فعالة. كل المساهمات معروضة.",
        "watching": "يراقب...",
        "unwatching": "إزالة المراقبة...",
        "watcherrortext": "حدث خطأ أثناء تغيير إعدادات الرصد الخاصة بك \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "علم على كل الصفحات كمرئية",
        "enotif_impersonal_salutation": "مستخدم {{SITENAME}}",
        "enotif_subject_deleted": "الصفحة {{SITENAME}} $1 حذفها {{الجنس: $2 | $2 }}",
index cd7a962..4e7ca5a 100644 (file)
        "rcfilters-restore-default-filters": "Restaurar los filtros predeterminaos",
        "rcfilters-clear-all-filters": "Borrar tolos filtros",
        "rcfilters-show-new-changes": "Ver los cambeos más recién",
-       "rcfilters-previous-changes-label": "Cambeos vistos anteriormente",
        "rcfilters-search-placeholder": "Filtriar los cambeos recién (restola o empieza a escribir)",
        "rcfilters-invalid-filter": "Filtru inválidu",
        "rcfilters-empty-filter": "Nun hai filtros activos. Amuésense toles contribuciones.",
index f74f325..68f80d1 100644 (file)
@@ -65,6 +65,7 @@
        "tog-watchlisthideminor": "Әҙ үҙгәрештәрҙе күҙәтеү исемлегенән йәшерергә",
        "tog-watchlisthideliu": "Танылған ҡулланыусыларҙың үҙгәртеүҙәрен күҙәтеү исемлегенән йәшерергә",
        "tog-watchlistreloadautomatically": "Һөҙгөс үҙгәргән һайын күҙәтеү исемлеген автоматик рәүештә яңыртырға (JavaScript кәрәк)",
+       "tog-watchlistunwatchlinks": "Күҙәтеү исемлегендәге яҙмаларға туранан-тура индереү/алыу (JavaScript кәрәк)",
        "tog-watchlisthideanons": "Аноним ҡулланыусыларҙың үҙгәртеүҙерен күҙәтеү исемлегенән йәшерергә",
        "tog-watchlisthidepatrolled": "Тикшерелгән үҙгәртеүҙәрҙе күҙәтеү исемлегенән йәшерергә",
        "tog-watchlisthidecategorization": "Биттәр категоризацияһын йәшереү",
        "rcfilters-restore-default-filters": "Фильтрҙарҙың һүҙһеҙ үтәлгәнен кире ҡуйырға",
        "rcfilters-clear-all-filters": "Бөтә фильтрҙарҙы ла таҙартырға",
        "rcfilters-show-new-changes": "Һуңғы үҙгәртеүҙәрҙе ҡарап сығырға",
-       "rcfilters-previous-changes-label": "Элек ҡаралған үҙгәртеүҙәр",
        "rcfilters-search-placeholder": "Фильтрҙарҙың һуңғы үҙгәрештәре (ҡарап сығығыҙ йәки индерә башлағыҙ)",
        "rcfilters-invalid-filter": "Ярамаған фильтр",
        "rcfilters-empty-filter": "Әүҙем фильтрҙар юҡ. Бөтә үҙгәртеүҙәр ҙә күрһәтелә.",
        "apisandbox-alert-field": "Был ҡыр дәүмәле ярамай.",
        "apisandbox-continue": "Дауам итергә",
        "apisandbox-continue-clear": "Таҙартыу",
+       "apisandbox-continue-help": "{{int:apisandbox-continue}} [https://www.mediawiki.org/wiki/API:Query#Continuing_queries дауам итәсәк] һуңғы һорау; {{int:apisandbox-continue-clear}} дауам итеү менән бәйләнгән параметрҙарҙы юйырға.",
+       "apisandbox-param-limit": "максималь сикте ҡулланыуҙы <kbd>максимальное</kbd> ҡуйығыҙ.",
        "apisandbox-multivalue-all-namespaces": "$1 (Барлыҡ исемдәр яланы)",
        "apisandbox-multivalue-all-values": "$1 (барлыҡ мәғәнәләр)",
        "booksources": "Китап сығанаҡтары",
        "magiclink-tracking-pmid": "PMID серле һылтанмаһын ҡулланған биттәр",
        "magiclink-tracking-pmid-desc": "Был бит PMID серле һылтанмаһын ҡуллана. Ҡара [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] нисек күсереү тураһында.",
        "magiclink-tracking-isbn": "ISBN серле һылтанмаһын ҡулланған биттәр",
+       "magiclink-tracking-isbn-desc": "Был биттең ISBN серле һылтанмаһы бар. Ҡара [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] уға нисек күсеү тураһында.",
        "specialloguserlabel": "Башҡарыусы:",
        "speciallogtitlelabel": "Маҡсат (исем йәки ҡулланыусы {{ns:user}}):",
        "log": "Журналдар",
        "activeusers-intro": "Был — һуңғы $1 {{PLURAL:$1|көн}} эсендә ниҙер башҡарған ҡатнашыусылар исемлеге.",
        "activeusers-count": "Һуңғы {{PLURAL:$3|$3 көндә}} $1 {{PLURAL:$1|үҙгәртеү}}",
        "activeusers-from": "Ошондай хәрефтәрҙән башланған ҡатнашыусыларҙы күрһәтергә:",
+       "activeusers-groups": "Был төркөмдәргә ҡараған ҡатнашыусыларҙы күрһәтеү:",
+       "activeusers-excludegroups": "Был төркөмдәрҙең ҡатнашыусыларын һыҙырға:",
        "activeusers-noresult": "Ҡатнашыусылар табылманы",
        "activeusers-submit": "Әүҙем ҡулланыусыларҙы күрһәтергә",
        "listgrouprights": "Ҡатнашыусылар төркөмө хоҡуҡтары",
        "trackingcategories-msg": "Күҙәтеүсе категория",
        "trackingcategories-name": "Хәбәр исеме",
        "trackingcategories-desc": "Категорияға индереү критерийҙары",
+       "restricted-displaytitle-ignored": "Күренгән атамалары кире ҡағылған биттәр",
+       "restricted-displaytitle-ignored-desc": "Был биттә кире ҡағылған <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> бар, сөнки уның атамаһы биттең исеменә тап килмәй.",
        "noindex-category-desc": "Бит эҙләүсе роботтар тарафынан индексацияланмай, сөнки унда \"тылсымлы һүҙ\" <code><nowiki>__NOINDEX__</nowiki></code> бар һәм ул был флаг рөхсәт ителгән исемдәр киңлегендә урынлашҡан.",
        "index-category-desc": "Биттә «тылсымлы һүҙ» бар<nowiki>__INDEX__</nowiki> (бит рөхсәт ителгән исемдәр арауығында ята), шуға күрә эҙләү системаһында индекслана.",
        "post-expand-template-inclusion-category-desc": "Барлыҡ ҡалыптарҙы ла күрһәткәндән һуң биттең күләме арта<code>$wgMaxArticleSize</code>, шуға күрә ҡайһы берҙәре тулыһынса күрһәтелмәне.",
        "watchnologin": "Үҙегеҙҙе танытырға кәрәк",
        "addwatch": "Күҙәтеү исемлегенә өҫтәргә",
        "addedwatchtext": "\"[[:$1]]\" бите [[Special:Watchlist|күҙәтеү исемлегегеҙгә]] өҫтәлде.\nБыл биттә һәм уның фекер алышыу битендә буласаҡ бар үҙгәртеүҙәр ундағы исемлектә күрһәтеләсәк.",
+       "addedwatchtext-talk": "«[[:$1]]» үҙенә бәйләнгән бит менән бергә һеҙҙең [[Special:Watchlist|күҙәтеү исемлеге]]нә өҫтәлде.",
        "addedwatchtext-short": "\"$1\" бите Һеҙҙең күҙәтеү исемлегенә өҫтәлгән",
        "removewatch": "Күҙәтеү исемлегенән сығарырға",
        "removedwatchtext": "«[[:$1]]» мәҡәләһе һәм уның фекер алышыу бите һеҙҙең [[Special:Watchlist|күҙәтеү исемлегенән]] сығарылды.",
+       "removedwatchtext-talk": "«[[:$1]]» үҙенә бәйләнгән бит менән бергә һеҙҙең [[Special:Watchlist|күҙәтеү исемлеге]]нән алып ташланды.",
        "removedwatchtext-short": "\"$1\" бите һеҙҙең күҙәтеү исемлегенән алып ташланды.",
        "watch": "Күҙәтергә",
        "watchthispage": "Был битте күҙәтергә",
        "enotif_lastdiff": "Был үҙгәртеүҙе күреү өсөн, $1 ҡарағыҙ",
        "enotif_anon_editor": "танылмаған ҡатнашыусы $1",
        "enotif_body": "Хөрмәтле $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nМөхәррирләү аңлатмаһы: $PAGESUMMARY $PAGEMINOREDIT\n\nҮҙгәртеүсе менән бәйләнеш өсөн:\nЭл. почта адресы: $PAGEEDITOR_EMAIL\nВики бите: $PAGEEDITOR_WIKI\n\nӘгәр һеҙ был биткә иҫәп яҙмағыҙ буйынса инмәһәгеҙ, бынан һуң буласаҡ үҙгәртеүҙәр тураһында белдереү алмаясаҡһығыҙ. \nҺеҙ шулай уҡ күҙәтеү исемлегедәге бар биттәр өсөн белдереү көйләүен һүндерә алаһығыҙ.\n\n {{grammar:genitive|{{SITENAME}}}}  белдереү системаһы\n\n--\nБелдереүҙәрен көйләүен үҙгәртергә:\n{{canonicalurl:{{#special:Preferences}}}}\n\nКүҙәтеү исемлеге көйләүҙәрен үҙгәртергә:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nКүҙәтеү исемлегенән биттәрҙе юйырға:\n$UNWATCHURL\n\nКире бәйләнеш һәм ярҙам:\n$HELPPAGE",
+       "enotif_minoredit": "Был әҙ үҙгәреш",
        "created": "булдырылды",
        "changed": "үҙгәртелгән",
        "deletepage": "Битте юйырға",
        "delete-warning-toobig": "Был биттең үҙгәртеүҙәр тарихы бик оҙон, $1 {{PLURAL:$1|өлгөнән}} күберәк.\nБитте юйыу {{SITENAME}} проектының эшмәкәрлеге боҙолоуына килтереүе мөмкин, һаҡлыҡ менән эш итегеҙ.",
        "deleteprotected": "Был бит һаҡланған, уны юйҙыра алмайһығыҙ.",
        "deleting-backlinks-warning": "<strong>Иҫкәртеү:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|Башҡа ҡатнашыусылар]] һеҙ юйырға теләгән биткә һылтана.",
+       "deleting-subpages-warning": "<strong>Иҫкәрмә:</strong> Һеҙ юйырға йыйынған биттә [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|$1 бәләкәй бит|$1 бәләкәй биттәре|51=50 бәләкәй биттән ашыу}}]] бар.",
        "rollback": "Үҙгәртеүҙәрҙе кире ҡайтарырға",
        "rollbacklink": "кире",
        "rollbacklinkcount": "$1 {{PLURAL:$1|1=төҙәтеүҙе|төҙәтеүҙе}} кире алырға",
        "rollbacklinkcount-morethan": "$1 {{PLURAL:$1|1=төҙәтеүҙән|төҙәтеүҙән}} күберәк кире алырға",
        "rollbackfailed": "Кире ҡайтарырғанда барлыҡҡа килгән хата",
+       "rollback-missingparam": "Һеҙ һораған параметрҙар юҡ.",
+       "rollback-missingrevision": "Версияның билдәләмәләрен тейәп булманы",
        "cantrollback": "Үҙгәртеүҙәрҙе кире алыу мөмкин түгел. Битте һуңғы үҙгәртеүсе ҡатнашыусы уның берҙән-бер авторы булып тора.",
        "alreadyrolled": "[[User:$2|$2]] ([[User talk:$2|фекер алышыу]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]])  кереткән [[:$1]] һуңғы үҙгәртеүҙәрҙе кире алыу мөмкин түгел; башҡа ҡатнашыусы был битте мөхәррирләгән йәки үҙгәртеүҙәрҙе кире алған инде.\n\nҺуңғы үҙгәртеүҙәрҙе [[User:$3|$3]] ([[User talk:$3| фекер алышыу]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) кереткән.",
        "editcomment": "Үҙгәртеүҙең тасуирламаһы <em>$1</em> ине.",
        "revertpage": "[[Special:Contributions/$2|$2]] ([[User talk:$2|фекер алышыу]]) уҙгәртеүҙәре [[User:$1|$1]] өлгөһөнә ҡайтарылды",
        "revertpage-nouser": "(Ҡатнашыусының исеме йәшерелгән) үҙгәртеүҙәре {{GENDER:$1|[[User:$1|$1]]}}өлгөһөнә ҡайтарылды",
        "rollback-success": "{{GENDER:$3|$1}} үҙгәртеүҙәре кире алынды; {{GENDER:$4|$2}} версияһына ҡайтарылды.",
+       "rollback-success-notify": "Төҙәтеүҙәр кире тейәлгән $1; һуңғы $2 версияға кире ҡайтыу. [$3 Үҙгәрештәрҙе күрһәтеү]",
        "sessionfailure-title": "Сеанс хатаһы",
        "sessionfailure": "Хәҙерге сеанста хаталар килеп сыҡҡан, булырға тейеш;\n\"сеансты баҫып алыу\"ға юл ҡуймау өсөн был ғәмәл үтәлмәне.\nАлдағы биткә кире  ҡайтығыҙ, битте яңыртығыҙ һәм яңынан ҡабатлап ҡарағыҙ.",
        "changecontentmodel": "Биттең контент моделен мөхәррирләү",
        "changecontentmodel-success-text": "[[:$1]] эстәлек моделе үҙгәртелде",
        "changecontentmodel-cannot-convert": "[[:$1]]  эстәлеге $2 тибына үҙгәртелә алмай",
        "changecontentmodel-nodirectediting": "$1 эстәлеге моделен тураға мөхәррирләп булмай",
+       "changecontentmodel-emptymodels-title": "Йөкмәткенең рөхсәтле төрҙәре юҡ",
+       "changecontentmodel-emptymodels-text": "[[:$1]]тағы йөкмәтке башҡа бер төргә лә үҙгәрә алмай.",
        "log-name-contentmodel": "Эстәлек моделен үҙгәртеүҙәр журналы",
        "log-description-contentmodel": "Бында биттең эстәлек моделенең үҙгәртеүҙәре һәм стандарт эстәлек моделенән айырмалы модель буйынса төҙөлгән биттәр күрһәтелгән.",
        "logentry-contentmodel-new": "$1 $3 {{GENDER:$2|}} битен булдырҙы, стандарт булмаған «$5» моделе ҡулланылды.",
        "modifiedarticleprotection": "\"[[$1]]\" битенең һаҡлау дәрәжәһен үҙгәрткән",
        "unprotectedarticle": "«[[$1]]» битенән һаҡлау алынды",
        "movedarticleprotection": "һаҡлау көйләүҙәрен «[[$2]]» битенән «[[$1]]» битенә күсергән",
+       "protectedarticle-comment": "[[$1]]тигән битте {{GENDER:$2||а}} һаҡланы",
+       "modifiedarticleprotection-comment": "[[$1]] өсөн {{GENDER:$2||а}}һаҡланыу кимәлен үҙгәртте",
+       "unprotectedarticle-comment": "«[[$1]]»нан {{GENDER:$2||а}} һаҡланыуы алынды",
        "protect-title": "\"$1\" битенең һаҡлау дәрәжәһен үҙгәртеү",
        "protect-title-notallowed": "\"$1\" битенең һаҡлау дәрәжәһен байҡау",
        "prot_1movedto2": "[[$1]] битенең исемен [[$2]] тип үҙгәрткән",
        "undeletehistorynoadmin": "Мәҡәлә юйылған.\nТүбәндә юйыу сәбәптәре һәм мәҡәләне юйғанға тиклем мөхәррирләүсе ҡатнашыусылар исемлеге килтерелгән. \nЮйылған мәҡәләне хакимдәр генә ҡарай ала.",
        "undelete-revision": "$1 битенең $3 ҡатнашыусыһының ($4 $5 мөхәррирләгән) юйылған өлгөһө:",
        "undeleterevision-missing": "Был өлгө дөрөҫ түгел йәки бөтөнләй юҡ.\nҺеҙ дөрөҫ булмаған һылтанма аша кергәнһегеҙ йәки был өлгө архивтан юйылған, булырға тейеш.",
+       "undeleterevision-duplicate-revid": "$1 {{PLURAL:$1|версия|версиялар}} терелтелмәйәсәк, сөнки {{PLURAL:$1|ул|улар}} <code>rev_id</code> инде ҡулланыла.",
        "undelete-nodiff": "Алдағы өлгө табылманы.",
        "undeletebtn": "Тергеҙергә",
        "undeletelink": "ҡарарға/тергеҙергә",
        "undelete-search-title": "Юйылған биттәрҙе эҙләү",
        "undelete-search-box": "Юйылған биттәрҙе эҙләү",
        "undelete-search-prefix": "Ошолай башланған биттәрҙе күрһәтергә:",
+       "undelete-search-full": "Шундай атамалары булған биттәрҙе күрһәтергә:",
        "undelete-search-submit": "Эҙләү",
        "undelete-no-results": "Юйыу яҙмалары архивында кәрәкле биттәр юҡ.",
        "undelete-filename-mismatch": "$1 ваҡыт билдәһе менән файл өлгөһөн тергеҙеү мөмкин түгел: файл исеме тап килмәй",
        "sp-contributions-username": "Ҡулланыусының IP-адресы йәки исеме:",
        "sp-contributions-toponly": "Һуңғы өлгөләрҙе генә күрһәтергә",
        "sp-contributions-newonly": "Яңы бит яһаған төҙәтеүҙәрҙе генә күрһәтергә",
+       "sp-contributions-hideminor": "Әҙ төҙәтеүҙәрҙе йәшерергә",
        "sp-contributions-submit": "Эҙлә",
        "whatlinkshere": "Бында һылтанмалар",
        "whatlinkshere-title": "«$1» битенә һылтанған биттәр",
        "unblocked-id": "$1 биге алынған",
        "unblocked-ip": "[[Special:Contributions/$1|$1]] блоктан азат ителде",
        "blocklist": "Тыйылған ҡатнашыусылар",
+       "autoblocklist": "Автоблоклауҙар",
+       "autoblocklist-submit": "Табыу",
+       "autoblocklist-legend": "Автоблокировкалар исемлеге",
+       "autoblocklist-localblocks": "{{PLURAL:$1|Локаль автоблокировка|Локаль автоблокировкалар}}",
+       "autoblocklist-total-autoblocks": "Автоблоктар барлығы: $1",
+       "autoblocklist-empty": "Автоблокировкалар исемлеге буш.",
+       "autoblocklist-otherblocks": "{{PLURAL:$1|Башҡа автоблокировка|Башҡа автоблокировкалар}}",
        "ipblocklist": "Тыйылған ҡатнашыусылар",
        "ipblocklist-legend": "Бикләнгән ҡатнашыусыны эҙләү",
        "blocklist-userblocks": "Иҫәп яҙыуҙарын бикләүҙе йәшер",
        "proxyblockreason": "Һеҙҙең IP адресығыҙ бикләнгән, сөнки ул — асыҡ прокси.\nЗинһар, Интернет менән тәъмин итеүсегеҙгә йәки ярҙам хеҙмәтенә мөрәжәғәт итегеҙ һәм уларға был едти хәүефһеҙлек хатаһы тураһында хәбәр итегеҙ.",
        "sorbsreason": "Һеҙҙең IP адресығыҙ {{SITENAME}} проекты ҡулланған DNSBL исемлегендә асыҡ прокси тип иҫәпләнә.",
        "sorbs_create_account_reason": "Һеҙҙең IP адресығыҙ {{SITENAME}} проекты ҡулланған DNSBL исемлегендә асыҡ прокси тип иҫәпләнә.\nҺеҙ иҫәп яҙмаһы булдыра алмайһығыҙ.",
+       "softblockrangesreason": "Һеҙҙең IP-адрестан аноним төҙәтеүҙәр тыйылған ($1). Зинһар, системаға инегеҙ.",
        "xffblockreason": "X-Forwarded-For атамаһы эсенә ингән һәм һеҙҙекеме, һеҙ ҡулланған прокси-серверҙыҡымы булған IP-адрес бикләнде. Бикләүҙең тәүсәбәбе ошо ине: $1",
        "cant-see-hidden-user": "Һеҙ бикләргә тырышҡан ҡатнашыусы әлеге ваҡытта бикләнгән һәм йәшерелгән.\nҠатнашыусыларҙы йәшереү хоҡуғығыҙ булмағанға күрә, һеҙ был бикләүҙе ҡарай йәки үҙгәртә алмайһығыҙ.",
        "ipbblocked": "Үҙегеҙ бикләнгән ваҡытта һеҙ башҡа ҡатнашыусыларҙы бикләй йәки бикте ала алмайһығыҙ.",
        "cant-move-to-user-page": "Һеҙҙең битте ҡатнашыусы бите итеп үҙгәртергә хоҡуғығыҙ юҡ (ҡатнашыусы биттәренән тыш).",
        "cant-move-category-page": "Һеҙҙең категория исемен үҙгәртергә хоҡуғығыҙ юҡ",
        "cant-move-to-category-page": "Һеҙҙең битте категория бите тип төҙәтергә хоҡуғығыҙ юҡ.",
+       "cant-move-subpages": "Һеҙгә бәләкәй биттәрҙең исемен алыштырырға рөхсәт юҡ.",
+       "namespace-nosubpages": "«$1» исемдәр яланы яңы бит булдырырға рәхсәт итмәй.",
        "newtitle": "Яңы атама",
        "move-watch": "Был битте күҙәтеү исемлегенә өҫтәргә",
        "movepagebtn": "Биттең исемен үҙгәртергә",
        "movelogpagetext": "Түбәндә — исемдәре үҙгәртелгән биттәр.",
        "movesubpage": "{{PLURAL:$1|ярҙамсы бит}}",
        "movesubpagetext": "Был биттә $1 {{PLURAL:$1|ярҙамсы бит}}.",
+       "movesubpagetalktext": "Фекер алышыу битендә $1 {{PLURAL: $ 1 | бәләкәй бит| бәләкәй биттәр}} бар. Улар аҫта күрһәтелгән.",
        "movenosubpage": "Был биткә бер бит тә кермәгән.",
        "movereason": "Сәбәп:",
        "revertmove": "кирегә",
        "tooltip-pt-mycontris": "{{GENDER:|Һеҙҙең}} төҙәтеүҙәр исемлеге",
        "tooltip-pt-anoncontribs": "Был IP-адрестан яһалған төҙәтеүҙәр",
        "tooltip-pt-login": "Бында теркәлеү үтергә була, әммә был эш мәжбүри түгел",
+       "tooltip-pt-login-private": "Был викиҙы ҡулланыу өсөн һеҙгә инергә кәрәк.",
        "tooltip-pt-logout": "Сығырға",
        "tooltip-pt-createaccount": "Мотлаҡ булмаһа ла, Һеҙгә иҫәп яҙмаһы төҙөргә һәм системала танылырға тәҡдим итәбеҙ",
        "tooltip-ca-talk": "Биттең эстәлеге тураһында фекерләшеү",
        "pageinfo-length": "Бит оҙонлоғо (байттарҙа)",
        "pageinfo-article-id": "Бит идентификаторы",
        "pageinfo-language": "Бит эстәлегенең теле",
+       "pageinfo-language-change": "Үҙгәртергә",
        "pageinfo-content-model": "Бит эстәлегенең моделе",
+       "pageinfo-content-model-change": "Үҙгәрт",
        "pageinfo-robot-policy": "Эҙләү роботтары тарафынан индексацияланыу",
        "pageinfo-robot-index": "Рөхсәт ителгән",
        "pageinfo-robot-noindex": "Рөхсәт ителмәй",
        "pageinfo-category-pages": "Биттәр һаны",
        "pageinfo-category-subcats": "Категория бүлемдәре һаны",
        "pageinfo-category-files": "Файлдар һаны",
+       "pageinfo-user-id": "Ҡатнашыусыны раҫлау",
        "markaspatrolleddiff": "Тикшерелгән, тип билдәләргә",
        "markaspatrolledtext": "Бил битте тикшерелгән, тип билдәләргә",
        "markaspatrolledtext-file": "Был өлөгөнө патрулләнгән тип ҡуйырға",
        "patrol-log-header": "Был — тикшерелгән өлгөләр яҙмалары журналы.",
        "log-show-hide-patrol": "тикшереү яҙмалары журналын $1",
        "log-show-hide-tag": "$1 билдәләр журналы",
+       "confirm-markpatrolled-button": "Яҡшы",
+       "confirm-markpatrolled-top": "$2 битенең $3 версияһын тикшерелгән тип һанарғамы?",
        "deletedrevision": "Иҫке $1 өлгөһө юйылды",
        "filedeleteerror-short": "Файлды юйыу хатаһы: $1",
        "filedeleteerror-long": "Файлды юйыу ваҡытында хаталар килеп сыҡты:\n\n$1",
        "newimages-summary": "Был махсус бит һуңғы тейәлгән файлдарҙы күрһәтә.",
        "newimages-legend": "Һайлау",
        "newimages-label": "Файл исеме (йәки өлөшө):",
+       "newimages-user": "Ҡатнашыусының исеме һәм IP-адресы",
+       "newimages-newbies": "Яңы иҫәп яҙмалары индергән өлөштө генә күрһәтергә",
        "newimages-showbots": "Роботтан тейегәнде күрһәтергә",
        "newimages-hidepatrolled": "Патрулләнгән күсереүҙәрҙе йәшерергә",
+       "newimages-mediatype": "Медиа төрө:",
        "noimages": "Рәсемдәр юҡ.",
+       "gallery-slideshow-toggle": "Миниатюраларҙы алыштырырға",
        "ilsubmit": "Эҙләү",
        "bydate": "булдырыу көнө буйынса",
        "sp-newimages-showfrom": "$1 $2 ваҡытынан башлап яңы файлдарҙы күрһәтергә",
        "confirmemail_body_set": "Кемдер (бәлки, һеҙҙер) $1 IP-адресынан \n{{SITENAME}}  проектында \"$2\" иҫәп яҙмаһының электрон почта адресы итеп ошо адресты күрһәткән.\n\nБыл иҫәп яҙмаһы ысынлап та һеҙҙеке икәнен раҫлау һәм {{SITENAME}} сайтынан хат ебәреү мөмкинлектәрен яңынан тоҡандырыу өсөн, браузерығыҙҙа түбәндәге һылтанманы асығыҙ:\n\n$3\n\nӘгәр иҫәп яҙмаһы һеҙҙеке *түгел* икән,\nэлектрон почта адресын раҫлауҙы үткәрмәү өсөн түбәндәге һылтанманы асығыҙ:\n\n$5\n\nБыл раҫлау коды $4 ғәмәлдән сыға.",
        "confirmemail_invalidated": "Электрон почта адресын раҫлау туҡтатылды",
        "invalidateemail": "Электрон почта адресын раҫлауҙы туҡтатыу",
+       "notificationemail_subject_changed": "{{SITENAME}} өсөн электрон почтаһы адресы үҙгәртелгән",
+       "notificationemail_subject_removed": "{{SITENAME}} теркәлгән электрон почта адресы юйылған",
+       "notificationemail_body_changed": "Кемдер, бәлки һеҙҙер, $1 IP-адресынан, {{SITENAME}} \"$3\" да \"$2\" иҫәп яҙмаһының электрон почтаһы адресын үҙгәрткән.\n\nӘгәр быны һеҙ эшләмәһәгеҙ, тиҙ генә сайттың администраторына белгертегеҙ.",
+       "notificationemail_body_removed": "Кемдер, бәлки һеҙҙер, $1 IP-адресынан, {{SITENAME}} та \"$2\" иҫәп яҙмаһының электрон почтаһы адресын юйған.\n\nӘгәр быны һеҙ эшләмәһәгеҙ, тиҙ генә сайттың администраторына белгертегеҙ.",
        "scarytranscludedisabled": "[Интервики индереү мөмкинлеге һүндерелгән]",
        "scarytranscludefailed": "[$1 ҡалыбына мөрәжәғәт итеү хатаһы]",
        "scarytranscludefailed-httpstatus": "[$1 өсөн ҡалып алып булманы: HTTP $2]",
        "confirmrecreate": "[[User:$1|$1]] ([[User talk:$1|фекер алышыу]]) был битте һеҙ мөхәррирләй башлағандан һуң юйған, сәбәбе:\n: ''$2''\nЗинһар, был битте ысынлап та яңынан булдырырға теләүегеҙҙе раҫлағыҙ.",
        "confirmrecreate-noreason": "[[User:$1|$1]] ([[User talk:$1|фекер алышыу]]) һеҙ был битте мөхәррирләй башлағандан һуң юйған. Зинһар, был битте ысынлап та яңынан яһарға теләүегеҙҙе раҫлағыҙ.",
        "recreate": "Яңынан булдырырға",
+       "confirm-purge-title": "Был биттең кешын таҙартыу",
        "confirm_purge_button": "Тамам",
        "confirm-purge-top": "Был биттең кэшын таҙартырғамы?",
        "confirm-purge-bottom": "Биттең кэшы таҙартылғандан һун, уның һуңғы өлгөһө күрһәтеләсәк.",
index 7927eb9..28bf155 100644 (file)
        "rcfilters-restore-default-filters": "Аднавіць фільтры па змоўчаньні",
        "rcfilters-clear-all-filters": "Ачысьціць усе фільтры",
        "rcfilters-show-new-changes": "Праглядзець найноўшыя зьмены",
-       "rcfilters-previous-changes-label": "Раней прагледжаныя зьмены",
        "rcfilters-search-placeholder": "Фільтар апошніх зьменаў (праглядзець або пачніце друкаваць)",
        "rcfilters-invalid-filter": "Няслушны фільтар",
        "rcfilters-empty-filter": "Няма актыўных фільтраў. Паказаны ўвесь унёсак.",
        "rcfilters-filterlist-noresults": "Фільтры ня знойдзеныя",
        "rcfilters-noresults-conflict": "Няма вынікаў, бо крытэры пошуку супярэчаць адзін аднаму",
        "rcfilters-state-message-subset": "Гэты фільтар ня мае эфэкту, бо яго вынікі ўключаныя ў вынікі больш {{PLURAL:$2|шырокага фільтру|шырокіх фільтраў}} (паспрабуйце вылучэньне, каб вызначыць яго): $1",
-       "rcfilters-state-message-fullcoverage": "Выбар усіх фільтраў у групе — тое ж самае, што і выбар ніводнага, адпаведна, гэты фільтар ня мае эфэкту. Група ўключае: $1",
+       "rcfilters-state-message-fullcoverage": "Ð\92Ñ\8bбаÑ\80 Ñ\83Ñ\81Ñ\96Ñ\85 Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80аÑ\9e Ñ\83 Ð³Ñ\8dÑ\82ай Ð³Ñ\80Ñ\83пе â\80\94 Ñ\82ое Ð¶ Ñ\81амае, Ñ\88Ñ\82о Ñ\96 Ð²Ñ\8bбаÑ\80 Ð½Ñ\96воднага, Ð°Ð´Ð¿Ð°Ð²ÐµÐ´Ð½Ð°, Ð³Ñ\8dÑ\82Ñ\8b Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80 Ð½Ñ\8f Ð¼Ð°Ðµ Ñ\8dÑ\84Ñ\8dкÑ\82Ñ\83. Ð\93Ñ\80Ñ\83па Ñ\9eклÑ\8eÑ\87ае: $1",
        "rcfilters-filtergroup-authorship": "Аўтарства ўнёску",
        "rcfilters-filter-editsbyself-label": "Зьмены, зробленыя вамі",
        "rcfilters-filter-editsbyself-description": "Ваш уласны ўнёсак.",
        "rcfilters-filter-watchlist-watchednew-description": "Зьмены старонак у вашым сьпісе назіраньня, якія вы не наведвалі з моманту гэтых зьменаў.",
        "rcfilters-filter-watchlist-notwatched-label": "Ня ў сьпісе назіраньня",
        "rcfilters-filter-watchlist-notwatched-description": "Усё, за выключэньнем зьменаў старонак з вашага сьпісу назіраньня.",
+       "rcfilters-filtergroup-watchlistactivity": "Актыўнасьць у сьпісе назіраньня",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Непрагледжаныя зьмены",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Зьмены старонак, якія вы не наведвалі пасьля гэтых зьменаў.",
        "rcfilters-filtergroup-changetype": "Тып зьмены",
        "rcfilters-filter-pageedits-label": "Рэдагаваньні старонкі",
        "rcfilters-filter-pageedits-description": "Рэдагаваньні вікізьместу, абмеркаваньняў, апісаньняў катэгорыяў…",
        "pageswithprop-legend": "Старонкі з уласьцівасьцямі старонак",
        "pageswithprop-text": "На гэтай старонцы адлюстроўваюцца старонкі, якія ўжываюць пэўную ўласьцівасьць старонкі.",
        "pageswithprop-prop": "Імя ўласьцівасьці:",
+       "pageswithprop-reverse": "Сартаваць у адваротным парадку",
+       "pageswithprop-sortbyvalue": "Сартаваць паводле значэньня ўласьцівасьці",
        "pageswithprop-submit": "Паказаць",
        "pageswithprop-prophidden-long": "доўгае тэкставае значэньне ўласьцівасьці схавана ($1)",
        "pageswithprop-prophidden-binary": "двайковае значэньне ўласьцівасьці схавана ($1)",
        "pageinfo-toolboxlink": "Зьвесткі пра старонку",
        "pageinfo-redirectsto": "Перанакіроўвае на",
        "pageinfo-redirectsto-info": "інфармацыя",
-       "pageinfo-contentpage": "Лічыцца артыкулам",
+       "pageinfo-contentpage": "Лічыцца як старонка зь зьместам",
        "pageinfo-contentpage-yes": "Так",
        "pageinfo-protect-cascading": "Адсюль пачынаецца каскадная абарона",
        "pageinfo-protect-cascading-yes": "Так",
index f7ccc4d..df73812 100644 (file)
@@ -40,7 +40,8 @@
                        "Spas.Z.Spasov",
                        "АдмиралАнимЕ",
                        "Irus",
-                       "Kareyac"
+                       "Kareyac",
+                       "ShockD"
                ]
        },
        "tog-underline": "Подчертаване на препратките:",
        "virus-unknownscanner": "непознат антивирус:",
        "logouttext": "<strong>Излязохте от системата.</strong>\n\nОбърнете внимание, че някои страници все още ще се показват така, сякаш сте влезли, докато не изтриете кеша на браузъра.",
        "cannotlogoutnow-title": "Не може да излезете сега",
+       "cannotlogoutnow-text": "Излизането не е възможно, когато се използва $1.",
        "welcomeuser": "Здравейте, $1!",
        "welcomecreation-msg": "Вашата сметка беше създадена.\nМожете да промените [[Special:Preferences|настройките на {{SITENAME}}]] според предпочитанията си.",
        "yourname": "Потребителско име:",
        "cannotlogin-title": "Не може да влезете в",
        "cannotlogin-text": "Влизането в системата не е възможно.",
        "cannotloginnow-title": "Не може да влезете сега",
+       "cannotloginnow-text": "Влизането не е възможно, когато се използва $1.",
        "cannotcreateaccount-title": "Невъзможно е да бъде създадена потребителска сметка",
+       "cannotcreateaccount-text": "Директното създаване на сметки не е позволено в това Уики.",
        "yourdomainname": "Вашият домейн:",
        "password-change-forbidden": "Не можете да променяте пароли в това уики.",
        "externaldberror": "Възникна грешка в базата от данни при външното удостоверяване, или не ви е позволено да обновявате външната си сметка.",
        "permissionserrorstext": "Нямате правата да извършите това действие по {{PLURAL:$1|следната причина|следните причини}}:",
        "permissionserrorstext-withaction": "Нямате разрешение за $2 поради {{PLURAL:$1|следната причина|следните причини}}:",
        "recreate-moveddeleted-warn": "<strong>Внимание: Създавате страница, която по-рано вече е била изтрита.</strong>\n\nОбмислете добре дали е уместно повторното създаване на страницата.\nЗа ваша информация по-долу е посочена причината за предишното изтриване на страницата:",
-       "moveddeleted-notice": "Тази Ñ\81Ñ\82Ñ\80аниÑ\86а Ðµ Ð±Ð¸Ð»Ð° Ð¸Ð·Ñ\82Ñ\80иÑ\82а.\nÐ\97а Ñ\81пÑ\80авка, Ð¿Ð¾-долÑ\83 Ñ\81а Ð²ÐºÐ»Ñ\8eÑ\87ени Ð¸Ð·Ð²Ð°Ð´ÐºÐ¸ Ð¾Ñ\82 Ð´Ð½ÐµÐ²Ð½Ð¸Ñ\86иÑ\82е Ð½Ð° Ð¸Ð·Ñ\82Ñ\80иваниÑ\8fÑ\82а Ð¸ Ð¿Ñ\80емеÑ\81Ñ\82ваниÑ\8fÑ\82а.",
+       "moveddeleted-notice": "Тази Ñ\81Ñ\82Ñ\80аниÑ\86а Ðµ Ð¸Ð·Ñ\82Ñ\80иÑ\82а.\nÐ\94невниÑ\86иÑ\82е Ð½Ð° Ð¸Ð·Ñ\82Ñ\80иваниÑ\8fÑ\82а, Ð·Ð°Ñ\89иÑ\82иÑ\82е Ð¸ Ð¿Ñ\80емеÑ\81Ñ\82ваниÑ\8fÑ\82а Ðµ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½ Ð¿Ð¾-долÑ\83.",
        "log-fulllog": "Преглеждане на пълния дневник",
        "edit-hook-aborted": "Редакцията беше прекъсната от кука.\nНе беше посочена причина за това.",
        "edit-gone-missing": "Страницата не можа да се обнови.\nВероятно междувременно е била изтрита.",
        "filetype-unwanted-type": "<strong>„.$1“</strong> е нежелан файлов формат.\n{{PLURAL:$3|Препоръчителният файлов формат е|Препоръчителните файлови формати са}} $2.",
        "filetype-banned-type": "'''„.$1“''' не {{PLURAL:$4|е позволен файлов формат|са позволени файлови формати}}. {{PLURAL:$3|Позволеният файлов формат е|Позволените файлови формати са}} $2.",
        "filetype-missing": "Файлът няма разширение (напр. „.jpg“).",
-       "empty-file": "Ð\9fодадениÑ\8fÑ\82 Ð¾Ñ\82 Ð²Ð°Ñ\81 Ñ\84айл Ð±ÐµÑ\88е Ð¿Ñ\80азен.",
+       "empty-file": "Подаденият от вас файл е празен.",
        "file-too-large": "Подаденият от вас файл беше твърде голям.",
        "filename-tooshort": "Името на файла е твърде кратко.",
        "filetype-banned": "Този тип файл е забранен.",
        "unknown-error": "Възникна неизвестна грешка.",
        "tmp-create-error": "Грешка при създаването на временен файл.",
        "tmp-write-error": "Грешка при записа на временен файл.",
-       "large-file": "Ð\9dе Ñ\81е Ð¿Ñ\80епоÑ\80Ñ\8aÑ\87ва Ñ\84айловеÑ\82е Ð´Ð° Ñ\81е по-големи от $1; този файл е $2.",
+       "large-file": "Ð\9dе Ñ\81е Ð¿Ñ\80епоÑ\80Ñ\8aÑ\87ва Ñ\84айловеÑ\82е Ð´Ð° Ñ\81а по-големи от $1; този файл е $2.",
        "largefileserver": "Файлът е по-голям от допустимия от сървъра размер.",
        "emptyfile": "Каченият от вас файл е празен. Това може да е предизвикано от грешка в името на файла. Уверете се дали наистина желаете да го качите.",
        "windows-nonascii-filename": "Уикито не поддържа имена на файлове със специални знаци.",
        "watchlist-details": "{{PLURAL:$1|Една наблюдавана страница|$1 наблюдавани страници}} от списъка Ви за наблюдение (без беседи).",
        "wlheader-enotif": "Известяването по е-поща е включено.",
        "wlheader-showupdated": "Страниците, които са били променени след последния път, когато сте ги посетили, са показани в '''получер'''.",
-       "wlnote": "{{PLURAL:$1|Показана е последната промяна|Показани са последните <strong>$1</strong> промени}} през {{PLURAL:$2|последния час|последните <strong>$2</strong> часа}}, започвайки от от $3, $4.",
+       "wlnote": "{{PLURAL:$1|Показана е последната промяна|Показани са последните <strong>$1</strong> промени}} през {{PLURAL:$2|последния час|последните <strong>$2</strong> часа}}, започвайки от $3, $4.",
        "wlshowlast": "Показване на последните $1 часа $2 дни",
        "watchlist-hide": "Скриване",
        "watchlist-submit": "Показване",
        "compare-invalid-title": "Посоченото заглавие е невалидно.",
        "compare-title-not-exists": "Посоченото заглавие не съществува.",
        "compare-revision-not-exists": "Посочената версия не съществува.",
+       "diff-form": "'''формуляр'''",
        "dberr-problems": "Съжаляваме! Сайтът изпитва технически затруднения.",
        "dberr-again": "Изчакайте няколко минути и опитайте да презаредите.",
        "dberr-info": "(Няма достъп до базата от данни: $1)",
        "logentry-delete-delete": "$1 {{GENDER:$2|изтри}} страницата $3",
        "logentry-delete-delete_redir": "$1 {{GENDER:$2|изтри}} пренасочване $3 чрез препокриване",
        "logentry-delete-restore": "$1 {{GENDER:$2|възстанови}} страницата $3 ($4)",
+       "logentry-delete-event": "$1 {{GENDER:$2|промени}} видимостта на {{PLURAL:$5|едно събитие|$5 събития}} от дневника в $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|промени}} видимостта на {{PLURAL:$5|една редакция|$5 редакции}} в страница $3: $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|промени}} видимостта на събитията от дневниците за страница $3",
        "logentry-delete-revision-legacy": "$1 {{GENDER:$2|промени}} видимостта на версиите на страница $3",
        "revdelete-content-hid": "скрито съдържание",
        "revdelete-summary-hid": "скрито резюме на редакцията",
        "revdelete-uname-hid": "скрито потребителско име",
+       "revdelete-content-unhid": "показано съдържание",
+       "revdelete-summary-unhid": "показано резюме на редакцията",
+       "revdelete-uname-unhid": "показано потребителско име",
        "revdelete-restricted": "добавени ограничения за администраторите",
        "revdelete-unrestricted": "премахнати ограничения за администраторите",
        "logentry-block-block": "$1 {{GENDER:$2|блокира }} {{GENDER:$4|$3}} със срок на изтичане $5 $6",
        "logentry-newusers-create2": "$1 {{GENDER:$2|създаде}} потребителска сметка $3",
        "logentry-newusers-byemail": "$1 {{GENDER:$2|създаде}} потребителската сметка $3, като паролата за нея беше изпратена по е-поща",
        "logentry-newusers-autocreate": "Сметката $1 беше {{GENDER:$2|създадена}} автоматично",
+       "logentry-protect-protect": "\n$1 {{GENDER:$2|защити}} $3 $4",
+       "logentry-protect-protect-cascade": "$1 {{GENDER:$2|защити}} $3 $4 [каскадно]",
        "logentry-rights-rights": "$1 {{GENDER:$2|промени}} потребителската група на {{GENDER:$6|$3}} от $4 на $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|промени}} потребителската група на $3",
        "logentry-rights-autopromote": "$1 е автоматично {{GENDER:$2|повишен|повишена}} от $4 до $5",
index 3bd3da1..3ca3fd5 100644 (file)
        "permissionserrorstext-withaction": "नीचे दिहल {{PLURAL:$1|कारण|कारणन}} के चलते रउआँ के $2 के परमीशन नइखे:",
        "contentmodelediterror": "रउआँ एह अवतरण के संपादन नइखीं कर सकत काहें से कि एकर सामग्री मॉडल <code>$1</code> बा जवन पन्ना के के वर्तमान मॉडल <code>$2</code> से अलग बाटे।",
        "recreate-moveddeleted-warn": "<strong>चेतावनी: रउआँ एगो अइसन पन्ना दुबारा बनावे जा रहल बानी जेवन पहिले हटावल जा चुकल बा</strong>\n\nआपके ई बिचार क लेवे के चाहीं की आगे संपादन कइल ठीक बा की ना।\n\nसुविधा खातिर, ए पन्ना के हटवले आ स्थानांतरण के लॉग नीचे दिहल जात बा:",
-       "moveddeleted-notice": "à¤\88 à¤ªà¤¨à¥\8dना à¤¹à¤\9fा à¤¦à¤¿à¤¹à¤² à¤\97à¤\87ल à¤¬à¤¾à¥¤\nसà¤\82दरà¥\8dभ à¤\96ातिर à¤¹à¤\9fावà¥\87 आ स्थानांतरण के लॉग नीचे दिहल जात बाटे।",
+       "moveddeleted-notice": "à¤\88 à¤ªà¤¨à¥\8dना à¤¹à¤\9fा à¤¦à¤¿à¤¹à¤² à¤\97à¤\87ल à¤¬à¤¾à¥¤\nसà¤\82दरà¥\8dभ à¤\96ातिर à¤¹à¤\9fवलà¥\87, à¤¸à¥\81रà¤\95à¥\8dषा आ स्थानांतरण के लॉग नीचे दिहल जात बाटे।",
        "moveddeleted-notice-recent": "माफ करीं, ई पन्ना हाले में हटा दिहल गइल बा (पछिला 24 घंटा के भीतर)।\nहटवले आ स्थानांतरण के लॉग हवाला खातिर नीचे दिहल जा रहल बा।",
        "log-fulllog": "पूरा लॉग देखीं",
        "edit-hook-aborted": "संपादन के हुक निरस्त क दिहलस।\nई कौनों कारन ना बतवलस।",
        "searchrelated": "संबंधित",
        "searchall": "सगरी",
        "showingresults": "नीचे देखावल जा रहल बा {{PLURAL:$1|'''1''' परिणाम|'''$1''' परिणाम}} #'''$2''' से शुरु होवे वाला।",
+       "search-showingresults": "{{PLURAL:$4|<strong>$1</strong> के रिजल्ट <strong>$3</strong>|<strong>$3</strong> में से <strong>$1 - $2</strong> के रिजल्ट}}",
        "search-nonefound": "राउर खोज से मेल खात कौनों परिणाम नइखे मिलत",
        "powersearch-legend": "उन्नत खोज",
        "powersearch-ns": "सन्दर्भ में खोजीं",
        "metadata-help": "ए फाइल में एक्स्ट्रा जानकारी उपलब्ध बा, हो सकत बा कि ई डिजिटल कैमरा या स्कैनर से लेवल गइल होखे। अगर ई वर्तमान फाइल एकरी ओरिजनल फाइल से सुधार के बनल बा त हो सकेला कुछ जानकारी ना लउके।",
        "metadata-expand": "विस्तृत विवरण देखाईं",
        "metadata-collapse": "विस्तृत विवरण छुपाँईं",
+       "metadata-fields": "एह सनेसा में बतावल गइल इमेज मेटाडेटा फील्ड सभ इमेज के पन्ना पर के डिस्प्ले में शामिल कइल जइहें जब मेटाडेटा सारणी के सिकुड़ा दिहल गइल होखी।\nबाकी सगरी डिफाल्ट रूप से छिपल रहिहें।\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "चौड़ाई",
        "exif-imagelength": "ऊँचाई",
        "exif-bitspersample": "अवयव प्रति बीट",
index d45d38e..28755d8 100644 (file)
        "contentmodelediterror": "আপনি এই পুনর্বিবেচনা সম্পাদনা করতে পারবেন না কারণ এর বিষয়বস্তু মডেল <code>$1</code>, যা বর্তমান বিষয়বস্তু মডেল <code>$2</code>-এর থেকে ভিন্ন।",
        "recreate-moveddeleted-warn": "'''সতর্কীকরণ: আপনি এমন একটি পাতা পুনরায় তৈরি করছেন যা পূর্বে অপসারণ করা হয়েছিল।'''\n\nআপনি পাতাটি সম্পাদনা চালিয়ে যাওয়া ঠিক হবে কিনা, তা বিবেচনা করুন।\nআপনার সুবিধার্থে পাতাটির অপলুপ্তি লগ এখানে দেয়া হলো:",
        "moveddeleted-notice": "এই পাতাটি অপসারণ করা হয়েছে।\nসূত্র হিসেবে নিচে এ পাতার অবলুপ্তি লগ দেওয়া হলো।",
-       "moveddeleted-notice-recent": "দুঃখিত, এই পাতাটি সাম্প্রতি অপসারিত হয়েছে (সর্বশেষ ২৪ ঘণ্টায়)।\nসূত্র হিসেবে নিচে এই পাতা অপসারণ ও স্থানান্তর লগ দেয়া হয়েছে।",
+       "moveddeleted-notice-recent": "দুঃখিত, এই পাতাটি সাম্প্রতি অপসারিত হয়েছে (সর্বশেষ ২৪ ঘণ্টায়)।\nসূত্র হিসেবে নিচে এই পাতা অপসারণ, সুরক্ষা ও স্থানান্তর লগ দেয়া হয়েছে।",
        "log-fulllog": "সম্পূর্ণ লগ দেখুন",
        "edit-hook-aborted": "হূক দ্বারা সম্পাদনা পরিত্যক্ত হয়েছে।\nএর কোন ব্যাখ্যা নাই।",
        "edit-gone-missing": "পাতাটি হালনাগাদ হয়নি।\nসম্ভবতঃ পাতাটি মুছে ফেলা হয়েছে।",
        "compare-invalid-title": "আপনার প্রদেয় শিরোনামটি সঠিক নয়।",
        "compare-title-not-exists": "আপনার কাঙ্ক্ষিত শিরোনামটি নেই।",
        "compare-revision-not-exists": "আপনার কাঙ্ক্ষিত সংস্করণটি নেই।",
-       "diff-form": "à¦\8fà¦\95à¦\9fি '''ফরম'''",
+       "diff-form": "পারà§\8dথà¦\95à§\8dয",
        "permanentlink-submit": "এই সংশোধনে যান",
        "dberr-problems": " দুঃখিত! এই সাইটটি বর্তমানে কারীগরী অসুবিধার মুখোমুখি হয়েছে।",
        "dberr-again": "কয়েক মিনিট পর পুনরায় পরিদর্শনের চেষ্টা করুন।",
index 1bce36f..5ef5d9f 100644 (file)
        "filerevert-identical": "Trenutna verzija datoteke identična je izabranoj.",
        "filedelete": "Obriši $1",
        "filedelete-legend": "Obriši datoteku",
-       "filedelete-intro": "Brišete datoteku '''[[Media:$1|$1]]''' zajedno sa svom njenom historijom.",
+       "filedelete-intro": "Brišete datoteku <strong>[[Media:$1|$1]]</strong> zajedno sa svom njenom historijom.",
        "filedelete-intro-old": "Brišete verziju datoteke '''[[Media:$1|$1]]''' od [$4 $3, $2].",
        "filedelete-comment": "Razlog:",
        "filedelete-submit": "Obriši",
-       "filedelete-success": "'''$1''' je obrisano.",
+       "filedelete-success": "Datoteka <strong>$1</strong> je obrisana.",
        "filedelete-success-old": "Verzija datoteke '''[[Media:$1|$1]]''' od $3, $2 je obrisana.",
        "filedelete-nofile": "'''$1''' ne postoji.",
        "filedelete-nofile-old": "Ne postoji arhivirana verzija '''$1''' sa navedenim atributima.",
index c6c91c5..3cecdd7 100644 (file)
@@ -86,7 +86,7 @@
        "tog-shownumberswatching": "Mostra el nombre d'usuaris que hi vigilen",
        "tog-oldsig": "La vostra signatura actual:",
        "tog-fancysig": "Tractar la signatura com a text wiki (sense enllaç automàtic)",
-       "tog-uselivepreview": "Utilitza la previsualització automàtica",
+       "tog-uselivepreview": "Mostra previsualitzacions sense recarregar la pàgina",
        "tog-forceeditsummary": "Avisa'm en deixar el resum de la modificació en blanc",
        "tog-watchlisthideown": "Amaga les meues edicions de la llista de seguiment",
        "tog-watchlisthidebots": "Amaga de la llista de seguiment les edicions fetes per usuaris bots",
        "permissionserrorstext-withaction": "No teniu permís per a $2, {{PLURAL:$1|pel motiu següent|pels motius següents}}:",
        "contentmodelediterror": "No podeu modificar aquesta revisió perquè el seu model de contingut és <code>$1</code>, que difereix del model de contingut actual de la pàgina <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Avís: esteu creant una pàgina que s'ha suprimit prèviament.'''\n\nHauríeu de considerar si és realment necessari continuar editant aquesta pàgina.\nA continuació s'ofereix el registre de supressions i de reanomenaments de la pàgina:",
-       "moveddeleted-notice": "S'ha suprimit aquesta pàgina.\nA continuació us mostrem com a referència el registre d'esborraments i reanomenaments de la pàgina.",
-       "moveddeleted-notice-recent": "S’ha suprimit aquesta pàgina recentment (en les últimes 24 hores).\nA continuació us mostrem com a referència el registre de supressions i reanomenaments de la pàgina.",
+       "moveddeleted-notice": "S'ha suprimit aquesta pàgina.\nA continuació us mostrem com a referència el registre d'esborraments, proteccions i reanomenaments de la pàgina.",
+       "moveddeleted-notice-recent": "S’ha suprimit aquesta pàgina recentment (en les últimes 24 hores).\nA continuació us mostrem com a referència el registre de supressions, proteccions i reanomenaments de la pàgina.",
        "log-fulllog": "Veure tot el registre",
        "edit-hook-aborted": "Modificació avortada pel hook.\nNo s'ha donat cap explicació.",
        "edit-gone-missing": "No s'ha pogut actualitzar la pàgina.\nSembla haver estat esborrada.",
        "prefs-editwatchlist-clear": "Neteja la llista de seguiment",
        "prefs-watchlist-days": "Nombre de dies per mostrar en la llista de seguiment:",
        "prefs-watchlist-days-max": "Màxim $1 {{PLURAL:$1|dia|dies}}",
-       "prefs-watchlist-edits": "Nombre de modificacions a mostrar en una llista estesa de seguiment:",
+       "prefs-watchlist-edits": "Nombre màxim de modificacions a mostrar en la llista de seguiment:",
        "prefs-watchlist-edits-max": "Nombre màxim: 1000",
        "prefs-watchlist-token": "Testimoni de llista de seguiment:",
        "prefs-misc": "Altres preferències",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vegeu també la [[Special:NewPages|llista de pàgines noves]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Mostra",
+       "rcfilters-legend-heading": "<strong>Llista d'abreviatures:</strong>",
+       "rcfilters-other-review-tools": "<strong>Altres eines de supervisió</strong>",
        "rcfilters-group-results-by-page": "Agrupa els resultats per pàgina",
+       "rcfilters-grouping-title": "Agrupació",
        "rcfilters-activefilters": "Filtres actius",
+       "rcfilters-advancedfilters": "Filtres avançats",
+       "rcfilters-days-title": "Darrers dies",
        "rcfilters-hours-title": "Hores recents",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|dia|dies}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hora|hores}}",
        "rcfilters-quickfilters": "Filtres desats",
        "rcfilters-quickfilters-placeholder-title": "Encara no s’ha desat cap enllaç",
        "rcfilters-savedqueries-defaultlabel": "Filtres desats",
        "rcfilters-savedqueries-setdefault": "Defineix per defecte",
        "rcfilters-savedqueries-remove": "Suprimeix",
        "rcfilters-savedqueries-new-name-label": "Nom",
+       "rcfilters-savedqueries-new-name-placeholder": "Descriviu el propòsit del filtre",
        "rcfilters-savedqueries-apply-label": "Crea un filtre",
        "rcfilters-savedqueries-cancel-label": "Cancel·la",
        "rcfilters-savedqueries-add-new-title": "Desa els paràmetres de filtres actuals",
        "rcfilters-invalid-filter": "Filtre no vàlid",
        "rcfilters-empty-filter": "No hi ha cap filtre actiu. Es mostren totes les contribucions.",
        "rcfilters-filterlist-title": "Filtres",
-       "rcfilters-filterlist-whatsthis": "Què és això?",
+       "rcfilters-filterlist-whatsthis": "Com funciona això?",
        "rcfilters-highlightbutton-title": "Ressalta els resultats",
        "rcfilters-highlightmenu-title": "Selecciona un color",
        "rcfilters-highlightmenu-help": "Seleccioneu un color per ressaltar la propietat",
        "rcfilters-filter-categorization-description": "Registres de pàgines afegides o suprimides de les categories.",
        "rcfilters-filter-logactions-label": "Accions registrades",
        "rcfilters-filter-logactions-description": "Accions administratives, creacions de comptes, eliminacions de pàgines, càrregues…",
-       "rcfilters-filtergroup-lastRevision": "Darrera revisió",
+       "rcfilters-filtergroup-lastRevision": "Darreres revisions",
        "rcfilters-filter-lastrevision-label": "Darrera revisió",
        "rcfilters-filter-lastrevision-description": "El canvi més recent a una pàgina.",
        "rcfilters-filter-previousrevision-label": "Revisions anteriors",
        "compare-invalid-title": "El títol que heu especificat no és vàlid.",
        "compare-title-not-exists": "El títol que heu especificat no existeix.",
        "compare-revision-not-exists": "La revisió que heu especificat no existeix.",
-       "diff-form": "un '''formulari'''",
+       "diff-form": "Diferències",
        "dberr-problems": "Ho sentim. Aquest lloc web està experimentant dificultats tècniques.",
        "dberr-again": "Intenteu esperar uns minuts i tornar a carregar.",
        "dberr-info": "(No es pot accedir a la base de dades: $1)",
index e6c038a..4e83851 100644 (file)
        "compare-rev2": "پێداچوونەوەی ٢",
        "compare-submit": "ھەڵسەنگاندن",
        "compare-invalid-title": "ئەم سەردێڕە دەستنیشانت کردووە نادروستە.",
+       "diff-form": "یەک '''فۆرم'''",
        "dberr-problems": "ببورە! ئەم ماڵپەڕە ئێستا خەریک ئەزموونێکی کێشەی تەکنیکیە.",
        "dberr-again": "چەن خولک ڕاوەستە و نوێی بکەوە.",
        "dberr-info": "(ناتوانیت بگەیت بە بنکەدراو: $1)",
        "revdelete-unrestricted": "ئەو سنووری بەرگریانەی لابردراوە لە سەر بەڕێوبەران",
        "logentry-block-block": "$1 {{GENDER:$4|$3}}ی بۆ ماوەی $5 {{GENDER:$2|بەربەست کرد}} $6",
        "logentry-move-move": "$1 پەڕەی $3ی {{GENDER:$2|گواستەوە}} بۆ $4",
-       "logentry-move-move-noredirect": "$1 پەڕەی $3ی بەبێ بەجێھشتنی ڕەوانەکەرێک {{GENDER:$2|گواستەوە}} بۆ $4",
+       "logentry-move-move-noredirect": "$1 پەڕەی $3ی بە بێ بەجێھشتنی ڕەوانەکەرێک {{GENDER:$2|گواستەوە}} بۆ $4",
        "logentry-move-move_redir": "$1 پەڕەی $3 {{GENDER:$2|گواستەوە}} بۆ $4 کە پێشتر ڕەوانەکەر بوو",
        "logentry-move-move_redir-noredirect": "$1 پەڕەی $3ی بەبێ بەجێھشتنی ڕەوانەکەرێک {{GENDER:$2|گواستەوە}} بۆ $4 کە پێشتر ڕەوانەکەر بوو",
        "logentry-patrol-patrol": "$1 پێداچوونەوەی $4ی پەڕەی $3 وەک پاس دراو {{GENDER:$2|نیشان کرد}}",
        "logentry-rights-rights": "$1 ئەندامێتیی {{GENDER:$6|$3}}ی لە $4 بۆ $5 {{GENDER:$2|گۆڕی}}",
        "logentry-upload-upload": "$1 $3ی {{GENDER:$2|بار کرد}}",
        "logentry-upload-overwrite": "$1 وەشانێکی نوێی $3ی {{GENDER:$2|بار کرد}}",
+       "logentry-managetags-create": "$1 تاگی \"$4\"ی دروست کرد",
        "rightsnone": "(ھیچ)",
        "feedback-back": "گەڕانەوە",
        "feedback-cancel": "ھەڵوەشاندنەوە",
index ac75826..a4b923f 100644 (file)
        "rcfilters-restore-default-filters": "Obnovit výchozí filtry",
        "rcfilters-clear-all-filters": "Zrušit všechny filtry",
        "rcfilters-show-new-changes": "Zobrazit nejnovější změny",
-       "rcfilters-previous-changes-label": "Dříve prohlédnuté změny",
        "rcfilters-search-placeholder": "Filtrovat nedávné změny (prohlížejte nebo začněte psát)",
        "rcfilters-invalid-filter": "Neplatný filtr",
        "rcfilters-empty-filter": "Žádné aktivní filtry. Zobrazeny jsou všechny příspěvky.",
index 6a78683..c66fdf9 100644 (file)
        "index-category": "Indeksowóné starnë",
        "noindex-category": "Nieindeksowóné starnë",
        "broken-file-category": "Starnë lënkùjącé do nieegzystëjących lopków",
-       "about": "Ò serwise",
+       "about": "Ò serwisu",
        "article": "Artikel",
        "newwindow": "(òtmëkô sã w nowim òknie)",
        "cancel": "Anulëje",
        "permissionserrors": "Fela przistãpù",
        "permissionserrorstext-withaction": "Ni môsz przëstãpù do $2, z {{PLURAL:$1|nôslédny przëczënë|nôslédnych przëczënów}}:",
        "recreate-moveddeleted-warn": "<strong>Bôczënk! Chcesz usadzëc starnã, chtërna wczasni òsta rëmniãtô.</strong>\n\nÙgwësni sã, czë pònowné ùsôdzenié ti starnë je kònieczné. \nNiżi je widzec register rëmaniów i zmian pòzwë ti starnë:",
-       "moveddeleted-notice": "Na starna òsta rëmniãtô.\nSpisënk rëmaniô ë zjinaków miona ti starnë je niżi.",
+       "moveddeleted-notice": "Na starna òsta rëmniãtô.\nDali je spisënk rëmaniô, zazychrowaniô ë przenoszeniô ti starnë.",
        "content-model-wikitext": "wikitekst",
        "undo-failure": "Edicëjô nié mògłą bëc copniãtô przez zwadã z midzëedicëją.",
        "undo-summary": "Anulowanié wersje $1 aùtora [[Special:Contributions/$2|$2]] ([[User talk:$2|diskùsjô]])",
index d4ad69f..85449b7 100644 (file)
        "tog-shownumberswatching": "Dangos y nifer o ddefnyddwyr sy'n gwylio",
        "tog-oldsig": "Eich llofnod cyfredol:",
        "tog-fancysig": "Trin y llofnod fel testun wici (heb gyswllt wici awtomatig)",
-       "tog-uselivepreview": "Defnyddio rhagolwg byw",
+       "tog-uselivepreview": "Defnyddio rhagolwg heb ail-lwytho'r ddalen",
        "tog-forceeditsummary": "Tynnu fy sylw pan adawaf flwch crynodeb golygu yn wag",
        "tog-watchlisthideown": "Cuddio fy ngolygiadau fy hunan yn fy rhestr wylio",
        "tog-watchlisthidebots": "Cuddio golygiadau bot yn fy rhestr wylio",
        "tog-watchlisthideminor": "Cuddio golygiadau bychain rhag y rhestr wylio",
        "tog-watchlisthideliu": "Cuddio golygiadau gan ddefnyddwyr mewngofnodedig rhag y rhestr wylio",
        "tog-watchlistreloadautomatically": "Ail-lwyther y Rhestr wylio yn otomatigpan newider ffiltr (angen JavaScript)",
+       "tog-watchlistunwatchlinks": "Ychwanegwch ddolenau 'gwylio/heb eu gwylio' i'r cofnodion rydych yn eu gwylio (angen JavaScript)",
        "tog-watchlisthideanons": "Cuddio golygiadau gan ddefnyddwyr anhysbys rhag y rhestr wylio",
        "tog-watchlisthidepatrolled": "Cuddio golygiadau sydd wedi derbyn ymweliad patrôl rhag y rhestr wylio",
        "tog-watchlisthidecategorization": "Cuddiwch y categoriau",
        "title-invalid-characters": "Mae'r ddalen a geisiwch yn cynnwys symbloau na ellir eu derbyn: \"$1\".",
        "title-invalid-relative": "Mae gan y teitl lwybr perthnasol. Mae cynnwys (./, ../) yn annilys, gan eu bod yn bygro'r porwr.",
        "title-invalid-magic-tilde": "Mae'r ddalen a geisiwch yn cynnwys symbolau annilys: (<nowiki>~~~</nowiki>).",
-       "title-invalid-too-long": "Mae teitl y ddalen a geisiwch yn rhy hir o lawer. Rhaid iddi fod yn llai na $1 {{PLURAL:$1|beit|beit}} mewn cod UTF-8.",
+       "title-invalid-too-long": "Mae teitl y ddalen a geisiwch yn rhy hir. Rhaid iddi fod yn llai na $1 {{PLURAL:$1|beit}} mewn cod UTF-8.",
        "title-invalid-leading-colon": "Mae teitl y ddalen a geisiwch yn cynnwys colon annilys, ar y dechrau.",
        "perfcached": "Mae'r wybodaeth ganlynol yn gopi cadw; mae'n bosib nad y fersiwn diweddaraf ydyw. Cedwir hyd at {{PLURAL:$1||un canlyniad yn unig|ddau ganlyniad|dri canlyniad|$1 chanlyniad|$1 canlyniad}} yn y copi cadw.",
        "perfcachedts": "Rhoddwyd y data canlynol ar gadw mewn celc a ddiweddarwyd ddiwethaf am $1. Cedwir hyd at {{PLURAL:$4||un canlyniad yn unig|ddau ganlyniad|dri canlyniad|$4 chanlyniad|$4 canlyniad}} yn y celc.",
        "protectedinterface": "Testun ar gyfer rhyngwyneb y wici yw cynnwys y dudalen hon. Clowyd y dudalen er mwyn ei diogeli. Os am gyfieithu'r neges neu ei newid ym mhob wici yn hytrach nag yn hwn yn unig, defnyddiwch [https://translatewiki.net/ translatewiki.net], y prosiect MediaWiki sy'n hyrwyddo'r gwaith cyfieithu.",
        "editinginterface": "<strong>Dalier sylw:</strong> Rydych yn golygu tudalen sy'n rhan o destun rhyngwyneb y meddalwedd. Bydd newidiadau i'r dudalen hon yn effeithio ar y rhyngwyneb a ddefnyddir ar y wici hwn yn unig.",
        "translateinterface": "I ychwanegu neu newid y cyfieithiad ar gyfer pob wici, defnyddiwch [https://translatewiki.net/ translatewiki.net], sef prosiect lleol MediaWiki.",
-       "cascadeprotected": "Diogelwyd y ddalen hon rhag ei newid, oherwydd ei bod wedi ei chynnwys yn y {{PLURAL:$1|ddalen ganlynol|ddalen ganlynol|dalennau canlynol|dalennau canlynol|dalennau canlynol|dalennau canlynol}}, a ddiogelwyd, a'r dewisiad hwn yn weithredol: $2",
+       "cascadeprotected": "Diogelwyd y ddalen hon rhag ei newid, oherwydd ei bod wedi ei chynnwys yn y {{PLURAL:$1|ddalen ganlynol|dalennau canlynol}}, a ddiogelwyd, gyda'r dewisiad hwn yn weithredol: $2",
        "namespaceprotected": "Nid oes caniatâd gennych i olygu tudalennau yn y parth '''$1'''.",
        "customcssprotected": "Nid oes caniatâd ganddoch i olygu'r dudalen CSS hon oherwydd bod gosodiadau personol defnyddiwr arall arno.",
        "customjsprotected": "Nid oes caniatâd ganddoch i olygu'r dudalen JavaScript hon oherwydd bod gosodiadau personol defnyddiwr arall arno.",
        "mypreferencesprotected": "Nid oes caniatad gennych i olygu eich dewisiadau eich hunan.",
        "ns-specialprotected": "Ni ellir golygu tudalennau arbennig.",
        "titleprotected": "Diogelwyd y teitl hwn rhag ei greu gan [[User:$1|$1]].\nRhoddwyd y rheswm hwn - <em>$2</em>.",
-       "filereadonlyerror": "Nid oes modd newid y ffeil \"$1\" oherwydd nad oes modd gwneud dim heblaw darllen storfa'r ffeil yn \"$2\" yn unig.\n\nY rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw \"''$3''\".",
+       "filereadonlyerror": "Nid oes modd newid y ffeil \"$1\" gan fod ffeil \"$2\" yn y modd 'darllen-yn-unig'.\n\nY rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw \"''$3''\".",
        "invalidtitle-knownnamespace": "Teitl annilys o'r enw \"$3\" yn y parth \"$2\"",
        "invalidtitle-unknownnamespace": "Teitl annilys ag iddi'r rhif parth anhysbys $1 a'r enw \"$2\"",
        "exception-nologin": "Nid ydych wedi mewngofnodi",
        "createacct-email-ph": "Rhowch eich cyfeiriad ebost",
        "createacct-another-email-ph": "Rhowch y cyfeiriad e-bost",
        "createaccountmail": "Defnyddio cyfrinair ar hap dros dro a'i anfon i'r cyfeiriad e-bost a roddwyd",
+       "createaccountmail-help": "Gellir creu cyfri ar gyfer person arall heb ddysgu'r cyfrinair.",
        "createacct-realname": "Enw cywir (dewisiol)",
        "createacct-reason": "Rheswm",
        "createacct-reason-ph": "Pam ydych yn creu cyfrif arall?",
        "noname": "Dydych chi ddim wedi cynnig enw defnyddiwr dilys.",
        "loginsuccesstitle": "Llwyddodd y mewngofnodi",
        "loginsuccess": "'''Yr ydych wedi mewngofnodi i {{SITENAME}} fel \"$1\".'''",
-       "nosuchuser": "Does dim defnyddiwr o'r enw \"$1\".\nMae'r rhaglen yn gwahaniaethu rhwng llythrennau bach a mawr.\nSicrhewch eich bod chi wedi sillafu'r enw'n gywir, neu [[Special:CreateAccount|crëwch gyfrif newydd]].",
+       "nosuchuser": "Does dim defnyddiwr o'r enw \"$1\".\nMae'r rhaglen yn gwahaniaethu rhwng llythrennau bach a mawr.\nGwirwch eich sillafu, neu [[Special:CreateAccount|crëwch gyfrif newydd]].",
        "nosuchusershort": "Does dim defnyddiwr o'r enw \"$1\". Gwiriwch eich sillafu.",
        "nouserspecified": "Mae'n rhaid nodi enw defnyddiwr.",
        "login-userblocked": "Mae'r defnyddiwr hwn wedi ei flocio. Ni ellir mewngofnodi.",
        "eauthentsent": "Anfonwyd e-bost o gadarnhâd at y cyfeiriad a benwyd.\nCyn y gellir anfon unrhywbeth arall at y cyfeiriad hwnnw rhaid i chi ddilyn y cyfarwyddiadau yn yr e-bost er mwyn cadarnhau mai chi sydd berchen y cyfeiriad hwnnw.",
        "throttled-mailpassword": "Anfonwyd e-bost atoch eisoes i'ch atgoffa o'ch cyfrinair, a hynny yn ystod y $1 {{PLURAL:$1|awr}} diwethaf.\nEr mwyn rhwystro camddefnydd, dim ond un e-bost i'ch atgoffa o'ch cyfrinair gaiff ei anfon bob yn $1 {{PLURAL:$1|awr}}.",
        "mailerror": "Gwall wrth ddanfon yr e-bost: $1",
-       "acct_creation_throttle_hit": "Mae ymwelwyr sy'n defnyddio'ch cyfeiriad IP wedi creu $1 {{PLURAL:$1|cyfrif|cyfrif|gyfrif|chyfrif|chyfrif|cyfrif}} yn ystod y diwrnod diwethaf, sef y mwyafswm a ganiateir mewn diwrnod.\nFelly ni chaiff defnyddwyr sy'n defnyddio'r cyfeiriad IP hwn greu rhagor o gyfrifon ar hyn o bryd.",
+       "acct_creation_throttle_hit": "Mae ymwelwyr sy'n defnyddio'ch cyfeiriad IP wedi creu $1 {{PLURAL:$1|cyfrif|cyfrif|gyfrif|chyfrif|chyfrif|cyfrif}} yn ystod y $2 diwethaf, sef yr uchafswm a ganiateir yn y cyfnod hwn.\nO ganlyniad, ni chaiff defnyddwyr sy'n defnyddio'r cyfeiriad IP hwn greu rhagor o gyfrifon ar hyn o bryd.",
        "emailauthenticated": "Cadarnhawyd eich cyfeiriad e-bost am $3 ar $2.",
        "emailnotauthenticated": "Nid yw eich cyfeiriad e-bost wedi'i gadarnhau eto. Ni fydd unrhyw negeseuon e-bost yn cael eu hanfon atoch ar gyfer y nodweddion canlynol.",
        "noemailprefs": "Mae'n rhaid i chi gynnig cyfeiriad e-bost er mwyn i'r nodweddion hyn weithio.",
        "createaccount-title": "Creu cyfrif ar {{SITENAME}}",
        "createaccount-text": "Creodd rhywun gyfrif o'r enw $2 ar {{SITENAME}} ($4) ar gyfer y cyfeiriad e-bost hwn. \"$3\" yw'r cyfrinair ar gyfer \"$2\". Dylech fewngofnodi a newid eich cyfrinair yn syth.\n\nRhydd ichi anwybyddu'r neges hon os mai camgymeriad oedd creu'r cyfrif.",
        "login-throttled": "Rydych wedi ceisio mewngofnodi gormod o weithiau ar ben ei gilydd.\nOedwch $1 cyn mentro eto.",
-       "login-abort-generic": "Ni lwyddodd y mewngofnodi - Rhoddwyd y gorau iddo",
+       "login-abort-generic": "Ni lwyddodd y mewngofnodi",
        "login-migrated-generic": "Trosglwyddwyd eich cyfrif ac nid yw eich enw defnyddiwr bellach yn bodoli ar y wici hwn.",
        "loginlanguagelabel": "Iaith: $1",
        "suspicious-userlogout": "Gwrthodwyd eich cais i allgofnodi oherwydd ei fod yn ymddangos mai gweinydd wedi torri neu ddirprwy gelc a anfonodd y cais.",
        "permissionserrorstext": "Nid yw'r gallu ganddoch i weithredu yn yr achos yma, am y {{PLURAL:$1|rheswm|rheswm|rhesymau|rhesymau|rhesymau|rhesymau}} canlynol:",
        "permissionserrorstext-withaction": "Nid yw'r gallu hwn ($2) ganddoch, am y {{PLURAL:$1|rheswm|rheswm|rhesymau|rhesymau|rhesymau|rhesymau}} canlynol:",
        "recreate-moveddeleted-warn": "'''Dalier sylw: Rydych yn ail-greu tudalen a ddilewyd rhywdro.'''\n\nYstyriwch a fyddai'n dda o beth i barhau i olygu'r dudalen hon.\nDyma'r logiau dileu a symud ar gyfer y dudalen, er gwybodaeth:",
-       "moveddeleted-notice": "Dilëwyd y dudalen hon.\nDangosir y logiau dileu a symud ar gyfer y dudalen isod.",
+       "moveddeleted-notice": "Dilëwyd y ddalen hon.\nDangosir y logiau dileu, cloi a symud ar gyfer y ddalen isod.",
        "moveddeleted-notice-recent": "Ymddiheurwn! Dilewyd y ddalen hon yn ddiweddar (yn y 24 awr diwethaf).\nEr gwybodaeth, darperir isod yr holl wybodaeth berthnasol.",
        "log-fulllog": "Gweld y lòg cyflawn",
        "edit-hook-aborted": "Terfynwyd y golygiad cyn pryd gan fachyn.\nNi roddodd eglurhad.",
        "page_last": "olaf",
        "histlegend": "Cymharu dau fersiwn: marciwch y cylchoedd ar y ddau fersiwn i'w cymharu, yna pwyswch ar 'return' neu'r botwm 'Cymharer y fersiynau dewisedig'.<br />\nEglurhad: '''({{int:cur}})''' = gwahaniaethau rhyngddo a'r fersiwn cyfredol,\n'''({{int:last}})''' = gwahaniaethau rhyngddo a'r fersiwn cynt, '''({{int:minoreditletter}})''' = golygiad bychan",
        "history-fieldset-title": "Chwilio drwy'r hanes",
-       "history-show-deleted": "Y rhai a ddilëwyd yn unig",
+       "history-show-deleted": "Yr ddalen a adolygwyd yn unig a ddilëwyd",
        "histfirst": "cynharaf",
        "histlast": "diweddaraf",
        "historysize": "({{PLURAL:$1|$1 beit|$1 beit|$1 feit|$1 beit|$1 beit|$1 beit}})",
        "search-file-match": "(yn cyfateb i gynnwys y ffeil)",
        "search-suggest": "Ai am hyn y chwiliwch: $1",
        "search-rewritten": "Dangosir canlyniadauar gyfer $1. Chwiliwch am $2.",
-       "search-interwiki-caption": "Chwaer-brosiectau",
+       "search-interwiki-caption": "Canlyniadau o chhwaer-brosiectau",
        "search-interwiki-default": "Y canlyniadau o $1:",
        "search-interwiki-more": "(rhagor)",
        "search-interwiki-more-results": "rhagor o ganlyniadau",
        "prefs-editwatchlist-clear": "Clirio eich rhestr wylio",
        "prefs-watchlist-days": "Nifer y diwrnodau i'w dangos yn y rhestr wylio:",
        "prefs-watchlist-days-max": "Hyd at $1 {{PLURAL:$1||diwrnod|ddiwrnod|diwrnod|diwrnod|diwrnod}}",
-       "prefs-watchlist-edits": "Nifer y golygiadau i'w dangos wrth ehangu'r rhestr wylio:",
+       "prefs-watchlist-edits": "Uchafswm nifer y golygiadau i'w dangos yn eich rhestr wylio:",
        "prefs-watchlist-edits-max": "Hyd at uchafswm o 1000",
        "prefs-watchlist-token": "Tocyn y rhestr wylio:",
        "prefs-misc": "Amrywiol",
        "prefs-help-prefershttps": "Bydd y dewis yma'n cael ei roi ar waith y tro nesaf i chi fewngofnodi.",
        "prefswarning-warning": "Rydych wedi newid eich Dewisiadau, ac nid ydynt eto wedi'u cadw.\nOs gadewch y dudalen hon heb glicio \"$1\" yna fe gollwch y newidiadau hyn.",
        "prefs-tabs-navigation-hint": "Awgrym: Gallwch ddefnyddio'r allweddellau sy'n saethau i'r chwith neu i'r dde i lywio rhwng y tabiau ar restr y tabiau.",
-       "userrights": "Rheoli galluoedd defnyddwyr",
+       "userrights": "Galluoedd defnyddwyr",
        "userrights-lookup-user": "Dewisiwch ddefnyddiwr",
        "userrights-user-editname": "Rhowch enw defnyddiwr:",
        "editusergroup": "Golygu grwpiau defnyddwyr",
        "saveusergroups": "Cadw'r Grwpiau {{GENDER:$1|Defnyddwyr}}",
        "userrights-groupsmember": "Yn aelod o:",
        "userrights-groupsmember-auto": "Ac ynghlwm wrth aelodaeth y grwpiau uchod, yn aelod o:",
-       "userrights-groups-help": "Gallwch newid y grwpiau y perthyn y defnyddiwr hwn iddynt:\n* Mae defnyddiwr yn perthyn i grŵp pan mae tic yn y bocs.\n* Nid yw defnyddiwr yn perthyn i grŵp pan nad oes tic yn y bocs.\n* Mae * yn golygu na fyddwch yn gallu dad-wneud unrhyw newid yn y grŵp hwnnw.",
+       "userrights-groups-help": "Gallwch newid y grwpiau y perthyn y defnyddiwr hwn iddynt:\n* Mae defnyddiwr yn perthyn i grŵp pan mae tic yn y bocs.\n* Nid yw defnyddiwr yn perthyn i grŵp pan nad oes tic yn y bocs.\n* Mae * yn golygu na fyddwch yn gallu dad-wneud unrhyw newid yn y grŵp hwnnw.\n* Mae # yn golygu mai yn ôl yn unig y medrwch chi droi'r cyfnod y daw'r grwp i ben, nid ymlaen.",
        "userrights-reason": "Rheswm:",
        "userrights-no-interwiki": "Nid yw'r gallu ganddoch i newid galluoedd defnyddwyr ar wicïau eraill.",
        "userrights-nodatabase": "Nid yw'r bas data $1 yn bod neu nid yw'n un lleol.",
        "userrights-expiry-existing": "Amser dod i ben: $3, $2",
        "userrights-expiry-othertime": "Cyfnod arall:",
        "userrights-expiry-options": "1 dydd:1 day,1 wythnos:1 week,1 mis:1 month,3 mis:3 months,6 mis:6 months,1 blynedd:1 year",
+       "userrights-invalid-expiry": "Mae terfyn amser y grwp \"$1\" yn annilys.",
        "userrights-conflict": "Gwrthdaro oherwydd newid i hawliau defnyddiwr! Adolygwch eich newidiadau a'u cadarnhau.",
        "group": "Grŵp:",
        "group-user": "Defnyddwyr",
        "grant-group-email": "Danfon ebost",
        "grant-group-customization": "Eich dewisiadau chi",
        "grant-group-administration": "Rhoi materion gweinyddol ar waith",
+       "grant-group-private-information": "Edrychwch ar ddata preifat amdanoch",
+       "grant-group-other": "Gweithgaredd amrywiol",
        "grant-blockusers": "Blociwch a dadflociwch defnyddwyr",
        "grant-createaccount": "Crewch gyfri",
        "grant-createeditmovepage": "Creu, golygu a symud dalennau",
        "grant-highvolume": "Golygu nifer ar yr un pryd",
        "grant-oversight": "Cuddiwch y defnyddwyr a'u golygiadau",
        "grant-patrol": "Newidiadau patrol y dalennau",
+       "grant-privateinfo": "Edrychwch ar wybodaeth preifat",
        "grant-protect": "Cloi a datgloi dalennau",
        "grant-rollback": "Dadwneud newidiadau dalennau",
        "grant-sendemail": "Danfonwch ebost i ddefnyddwyr",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (gweler hefyd [[Special:NewPages|restr y tudalennau newydd]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Dangos",
+       "rcfilters-legend-heading": "<strong>Rhestr o fyrfoddau:</strong>",
+       "rcfilters-other-review-tools": "<strong>Teclynau adolygu eraill</strong>",
+       "rcfilters-group-results-by-page": "Canlyniadau'r grwp bob yn ddalen",
+       "rcfilters-grouping-title": "Grwpio",
        "rcfilters-activefilters": "Hidlau sydd ar waith",
+       "rcfilters-advancedfilters": "Ffiltrau ychwanegol",
+       "rcfilters-limit-title": "Newidiadau a ddangosir",
+       "rcfilters-limit-shownum": "Dangos y {{PLURAL:$1|newid}}",
+       "rcfilters-days-title": "Dyddiau diweddar",
+       "rcfilters-hours-title": "Oriau diweddar",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|diwrnod}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|awr}}",
+       "rcfilters-quickfilters": "Ffiltrau a arbedwyd",
+       "rcfilters-quickfilters-placeholder-title": "Dim dolenni wedi'u cadw hyd yma",
+       "rcfilters-savedqueries-defaultlabel": "Ffiltrau a arbedwyd",
+       "rcfilters-savedqueries-rename": "Ailenwi",
+       "rcfilters-savedqueries-setdefault": "Gosod yn ddiofyn (''Set as default'')",
+       "rcfilters-savedqueries-unsetdefault": "Diddymu fel gweithred ddiofyn (''Remove as default'')",
+       "rcfilters-savedqueries-remove": "Cael gwared",
+       "rcfilters-savedqueries-new-name-label": "Enw",
+       "rcfilters-savedqueries-new-name-placeholder": "Disgrifiwch bwrpas y ffiltr",
+       "rcfilters-savedqueries-apply-label": "Crewch ffiltr",
        "rcfilters-restore-default-filters": "Ailosodwch y ffiltrau di-ofyn",
        "rcfilters-clear-all-filters": "Cliriwch yr holl hidlau (ffiltrau)",
        "rcfilters-search-placeholder": "Ffiltrwch y newidiadau diweddaraf",
        "rcfilters-highlightmenu-title": "Dewisiwch liw",
        "rcfilters-highlightmenu-help": "Dewisiwch liw sy'n cyd-fynd gyda'r nodwedd hon",
        "rcfilters-filterlist-noresults": "Dim hidl ar gael",
-       "rcfilters-filter-editsbyself-label": "Eich golygiadau chi",
-       "rcfilters-filter-editsbyself-description": "Golygiadau gennych chi.",
-       "rcfilters-filter-editsbyother-label": "Golygiadau gan eraill",
-       "rcfilters-filter-editsbyother-description": "Golygiadau a grewyd gan eraill (nid gennych chi).",
-       "rcfilters-filtergroup-userExpLevel": "Lefel profiad (defnyddwyr cofrestredig yn unig)",
-       "rcfilters-filter-user-experience-level-registered-label": "Cofrestr",
+       "rcfilters-filter-editsbyself-label": "Eich newidiadau chi",
+       "rcfilters-filter-editsbyself-description": "Eich cyfraniadau chi.",
+       "rcfilters-filter-editsbyother-label": "Newidiadau gan eraill",
+       "rcfilters-filter-editsbyother-description": "Pob golygiad ond nid gennych chi.",
+       "rcfilters-filtergroup-userExpLevel": "Cofrestriad y Defnyddiwr a'i brofiad",
+       "rcfilters-filter-user-experience-level-registered-label": "Cofrestrwyd",
        "rcfilters-filter-user-experience-level-registered-description": "Golygyddion sydd wedi mewngofnodi.",
        "rcfilters-filter-user-experience-level-unregistered-label": "Heb gofrestru",
        "rcfilters-filter-user-experience-level-unregistered-description": "Golygyddion nad ydynt wedi cofrestru.",
+       "rcfilters-filter-user-experience-level-newcomer-label": "Newydd-ddyfodiaid",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Defnyddwyr cofrestredig gyda llai na 10 golygiad a 4 diwrnod o weithgaredd.",
+       "rcfilters-filter-user-experience-level-learner-label": "Dysgwyr",
+       "rcfilters-filter-user-experience-level-learner-description": "Defnyddwyr cofrestredig ble mae eu profiad yn syrthio rhwng \"Newydd-ddyfodiaid\" a \"Defnyddwyr profiadol.\"",
+       "rcfilters-filter-user-experience-level-experienced-label": "Defnyddwyr profiadol",
+       "rcfilters-filter-user-experience-level-experienced-description": "Defnyddwyr profiadol gyda mwy na 500 golygiad a 30 diwrnod o weithgaredd.",
+       "rcfilters-filtergroup-automated": "Cyfraniadau otomatig",
+       "rcfilters-filter-bots-label": "Bot",
+       "rcfilters-filter-bots-description": "Golygiaidau a wnaed gyda theclynnau otomatig.",
+       "rcfilters-filter-humans-label": "Dynol (nid bot)",
+       "rcfilters-filter-humans-description": "Golygiadau a wnaed gan olygyddion go-iawn.",
+       "rcfilters-filtergroup-reviewstatus": "Statws adolygu",
        "rcfilters-filter-patrolled-label": "Wedi derbyn patrol",
        "rcfilters-filter-patrolled-description": "Marciwyd y golygiadau fel rhai sydd wedi derbyn patrol.",
+       "rcfilters-filter-unpatrolled-label": "Heb ei gadarnhau (''Unpatrolled'')",
        "rcfilters-filter-unpatrolled-description": "Ni farciwyd y golygiadau fel rhai sydd wedi derbyn patrol.",
+       "rcfilters-filtergroup-significance": "Arwyddocaol",
+       "rcfilters-filter-minor-label": "Golygiadau bach",
+       "rcfilters-filter-minor-description": "Golygiadau a nodwyd gan y golygydd fel rhai bach.",
+       "rcfilters-filter-major-label": "Golygiadau nad ydynt yn rhai bach",
+       "rcfilters-filter-major-description": "Golygiadau nad ydynt yn rhai bach.",
+       "rcfilters-filtergroup-watchlist": "Dalennau sy'n cael eu gwylio",
+       "rcfilters-filter-watchlist-watched-label": "Ar y Rhestr Wylio",
+       "rcfilters-filter-watchlist-watched-description": "Newidiadau i'r dalennau yn eich Rhestr Wylio.",
+       "rcfilters-filter-watchlist-watchednew-label": "Newidiadau newydd i'ch Rhestr Wylio",
+       "rcfilters-filter-watchlist-notwatched-label": "Heb fod yn eich Rhestr Wylio",
+       "rcfilters-filter-watchlist-notwatched-description": "Popeth ar wahan i'r newidiadau i'ch Rhestr Wylio.",
+       "rcfilters-filtergroup-changetype": "Math o newid",
+       "rcfilters-filter-pageedits-label": "Golygiadau i'r ddalen",
+       "rcfilters-filter-pageedits-description": "Golygiadau i gynnwys wici, y sgyrsiau, categoriau...",
+       "rcfilters-filter-newpages-label": "Dalennau a grewyd",
+       "rcfilters-filter-newpages-description": "Golygiadau creu dalennau",
+       "rcfilters-filter-categorization-label": "Newidiadau i'r Categoriau",
+       "rcfilters-filter-categorization-description": "Cofnodion y dalennau a ychwanegwyd neu a symudwyd o'r categoriau.",
+       "rcfilters-filter-logactions-label": "Gweithredoedd a logiwyd",
+       "rcfilters-filtergroup-lastRevision": "Yr adolygiadau diweddaraf",
+       "rcfilters-filter-lastrevision-label": "Yr adolygiad diweddaraf",
+       "rcfilters-filter-lastrevision-description": "Dim ond yn newidiadau diweddaraf i'r ddalen.",
+       "rcfilters-filter-previousrevision-label": "Nid yr adolygiad diweddaraf",
+       "rcfilters-filter-previousrevision-description": "Pob newid nad ydynt yn yr \"adolygiad diweddaraf\".",
+       "rcfilters-filter-excluded": "Eithriadau",
+       "rcfilters-tag-prefix-namespace-inverted": "<strong>:nid</strong> $1",
+       "rcfilters-liveupdates-button": "Diweddariadau, byw (''Live updates'')",
+       "rcfilters-liveupdates-button-title-on": "Diffod y 'Diweddariadau, byw'",
+       "rcfilters-liveupdates-button-title-off": "Arddangos newidiadau wrth iddynt ddigwydd",
        "rcnotefrom": "Isod rhestrir pob newid er <strong>$3, $4</strong> (ymddengys <strong>$1</strong> ohonynt).",
+       "rclistfromreset": "Ailosod dyddiad yr hyn rydych wedi'i ddewis",
        "rclistfrom": "Dangos newidiadau newydd, gan ddechrau ers $3 $2",
        "rcshowhideminor": "$1 golygiadau bychain",
        "rcshowhideminor-show": "Dangoser",
        "rcshowhidecategorization": "Categoreiddio tudalen $1",
        "rcshowhidecategorization-show": "Dangos",
        "rcshowhidecategorization-hide": "Cuddio",
-       "rclinks": "Dangos y $1 newid diweddaraf yn ystod y(r) $2 diwrnod diwethaf",
+       "rclinks": "Dangos y $1 newid diweddaraf yn y $2 diwrnod diwethaf",
        "diff": "gwahan",
        "hist": "hanes",
        "hide": "Cuddier",
        "recentchangeslinked-page": "Tudalen:",
        "recentchangeslinked-to": "Dangos newidiadau i'r tudalennau â chyswllt arnynt sy'n arwain at y dudalen a enwir",
        "recentchanges-page-added-to-category": "Ychwanegwyd [[:$1]] at y categori",
-       "recentchanges-page-added-to-category-bundled": "[[:$1]] ac [[Special:WhatLinksHere/$1|{{PLURAL:$2|un ddalen|$2 dalen}}]] wedi'u hychwanegu at y categori",
+       "recentchanges-page-added-to-category-bundled": "ychwanegwyd [[:$1]] i'r categori, ac mae'r [[Special:WhatLinksHere/$1|ddalen hon o fewn dalennau eraill}}]]",
        "recentchanges-page-removed-from-category": "Symudwyd [[:$1]] o'r categori",
        "upload": "Uwchlwytho ffeil",
        "uploadbtn": "Uwchlwytho ffeil",
        "apihelp-no-such-module": "Ni chafwyd hyd i fodiwl \"$1\".",
        "apisandbox": "Pwll tywod API",
        "apisandbox-fullscreen": "Ehangu'r panel",
+       "apisandbox-fullscreen-tooltip": "Engangu'r blwch tywod i lenwi ffenest y porwr",
        "apisandbox-unfullscreen": "Dangos y ddalen",
+       "apisandbox-unfullscreen-tooltip": "Lleihau'r blwch tywod, er mwyn gweld y dolennau fforio (''navigation links'')",
        "apisandbox-submit": "Gwnewch gais",
        "apisandbox-reset": "Clirio",
        "apisandbox-retry": "Ailgeisio",
        "apisandbox-helpurls": "Dolennau cymorth",
        "apisandbox-examples": "Engreifftiau",
+       "apisandbox-dynamic-parameters": "Paramedrau ychwanegol",
+       "apisandbox-dynamic-parameters-add-label": "Ychwanegu paramedrau",
+       "apisandbox-dynamic-parameters-add-placeholder": "Enw'r paramedr",
        "apisandbox-results": "Canlyniadau",
        "apisandbox-continue": "Parhau",
        "apisandbox-continue-clear": "Clirio",
        "emailccsubject": "Copi o'ch neges at $1: $2",
        "emailsent": "Neges e-bost wedi'i hanfon",
        "emailsenttext": "Mae eich neges e-bost wedi cael ei hanfon.",
-       "emailuserfooter": "Danfonwyd yr ebost {{GENDER:$1|hwn}} gan $1 i {{GENDER:$2|$2}} drwy \"{{int:emailuser}}\" ar {{SITENAME}}.",
+       "emailuserfooter": "Danfonwyd yr ebost {{GENDER:$1|hwn}} gan $1 i {{GENDER:$2|$2}} drwy \"{{int:emailuser}}\" ar {{SITENAME}}. Os ydych {{GENDER:$2|chi'n}} ateb yr ebost hwn, yna bydd {{GENDER:$2|eich}} ebost yn cael ei danfon yn uniongyrchol i'r  {{GENDER:$1|danfonwr gwreiddiol}}, ac felly'n datgelu {{GENDER:$2|eich}} cyfeiriad ebost {{GENDER:$1|iddyn nhw}}.",
        "usermessage-summary": "Yn gadael neges am ddigwyddiad yn y sustem.",
        "usermessage-editor": "Golygydd neges y system",
        "watchlist": "Rhestr wylio",
        "watchnologin": "Nid ydych wedi mewngofnodi",
        "addwatch": "Ychwanegu at y rhestr wylio",
        "addedwatchtext": "Mae \"[[:$1]]\"  a'i dudalen Sgwrs wedi cael eu hychwanegu at eich [[Special:Watchlist|rhestr wylio]].",
+       "addedwatchtext-talk": "Mae \"[[:$1]]\" wedi'i ychwanegu i'ch [[Special:Watchlist|Rhestr Wylio]].",
        "addedwatchtext-short": "Mae'r dudalen \"$1\"  wedi'i hychwanegu i'ch rhestr wylio.",
        "removewatch": "Tynnu oddi ar eich rhestr wylio",
        "removedwatchtext": "Mae'r dudalen \"[[:$1]]\" a'i thudalen Sgwrs wedi'u tynnu oddi ar [[Special:Watchlist|eich rhestr wylio]].",
+       "removedwatchtext-talk": "Mae \"[[:$1]]\" wedi'i ddileu o'ch  [[Special:Watchlist|Rhestr Wylio]].",
        "removedwatchtext-short": "Mae'r dudalen \"$1\" wedi'i thynnu o'ch tudalen wylio.",
        "watch": "Gwylio",
        "watchthispage": "Gwylier y dudalen hon",
        "wlshowlast": "Dangoser newidiadau'r $1 awr ddiwethaf neu'r $2 {{PLURAL:$2|diwrnod|diwrnod|ddiwrnod|diwrnod|diwrnod|diwrnod}} diwethaf neu'r newidiadau.",
        "watchlist-hide": "Cuddio",
        "watchlist-submit": "Dangos",
-       "wlshowtime": "Dangos y diwethaf:",
+       "wlshowtime": "Dangos y cyfnod:",
        "wlshowhideminor": "golygiadau bychan",
        "wlshowhidebots": "botiau",
        "wlshowhideliu": "defnyddwyr cofrestredig",
        "wlshowhideanons": "defnyddwyr heb gofnodi",
        "wlshowhidepatr": "golygiadau sydd wedi derbyn patrol",
        "wlshowhidemine": "fy ngolygiadau",
+       "wlshowhidecategorization": "categori'r ddalen",
        "watchlist-options": "Dewisiadau ar gyfer y rhestr wylio",
        "watching": "Wrthi'n ychwanegu...",
        "unwatching": "Wrthi'n tynnu...",
        "enotif_body_intro_restored": "Adferwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ohoni ar $3.",
        "enotif_body_intro_changed": "Newidiwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ohoni ar $3.",
        "enotif_lastvisited": "Gwelwch $1 am bob newid ers eich ymweliad blaenorol.",
-       "enotif_lastdiff": "Gallwch weld y newid ar $1.",
+       "enotif_lastdiff": "Gallwch weld y newid ar $1",
        "enotif_anon_editor": "defnyddiwr anhysbys $1",
        "enotif_body": "Annwyl $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nCrynodeb y golygydd: $PAGESUMMARY $PAGEMINOREDIT\n\nCysylltu â'r golygydd:\ne-bost: $PAGEEDITOR_EMAIL\nwici: $PAGEEDITOR_WIKI\n\nOs bydd mwy o drin a thrafod ar y dudalen cyn i chi ymweld â hi tra eich bod wedi mewngofnodi, ni chewch ragor o negeseuon hysbysu. Nodwn bod modd i chi ailosod y fflagiau hysbysu ar eich rhestr wylio, ar gyfer y tudalennau rydych yn eu gwylio.\n\n             Sustem hysbysu {{SITENAME}}\n\n--\nI newid eich gosodiadau negeseuon hysbysu, ewch i \n{{canonicalurl:{{#special:Preferences}}}}\n\nI newid eich gosodiadau gwylio, ewch i\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nI dynnu'r dudalen oddi ar eich rhestr wylio, ewch i\n$UNWATCHURL\n\nAm fwy o gymorth ac adborth:\n$HELPPAGE",
+       "enotif_minoredit": "Golygiad bach yw hwn",
        "created": "crëwyd",
        "changed": "Newidiwyd",
        "deletepage": "Dilëir y dudalen",
        "delete-toobig": "Cafwyd dros $1 {{PLURAL:$1|o olygiadau}} i'r dudalen hon.\nCyfyngwyd 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.\nGallai dileu tudalen, gyda hanes golygu cymaint â hyn iddi, beri dryswch i weithrediadau'r databas ar {{SITENAME}}; ewch ati'n ofalus.",
        "deleteprotected": "Ni allwch ddileu'r dudalen hon gan ei bod wedi'i chloi.",
-       "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.",
+       "deleting-backlinks-warning": "'''Rhybudd:''' Mae [[Special:WhatLinksHere/{{FULLPAGENAME}}|tudalennau eraill]] yn cysylltu i'r ddalen rydych ar fin ei dileu.",
+       "deleting-subpages-warning": "<strong>Rhybudd:</strong> Mae gan y ddalen rydych ar fin ei dileu [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|is-ddalen|$1 is-ddalennau|51=dros 50 o is-ddalennau}}]].",
        "rollback": "Gwrthdroi golygiadau",
        "rollbacklink": "gwrthdröer",
        "rollbacklinkcount": "gwrthdröer $1 {{PLURAL:$1||golygiad|olygiad|golygiad}}",
        "rollbacklinkcount-morethan": "gwrthdröer mwy na $1 {{PLURAL:$1||golygiad|olygiad|golygiad}}",
        "rollbackfailed": "Methodd y gwrthdroi",
+       "rollback-missingparam": "Parametrau coll",
+       "rollback-missingrevision": "Methwyd a llwytho'r data adolygu",
        "cantrollback": "Wedi methu gwrthdroi'r golygiad; y cyfrannwr diwethaf oedd unig awdur y dudalen hon.",
        "alreadyrolled": "Nid yw'n bosib dadwneud y golygiad diwethaf i'r dudalen [[:$1|$1]] gan [[User:$2|$2]] ([[User talk:$2|Sgwrs]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nmae rhywun arall eisoes wedi dadwneud y golygiad neu wedi golygu'r dudalen.\n\n[[User:$3|$3]] ([[User talk:$3|Sgwrs]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]) a wnaeth y golygiad diwethaf.",
        "editcomment": "Crynodeb y golygiad oedd: <em>$1</em>.",
        "revertpage": "Wedi gwrthdroi golygiadau gan [[Special:Contributions/$2|$2]] ([[User talk:$2|Sgwrs]]); wedi adfer y golygiad diweddaraf gan [[User:$1|$1]]",
        "revertpage-nouser": "Wedi gwrthdroi golygiadau gan ddefnyddiwr cudd; wedi adfer y golygiad diweddaraf gan {{GENDER:$1|[[User:$1|$1]]}}",
-       "rollback-success": "Gwrthdrowyd y golygiadau gan $1;\nwedi gwrthdroi i'r golygiad olaf gan $2.",
+       "rollback-success": "Gwrthdrowyd y golygiadau gan {{GENDER:$3|$1}};\nailosodwyd y golygiad olaf gan {{GENDER:$4|$2}}.",
+       "rollback-success-notify": "Gwrthdrowyd y golygiadau gan $1;\nailosodwyd y golygiad olaf gan $2. [$3 Dangoser y gwahaniaeth]",
        "sessionfailure-title": "Sesiwn wedi methu",
        "sessionfailure": "Mae'n debyg fod yna broblem gyda'ch sesiwn mewngofnodi; diddymwyd y weithred er mwyn diogelu'r sustem rhag ddefnyddwyr maleisus. Gwasgwch botwm 'nôl' eich porwr ac ail-lwythwch y dudalen honno, yna ceisiwch eto.",
        "changecontentmodel-title-label": "Teitl y ddalen",
        "undeleteviewlink": "gweld",
        "undeleteinvert": "Gwrthdroi'r dewis",
        "undeletecomment": "Rheswm:",
-       "cannotundelete": "Mae'r cais i ddad-ddileu wedi methu:\n$1",
+       "cannotundelete": "Methwyd a dad-ddileu rhan neu'r cyfan:\n$1",
        "undeletedpage": "'''Adferwyd $1'''\n\nCeir cofnod o'r tudalennau a ddilëwyd neu a adferwyd yn ddiweddar ar y [[Special:Log/delete|lòg ddileuon]].",
        "undelete-header": "Ewch i'r [[Special:Log/delete|lòg ddileuon]] i weld tudalennau a ddilëwyd yn ddiweddar.",
        "undelete-search-title": "Chwilio drwy'r tudalennau dilëedig",
        "lockedbyandtime": "(gan {{GENDER:$1|$1}} at $2 am $3)",
        "move-page": "Symud $1",
        "move-page-legend": "Symud tudalen",
-       "movepagetext": "Drwy ddefnyddio'r ffurflen isod, byddwch yn ailenwi tudalen, ac felly yn symud ei holl hanes i'r dudalen a'r enw newydd.\nCaiff y dudalen a'r hen deitl ei throi'n dudalen sy'n ailgyfeirio i'r teitl newydd.\nGallwch ddiweddaru tudalennau ailgyfeirio sy'n cyfeirio at y teitl gwreiddiol yn awtomatig.\nOs ydych yn dewis peidio â gwneud hyn, gwiriwch [[Special:DoubleRedirects|dudalennau ailgyfeirio dwbl]] neu \n[[Special:BrokenRedirects|dudalennau ailgyfeirio nad ydynt yn ailgyfeirio]].\nChi sy'n gyfrifol am sicrhau bod cysylltiadau yn cyfeirio at y tudalennau cywir.\n\nSylwer '''na''' chaiff y dudalen ei symud os oes tudalen a'r enw newydd ar gael yn barod, oni bai bod y dudalen a'r enw newydd yn dudalen ailgyfeirio ac nad oes hanes golygu ganddi.\nMae hyn yn golygu y gallwch ailenwi tudalen yn ôl i'w henw gwreiddiol os ydych yn gwneud camgymeriad, ond na allwch drosysgrifo tudalen sy'n bodoli'n barod.\n\n'''Rhybudd!'''\nGall hwn fod yn newid mawr ac annisgwyl i dudalen boblogaidd;\ngwnewch yn siŵr eich bod yn deall canlyniadau'r broses hon cyn i chi barhau.",
+       "movepagetext": "Drwy ddefnyddio'r ffurflen isod, byddwch yn ailenwi dalen, ac felly yn symud ei holl hanes i'r ddalen a'r enw newydd.\nCaiff y ddalen a'r hen deitl ei throi'n ddalen sy'n ailgyfeirio i'r teitl newydd.\nGallwch ddiweddaru dalennau ailgyfeirio sy'n cyfeirio at y teitl gwreiddiol yn awtomatig.\nOs ydych yn dewis peidio â gwneud hyn, gwiriwch [[Special:DoubleRedirects|dudalennau ailgyfeirio dwbl]] neu \n[[Special:BrokenRedirects|ddalennau ailgyfeirio nad ydynt yn ailgyfeirio]].\nChi sy'n gyfrifol am sicrhau bod cysylltiadau yn cyfeirio at y dalennau cywir.\n\nSylwer <strong>na</strong> chaiff y ddalen ei symud os oes tudalen a'r enw newydd ar gael yn barod, oni bai bod y dudalen a'r enw newydd yn dudalen ailgyfeirio ac nad yw wedi'i golygu.\n\nGallwch, felly, ailenwi tudalen yn ôl i'w henw gwreiddiol os ydych yn gwneud camgymeriad, ond na allwch drosysgrifo dalen sy'n bodoli'n barod.\n\n'''Rhybudd!'''\nGall hwn fod yn newid mawr ac annisgwyl i dudalen boblogaidd;\ngwnewch yn siŵr eich bod yn deall canlyniadau'r broses hon cyn i chi barhau.",
        "movepagetext-noredirectfixer": "Wrth ddefnyddio'r ffurflen isod byddwch yn ail-enwi tudalen, gan symud ei hanes gyfan i'r enw newydd.\nBydd yr hen deitl yn troi'n dudalen ailgyfeirio i'r teitl newydd.\nByddwch gystal â thrwsio [[Special:DoubleRedirects|ailgyfeiriadau dwbl]] ac [[Special:BrokenRedirects|ailgyfeiriadau tor]].\nEich cyfrifoldeb chi yw sicrhau bod cysylltiadau wici'n dal i arwain at y man iawn.\n\nSylwch '''na fydd''' y dudalen yn symud os oes yna dudalen o'r enw newydd ar gael yn barod (heblaw ei bod hi'n wag neu'n ailgyfeiriad heb unrhyw hanes golygu).\nFelly, os y gwnewch gamgymeriad wrth ail-enwi tudalen dylai fod yn bosibl ei hail-enwi eto ar unwaith wrth yr enw gwreiddiol. \nHefyd, mae'n amhosibl ysgrifennu dros ben tudalen sydd yn bodoli'n barod.\n\n'''Dalier Sylw!'''\nGall hwn fod yn newid sydyn a llym i dudalen boblogaidd;\ngwnewch yn siwr eich bod chi'n deall y canlyniadau cyn mynd ati.",
-       "movepagetalktext": "Bydd y dudalen sgwrs yn symud gyda'r dudalen hon '''onibai:'''\n*bod tudalen sgwrs wrth yr enw newydd yn bodoli'n barod\n*bod y blwch isod heb ei farcio.\n\nOs felly, gallwch symud y dudalen sgwrs neu ei gyfuno ar ôl symud y dudalen ei hun.",
+       "movepagetalktext": "Bydd y ddalen sgwrs yn symud gyda'r ddalen hon '''onibai:'''\n*bod dalen sgwrs wrth yr enw newydd yn bodoli'n barod\n*bod y blwch isod heb ei farcio.\n\nOs felly, gallwch symud y ddalen sgwrs neu ei gyfuno ar ôl symud y ddalen ei hun.",
        "moveuserpage-warning": "'''Sylwer:''' Yr ydych ar fin symud tudalen defnyddiwr. Sylwch mai'r dudalen yn unig a gaiff ei symud ac ''na fydd'' y defnyddiwr yn cael ei ail-enwi.",
        "movecategorypage-warning": "<strong>Rhybudd:</strong> Rydych ar fin dileu categori. Sylwch mai dim ond y dudalen a gaiff ei symud, a bydd y tudalennau o fewn yr hen gategori yn aros fel ag yr oeddent.",
        "movenologintext": "Mae'n rhaid bod yn ddefnyddiwr cofrestredig a'ch bod wedi [[Special:UserLogin|mewngofnodi]] cyn medru symud tudalen.",
        "cant-move-to-user-page": "Nid yw'r gallu ganddoch i symud tudalen i dudalen defnyddiwr (heblaw am i isdudalen defnyddiwr).",
        "cant-move-category-page": "Nid oes gennych yr hawl i symud categoriau.",
        "cant-move-to-category-page": "Nid oes gennych yr hawl i droi tudalen yn gategori.",
+       "cant-move-subpages": "Nid oes gennych yr hawl i symud isddalennau.",
        "newtitle": "Teitl newydd:",
        "move-watch": "Gwylier y dudalen hon",
        "movepagebtn": "Symud y dudalen",
        "movenosubpage": "Nid oes isdudalennau i gael i'r dudalen hon.",
        "movereason": "Rheswm:",
        "revertmove": "symud nôl",
-       "delete_and_move_text": "==Angen dileu==\n\nMae'r erthygl \"[[:$1]]\" yn bodoli'n barod. Ydych chi am ddileu'r erthygl er mwyn cwblhau'r symudiad?",
+       "delete_and_move_text": "==Angen dileu==\n\nMae'r erthygl \"[[:$1]]\" yn bodoli'n barod. Ydych chi am ddileu'r erthygl er mwyn paratoi lle?",
        "delete_and_move_confirm": "Ie, dileu'r dudalen",
        "delete_and_move_reason": "Wedi'i dileu er mwyn gallu symud y dudalen \"[[$1]]\" i gymryd ei lle",
        "selfmove": "Mae'r teitlau hen a newydd yn union yr un peth;\nnid yw'n bosib cyflawnu'r symud.",
        "move-leave-redirect": "Creu tudalen ail-gyfeirio â'r teitl gwreiddiol",
        "protectedpagemovewarning": "'''Sylwer:''' Clowyd y dudalen ac felly dim ond defnyddwyr a galluoedd gweinyddu ganddynt sy'n gallu ei symud.\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
        "semiprotectedpagemovewarning": "'''Sylwer:''' Clowyd y dudalen ac felly dim ond defnyddwyr mewngofnodedig sy'n gallu ei symud.\nDyma'r cofnod lòg diweddaraf, er gwybodaeth:",
-       "move-over-sharedrepo": "== Y ffeil ar gael ==\nMae'r ffeil [[:$1]] ar gael mewn storfa gyfrannol. Pe byddech yn symud y ffeil i'r teitl hwn, yna byddai'r ffeil o'r storfa gyfrannol yn cael ei disodli.",
+       "move-over-sharedrepo": "Mae'r ffeil [[:$1]] ar gael mewn storfa gyfrannol. Pe byddech yn symud y ffeil i'r teitl hwn, yna byddai'r ffeil o'r storfa gyfrannol yn cael ei disodli.",
        "file-exists-sharedrepo": "Mae'r enw y dewisoch ar y ffeil yn cael ei ddefnyddio'n barod ar storfa gyfrannol.\nDewiswch enw arall os gwelwch yn dda.",
        "export": "Allforio tudalennau",
        "exporttext": "Gallwch allforio testun a hanes golygu tudalen penodol neu set o dudalennau wedi'u lapio mewn côd XML. Gall hwn wedyn gael ei fewnforio i wici arall sy'n defnyddio meddalwedd MediaWiki, trwy ddefnyddio'r [[Special:Import|dudalen mewnforio]].\n\nI allforio tudalennau, teipiwch y teitlau yn y bocs testun isod, bobi linell i'r teitlau; a dewis p'un ai ydych chi eisiau'r diwygiad presennol a'r holl fersiynnau blaenorol, gyda hanes y dudalen; ynteu a ydych am y diwygiad presennol a'r wybodaeth am y golygiad diweddaraf yn unig.\n\nYn achos yr ail ddewis, mae modd defnyddio cyswllt, e.e. [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] ar gyfer y dudalen \"[[{{MediaWiki:Mainpage}}]]\".",
        "import-nonewrevisions": "Ni fewnforwyd unrhyw ddiwygiadau (y cwbl eisoes yn bresennol, neu wedi eu hepgor oherwydd eu bod yn wallus).",
        "xml-error-string": "$1 ar linell $2, col $3 (beit $4): $5",
        "import-upload": "Uwchlwytho data XML",
-       "import-token-mismatch": "Collwyd y data.\n\nEfallai i chi allgofnodi (logio allan).<strong>Cadarnhewch eich bod yn dal wedi mewngofnodi a cheisiwch eto</strong>\nOs yw'n parhau i fethu, ceisiwch [[Special:UserLogout|allgofnodi]] a mewngofnodwch drachefn, a gwirwch fod eich porwr yn caniatau cwcis o'r wefan hon.",
+       "import-token-mismatch": "Collwyd y data.\n\nEfallai i chi allgofnodi. '''Cadarnhewch eich bod yn dal wedi mewngofnodi a cheisiwch eto'''.\nOs yw'n parhau i fethu, ceisiwch [[Special:UserLogout|allgofnodi]] a mewngofnodwch drachefn, a gwirwch fod eich porwr yn caniatau cwcis o'r wefan hon.",
        "import-invalid-interwiki": "Ni ellir uwchlwytho o'r wici dewisedig.",
        "import-error-edit": "Ni fewnforiwyd y dudalen \"$1\" oherwydd nad yw'r gallu i'w golygu gennych.",
        "import-error-create": "Ni fewnforiwyd y dudalen \"$1\" oherwydd nad yw'r hawl i'w chreu gennych.",
        "tooltip-pt-preferences": "Eich dewisiadau",
        "tooltip-pt-watchlist": "Rydych yn dilyn hynt y tudalennau sydd ar y rhestr hon",
        "tooltip-pt-mycontris": "Rhestr o'ch cyfraniadau",
+       "tooltip-pt-anoncontribs": "Rhestr golygiadau o'r cyfeiriad IP hwn",
        "tooltip-pt-login": "Fe'ch anogir i fewngofnodi, er nad oes rhaid gwneud.",
+       "tooltip-pt-login-private": "Mae'n rhaid i chi fewngofnodi i ddefnyddio'r wici hwn",
        "tooltip-pt-logout": "Allgofnodi",
        "tooltip-pt-createaccount": "Rydym yn argymell eich bod yn creu cyfri ac yn menwgofnodi. Fodd bynnag, dydy hyn ddim yn orfodol",
        "tooltip-ca-talk": "Sgwrsio am y dudalen",
        "tooltip-feed-rss": "Porthiant RSS ar gyfer y dudalen hon",
        "tooltip-feed-atom": "Porthiant atom ar gyfer y dudalen hon",
        "tooltip-t-contributions": "Rhestr o gyfraniadau'r {{GENDER:$1|defnyddiwr hwn}}",
-       "tooltip-t-emailuser": "Anfonwch e-bost at y defnyddiwr hwn",
+       "tooltip-t-emailuser": "Anfonwch e-bost at {{GENDER:$1|y defnyddiwr hwn}}",
        "tooltip-t-info": "Mwy o wybodaeth am y dudalen hon",
        "tooltip-t-upload": "Uwchlwythwch ffeil delwedd, sain, fideo, ayb",
        "tooltip-t-specialpages": "Rhestr o'r holl dudalennau arbennig",
        "lastmodifiedatby": "Newidiwyd y dudalen hon ddiwethaf am $2, $1 gan $3.",
        "othercontribs": "Yn seiliedig ar waith gan $1.",
        "others": "eraill",
-       "siteusers": "y {{PLURAL:$2|defnyddiwr|defnyddiwr|defnyddwyr|defnyddwyr|defnyddwyr|defnyddwyr}} {{SITENAME}} $1",
+       "siteusers": "{{SITENAME}} {{PLURAL:$2|{{GENDER:$1|defnyddiwr}}|defnyddwyr}} $1",
        "anonusers": "{{PLURAL:$2|defnyddiwr|defnyddiwr|defnyddwyr|defnyddwyr|defnyddwyr|defnyddwyr}} {{SITENAME}} anhysbys $1",
        "creditspage": "Cydnabyddiaethau'r dudalen",
        "nocredits": "Does dim cydnabyddiaethau i'r dudalen hon.",
        "pageinfo-length": "Hyd y dudalen (beitiau)",
        "pageinfo-article-id": "ID y dudalen",
        "pageinfo-language": "Iaith cynnwys y dudalen",
+       "pageinfo-language-change": "newid",
        "pageinfo-content-model": "Ffurf cynnwys y dudalen",
+       "pageinfo-content-model-change": "newid",
        "pageinfo-robot-policy": "Rhestrwyd gan robot",
        "pageinfo-robot-index": "Caniateir",
        "pageinfo-robot-noindex": "Gwrthodedig",
        "pageinfo-watchers": "Nifer gwylwyr y dudalen",
+       "pageinfo-visiting-watchers": "Nifer y golygyddion sy'n gwylio'r ddalen, sydd hefyd wedi ymweld a'r golygiadau diweddaraf",
        "pageinfo-few-watchers": "Llai na $1 {{PLURAL:$1|gwyliwr|gwyliwr|wyliwr|gwyliwr|o wylwyr}}",
        "pageinfo-redirects-name": "Nifer yr ailgyfeiriadau i'r dudalen hon",
        "pageinfo-subpages-name": "Nifer yr is-dudalennau i'r dudalen hon",
        "pageinfo-protect-cascading-yes": "Oes",
        "pageinfo-protect-cascading-from": "Mae'r diogelu sgydol yn dechrau ar",
        "pageinfo-category-info": "Gwybodaeth am y categori",
+       "pageinfo-category-total": "Cyfanswm yr aelodau",
        "pageinfo-category-pages": "Nifer y tudalennau",
        "pageinfo-category-subcats": "Nifer yr is-gategorïau",
        "pageinfo-category-files": "Nifer y ffeiliau",
+       "pageinfo-user-id": "ID'r defnyddiwr",
        "markaspatrolleddiff": "Marcio ei bod wedi derbyn ymweliad patrôl",
        "markaspatrolledtext": "Marcio bod y dudalen wedi derbyn ymweliad patrôl",
        "markaspatrolledtext-file": "Marcio fod fersiwn y ffeil wedi cael ymweliad",
        "patrol-log-page": "Lòg patrolio",
        "patrol-log-header": "Mae'r lòg hwn yn dangos y golygiadau sydd wedi derbyn ymweliad patrôl.",
        "log-show-hide-patrol": "$1 lòg patrolio",
+       "confirm-markpatrolled-button": "Iawn",
+       "confirm-markpatrolled-top": "Nodi fod diwygiad $3 o $2 wedi cael sêl-bendith golygydd?",
        "deletedrevision": "Wedi dileu hen ddiwygiad $1.",
        "filedeleteerror-short": "Gwall wrth ddileu'r ffeil: $1",
        "filedeleteerror-long": "Cafwyd gwallau wrth ddileu'r ffeil:\n\n$1",
        "svg-long-error": "Ffeil SVG annilys: $1",
        "show-big-image": "Y ffeil gwreiddiol",
        "show-big-image-preview": "Maint y rhagolwg: $1.",
+       "show-big-image-preview-differ": "Maint rhagolwg $3 o ffeil $2 yw: $1.",
        "show-big-image-other": "{{PLURAL:$2|Datrysiad arall|Datrysiad arall|Datrysiadau eraill|Datrysiadau eraill|Datrysiadau eraill|Datrysiadau eraill}}: $1.",
        "show-big-image-size": "$1 × $2 picsel",
        "file-info-gif-looped": "dolennog",
        "newimages-summary": "Mae'r dudalen arbennig hon yn dangos y ffeiliau a uwchlwythwyd yn ddiweddar.",
        "newimages-legend": "Hidlo",
        "newimages-label": "Enw'r ffeil (neu ran ohono):",
+       "newimages-user": "Cyfeiriad IP neu enw defnyddiwr",
+       "newimages-newbies": "Dangos cyfraniadau cyfrifon newydd yn unig",
        "newimages-showbots": "Dangoswch uwchlwythiadau'r botiaid",
+       "newimages-hidepatrolled": "Cuddio uwchlwythiadau gwaith a ddilyswyd gan olygydd profiadol",
+       "newimages-mediatype": "Math o gyfrwng:",
        "noimages": "Does dim byd i'w weld.",
+       "gallery-slideshow-toggle": "Toglwch y cipluniau",
        "ilsubmit": "Chwilio",
        "bydate": "yn ôl dyddiad",
        "sp-newimages-showfrom": "Dangos ffeiliau sy'n newydd ers: $2, $1",
        "exif-compression-4": "Amgodio ffacs Grŵp 4 CCITT",
        "exif-copyrighted-true": "Hawlfraint",
        "exif-copyrighted-false": "Statws yr hawlfraint heb ei osod",
+       "exif-photometricinterpretation-1": "Du a gwyn (du yw 0)",
        "exif-unknowndate": "Dyddiad anhysbys",
        "exif-orientation-1": "Normal",
        "exif-orientation-2": "Wedi troi tu chwith ar lorwedd",
        "confirmemail_body_set": "Mae rhywun (chi, yn fwy na thebyg, o'r cyfeiriad IP $1) wedi gosod cyfeiriad e-bost y cyfrif \"$2\" ar {{SITENAME}} i'r cyfeiriad e-bost hwn.\n\nI gadarnhau mai chi yn wir yw perchennog y cyfrif hwn, ac i alluogi nodweddion e-bost ar {{SITENAME}}, agorwch y cyswllt hwn yn eich porwr:\n\n$3\n\nOs *nad* chi sydd berchen y cyfrif hwn, dilynwch y cyswllt hwn er mwyn diddymu cadarnhad y cyfeiriad e-bost:\n\n$5\n\nBydd y côd cadarnhau yn dod i ben am $4.",
        "confirmemail_invalidated": "Diddymwyd y weithred o gadarnhau'r cyfeiriad e-bost",
        "invalidateemail": "Diddymu cadarnhad y cyfeiriad e-bost.",
+       "notificationemail_subject_changed": "Mae cyfeiriad ebost {{SITENAME}} wedi'i newid",
+       "notificationemail_subject_removed": "Mae cyfeiriad ebost {{SITENAME}} wedi'i ddileu",
+       "notificationemail_body_changed": "Mae rhywun, efallai chi, o gyfeiriad IP $1,\nwedi newid cyfeiriad ebost cyfrif \"$2\" i \"$3\" ar {{SITENAME}}.\n\nOs nad y chi sy'n gyfrifol am hyn, yna cysylltwch ag un o'r Gweinyddwyr ar unwaith.",
+       "notificationemail_body_removed": "Mae rhywun, efallai chi, o gyfeiriad IP $1,\nwedi dileu cyfeiriad ebost cyfrif \"$2\" ar {{SITENAME}}.\n\nOs nad y chi sy'n gyfrifol am hyn, yna cysylltwch ag un o'r Gweinyddwyr ar unwaith.",
        "scarytranscludedisabled": "[Analluogwyd cynhwysiad rhyng-wici]",
        "scarytranscludefailed": "[Methwyd nôl y nodyn ar gyfer $1]",
        "scarytranscludefailed-httpstatus": "[Methwyd nôl y nodyn ar gyfer $1: HTTP $2]",
        "scarytranscludetoolong": "[Mae'r URL yn rhy hir]",
        "deletedwhileediting": "'''Rhybudd''': Dilëwyd y dudalen wedi i chi ddechrau ei golygu!",
-       "confirmrecreate": "Mae'r defnyddiwr [[User:$1|$1]] ([[User talk:$1|Sgwrs]]) wedi dileu'r dudalen hon ers i chi ddechrau ei golygu. Y rheswm a roddwyd yw:\n: ''$2''\nCadarnhewch eich bod chi wir am ail-greu'r dudalen.",
-       "confirmrecreate-noreason": "Dileodd y defnyddiwr [[User:$1|$1]] ([[User talk:$1|sgwrs]]) y dudalen hon wedi i chi ddechrau ei golygu. Cadarnhewch eich bod chi wir am ail-greu'r dudalen hon.",
+       "confirmrecreate": "Mae defnyddiwr [[User:$1|$1]] ([[User talk:$1|Sgwrs]]) wedi dileu'r ddalen hon ers i chi ddechrau ei golygu. Y rheswm a roddwyd yw:\n: <em>$2</em>\nCadarnhewch eich bod chi am ail-greu'r dudalen.",
+       "confirmrecreate-noreason": "Dileodd y defnyddiwr [[User:$1|$1]] ([[User talk:$1|sgwrs]]) y ddalen hon wedi i chi ddechrau ei golygu. Cadarnhewch eich bod chi am ail-greu'r ddalen hon.",
        "recreate": "Ail-greu",
        "confirm-purge-title": "Ailgyrchu'r ddalen",
        "confirm_purge_button": "Iawn",
        "timezone-local": "Lleol",
        "duplicate-defaultsort": "Rhybudd: Mae'r allwedd trefnu diofyn \"$2\" yn gwrthwneud yr allwedd trefnu diofyn blaenorol \"$1\".",
        "duplicate-displaytitle": "<strong>Gofal:</strong> Mae arddangos \"$2\" yn clirio'r arddangosiadau cynharach \"$1\".",
+       "restricted-displaytitle": "<strong>Rhybudd:</strong> Mae'n rhaid i'r teitl a anrddangosir \"$1\" fod yn hafal i union deitl y ddalen; anwybyddwyd y cais i'w newid.",
        "invalid-indicator-name": "<strong>Gan bwyll:</strong> Ni ddylid gadael y man nodi statws  <code>name</code> yn wag.",
        "version": "Fersiwn",
        "version-extensions": "Estyniadau gosodedig",
        "version-libraries-license": "Trwydded",
        "version-libraries-description": "Disgrifiad",
        "version-libraries-authors": "Awduron",
-       "redirect": "Ailgyfeirio yn ôl enw ffeil, defnyddiwr, tudalen neu ID y diwygiad",
-       "redirect-summary": "Mae'r dudalen arbennig hon yn ailgyfeirio at ffeil (o roi enw'r ffeil), at dudalen (o roi ID rhyw ddiwygiad o'r dudalen neu ID y dudalen), neu at dudalen defnyddiwr (o roi rhif ID y defnyddiwr).\nDefnydd: \n[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], neu [[{{#Special:Redirect}}/user/101]].",
+       "redirect": "Ailgyfeirio yn ôl enw ffeil, defnyddiwr, dalen neu log yr ID",
+       "redirect-summary": "Mae'r ddalen arbennig hon yn ailgyfeirio at ffeil (o roi enw'r ffeil), at ddalen (o roi ID rhyw ddiwygiad o'r ddalen neu ID y dudalen), neu at ddalen defnyddiwr (o roi rhif ID y defnyddiwr).\nDefnydd: \n[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], neu [[{{#Special:Redirect}}/user/101]].",
        "redirect-submit": "Ati",
        "redirect-lookup": "Chwilio drwy:",
        "redirect-value": "Chwilio am:",
        "redirect-page": "ID tudalennau",
        "redirect-revision": "Rhifau diwygiadau tudalennau",
        "redirect-file": "Enwau ffeiliau",
+       "redirect-logid": "Log yr ID",
        "redirect-not-exists": "Heb lwyddo i'w ganfod",
        "fileduplicatesearch": "Chwilio am ffeiliau dyblyg",
        "fileduplicatesearch-summary": "Chwilier am ffeiliau dyblyg ar sail ei werth stwnsh.",
        "fileduplicatesearch-noresults": "Ni ddaethpwyd o hyd i ffeil o'r enw \"$1\".",
        "specialpages": "Tudalennau arbennig",
        "specialpages-note-top": "Allwedd",
+       "specialpages-note-restricted": "* Tudalennau arbennig agored.\n* <span class=\"mw-specialpagerestricted\">Tudalennau arbennig a gyfyngir.</span>",
        "specialpages-group-maintenance": "Adroddiadau cynnal a chadw",
        "specialpages-group-other": "Eraill",
        "specialpages-group-login": "Mewngofnodi / creu cyfrif",
        "tags-create-reason": "Rheswm:",
        "tags-create-submit": "Dechrau",
        "tags-create-no-name": "Mae'n rhaid nodi tag enw.",
+       "tags-create-already-exists": "Mae tag \"$1\" yn bodoli'n barod.",
+       "tags-delete-title": "Dileu tag",
        "comparepages": "Cymharu tudalennau",
        "compare-page1": "Tudalen 1",
        "compare-page2": "Tudalen 2",
        "compare-invalid-title": "Ysgrifennwyd teitl annilys.",
        "compare-title-not-exists": "Nid yw'r teitl a enwyd ar gael.",
        "compare-revision-not-exists": "Nid yw'r diwygiad a enwyd ar gael.",
+       "diff-form": "'''ffurflen'''",
        "dberr-problems": "Mae'n ddrwg gennym! Mae'r wefan hon yn dioddef anawsterau technegol.",
        "dberr-again": "Oedwch am ychydig funudau cyn ceisio ail-lwytho.",
        "dberr-info": "(Ni ellir cysylltu â chronfa ddata: $1)",
        "htmlform-cloner-required": "Mae angen o leiaf un peth!",
        "htmlform-title-not-exists": "Nid yw $1  yn bodoli.",
        "logentry-delete-delete": "Dileodd $1 dudalen $3",
-       "logentry-delete-restore": "Adferodd $1 y dudalen $3",
+       "logentry-delete-restore": "Adferodd $1 ddalen $3 ($4)",
        "logentry-delete-event": "Newidiodd $1 ymddangosiad {{PLURAL:$5||cofnod lòg|$5 gofnod lòg|$5 chofnod lòg|$5 chofnod lòg|$5 cofnod lòg}} ar $3: $4",
        "logentry-delete-revision": "{{GENDER:$2|Newidiodd}} $1 ymddangosiad {{PLURAL:$5||diwygiad|$5 ddiwygiad|$5 diwygiad}} o'r dudalen $3: $4",
        "logentry-delete-event-legacy": "{{GENDER:$2|Newidiodd}} $1 welededd cofnodion lòg ar $3",
        "feedback-bugornote": "Os ydych yn barod i ddisgrifio problem technegol yn fanwl gallwch [$1 gyflwyno adroddiad am y bỳg]. Fel arall, gallwch ddefnyddio'r ffurflen syml isod. Fe roddir eich sylwadau ar y dudalen \"[$3 $2]\", ynghyd â'ch enw defnyddiwr ac enw'r gweinydd sydd ar waith gennych.",
        "feedback-cancel": "Diddymer",
        "feedback-close": "Yn barod",
+       "feedback-dialog-title": "Rhowch adborth",
        "feedback-error1": "Gwall: Canlyniad anhysbys o'r API",
        "feedback-error2": "Gwall: Methodd y golygu",
        "feedback-error3": "Gwall: Dim ymateb gan yr API",
        "feedback-submit": "Cyflwyner",
        "feedback-thanks": "Diolch! Gosodwyd eich adborth ar y dudalen \"[$2 $1]\".",
        "feedback-thanks-title": "Diolch o galon!",
-       "searchsuggest-search": "Chwilio",
+       "searchsuggest-search": "Chwilio {{SITENAME}}",
        "searchsuggest-containing": "yn cynnwys...",
        "api-error-badtoken": "Gwall mewnol: tocyn gwael.",
        "api-error-emptypage": "Ni chaniateir dechrau tudalen newydd, a honno'n wag.",
        "special-characters-title-endash": "heiffen en",
        "special-characters-title-emdash": "heiffen em",
        "special-characters-title-minus": "arwydd minws",
+       "mw-widgets-dateinput-no-date": "Ni ddewisiwyd dyddiad",
        "mw-widgets-dateinput-placeholder-day": "BBBB-MM-DD",
        "mw-widgets-dateinput-placeholder-month": "BBBB-MM",
+       "mw-widgets-mediasearch-input-placeholder": "Chwiliwch am gyfryngau",
+       "mw-widgets-mediasearch-noresults": "Dim canlyniad.",
+       "mw-widgets-titleinput-description-new-page": "nid yw'r ddalen wedi'i chreu eto",
+       "mw-widgets-titleinput-description-redirect": "ailgyfeiriwyd i $1",
        "mw-widgets-categoryselector-add-category-placeholder": "Ychwanega gategori...",
        "mw-widgets-usersmultiselect-placeholder": "Ychwanega ragor...",
        "date-range-from": "O'r dyddiad:",
        "date-range-to": "Hyd at y dydiad:",
+       "randomrootpage": "Dalen graidd ar hap",
        "log-action-filter-block": "Math o floc:",
        "log-action-filter-block-block": "Bloc",
        "log-action-filter-block-reblock": "Newid y bloc",
        "log-action-filter-block-unblock": "Dadflocio",
        "log-action-filter-delete-delete": "Dileu dalennau",
+       "authmanager-retype-help": "Rhowch eich cyfrinair eto, i gadarnhau.",
        "authmanager-email-label": "Ebost",
        "authmanager-email-help": "Cyfeiriadau ebyst",
        "authmanager-realname-label": "Enw cywir",
        "authmanager-realname-help": "Enw cywir y defnyddiwr",
+       "authmanager-provider-temporarypassword": "Cyfrinair dros-dro",
        "credentialsform-account": "Enw'r cyfri:"
 }
index 7e85931..adda8db 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (siehe auch die [[Special:NewPages|Liste neuer Seiten]])",
        "recentchanges-legend-plusminus": "''(±123)''",
        "recentchanges-submit": "Anzeigen",
+       "rcfilters-tag-remove": "„$1“ entfernen",
        "rcfilters-legend-heading": "<strong>Liste von Abkürzungen:</strong>",
        "rcfilters-other-review-tools": "<strong>Andere Überprüfungswerkzeuge</strong>",
        "rcfilters-group-results-by-page": "Ergebnisse nach Seite gruppieren",
        "rcfilters-hours-title": "Letzte Stunden",
        "rcfilters-days-show-days": "{{PLURAL:$1|Ein Tag|$1 Tage}}",
        "rcfilters-days-show-hours": "{{PLURAL:$1|Eine Stunde|$1 Stunden}}",
+       "rcfilters-highlighted-filters-list": "Hervorgehoben: $1",
        "rcfilters-quickfilters": "Gespeicherte Filter",
        "rcfilters-quickfilters-placeholder-title": "Noch keine Links gespeichert",
        "rcfilters-quickfilters-placeholder-description": "Um deine Filtereinstellungen zu speichern und später erneut zu verwenden, klicke unten auf das Lesezeichensymbol im Bereich der aktiven Filter.",
        "rcfilters-restore-default-filters": "Standardfilter wiederherstellen",
        "rcfilters-clear-all-filters": "Alle Filter löschen",
        "rcfilters-show-new-changes": "Neueste Änderungen ansehen",
-       "rcfilters-previous-changes-label": "Zuletzt angesehene Änderungen",
        "rcfilters-search-placeholder": "Letzte Änderungen filtern (durchsuchen oder beginne mit der Eingabe)",
        "rcfilters-invalid-filter": "Ungültiger Filter",
        "rcfilters-empty-filter": "Keine aktiven Filter. Es werden alle Beiträge angezeigt.",
        "rcfilters-filterlist-noresults": "Keine Filter gefunden",
        "rcfilters-noresults-conflict": "Keine Ergebnisse gefunden, da sich die Suchkriterien in Konflikt befinden.",
        "rcfilters-state-message-subset": "Dieser Filter hat keinen Effekt, da seine Ergebnisse mit denen {{PLURAL:$2|des folgenden breiteren Filters|der folgenden breiteren Filter}} einbezogen sind (versuche die Hervorhebung, um sie zu unterscheiden): $1",
-       "rcfilters-state-message-fullcoverage": "Das Auswählen aller Filter in einer Gruppe ist das Gleiche wie das Auswählen keines Filters. Deshalb hat dieser Filter keinen Effekt. Die Gruppe enthält: $1",
+       "rcfilters-state-message-fullcoverage": "Das Auswählen aller Filter in dieser Gruppe ist das Gleiche wie das Auswählen keines Filters. Deshalb hat dieser Filter keinen Effekt. Die Gruppe enthält: $1",
        "rcfilters-filtergroup-authorship": "Beitrags-Autorenschaft",
        "rcfilters-filter-editsbyself-label": "Änderungen von dir",
        "rcfilters-filter-editsbyself-description": "Deine eigenen Beiträge.",
        "rcfilters-filter-watchlist-watchednew-description": "Änderungen an beobachteten Seiten, die du nicht besucht hast, seitdem die Änderungen auftraten.",
        "rcfilters-filter-watchlist-notwatched-label": "Nicht auf der Beobachtungsliste",
        "rcfilters-filter-watchlist-notwatched-description": "Alle außer Änderungen an deinen beobachteten Seiten.",
+       "rcfilters-filtergroup-watchlistactivity": "Beobachtungslistenaktivität",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Ungesehene Änderungen",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Änderungen an Seiten, die du seit dem Auftreten nicht besucht hast.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Gesehene Änderungen",
+       "rcfilters-filter-watchlistactivity-seen-description": "Änderungen an Seiten, die du seit dem Auftreten besucht hast.",
        "rcfilters-filtergroup-changetype": "Typ der Änderung",
        "rcfilters-filter-pageedits-label": "Seitenbearbeitungen",
        "rcfilters-filter-pageedits-description": "Änderungen am Wikiinhalt oder an Diskussionen, Kategoriebeschreibungen …",
        "rcfilters-liveupdates-button": "Live-Aktualisierungen",
        "rcfilters-liveupdates-button-title-on": "Live-Aktualisierungen ausschalten",
        "rcfilters-liveupdates-button-title-off": "Neue Änderungen bei Auftreten anzeigen",
+       "rcfilters-watchlist-markSeen-button": "Alle Änderungen als gesehen markieren",
        "rcnotefrom": "Angezeigt {{PLURAL:$5|wird die Änderung|werden die Änderungen}} seit <strong>$3, $4</strong> (max. <strong>$1</strong> Einträge).",
        "rclistfromreset": "Datumsauswahl zurücksetzen",
        "rclistfrom": "Nur Änderungen seit $3, $2 Uhr zeigen.",
        "watching": "Beobachten …",
        "unwatching": "Nicht mehr beobachten …",
        "watcherrortext": "Beim Ändern der Beobachtungslisteneinstellungen für „$1“ ist ein Fehler aufgetreten.",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Alle Seiten als besucht markieren",
        "enotif_impersonal_salutation": "{{SITENAME}}-Benutzer",
        "enotif_subject_deleted": "{{SITENAME}}-Seite $1 wurde von {{GENDER:$2|$2}} gelöscht",
index eed494d..fa94b3b 100644 (file)
        "template-semiprotected": "(gëlamääth)",
        "hiddencategories": "Apamkën ee rem ë {{PLURAL:$1|1 bekätakthook cï thiaan |$1 bekätakthuɔk cï thiaan}}:",
        "permissionserrorstext-withaction": "Yïn acïï nɔŋ nhomlääu ba $2, {{PLURAL:$1|wɛ̈t de kän|wët de käk}}:",
-       "moveddeleted-notice": "Apam acï cuɔthwei. Athörtɔ̈ɔ̈u de cothëwei ku nyiɛɛi në apamë aa cïke gam piiny ëtɛ̈n tɔŋ raan wïc bë ke kueen",
+       "moveddeleted-notice": "Apam acï cuɔthwei. Athörtɔ̈ɔ̈u de cothëwei ku nyiɛɛi në apamë aa cïke gam piiny ëtɛ̈n tɔŋ raan wïc bë ke kueen.",
        "content-model-javascript": "JavaScript",
        "viewpagelogs": "Ɣoi athörtɔ̈ɔ̈u në apamkën",
        "currentrev-asof": "Dhuɔ̈kic yambëtɛɛm ee bɔ̈bei pɛinïn $1",
index 720a059..088affe 100644 (file)
        "node-count-exceeded-category": "Σελίδες υπέρβασης του αριθμού κόμβων",
        "node-count-exceeded-category-desc": "Η σελίδα υπερβαίνει το μέγιστο αριθμό κόμβων.",
        "node-count-exceeded-warning": "Η σελίδα έχει υπερβεί τον αριθμό κόμβων",
-       "expansion-depth-exceeded-category": "ΣελίδεÏ\82 Ï\85Ï\80έÏ\81βαÏ\83ηÏ\82 Ï\84ηÏ\82 ÎµÏ\80έκÏ\84αÏ\83ηÏ\82 Ï\83ε Î²Î¬Î¸Î¿ς",
+       "expansion-depth-exceeded-category": "ΣελίδεÏ\82 Ï\8cÏ\80οÏ\85 Ï\85Ï\80εÏ\81βαίνεÏ\84αι Ï\84ο Î²Î¬Î¸Î¿Ï\82 Î±Î½Î¬Ï\80Ï\84Ï\85ξης",
        "expansion-depth-exceeded-category-desc": "Η σελίδα υπερβαίνει το μέγιστο βάθος επέκτασης.",
        "expansion-depth-exceeded-warning": "Η σελίδα υπερέβη το βάθος επέκτασης",
        "parser-unstrip-loop-warning": "εντοπίστηκε ένας βρόχος unstrip",
index 3497d80..a44b3cf 100644 (file)
        "recentchanges-legend-unpatrolled": "{{int:recentchanges-label-unpatrolled}}",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "Show",
+       "rcfilters-tag-remove": "Remove '$1'",
        "rcfilters-legend-heading": "<strong>List of abbreviations:</strong>",
        "rcfilters-other-review-tools": "<strong>Other review tools</strong>",
        "rcfilters-group-results-by-page": "Group results by page",
        "rcfilters-hours-title": "Recent hours",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|day|days}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|hour|hours}}",
+       "rcfilters-highlighted-filters-list": "Highlighted: $1",
        "rcfilters-quickfilters": "Saved filters",
        "rcfilters-quickfilters-placeholder-title": "No links saved yet",
        "rcfilters-quickfilters-placeholder-description": "To save your filter settings and reuse them later, click the bookmark icon in the Active Filter area, below.",
        "rcfilters-filter-watchlist-watchednew-description": "Changes to Watchlisted pages you haven't visited since the changes occurred.",
        "rcfilters-filter-watchlist-notwatched-label": "Not on Watchlist",
        "rcfilters-filter-watchlist-notwatched-description": "Everything except changes to your Watchlisted pages.",
+       "rcfilters-filtergroup-watchlistactivity": "Watchlist activity",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Unseen changes",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Changes to pages you haven't visited since the changes occurred.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Seen changes",
+       "rcfilters-filter-watchlistactivity-seen-description": "Changes to pages you have visited since the changes occurred.",
        "rcfilters-filtergroup-changetype": "Type of change",
        "rcfilters-filter-pageedits-label": "Page edits",
        "rcfilters-filter-pageedits-description": "Edits to wiki content, discussions, category descriptions…",
        "rcfilters-liveupdates-button": "Live updates",
        "rcfilters-liveupdates-button-title-on": "Turn off live updates",
        "rcfilters-liveupdates-button-title-off": "Display new changes as they happen",
+       "rcfilters-watchlist-markSeen-button": "Mark all changes as seen",
        "rcnotefrom": "Below {{PLURAL:$5|is the change|are the changes}} since <strong>$3, $4</strong> (up to <strong>$1</strong> shown).",
        "rclistfromreset": "Reset date selection",
        "rclistfrom": "Show new changes starting from $2, $3",
index 87a00be..092d1ec 100644 (file)
        "rcfilters-empty-filter": "Ekzistas neniuj aktivaj filtriloj. Ĉiuj kontribuaĵoj estas montritaj.",
        "rcfilters-filterlist-title": "Filtriloj",
        "rcfilters-filterlist-noresults": "Neniuj filtriloj troviĝis",
-       "rcfilters-filtergroup-registration": "Registrado de uzanto",
-       "rcfilters-filter-registered-label": "Registrita",
-       "rcfilters-filter-registered-description": "Ensalutitaj redaktantoj.",
-       "rcfilters-filter-unregistered-label": "Neregistrita",
-       "rcfilters-filter-unregistered-description": "Redaktantoj kiuj ne estas ensalutita.",
        "rcfilters-filtergroup-authorship": "Redakta aŭtoreco",
        "rcfilters-filter-editsbyself-label": "Viaj redaktoj",
        "rcfilters-filter-editsbyself-description": "Viaj redaktoj.",
        "rcfilters-filter-editsbyother-label": "Redaktoj de aliuloj",
        "rcfilters-filter-editsbyother-description": "Redaktoj kreitaj far aliaj uzantoj (krom vi).",
        "rcfilters-filtergroup-userExpLevel": "Spertonivelo (nur por registritaj uzantoj)",
+       "rcfilters-filter-user-experience-level-registered-label": "Registrita",
+       "rcfilters-filter-user-experience-level-registered-description": "Ensalutitaj redaktantoj.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Neregistrita",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Redaktantoj kiuj ne estas ensalutita.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Novuloj",
        "rcfilters-filter-user-experience-level-newcomer-description": "Malpli ol 10 redaktoj kaj 4 tagoj de aktiveco.",
        "rcfilters-filter-user-experience-level-learner-label": "Lernantoj",
        "fileduplicatesearch-noresults": "Neniu dosiero nomita \"$1\" troviĝis.",
        "specialpages": "Specialaj paĝoj",
        "specialpages-note-top": "Klarigo",
-       "specialpages-note": "* Normaj specialaj paĝoj.\n* <span class=\"mw-specialpagerestricted\">Limigitaj specialaj paĝoj.</span>",
        "specialpages-group-maintenance": "Raportoj pri prizorgado",
        "specialpages-group-other": "Aliaj specialaj paĝoj",
        "specialpages-group-login": "Ensaluti /  registriĝi",
        "compare-invalid-title": "La titolo kiun vi enmetis estas malvalida.",
        "compare-title-not-exists": "La titolo kiun vi specifis ne ekzistas.",
        "compare-revision-not-exists": "La revizio kiun vi specifis ne ekzistas.",
+       "diff-form": "Malsamoj",
        "dberr-problems": "Bedaŭrinde, ĉi tiu retejo suferas pro teknikaj problemoj.",
        "dberr-again": "Bonvolu atendi kelkajn minutojn kaj reŝargi.",
        "dberr-info": "(Ne eblas konekti la datumbazon: $1)",
index 03b3c64..dd740db 100644 (file)
        "rcfilters-restore-default-filters": "Restaurar filtros predeterminados",
        "rcfilters-clear-all-filters": "Borrar todos los filtros",
        "rcfilters-show-new-changes": "Ver cambios más recientes",
-       "rcfilters-previous-changes-label": "Cambios previamente vistos",
        "rcfilters-search-placeholder": "Filtrar cambios recientes (navega o empieza a escribir)",
        "rcfilters-invalid-filter": "Filtro no válido",
        "rcfilters-empty-filter": "No hay filtros activos. Se muestran todas las contribuciones.",
        "rcfilters-filter-watchlist-watchednew-description": "Cambios en las páginas de tu lista de seguimiento que no has visitado desde que se produjeron los cambios.",
        "rcfilters-filter-watchlist-notwatched-label": "No en mi lista de seguimiento",
        "rcfilters-filter-watchlist-notwatched-description": "Todos, excepto los cambios en las páginas de tu lista de seguimiento.",
+       "rcfilters-filtergroup-watchlistactivity": "Actividad de la lista de seguimiento",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Cambios no vistos",
+       "rcfilters-filter-watchlistactivity-seen-label": "Cambios vistos",
        "rcfilters-filtergroup-changetype": "Tipo de cambio",
        "rcfilters-filter-pageedits-label": "Ediciones de páginas",
        "rcfilters-filter-pageedits-description": "Modificaciones del contenido wiki, discusiones, descripción de categorías...",
        "rcfilters-liveupdates-button": "Actualizaciones en directo",
        "rcfilters-liveupdates-button-title-on": "Apagar actualizaciones en directo",
        "rcfilters-liveupdates-button-title-off": "Mostar los cambios en tiempo real",
+       "rcfilters-watchlist-markSeen-button": "Marcar todos los cambios como vistos",
        "rcnotefrom": "Debajo {{PLURAL:$5|aparece el cambio|aparecen los cambios}} desde <strong>$3, $4</strong> (se muestran hasta <strong>$1</strong>).",
        "rclistfromreset": "Restablecer selección de fecha",
        "rclistfrom": "Mostrar cambios nuevos desde las $2 del $3",
        "version-entrypoints-header-entrypoint": "Punto de entrada",
        "version-entrypoints-header-url": "URL",
        "version-entrypoints-articlepath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgArticlePath Ruta del artículo]",
-       "version-entrypoints-scriptpath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath Ruta de la secuencia de comandos (script)]",
+       "version-entrypoints-scriptpath": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath Ruta de la secuencia de órdenes]",
        "version-libraries": "Bibliotecas instaladas",
        "version-libraries-library": "Biblioteca",
        "version-libraries-version": "Versión",
        "compare-invalid-title": "El título especificado es inválido.",
        "compare-title-not-exists": "El título especificado no existe.",
        "compare-revision-not-exists": "La revisión especificada no existe.",
-       "diff-form": "un '''formulario'''",
+       "diff-form": "Diferencias",
+       "permanentlink": "Enlace permanente",
        "dberr-problems": "Lo sentimos. Este sitio está experimentando dificultades técnicas.",
        "dberr-again": "Prueba a recargar dentro de unos minutos.",
        "dberr-info": "(No se puede acceder a la base de datos: $1)",
        "mw-widgets-titleinput-description-new-page": "la página aún no existe",
        "mw-widgets-titleinput-description-redirect": "redirigir a $1",
        "mw-widgets-categoryselector-add-category-placeholder": "Agregar una categoría...",
-       "mw-widgets-usersmultiselect-placeholder": "Agregar más...",
+       "mw-widgets-usersmultiselect-placeholder": "Añadir más…",
        "date-range-from": "Desde la fecha:",
        "date-range-to": "Hasta la fecha:",
        "sessionmanager-tie": "No se pueden combinar múltiples tipos de autenticación de solicitudes: $1.",
index acc6512..9fab7c2 100644 (file)
        "tog-shownumberswatching": "Näita jälgivate kasutajate hulka",
        "tog-oldsig": "Praegune allkiri:",
        "tog-fancysig": "Kasuta vikiteksti vormingus allkirja (ilma automaatse lingita kasutajalehele)",
-       "tog-uselivepreview": "Kasuta elavat eelvaadet",
+       "tog-uselivepreview": "Näita eelvaadet ilma lehekülge uuesti laadimata",
        "tog-forceeditsummary": "Nõua redigeerimisel resümee välja täitmist",
        "tog-watchlisthideown": "Peida minu redaktsioonid jälgimisloendist",
        "tog-watchlisthidebots": "Peida robotid jälgimisloendist",
        "tog-watchlisthideminor": "Peida pisiparandused jälgimisloendist",
        "tog-watchlisthideliu": "Peida sisselogitud kasutajate muudatused jälgimisloendist",
        "tog-watchlistreloadautomatically": "Laadi jälgimisloend mõne filtri muutmise järel koheselt uuesti (nõutav JavaScript)",
+       "tog-watchlistunwatchlinks": "Lisa jälgimisloendi sissekannete juurde jälgimisest loobumise või jälgimise otselingid (tumblerfunktsiooni jaoks nõutav JavaScript)",
        "tog-watchlisthideanons": "Peida anonüümsete kasutajate muudatused jälgimisloendist",
        "tog-watchlisthidepatrolled": "Peida kontrollitud muudatused jälgimisloendist",
        "tog-watchlisthidecategorization": "Peida lehekülgede kategoriseerimine",
        "permissionserrorstext-withaction": "Sul pole lubatud {{lcfirst:$2}} {{PLURAL:$1|järgmisel põhjusel|järgmistel põhjustel}}:",
        "contentmodelediterror": "Sa ei saa seda redaktsiooni redigeerida, sest selle sisumudel <code>$1</code> erineb lehekülje praegusest sisumudelist <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Hoiatus: Lood uuesti lehekülge, mis on varem kustutatud.'''\n\nKaalu, kas lehekülje uuesti loomine on kohane.\nLehekülje eelnevad kustutamised ja teisaldamised:",
-       "moveddeleted-notice": "See lehekülg on kustutatud.\nAllpool on esitatud lehekülje kustutamis- ja teisaldamislogi.",
-       "moveddeleted-notice-recent": "Kahjuks on see lehekülg hiljuti kustutatud (viimase 24 tunni jooksul).\nAllpool on ära toodud selle lehekülje sissekanded teisaldamis- ja kustutamislogis.",
+       "moveddeleted-notice": "See lehekülg on kustutatud.\nAllpool on esitatud lehekülje kustutamis-, kaitsmis- ja teisaldamislogi.",
+       "moveddeleted-notice-recent": "Kahjuks on see lehekülg hiljuti kustutatud (viimase 24 tunni jooksul).\nAllpool on ära toodud selle lehekülje sissekanded teisaldamis-, kaitsmis- ja kustutamislogis.",
        "log-fulllog": "Vaata kogu logi",
        "edit-hook-aborted": "Laiendusliides katkestas muutmise täpsemat selgitust andmata.",
        "edit-gone-missing": "Polnud võimalik lehekülge uuendada.\nTundub, et see on kustutatud.",
        "prefs-editwatchlist-clear": "Tühjenda jälgimisloend",
        "prefs-watchlist-days": "Mitme päeva muudatusi näidata loendis:",
        "prefs-watchlist-days-max": "Ülemmäär $1 {{PLURAL:$1|päev|päeva}}",
-       "prefs-watchlist-edits": "Mitu muudatust näidatakse laiendatud jälgimisloendis:",
+       "prefs-watchlist-edits": "Mitut muudatust jälgimisloendis enim näidata:",
        "prefs-watchlist-edits-max": "Ülemmäär: 1000",
        "prefs-watchlist-token": "Jälgimisloendi luba:",
        "prefs-misc": "Muu",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vaata ka [[Special:NewPages|uute lehekülgede loendit]])",
        "recentchanges-submit": "Näita",
        "rcfilters-legend-heading": "<strong>Lühendite loetelu:</strong>",
-       "rcfilters-other-review-tools": "<strong>Muud ülevaatusriistad:</strong>",
+       "rcfilters-other-review-tools": "<strong>Muud ülevaatusriistad</strong>",
+       "rcfilters-group-results-by-page": "Rühmita tulemused lehekülje kaupa",
+       "rcfilters-grouping-title": "Rühmitamine",
        "rcfilters-activefilters": "Aktiivsed filtrid",
        "rcfilters-advancedfilters": "Täpsemad filtrid",
        "rcfilters-limit-title": "Näita nii mitut muudatust",
-       "rcfilters-limit-shownum": "Näita viimast $1 muudatust",
+       "rcfilters-limit-shownum": "Näita viimast {{PLURAL:$1|muudatust|$1 muudatust}}",
        "rcfilters-days-title": "Viimased päevad",
        "rcfilters-hours-title": "Viimased tunnid",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|päev|päeva}}",
        "rcfilters-savedqueries-add-new-title": "Salvesta filtri praegused sätted",
        "rcfilters-restore-default-filters": "Taasta vaikefiltrid",
        "rcfilters-clear-all-filters": "Eemalda kõik filtrid",
+       "rcfilters-show-new-changes": "Vaata uusimaid muudatusi",
        "rcfilters-search-placeholder": "Filtri viimaseid muudatusi (sirvi või alusta tippimist)",
        "rcfilters-invalid-filter": "Vigane filter",
        "rcfilters-empty-filter": "Aktiivsed filtrid puuduvad. Näidatakse kogu kaastööd.",
        "rcfilters-filterlist-noresults": "Ei leitud ühtegi filtrit.",
        "rcfilters-noresults-conflict": "Tulemusi ei leitud, sest otsikriteeriumid on konfliktsed.",
        "rcfilters-state-message-subset": "See filter ei tee midagi, sest selle tulemused on kaasatud {{PLURAL:$2|järgmise laiema filtri|järgmiste laiemate filtrite}} tulemustes (tulemuste eristamiseks proovi esiletõstu): $1",
-       "rcfilters-state-message-fullcoverage": "Ühe rühma kõigi filtrite valimine on samaväärne mitte ühegi filtri valimisega, mistõttu ei tee see filter midagi. Rühmas on: $1",
+       "rcfilters-state-message-fullcoverage": "Selle rühma kõigi filtrite valimine on samaväärne mitte ühegi filtri valimisega, mistõttu ei tee see filter midagi. Rühmas on: $1",
        "rcfilters-filtergroup-authorship": "Kaastöö autorsus",
        "rcfilters-filter-editsbyself-label": "Enda muudatused",
        "rcfilters-filter-editsbyself-description": "Sinu enda muudatused.",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:mitte</strong> $1",
        "rcfilters-exclude-button-off": "Jäta valitud välja",
        "rcfilters-exclude-button-on": "Valitud välja jäetud",
+       "rcfilters-view-advanced-filters-label": "Täpsemad filtrid",
        "rcfilters-view-tags": "Märgistatud muudatused",
        "rcfilters-view-namespaces-tooltip": "Filtri tulemusi nimeruumide lõikes",
        "rcfilters-view-tags-tooltip": "Filtri tulemusi muudatusmärgiste lõikes",
        "rcfilters-view-return-to-default-tooltip": "Naase filtri peamenüüsse",
        "rcfilters-liveupdates-button": "Uuendused reaalajas",
+       "rcfilters-liveupdates-button-title-on": "Lülita reaalajas uuendamine välja",
+       "rcfilters-liveupdates-button-title-off": "Näita uusi muudatusi kohe nende tegemise järel",
        "rcnotefrom": "Allpool on toodud {{PLURAL:$5|muudatus|muudatused}} alates: <strong>$3, kell $4</strong> (näidatakse kuni <strong>$1</strong> muudatust)",
        "rclistfromreset": "Lähtesta kuupäeva valik",
        "rclistfrom": "Näita muudatusi alates: $3, kell $2",
        "enotif_lastdiff": "Et seda muudatust näha, vaata: $1.",
        "enotif_anon_editor": "anonüümne kasutaja $1",
        "enotif_body": "Lugupeetud $WATCHINGUSERNAME\n\n$PAGEINTRO $NEWPAGE\n\nRedigeerija resümee: $PAGESUMMARY $PAGEMINOREDIT\n\nRedigeerijaga ühenduse võtmine:\ne-post: $PAGEEDITOR_EMAIL\nviki: $PAGEEDITOR_WIKI\n\nSeni kuni sa sisselogituna seda lehekülge ei külasta, selle leheküljega seotud toimingute kohta sulle uusi teavituse e-kirju ei saadeta. Jälgimisloendis saaksid kõigi jälgitavate lehekülgedega seotud teavitussätted ka lähtestada.\n\nAbivalmilt\n{{GRAMMAR:genitive|{{SITENAME}}}} teavitussüsteem\n\n--\nE-kirjatsi saabuvate teavituste sätteid saad muuta leheküljel\n{{canonicalurl:{{#special:Preferences}}}}.\n\nOma jälgimisloendi sätete muutmiseks mine leheküljele\n{{canonicalurl:Special:Watchlist/edit}}.\n\nLehekülje kustutamiseks jälgimisloendist mine leheküljele $UNWATCHURL.\n\nTagasiside ja abi:\n$HELPPAGE",
+       "enotif_minoredit": "See on pisimuudatus",
        "created": "loonud lehekülje",
        "changed": "muutnud lehekülge",
        "deletepage": "Kustuta lehekülg",
        "tooltip-pt-mycontris": "Sinu kaastööde loend",
        "tooltip-pt-anoncontribs": "Sellelt IP-aadressilt tehtud muudatuste loend",
        "tooltip-pt-login": "See pole küll kohustuslik, aga sul tasub sisse logida.",
+       "tooltip-pt-login-private": "Pead sisse logima, et seda vikit kasutada.",
        "tooltip-pt-logout": "Logi välja",
        "tooltip-pt-createaccount": "See pole küll kohustuslik, aga sul tasub konto luua ja sisse logida.",
        "tooltip-ca-talk": "Arutelu selle lehekülje sisu kohta",
        "compare-invalid-title": "Valitud pealkiri on vigane.",
        "compare-title-not-exists": "Valitud pealkirja ei ole.",
        "compare-revision-not-exists": "Valitud redaktsiooni ei ole.",
+       "diff-form": "Erinevused",
+       "diff-form-oldid": "Vana redaktsiooni identifikaator (valikuline)",
+       "diff-form-revid": "Erineva redaktsiooni identifikaator",
+       "diff-form-submit": "Näita erinevusi",
+       "permanentlink": "Püsilink",
+       "permanentlink-revid": "Redaktsiooni identifikaator",
+       "permanentlink-submit": "Mine redaktsiooni juurde",
        "dberr-problems": "Kahjuks on sellel saidil tehnilisi probleeme",
        "dberr-again": "Oota mõni hetk ja laadi lehekülg uuesti.",
        "dberr-info": "(Juurdepääs andmebaasile puudub: $1)",
        "authpage-cannot-create-continue": "Konto loomisega ei õnnestu jätkata. Suure tõenäosusega on sinu seansi ajalõpp möödunud.",
        "authpage-cannot-link": "Konto linkimisega ei õnnestu alustada.",
        "authpage-cannot-link-continue": "Konto linkimisega ei õnnestu jätkata. Suure tõenäosusega on sinu seansi ajalõpp möödunud.",
+       "cannotauth-not-allowed-title": "Juurdepääs puudub",
+       "cannotauth-not-allowed": "Sul pole lubatud seda lehekülge kasutada.",
        "changecredentials": "Autentimisandmete muutmine",
        "changecredentials-submit": "Muuda autentimisandmed",
+       "changecredentials-invalidsubpage": "$1 pole sobiv autentimisandmete tüüp.",
        "changecredentials-success": "Sinu autentimisandmed on muudetud.",
        "removecredentials": "Autentimisandmete eemaldamine",
        "removecredentials-submit": "Eemalda autentimisandmed",
+       "removecredentials-invalidsubpage": "$1 pole sobiv autentimisandmete tüüp.",
        "removecredentials-success": "Sinu autentimisandmed on eemaldatud.",
        "credentialsform-provider": "Andmete tüüp:",
        "credentialsform-account": "Konto nimi:",
+       "cannotlink-no-provider-title": "Lingitavad kontod puuduvad",
+       "cannotlink-no-provider": "Lingitavad kontod puuduvad.",
+       "linkaccounts": "Kontode linkimine",
+       "linkaccounts-success-text": "Konto on lingitud.",
+       "linkaccounts-submit": "Lingi kontod",
+       "unlinkaccounts": "Tühista kontode linkimine",
+       "unlinkaccounts-success": "Kontode linkimine on tühistatud.",
        "authenticationdatachange-ignored": "Autentimisandmete muutmine jäi rahuldamata. Võimalik, et ühtegi pakkujat polnud häälestatud.",
        "userjsispublic": "Pea silmas, et JavaScripti alamleheküljed ei tohiks sisaldada konfidentsiaalseid andmeid, kuna neid näevad teised kasutajad.",
        "usercssispublic": "Palun pane tähele: CSS-alamleheküljel ei peaks olema konfidentsiaalseid andmeid, kuna teised kasutajad näevad seda.",
        "restrictionsfield-help": "Üks IP-aadress või CIDR-vahemik rea kohta. Et lubada kõik, kasuta järgmist süntaksit:<pre>0.0.0.0/0\n::/0</pre>",
        "revid": "redaktsioon $1",
        "pageid": "lehekülje identifikaator $1",
+       "rawhtml-notallowed": "&lt;html&gt;-silte ei saa kasutada mujal kui harilikel lehekülgedel.",
+       "gotointerwiki": "Lahkud {{GRAMMAR:elative|{{SITENAME}}}}",
+       "gotointerwiki-invalid": "Määratud pealkiri on vigane.",
+       "gotointerwiki-external": "Lahkud {{GRAMMAR:elative|{{SITENAME}}}}, et minna asukohta [[$2]], mis on eraldi veebisait.\n\n'''[$1 Mine edasi aadressile $1]'''",
        "undelete-cantedit": "Sa ei saa seda lehekülge taastada, sest sul pole lubatud seda lehekülge redigeerida.",
        "undelete-cantcreate": "Sa ei saa seda lehekülge taastada, sest sellise pealkirjaga lehekülg puudub ja sul pole lubatud seda lehekülge alustada.",
        "pagedata-title": "Lehekülje andmed",
+       "pagedata-text": "See lehekülg varustab leheküljed andmeliidesega. Palun too internetiaadressis ära lehekülje pealkiri, kasutades alamlehekülje süntaksit.\n* Sisu kooskõlastatakse vastavalt sinu kliendi Accept-päisele. See tähendab seda, et andmeid pakutakse vormingus, mida sinu klient eelistab.",
        "pagedata-not-acceptable": "Vastavat vormingut ei leitud. Toetatud MIME tüübid: $1",
        "pagedata-bad-title": "Vigane pealkiri: $1."
 }
index 86c5767..7274dca 100644 (file)
        "yourdiff": "Ezberdintasunak",
        "copyrightwarning": "Kontuan izan ezazu {{SITENAME}} webgunean egindako ekarpen guztiak $2 lizentziaren pean argitaratzen direla (xehetasunetarako, ikus $1). Zuk idatzitakoa libreki aldatua eta banatua izatea nahi ez baduzu, ez ezazu hemen jarri.<br />\nEra berean, hitzematen ari zara hau zuk zeuk idatzia dela, edo jabari publikotik nahiz askea den beste ituri batetik kopiatu duzula.\n'''Ez erabili copyright eskubideek babestutako lanik, baimenik gabe!'''",
        "copyrightwarning2": "Mesedez, kontuan izan ezazu {{SITENAME}} webgunean egindako ekarpen guztiak beste erabiltzaileek aldatu edo ezabatu ditzaketela. Zuk idatzitakoa libreki aldatua izatea nahi ez baduzu, ez ezazu hemen jarri.<br />\nEra berean, hitzematen ari zara hau zuk zeuk idatzia dela, edo jabari publikotik nahiz askea den beste ituri batetik kopiatu duzula (xehetasunetarako, ikus $1).\n'''Ez erabili copyright eskubideek babestutako lanik, baimenik gabe!'''",
+       "editpage-cannot-use-custom-model": "Orri honetako eduki eredua ezin da aldatu.",
        "longpageerror": "'''Errorea: Bidali duzun testuak {{PLURAL:$1|kilobyte 1eko|$1 kilobyteko}} luzera du, eta {{PLURAL:$2|kilobyte 1eko|$2 kilobyteko}} maximoa baino luzeagoa da.'''\nEzin da gorde.",
        "readonlywarning": "<strong>Oharra: Datu-basea blokeatu egin da mantenu lanak burutzeko, beraz ezingo dituzu orain zure aldaketak gorde.</strong>I\nTestua fitxategi baten kopiatu dezakezu, eta beranduago erabiltzeko gorde.\n\nBlokeatu zuen administratzaileak honako azalpena eman zuen: $1",
        "protectedpagewarning": "'''Oharra:  Orri hau blokeatua dago administratzaileek soilik eraldatu ahal dezaten.'''\nAzken erregistroa ondoren ikusgai dago erreferentzia gisa:",
        "undo-success": "Aldaketa desegin daiteke.\nMesedez beheko alderaketa egiaztatu, egin nahi duzuna hori dela frogatzeko, eta ondoren azpiko aldaketak gorde, aldaketa desegiten amaitzeko.",
        "undo-failure": "Ezin izan da aldaketa desegin tarteko aldaketekin gatazkak direla-eta.",
        "undo-norev": "Aldaketa ezin da desegin ez delako existitzen edo ezabatu zutelako.",
+       "undo-nochange": "Aldaketa hau honezkero desegin da.",
        "undo-summary": "[[Special:Contributions/$2|$2]] ([[User talk:$2|eztabaida]]) wikilariaren $1 berrikuspena desegin da",
        "undo-summary-username-hidden": "Deuseztatu ezkutuko erabiltzaile batek egindako $1 berrikusketa",
        "cantcreateaccount-text": "IP helbide honetatik ('''$1''') kontu berria sortzeko aukera blokeatu du [[User:$3|$3]](e)k.\n\n$3(e)k emandako arrazoia: ''$2''",
        "right-browsearchive": "Ezabatutako orrialdeak bilatu",
        "right-undelete": "Ezabatutako orrialde bat itzularazi",
        "right-suppressrevision": "Edozein erabiltzaileren berrikuspenak ikusi, ezkutatu ala ikustarazi",
+       "right-viewsuppressed": "Edozein erabiltzailek izkutatutako berrikusketak ikusi",
        "right-suppressionlog": "Log pribatuak ikusi",
        "right-block": "Blokeatu beste erabiltzaile batzuk, edita ez dezaten",
        "right-blockemail": "Erabiltzaile bati blokeatu mezu elektronikoak bidaltzeko aukera",
        "recentchanges-submit": "Erakutsi",
        "rcfilters-legend-heading": "<indartsu>Laburpenen zerrenda:</indartsu>",
        "rcfilters-other-review-tools": "<strong>Beste berrikusketa tresna:</strong>",
+       "rcfilters-grouping-title": "Taldekatzen",
        "rcfilters-activefilters": "Iragazki aktiboak",
        "rcfilters-advancedfilters": "Iragazki aurreratuak",
        "rcfilters-limit-title": "Aldaketak erakutsi",
-       "rcfilters-limit-shownum": "Azken $1 aldaketak erakutsi",
+       "rcfilters-limit-shownum": "Azken {{PLURAL:$1|aldaketa|999=aldaketak}} erakutsi",
        "rcfilters-days-title": "Azken egunak",
        "rcfilters-hours-title": "Azken orduak",
        "rcfilters-days-show-days": "{{PLURAL:$1|Egun $1|$1 egun}}",
        "rcfilters-quickfilters-placeholder-title": "Ez dira oraindik Link-ak gorde",
        "rcfilters-savedqueries-defaultlabel": "Gordetako iragazkiak",
        "rcfilters-savedqueries-rename": "Berrizendatu",
+       "rcfilters-savedqueries-setdefault": "Lehenetsi",
        "rcfilters-savedqueries-remove": "Kendu",
        "rcfilters-savedqueries-new-name-label": "Izena",
        "rcfilters-savedqueries-new-name-placeholder": "Deskribatu filtro honen helburua",
        "rcfilters-filter-watchlist-watchednew-label": "Ikus-zerrenda berriko aldaketak",
        "rcfilters-filter-watchlist-notwatched-label": "Ez da ageri ikus-zerrendan",
        "rcfilters-filter-watchlist-notwatched-description": "Guztia zure ikus-zerrenda orrientzako aldaketak izan ezik",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Ikusi gabeko aldaketak",
+       "rcfilters-filter-watchlistactivity-seen-label": "Ikusitako aldaketak",
        "rcfilters-filtergroup-changetype": "Aldaketa mota",
        "rcfilters-filter-pageedits-label": "Orrialde aldaketak",
        "rcfilters-filter-pageedits-description": "Aldaketak wiki eduki, eztabaida, kategoria deskribapenetan...",
        "rcfilters-filter-excluded": "Baztertua",
        "rcfilters-exclude-button-off": "Baztertzea aukeratuta",
        "rcfilters-exclude-button-on": "Baztertzea aukeratuta",
+       "rcfilters-view-advanced-filters-label": "Iragazki aurreratuak",
        "rcfilters-view-tags": "Etiketa aldaketak",
        "rcfilters-view-namespaces-tooltip": "Emaitzak aurrikiaren arabera hautatu",
        "rcfilters-view-tags-tooltip": "Iragazi emaitzak aldaketa etiketak erabiliz",
        "rcfilters-view-return-to-default-tooltip": "Oinarrizko iragazketa menura bueltatu",
        "rcfilters-liveupdates-button": "Zuzenean egindako eguneraketak",
+       "rcfilters-liveupdates-button-title-on": "Desgaitu zuzenean egindako eguneraketak",
+       "rcfilters-watchlist-markSeen-button": "Aldaketa guztiak ikusitakoak bezala markatu",
        "rcnotefrom": "Jarraian azaltzen diren {{PLURAL:$5|aldaketak}} data honetatik aurrerakoak dira: <strong>$3,$4</strong> (gehienez <b>$1</b> erakusten dira).",
+       "rclistfromreset": "Data aukeraketa berrezarri",
        "rclistfrom": "Erakutsi $3 $2 ondorengo aldaketa berriak",
        "rcshowhideminor": "$1 aldaketa txikiak",
        "rcshowhideminor-show": "Erakutsi",
        "delete-edit-reasonlist": "Ezabaketa arrazoiak aldatu",
        "delete-toobig": "Orrialde honek aldaketa historia luzea du, {{PLURAL:$1|berrikuspen batetik|$1 berrikuspenetik}} gorakoa.\nOrrialde horien ezabaketa mugatua dago {{SITENAME}}n ezbeharrak saihesteko.",
        "delete-warning-toobig": "Orrialde honek aldaketa historia luzea du, {{PLURAL:$1|berrikuspen batetik|$1 berrikuspenetik}} gorakoa.\nEzabatzeak ezbeharrak eragin ditzake {{SITENAME}}ren datu-basean;\nkontu izan.",
+       "deleteprotected": "Ezin dezakezu orri hau ezabatu babestu egin delako.",
        "deleting-subpages-warning": "<strong>Oharra:</strong> Ezabatuko duzun orrialdeak [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|a subpage|$1 subpages|51=over 50 subpages}}]] dauka.",
        "rollback": "Desegin aldaketak",
        "rollbacklink": "desegin",
        "unblock": "Erabiltzailea desblokeatu",
        "blockip": "Blokeatu {{GENDER:$1|erabiltzailea}}",
        "blockip-legend": "Blokeatu erabiltzailea",
-       "blockiptext": "IP helbide edo erabiltzaile izen bati idazketa baimenak kentzeko beheko formularioa erabil dezakezu. Ekintza hau bandalismoa saihesteko baino ez da burutu behar, eta beti ere [[{{MediaWiki:Policy-url}}|politikak]] errespetatuz. Blokeoaren arrazoi bat ere zehaztu ezazu (adibidez, orrialde batzuk zehaztuz).",
+       "blockiptext": "IP helbide edo erabiltzaile izen bati idazketa baimenak kentzeko beheko formularioa erabil dezakezu. Ekintza hau bandalismoa saihesteko baino ez da burutu behar, eta beti ere [[{{MediaWiki:Policy-url}}|politikak]] errespetatuz. Blokeoaren arrazoi bat ere zehaztu ezazu (adibidez, orrialde batzuk zehaztuz). IP helbideak [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] syntax; the largest allowed range is /$1 for IPv4 and /$2 for IPv6. erabiliz blokeatu ditzakezu.",
        "ipaddressorusername": "IP Helbidea edo erabiltzaile izena",
        "ipbexpiry": "Iraungipena",
        "ipbreason": "Arrazoia:",
        "ipb_expiry_invalid": "Aldiaren bukaerako data ez da baliozkoa.",
        "ipb_expiry_old": "Epemuga iraganean dago.",
        "ipb_expiry_temp": "Izkutuan dauden lankide izenen blokeoa betierekikoa izan behar du.",
-       "ipb_hide_invalid": "Ezin izan da kontu hau ezabatu; aldaketa asko izan baitezake.",
+       "ipb_hide_invalid": "Ezin izan da kontu hau ezabatu; {{PLURAL:$1|one edit|$1 edits}} baino gehiago baiditu.",
        "ipb_already_blocked": "\"$1\" badago blokeatuta",
        "ipb-needreblock": "$1 dagoeneko blokeaturik dago. Ezarpenak aldatu nahi al dituzu?",
        "ipb-otherblocks-header": "Bestelako {{PLURAL:$1|blokeoa|blokeoak}}",
        "compare-invalid-title": "Zehaztutako izenburua ez dago zuzen.",
        "compare-title-not-exists": "Adierazi duzun izenburua ez da existitzen.",
        "compare-revision-not-exists": "Zehazturiko berrikuspena ez da existitzen.",
+       "diff-form": "Ezberdintasunak",
+       "diff-form-submit": "Erakutsi ezberdintasunak",
+       "permanentlink": "Lotura finkoa",
+       "permanentlink-revid": "Berrikuspen IDa",
+       "permanentlink-submit": "Berrikusketara joan",
        "dberr-problems": "Barkatu! Webgune honek zailtasun teknikoak jasaten ari da.",
        "dberr-again": "Saiatu pare bat minutu itxaroten edo kargatu ezazu orrialdea berriro.",
        "dberr-info": "($1: Ezin da datu-basera konektatu)",
        "cannotauth-not-allowed-title": "Ez da baimendu",
        "cannotauth-not-allowed": "Ez duzu baimenik orri hau erabiltzeko",
        "changecredentials": "Kredentzialak aldatu",
+       "changecredentials-submit": "Kredentzialak aldatu",
+       "removecredentials": "Kredentzialak kendu",
+       "removecredentials-submit": "Kredentzialak kendu",
+       "credentialsform-provider": "Kredentzial mota:",
        "credentialsform-account": "Kontuaren izena:",
-       "gotointerwiki": "{{SITENAME}}(e)tik irteten"
+       "gotointerwiki": "{{SITENAME}}(e)tik irteten",
+       "pagedata-title": "Orri data"
 }
index 1afd0c0..132e11b 100644 (file)
        "nospecialpagetext": "<strong>شما یک صفحهٔ ویژهٔ نامجاز را درخواست کرده‌اید.</strong>\n\nفهرستی از صفحه‌های ویژهٔ مجاز در [[Special:SpecialPages|{{int:specialpages}}]] وجود دارد.",
        "error": "خطا",
        "databaseerror": "خطای پایگاه داده",
-       "databaseerror-text": "Ù\85Ø´Ú©Ù\84Û\8c Ø¯Ø± Ù¾Ø§Û\8cگاÙ\87â\80\8cدادÙ\87â\80\8cÙ\87ا رخ داد. \nاین ممکن است نشان‌دهندهٔ ایرادی در نرم‌افزار باشد.",
+       "databaseerror-text": "Ù\85Ø´Ú©Ù\84Û\8c Ø¯Ø± Ù¾Ø±Ø³Ù\85اÙ\86 Ø§Ø² Ù¾Ø§Û\8cگاÙ\87 Ø¯Ø§Ø¯Ù\87 رخ داد. \nاین ممکن است نشان‌دهندهٔ ایرادی در نرم‌افزار باشد.",
        "databaseerror-textcl": "یک خطا در پرسمان پایگاه داده رخ داد.",
        "databaseerror-query": "پرسمان: $1",
        "databaseerror-function": "تابع: $1",
        "right-mergehistory": "ادغام تاریخچهٔ صفحات",
        "right-userrights": "ویرایش تمام اختیارات کاربرها",
        "right-userrights-interwiki": "ویرایش اختیارات کاربرهای ویکی‌های دیگر",
-       "right-siteadmin": "قفل‌کردن و بازکردن پایگاه داده‌ها",
+       "right-siteadmin": "قفل‌کردن و بازکردن پایگاه‌های داده",
        "right-override-export-depth": "برون‌بری صفحه‌ها شامل صفحه‌های پیوند شده تا عمق ۵",
        "right-sendemail": "ارسال ایمیل به دیگر کاربران",
        "right-managechangetags": "ایجاد و غیرفعال کردن [[Special:Tags|برچسب‌ها]]",
        "action-mergehistory": "ادغام تاریخچهٔ این صفحه",
        "action-userrights": "ویرایش همهٔ اختیارات کاربری",
        "action-userrights-interwiki": "ویرایش اختیارات کاربری کاربران یک ویکی دیگر",
-       "action-siteadmin": "قفل‌کردن و بازکردن پایگاه داده‌ها",
+       "action-siteadmin": "قفل‌کردن و بازکردن پایگاه‌های داده",
        "action-sendemail": "ارسال ایمیل",
        "action-editmyoptions": "ویرایش ترجیحاتتان",
        "action-editmywatchlist": "فهرست پیگیری‌های خود را ویرایش کنید",
        "rcfilters-restore-default-filters": "بازگردانی پالایه‌های پیش‌فرض",
        "rcfilters-clear-all-filters": "پاک‌کردن تمام پالایه‌ها",
        "rcfilters-show-new-changes": "دیدن جدیدترین تغییرات",
-       "rcfilters-previous-changes-label": "تغییرات قبلاً دیده شده",
        "rcfilters-search-placeholder": "پالایش تغییرات اخیر (جستجو یا شروع به تایپ)",
        "rcfilters-invalid-filter": "پالایهٔ نامعتبر",
        "rcfilters-empty-filter": "پالایه‌ای فعال نیست. همهٔ مشارکت‌های دیده می‌شوند.",
        "rcfilters-filter-watchlist-watchednew-description": "تغییرات در صفحه‌هایی در فهرست پی‌گیری شما که از زمان تغییرشان آن‌ها را بازدید نکرده‌اید.",
        "rcfilters-filter-watchlist-notwatched-label": "پی‌گیری‌نشده",
        "rcfilters-filter-watchlist-notwatched-description": "همه‌چیز به غیر از تغییرات در صفحه‌هایی که در فهرست پی‌گیری شما هستند.",
+       "rcfilters-filtergroup-watchlistactivity": "فعالیت فهرست پیگیری",
+       "rcfilters-filter-watchlistactivity-unseen-label": "تغییرات دیده نشده",
+       "rcfilters-filter-watchlistactivity-unseen-description": "تغییرات در صفحاتی که شما تغییرات رخ داده در آنها را مشاهده نکردید.",
+       "rcfilters-filter-watchlistactivity-seen-label": "تغییرات دیده‌شده",
        "rcfilters-filtergroup-changetype": "نوع تغییرات",
        "rcfilters-filter-pageedits-label": "ویرایش‌های صفحه",
        "rcfilters-filter-pageedits-description": "ویرایش‌های محتوای ویکی، بحث‌ها، توضیحات رده...",
        "rcfilters-liveupdates-button": "به‌روزرسانی‌های زنده",
        "rcfilters-liveupdates-button-title-on": "خاموش کردن به‌روزرسانی خودکار",
        "rcfilters-liveupdates-button-title-off": "نمایش تغییرات جدید همچنان که رخ می‌دهند",
+       "rcfilters-watchlist-markSeen-button": "نشانه‌گذاری تمام تغییرات به‌عنوان خوانده‌شده",
        "rcnotefrom": "در زیر تغییرات از <strong>$3, $4</strong> (تا <strong>$1</strong> {{PLURAL:$5|نشان داده شده‌است|نشان داده شده‌اند}}).",
        "rclistfromreset": "از نو کردن انتخاب تاریخ",
        "rclistfrom": "نمایش تغییرات تازه با شروع از $3 $2",
        "delete-legend": "حذف",
        "historywarning": "<strong>هشدار:</strong> صفحه‌ای که در حال پاک کردن آن هستید دارای یک تاریخچه همراه با $1 {{PLURAL:$1|بازبینی|بازبینی}} است:",
        "historyaction-submit": "نمایش",
-       "confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاه داده‌ها همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را می‌دانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.",
+       "confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاه‌های داده همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را می‌دانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.",
        "actioncomplete": "عمل انجام شد",
        "actionfailed": "عمل ناموفق بود",
        "deletedtext": "«$1» حذف شد.\nبرای سابقهٔ حذف‌های اخیر به $2 مراجعه کنید.",
index 9ae9161..87183fa 100644 (file)
        "formerror": "Lomakkeen tiedot eivät kelpaa",
        "badarticleerror": "Tätä toimintoa ei voi suorittaa tälle sivulle.",
        "cannotdelete": "Sivun tai tiedoston ”$1” poisto epäonnistui.\nJoku muu on saattanut poistaa sen.",
-       "cannotdelete-title": "Sivua $1 ei voi poistaa",
+       "cannotdelete-title": "Sivua \"$1\" ei voi poistaa",
        "delete-hook-aborted": "Laajennuskoodi esti poiston antamatta syytä.",
        "no-null-revision": "Nollamuokkausta sivulla \"$1\" ei voi tehdä",
        "badtitle": "Kelvoton sivun nimi",
index 0f95c8c..9912a1c 100644 (file)
        "tog-watchlisthideminor": "Masquer les modifications mineures dans la liste de suivi",
        "tog-watchlisthideliu": "Masquer les modifications faites par des utilisateurs inscrits dans la liste de suivi",
        "tog-watchlistreloadautomatically": "Recharger automatiquement la liste de suivi lorsque les options de filtrage sont modifiées (JavaScript requis)",
-       "tog-watchlistunwatchlinks": "Ajouter des liens directs de suivi/non suivi pour les entrées de la liste de suivi (JavaScript est nécessaire pour la fonctionnalité de bascule)",
+       "tog-watchlistunwatchlinks": "Ajouter des liens directs de suivi/non suivi pour les entrées de la liste de suivi (JavaScript est nécessaire pour gérer la fonctionnalité)",
        "tog-watchlisthideanons": "Masquer les modifications d’utilisateurs anonymes dans la liste de suivi",
        "tog-watchlisthidepatrolled": "Masquer les modifications relues dans la liste de suivi",
        "tog-watchlisthidecategorization": "Masquer la catégorisation des pages",
        "rcfilters-restore-default-filters": "Rétablir les filtres par défaut",
        "rcfilters-clear-all-filters": "Effacer tous les filtres",
        "rcfilters-show-new-changes": "Afficher les modifications les plus récentes",
-       "rcfilters-previous-changes-label": "Modifications précédemment affichées",
        "rcfilters-search-placeholder": "Filtrer les modifications récentes (naviguer ou commencer à saisir)",
        "rcfilters-invalid-filter": "Filtre non valide",
        "rcfilters-empty-filter": "Aucun filtre actif. Toutes les contributions sont affichées.",
        "rcfilters-filterlist-noresults": "Aucun filtre trouvé",
        "rcfilters-noresults-conflict": "Aucun résultat trouvé car les critères de recherche sont en conflit",
        "rcfilters-state-message-subset": "Ce filtre n'a aucun effet, parce que ses résultats sont inclus dans ceux de la recherche suivante, {{PLURAL:$2|filtre plus étendu|filtres plus étendus}} (essayez la mise en forme pour le différencier): $1",
-       "rcfilters-state-message-fullcoverage": "Sélectionner tous les filtres dans un groupe est la même chose que d'en sélectionner aucun, aussi ce filtre n'a aucun effet. Le groupe comprend: $1",
+       "rcfilters-state-message-fullcoverage": "Sélectionner tous les filtres dans ce groupe est la même chose que de n’en sélectionner aucun, aussi ce filtre n’a aucun effet. Le groupe comprend : $1",
        "rcfilters-filtergroup-authorship": "Paternité des contributions",
        "rcfilters-filter-editsbyself-label": "Modifications faites par vous",
        "rcfilters-filter-editsbyself-description": "Vos propres contributions.",
        "rcfilters-filter-watchlist-watchednew-description": "Changements sur les pages de la liste de suivi que vous n'avez pas consultées depuis que ces modifications ont été faites.",
        "rcfilters-filter-watchlist-notwatched-label": "Absent de la liste de suivi",
        "rcfilters-filter-watchlist-notwatched-description": "Tout sauf des modifications de pages de la liste de suivi.",
+       "rcfilters-filtergroup-watchlistactivity": "Activité sur la liste de suivi",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Modifications non-visibles",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Modifications sur les pages que vous n'avez pas visitées depuis.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Voir les modifications",
+       "rcfilters-filter-watchlistactivity-seen-description": "Modifications sur les pages que vous avez visitées depuis.",
        "rcfilters-filtergroup-changetype": "Type de modification",
        "rcfilters-filter-pageedits-label": "Modifications de page",
        "rcfilters-filter-pageedits-description": "Modifications du contenu du wiki, des discussions, des descriptions des catégories…",
        "rcfilters-liveupdates-button": "Mises à jour en direct",
        "rcfilters-liveupdates-button-title-on": "Désactiver les mises à jour à chaud",
        "rcfilters-liveupdates-button-title-off": "Afficher les nouveaux changements dès qu'ils se produisent",
+       "rcfilters-watchlist-markSeen-button": "Marquer toutes les modifications comme vues",
        "rcnotefrom": "Ci-dessous {{PLURAL:$5|la modification effectuée|les modifications effectuées}} depuis le <strong>$3, $4</strong> (affichées jusqu’à <strong>$1</strong>).",
        "rclistfromreset": "Réinitialiser la sélection de la date",
        "rclistfrom": "Afficher les nouvelles modifications depuis le $3 à $2",
        "watching": "Suivi…",
        "unwatching": "Fin du suivi…",
        "watcherrortext": "Une erreur s'est produite lors de la modification des paramètres de votre liste de suivi pour « $1 ».",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Marquer toutes les pages comme visitées",
        "enotif_impersonal_salutation": "Utilisateur de {{SITENAME}}",
        "enotif_subject_deleted": "La page $1 sur {{SITENAME}} a été {{GENDER:$2|supprimée}} par $2",
        "log-show-hide-patrol": "$1 l’historique des relectures",
        "log-show-hide-tag": "$1 le journal des balises",
        "confirm-markpatrolled-button": "Valider",
-       "confirm-markpatrolled-top": "Marquer la révision de $3 de $2 comme prise en compte ?",
+       "confirm-markpatrolled-top": "Marquer la révision $3 de $2 comme relue ?",
        "deletedrevision": "Ancienne version $1 supprimée",
        "filedeleteerror-short": "Erreur lors de la suppression du fichier : $1",
        "filedeleteerror-long": "Des erreurs ont été rencontrées lors de la suppression du fichier :\n\n$1",
index f2fe856..8802a8e 100644 (file)
        "excontentauthor": "Diar sted: „$1“, an di iansagst bewerker wiar: [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskuschuun]])",
        "exbeforeblank": "diar sted föör't leesag maagin: „$1“",
        "delete-confirm": "Strik \"$1\"",
-       "delete-legend": "Strike",
+       "delete-legend": "Strik",
        "historywarning": "<strong>Paase üüb:</strong> Det sidj, wat dü strik wel, hää $1 {{PLURAL:$1|werjuun|werjuunen}}:",
        "confirmdeletetext": "Dü wel en sidj mä aal sin werjuunen strik. Dü skel gudkään, dat dü witjst, wat dü dääst an dat din dun mä a [[{{MediaWiki:Policy-url}}|brükerreegeln]] auerian stemet.",
        "actioncomplete": "Klaar",
index de2a3c2..0278da5 100644 (file)
@@ -61,6 +61,7 @@
        "tog-watchlisthideminor": "Agochar as edicións pequenas na lista de vixilancia",
        "tog-watchlisthideliu": "Agochar as edicións dos usuarios rexistrados na lista de vixilancia",
        "tog-watchlistreloadautomatically": "Recargar a lista de vixilancia automaticamente cando se produza un cambio nun filtro (necesítase JavaScript)",
+       "tog-watchlistunwatchlinks": "Engadir ligazóns directos para vixiar ou deixar de vixiar as entradas da lista de páxinas vixiadas (é necesario JavaScript para activar a funcionalidade)",
        "tog-watchlisthideanons": "Agochar as edicións dos usuarios anónimos na lista de vixilancia",
        "tog-watchlisthidepatrolled": "Agochar as edicións patrulladas na lista de vixilancia",
        "tog-watchlisthidecategorization": "Agochar a categorización das páxinas",
        "permissionserrorstext-withaction": "Non ten os permisos necesarios para $2, {{PLURAL:$1|pola seguinte razón|polas seguintes razóns}}:",
        "contentmodelediterror": "Non pode editar esta revisión porque o seu modelo de contido é \"<code>$1</code>\", o cal difire do modelo de contido \"<code>$2</code>\", que é o actual da páxina.",
        "recreate-moveddeleted-warn": "'''Atención: Vai volver crear unha páxina que xa foi eliminada anteriormente.'''\n\nDebería considerar se é apropiado continuar a editar esta páxina.\nVelaquí están o rexistro de borrados e mais o de traslados desta páxina, por se quere consultalos:",
-       "moveddeleted-notice": "Esta páxina foi borrada.\nA continuación pódese ver o rexistro de borrados e traslados desta páxina, por se quere consultalos.",
+       "moveddeleted-notice": "Esta páxina foi borrada.\nO rexistro de borrados, protección e traslados desta páxina amósase abaixo, por se quere consultalos.",
        "moveddeleted-notice-recent": "Sentímolo, borrouse esta páxina recentemente (nas últimas 24 horas).\nVelaquí están o rexistro de borrados, proteccións e traslados da páxina, por se os quere consultar.",
        "log-fulllog": "Ver o rexistro completo",
        "edit-hook-aborted": "A edición foi abortada polo asociador.\nEste non deu ningunha explicación.",
        "rcfilters-restore-default-filters": "Restaurar os filtros por defecto",
        "rcfilters-clear-all-filters": "Borrar todos os filtros",
        "rcfilters-show-new-changes": "Mostrar os cambios máis recentes",
-       "rcfilters-previous-changes-label": "Modificacións vistas anteriormente",
        "rcfilters-search-placeholder": "Filtrar os cambios recentes (ollar ou comezar a escribir)",
        "rcfilters-invalid-filter": "Filtro no válido",
        "rcfilters-empty-filter": "Non hai filtros activos. Móstranse tódalas contribucións.",
        "watching": "Vixiando...",
        "unwatching": "Deixando de vixiar...",
        "watcherrortext": "Houbo un erro ao cambiar as súas opcións de vixilancia para a páxina \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Marcar todas as páxinas como visitadas",
        "enotif_impersonal_salutation": "Usuario de {{SITENAME}}",
        "enotif_subject_deleted": "{{GENDER:$2|$2}} borrou a páxina chamada \"$1\" en {{SITENAME}}",
index fd90bda..c317226 100644 (file)
        "mytalk": "𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰",
        "navigation": "𐌻𐌰𐌿𐌱𐌰𐌲𐌰𐍅𐌹𐍃𐍃𐌴𐌹𐍃",
        "and": "𐌾𐌰𐌷",
-       "qbfind": "𐌱𐌹𐌲𐌹𐍄",
-       "qbedit": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹",
-       "qbpageoptions": "𐍃𐌰 𐌻𐌰𐌿𐍆𐍃",
-       "qbmyoptions": "𐌼𐌴𐌹𐌽𐌰𐌹 𐌻𐌰𐌿𐌱𐍉𐍃",
        "actions": "𐍄𐍉𐌾𐌰",
        "namespaces": "𐌽𐌰𐌼𐌰𐍂𐌿𐌼𐌰",
        "variants": "𐌼𐌹𐍃𐍃𐌰𐌻𐌴𐌹𐌺",
        "view-foreign": "𐍃𐌰𐌹𐍈 𐌰𐌽𐌰 $1",
        "edit": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹",
        "create": "𐍃𐌺𐌰𐍀𐌴𐌹",
-       "editthispage": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹 𐌸𐌰𐌽𐌰 𐌻𐌰𐌿𐍆",
-       "create-this-page": "𐍃𐌺𐌰𐍀𐌴𐌹 𐌸𐌰𐌽𐌰 𐌻𐌰𐌿𐍆",
        "delete": "𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹",
-       "deletethispage": "𐍆𐍂𐌰𐌵𐌹𐍃𐍄𐌴𐌹 𐌸𐌰𐌼𐌼𐌰 𐌻𐌰𐌿𐌱𐌰",
-       "undeletethispage": "𐌽𐌰𐍃𐌴𐌹 𐌸𐌰𐌽𐌰 𐌻𐌰𐌿𐍆",
        "protect": "𐍆𐍂𐌹𐌸",
        "protect_change": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹",
-       "protectthispage": "𐍆𐍂𐌹𐌸 𐌸𐌰𐌽𐌰 𐌻𐌰𐌿𐍆",
        "unprotect": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹 𐌼𐌿𐌽𐌳",
-       "unprotectthispage": "𐌹𐌽𐌼𐌰𐌹𐌳𐌴𐌹 𐌼𐌿𐌽𐌳 𐌸𐌹𐍃 𐌻𐌰𐌿𐌱𐌹𐍃",
        "newpage": "𐌽𐌹𐌿𐌾𐌹𐍃 𐌻𐌰𐌿𐍆𐍃",
-       "talkpage": "𐍂𐍉𐌳𐌴𐌹 𐌱𐌹 𐌸𐌰𐌽𐌰 𐌻𐌰𐌿𐍆",
        "talkpagelinktext": "𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰",
        "specialpage": "𐌿𐍃𐍃𐌹𐌽𐌳𐍃 𐌻𐌰𐌿𐍆𐍃",
        "personaltools": "𐍃𐍅𐌴𐍃𐌰𐌹 𐍃𐌰𐍂𐍅𐌰𐌽𐍃",
        "talk": "𐌲𐌰𐍅𐌰𐌿𐍂𐌳𐌾𐌰",
        "views": "𐍃𐌹𐌿𐌽𐌴𐌹𐍃",
        "toolbox": "𐍃𐌰𐍂𐍅𐌰𐌽𐍃",
-       "projectpage": "𐌰𐌽𐌳𐌷𐌿𐌻𐌴𐌹 𐍆𐌰𐌿𐍂𐌰𐍅𐌰𐌿𐍂𐍀𐌰𐌻𐌰𐌿𐍆",
        "mediawikipage": "𐌰𐌽𐌳𐌷𐌿𐌻𐌴𐌹 𐍅𐌰𐌿𐍂𐌳𐌰𐌻𐌰𐌿𐍆",
        "viewhelppage": "𐌰𐌽𐌳𐌷𐌿𐌻𐌴𐌹 𐌷𐌹𐌻𐍀𐌰𐌻𐌰𐌿𐍆",
        "otherlanguages": "𐌰𐌽𐌸𐌰𐍂𐌰𐌹𐌼 𐍂𐌰𐌶𐌳𐍉𐌼",
index 1d9f503..6bfcda3 100644 (file)
        "recentchanges-legend-heading": "<strong>કળ:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|નવા પાનાઓની યાદી]] પણ જુઓ)",
        "recentchanges-submit": "બતાવો",
+       "rcfilters-legend-heading": "<strong>સંક્ષેપોની યાદી:</strong>",
        "rcfilters-other-review-tools": "<strong>અન્ય ચકાસણી સાધનો</strong>",
+       "rcfilters-activefilters": "સક્રિય ગાળકો",
+       "rcfilters-limit-title": "દર્શાવવાના ફેરફારો",
+       "rcfilters-limit-shownum": "છેલ્લા {{PLURAL:$1|ફેરફાર|$1 ફેરફારો}} દર્શાવો",
+       "rcfilters-days-title": "તાજેતરના દિવસો",
+       "rcfilters-hours-title": "તાજેતરના કલાકો",
        "rcfilters-savedqueries-cancel-label": "રદ કરો",
+       "rcfilters-show-new-changes": "તાજેતરના ફેરફારો દર્શાવો",
        "rcnotefrom": "નીચે <strong>$3, $4</strong> થી {{PLURAL:$5|ફેરફાર|ફેરફારો}} દર્શાવેલ છે (<strong>$1</strong> સુધી દર્શાવેલ છે).",
        "rclistfrom": "$3 $2 બાદ થયેલા નવા ફેરફારો બતાવો",
        "rcshowhideminor": "નાના ફેરફારો $1",
index 543fa69..36160b5 100644 (file)
        "rcfilters-restore-default-filters": "שחזור למסנני ברירת המחדל",
        "rcfilters-clear-all-filters": "מחיקת כל המסננים",
        "rcfilters-show-new-changes": "הצגת השינויים החדשים ביותר",
-       "rcfilters-previous-changes-label": "שינויים שהוצגו בעבר",
        "rcfilters-search-placeholder": "סינון שינויים אחרונים (עיינו או התחילו להקליד)",
        "rcfilters-invalid-filter": "מסנן בלתי־תקין",
        "rcfilters-empty-filter": "אין מסננים פעילים. כל התרומות מוצגות.",
        "rcfilters-filterlist-noresults": "לא נמצאו מסננים",
        "rcfilters-noresults-conflict": "לא נמצאו תוצאות משום שקריטריוני החיפוש מתנגשים",
        "rcfilters-state-message-subset": "המסנן הזה אינו משפיע כי התוצאות שלו כלולות {{PLURAL:$2|במסנן הרחב יותר הבא|במסננים הרחבים יותר הבאים}} (נסו להדגיש כדי להבדיל ביניהם): $1",
-       "rcfilters-state-message-fullcoverage": "בחירת כל המסננים בקבוצה זהה לביטול כל הבחירות, אז למסנן הזה אין השפעה. הקבוצה כוללת: $1",
+       "rcfilters-state-message-fullcoverage": "×\91×\97×\99רת ×\9b×\9c ×\94×\9eסננ×\99×\9d ×\91ק×\91×\95צ×\94 ×\96×\95 ×\96×\94×\94 ×\9c×\91×\99×\98×\95×\9c ×\9b×\9c ×\94×\91×\97×\99ר×\95ת, ×\90×\96 ×\9c×\9eסנ×\9f ×\94×\96×\94 ×\90×\99×\9f ×\94שפע×\94. ×\94ק×\91×\95צ×\94 ×\9b×\95×\9c×\9cת: $1",
        "rcfilters-filtergroup-authorship": "מבצעי התרומה",
        "rcfilters-filter-editsbyself-label": "שינויים שלך",
        "rcfilters-filter-editsbyself-description": "תרומות שביצעת בעצמך.",
        "rcfilters-filter-watchlist-watchednew-description": "שינויים לדפים ברשימת המעקב שלא ביקרת בהם מאז שבוצעו השינויים.",
        "rcfilters-filter-watchlist-notwatched-label": "לא ברשימת המעקב",
        "rcfilters-filter-watchlist-notwatched-description": "הכל מלבד שינויים לדפים ברשימת המעקב שלך.",
+       "rcfilters-filtergroup-watchlistactivity": "פעילות ברשימת המעקב",
+       "rcfilters-filter-watchlistactivity-unseen-label": "שינויים שלא נצפו",
+       "rcfilters-filter-watchlistactivity-unseen-description": "שינויים בדפים שלא ביקרת בהם מאז שבוצעו השינויים.",
+       "rcfilters-filter-watchlistactivity-seen-label": "שינויים שנצפו",
+       "rcfilters-filter-watchlistactivity-seen-description": "שינויים בדפים שביקרת בהם מאז שבוצעו השינויים.",
        "rcfilters-filtergroup-changetype": "סוג השינויים",
        "rcfilters-filter-pageedits-label": "עריכות דפים",
        "rcfilters-filter-pageedits-description": "עריכות של תוכן ויקי, של דיונים, של תיאורי קטגוריות…",
        "rcfilters-liveupdates-button": "עדכונים חיים",
        "rcfilters-liveupdates-button-title-on": "כיבוי העדכונים החיים",
        "rcfilters-liveupdates-button-title-off": "הצגת שינויים חדשים כשהם מתרחשים",
+       "rcfilters-watchlist-markSeen-button": "סימון כל השינויים כאילו נצפו",
        "rcnotefrom": "להלן {{PLURAL:$5|השינוי שבוצע|השינויים שבוצעו}} מאז <strong>$3, $4</strong> (מוצגים עד <strong>$1</strong>).",
        "rclistfromreset": "איפוס בחירת התאריך",
        "rclistfrom": "הצגת שינויים חדשים החל מ־$2, $3",
        "watching": "בהוספה לרשימת המעקב...",
        "unwatching": "בהסרה מרשימת המעקב...",
        "watcherrortext": "אירעה שגיאה בעת שינוי הגדרות רשימת המעקב של \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "סימון כל הדפים כאילו נצפו",
        "enotif_impersonal_salutation": "משתמש ב{{GRAMMAR:תחילית|{{SITENAME}}}}",
        "enotif_subject_deleted": "הדף \"$1\" ב{{grammar:תחילית|{{SITENAME}}}} נמחק על־ידי $2",
index 001cee9..075c3f3 100644 (file)
        "permissionserrorstext-withaction": "आपको $2 की अनुमति नहीं हैं, निम्नलिखित {{PLURAL:$1|कारण|कारणों}} की वजह से:",
        "contentmodelediterror": "आप इस पृष्ठ का इतिहास में सम्पादन नहीं कर सकते हैं क्योंकि इसका सामग्री <code>$1</code>, जो की वर्तमान सामग्री से <code>$2</code> अलग है।",
        "recreate-moveddeleted-warn": "'''चेतावनी: आप एक पहले हटाए गए पृष्ठ को पुनर्निर्मित कर रहे हैं।'''\n\nआप को विचार करना चाहिये कि क्या इस पृष्ठ का संपादन जारी रखना उचित होगा।\nइस पृष्ट के हटाने व स्थानांतरण का लॉग सुविधा के लिये उपलब्ध है:",
-       "moveddeleted-notice": "यह à¤ªà¥\83षà¥\8dठ à¤¹à¤\9fाया à¤\9cा à¤\9aà¥\81à¤\95ा à¤¹à¥\88।\nपà¥\83षà¥\8dठ à¤\95à¥\87 à¤¹à¤\9fानà¥\87 à¤\94र à¤¸à¥\8dथानाà¤\82तरण à¤\95ा à¤²à¥\89à¤\97 à¤¸à¤\82दरà¥\8dभ à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¨à¥\80à¤\9aà¥\87 à¤¦à¤¿à¤¯à¤¾ à¤\97या à¤¹à¥\88।",
-       "moveddeleted-notice-recent": "à¤\95à¥\8dषमा à¤\95रà¥\87à¤\82, à¤¯à¤¹ à¤ªà¥\83षà¥\8dठ à¤\95à¥\81à¤\9b à¤¹à¥\80 à¤¸à¤®à¤¯ à¤ªà¤¹à¤²à¥\87 à¤¹à¤\9fाया à¤\97या à¤¹à¥\88। (24 à¤\98णà¥\8dà¤\9fà¥\8bà¤\82 à¤\95à¥\87 à¤­à¥\80तर)\nà¤\87सà¤\95à¥\87 à¤¹à¤\9fायà¥\87 à¤\94र à¤¸à¥\8dथानाà¤\82तरित à¤\95रनà¥\87 à¤\95ा à¤²à¥\8bà¤\97 à¤¨à¥\80à¤\9aà¥\87 à¤¦à¤¿à¤¯à¤¾ à¤¹à¥\81à¤\86 à¤¹à¥\88।",
+       "moveddeleted-notice": "à¤\87स à¤ªà¥\87à¤\9c à¤\95à¥\8b à¤¹à¤\9fाया à¤\9cा à¤\9aà¥\81à¤\95ा à¤¹à¥\88। à¤ªà¥\83षà¥\8dठ à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¹à¤\9fानà¥\87, à¤¸à¥\81रà¤\95à¥\8dषा, à¤\94र à¤\95दम à¤²à¥\89à¤\97 à¤¸à¤\82दरà¥\8dभ à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¨à¥\80à¤\9aà¥\87 à¤¦à¤¿à¤\8f à¤\97à¤\8f à¤¹à¥\88à¤\82।",
+       "moveddeleted-notice-recent": "à¤\95à¥\8dषमा à¤\95रà¥\87à¤\82, à¤¯à¤¹ à¤ªà¥\83षà¥\8dठ à¤¹à¤¾à¤² à¤¹à¥\80 à¤®à¥\87à¤\82 à¤¹à¤\9fा à¤¦à¤¿à¤¯à¤¾ à¤\97या à¤¥à¤¾ (पिà¤\9bलà¥\87 24 à¤\98à¤\82à¤\9fà¥\8bà¤\82 à¤\95à¥\87 à¤­à¥\80तर)। à¤ªà¥\83षà¥\8dठ à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¹à¤\9fानà¥\87, à¤¸à¥\81रà¤\95à¥\8dषा, à¤\94र à¤\95दम à¤²à¥\89à¤\97 à¤¸à¤\82दरà¥\8dभ à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¨à¥\80à¤\9aà¥\87 à¤¦à¤¿à¤\8f à¤\97à¤\8f à¤¹à¥\88à¤\82।",
        "log-fulllog": "पूरा लॉग देखें",
        "edit-hook-aborted": "फंदे द्वारा संपादन बीच में ही छोड़ा गया।\nउसने कोई कारण नहीं बताया।",
        "edit-gone-missing": "पृष्ठ अद्यतित न किया जा सका।\nलगता है यह हटा दिया गया है।",
        "recentchanges-submit": "दिखाएँ",
        "rcfilters-legend-heading": "<strong>संकेतों की सूची:</strong>",
        "rcfilters-other-review-tools": "<strong>दूसरे समीक्षा उपकरण</strong>",
+       "rcfilters-group-results-by-page": "पेज द्वारा समूह परिणाम",
+       "rcfilters-grouping-title": "समूहीकरण",
        "rcfilters-activefilters": "सक्रिय फिल्टर",
+       "rcfilters-advancedfilters": "उन्नत फ़िल्टर",
        "rcfilters-limit-title": "दिखाने के लिए बदलाव",
-       "rcfilters-limit-shownum": "पिà¤\9bलà¥\87 $1 à¤¬à¤¦à¤²à¤¾à¤µ à¤¦à¤¿à¤\96ायà¥\87à¤\82",
+       "rcfilters-limit-shownum": "पिà¤\9bला à¤¦à¤¿à¤\96ाà¤\8fà¤\82 {{PLURAL:$1|change|$1 changes}}",
        "rcfilters-days-title": "कुछ दिनों के",
        "rcfilters-hours-title": "कुछ घंटों के",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|दिन}}",
        "rcfilters-savedqueries-new-name-label": "नाम",
        "rcfilters-savedqueries-new-name-placeholder": "फ़िल्टर का उद्देश्य समझाएँ",
        "rcfilters-savedqueries-apply-label": "फ़िल्टर बनायें",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "डिफ़ॉल्ट फ़िल्टर बनाएं",
        "rcfilters-savedqueries-cancel-label": "रद्द करें",
        "rcfilters-savedqueries-add-new-title": "वर्तमान फ़िल्टर सेटिंग को सहेजें",
        "rcfilters-restore-default-filters": "मूलभूत फिल्टर पुनर्स्थापित करे",
        "rcfilters-clear-all-filters": "सभी फिल्टर हटाएँ",
        "rcfilters-show-new-changes": "नवीनतम बदलाव दिखाएँ",
-       "rcfilters-previous-changes-label": "पिछले देखे बदलाव",
        "rcfilters-search-placeholder": "हाल में हुए बदलाव फ़िल्टर (ब्राउज़ या टाइप करना आरंभ करें)",
        "rcfilters-invalid-filter": "अमान्य फ़िल्टर",
        "rcfilters-empty-filter": "कोई सक्रिय फिल्टर नहीं। सभी योगदान दिखाए गए है।",
        "rcfilters-filterlist-noresults": "कोई फिल्टर नहीं पाया",
        "rcfilters-noresults-conflict": "कोई भी परिणाम नहीं मिला क्योंकि खोज मापदंड संघर्ष में है",
        "rcfilters-state-message-subset": "इस फिल्टर का कोई प्रभाव नहीं है क्योंकि इसका परिणाम निम्न, व्यापक {{PLURAL: $2 |फ़िल्टर|फिल्टर}} के साथ शामिल है (इसे भेद करने के लिए हाइलाइट करने की कोशिश करें): $1",
-       "rcfilters-state-message-fullcoverage": "किसी समूह में सभी फ़िल्टर चुनना कोई भी नहीं चुनने के समान है इसलिए इस फ़िल्टर का कोई प्रभाव नहीं है समूह में शामिल हैं: $1",
+       "rcfilters-state-message-fullcoverage": "किसी समूह में सभी फ़िल्टर चुनना कोई भी नहीं चुनने के समान है, इसलिए इस फ़िल्टर का कोई प्रभाव नहीं है, समूह में शामिल हैं: $1",
        "rcfilters-filtergroup-authorship": "लेखक योगदान",
        "rcfilters-filter-editsbyself-label": "आपके द्वारा बदलाव",
        "rcfilters-filter-editsbyself-description": "आपके अपने योगदान।",
        "rcfilters-filter-editsbyother-label": "दूसरों के द्वारा बदलाव",
        "rcfilters-filter-editsbyother-description": "आपके बदलावों को छोड़ कर सभी के बदलाव।",
-       "rcfilters-filtergroup-userExpLevel": "à¤\85नà¥\81भव à¤¸à¥\8dतर (à¤\95à¥\87वल à¤ªà¤\82à¤\9cà¥\80à¤\95à¥\83त à¤¸à¤¦à¤¸à¥\8dयà¥\8bà¤\82 à¤\95à¥\87 à¤²à¤¿à¤\8f)",
+       "rcfilters-filtergroup-userExpLevel": "à¤\89पयà¥\8bà¤\97à¤\95रà¥\8dता à¤ªà¤\82à¤\9cà¥\80à¤\95रण à¤\94र à¤\85नà¥\81भव",
        "rcfilters-filter-user-experience-level-registered-label": "पंजीकृत",
        "rcfilters-filter-user-experience-level-registered-description": "लॉग-इन संपादक।",
        "rcfilters-filter-user-experience-level-unregistered-label": "अपंजीकृत",
-       "rcfilters-filter-user-experience-level-unregistered-description": "संपादक जो लॉग इन नहीं हैं।",
+       "rcfilters-filter-user-experience-level-unregistered-description": "संपादक जो लॉग-इन नहीं हैं।",
        "rcfilters-filter-user-experience-level-newcomer-label": "अपरिचित",
-       "rcfilters-filter-user-experience-level-newcomer-description": "4 दिनों की गतिविधि और 10 सम्पादन से कम।",
+       "rcfilters-filter-user-experience-level-newcomer-description": "4 दिनों की गतिविधि और 10 सम्पादन से कम वाले पंजीकृत संपादक।",
        "rcfilters-filter-user-experience-level-learner-label": "शिक्षार्थियों",
-       "rcfilters-filter-user-experience-level-learner-description": "\"नए सदस्यों\" की तुलना में अधिक लेकिन \"अनुभवी सदस्यों\" से कम अनुभवी",
+       "rcfilters-filter-user-experience-level-learner-description": "पंजीकृत संपादक जिनका अनुभव \"नये संपादक\" और \"अनुभवी संपादक\" के बीच का है।",
        "rcfilters-filter-user-experience-level-experienced-label": "अनुभवी सदस्य",
-       "rcfilters-filter-user-experience-level-experienced-description": "30 दिन से अधिक गतिविधि और 500 सम्पादन।",
+       "rcfilters-filter-user-experience-level-experienced-description": "500 संपादन और 30 दिन की गतिविधि से अधिक वाले पंजीकृत संपादक।",
        "rcfilters-filtergroup-automated": "स्वचालित योगदान",
        "rcfilters-filter-bots-label": "बॉट",
        "rcfilters-filter-bots-description": "स्वचालित औजारों से किए सम्पादन।",
        "rcfilters-filter-watchlist-watchednew-description": "ध्यानसूची पृष्ठों में किए गए परिवर्तन, जिन आपने परिवर्तनों के बाद से देखा नहीं है।",
        "rcfilters-filter-watchlist-notwatched-label": "ध्यानसूची में नहीं",
        "rcfilters-filter-watchlist-notwatched-description": "आपके ध्यानसूची पृष्ठों में परिवर्तन के अलावा सब कुछ",
+       "rcfilters-filtergroup-watchlistactivity": "ध्यानसूची क्रियाकलाप",
+       "rcfilters-filter-watchlistactivity-unseen-label": "अनदेखे परिवर्तन",
+       "rcfilters-filter-watchlistactivity-unseen-description": "उन प्रष्ठों में परिवर्तन जिन की जांच आपने परिवर्तनों के बाद से नहीं की है।",
+       "rcfilters-filter-watchlistactivity-seen-label": "देखे गए परिवर्तन",
+       "rcfilters-filter-watchlistactivity-seen-description": "परिवर्तन होने के बाद से आपके द्वारा जांचे गए पृष्ठों में परिवर्तन।",
        "rcfilters-filtergroup-changetype": "बदलाव के प्रकार:",
        "rcfilters-filter-pageedits-label": "पृष्ठ संपादन",
        "rcfilters-filter-pageedits-description": "विकि सामग्री, चर्चा, श्रेणी विवरणों के संपादन ....",
        "rcfilters-filter-lastrevision-label": "नया अवतरण",
        "rcfilters-filter-lastrevision-description": "पृष्ठ का सबसे हाल में हुआ बदलाव",
        "rcfilters-filter-previousrevision-label": "पहले के अवतरण",
-       "rcfilters-filter-previousrevision-description": "सभी परिवर्तन जो एक पृष्ठ में सबसे हाल के परिवर्तन नहीं हैं।",
+       "rcfilters-filter-previousrevision-description": "सभी परिवर्तन जो \"नवीनतम संशोधन\" नहीं हैं",
        "rcfilters-filter-excluded": "अपवर्जित",
        "rcfilters-tag-prefix-namespace-inverted": " $1 <strong>:नहीं</strong>",
+       "rcfilters-exclude-button-off": "चयनित निकालें",
+       "rcfilters-exclude-button-on": "चयनित को छोड़कर",
+       "rcfilters-view-advanced-filters-label": "उन्नत फ़िल्टर",
        "rcfilters-view-tags": "टैग वाले सम्पादन",
+       "rcfilters-view-namespaces-tooltip": "नाम स्थान द्वारा फिल्टर परिणाम",
+       "rcfilters-view-tags-tooltip": "संपादन टैग का उपयोग करके फ़िल्टर परिणाम",
+       "rcfilters-view-return-to-default-tooltip": "मुख्य फ़िल्टर मेनू पर लौटें",
+       "rcfilters-liveupdates-button": "जीवंत अद्यतन",
+       "rcfilters-liveupdates-button-title-on": "जीवंत अद्यतन बंद करें",
+       "rcfilters-liveupdates-button-title-off": "नये परिवर्तन प्रदर्शित करें जैसे ही वे घटित होते हैं",
+       "rcfilters-watchlist-markSeen-button": "देखे गए के रूप में सभी परिवर्तनों को चिह्नित करें",
        "rcnotefrom": "नीचे <strong>$2</strong> के बाद से (<strong>$1</strong> तक) {{PLURAL:$5|हुआ बदलाव दर्शाया गया है|हुए बदलाव दर्शाए गये हैं}}।",
        "rclistfromreset": "चुने दिनांक पहले जैसा करें",
        "rclistfrom": "$3 $2 से नये बदलाव दिखाएँ",
        "pageswithprop-legend": "पृष्ठ जिनमें पृष्ठ गुण हैं",
        "pageswithprop-text": "यह पृष्ठ पृष्ठ गुण का उपयोग कर रहे पन्नों को सूचीबद्ध करता है।",
        "pageswithprop-prop": "गुण का नाम:",
+       "pageswithprop-reverse": "उल्टे क्रम में क्रमबद्ध करें",
+       "pageswithprop-sortbyvalue": "संपत्ति मूल्य के आधार पर क्रमबद्ध करें",
        "pageswithprop-submit": "खोजें",
        "pageswithprop-prophidden-long": "लम्बे पाठ का मूल्य छुपा ($1) है",
        "pageswithprop-prophidden-binary": "बाइनरी मूल्य ($1) छुपा है।",
        "apisandbox-sending-request": "एपीआई अनुरोध भेज रहा...",
        "apisandbox-loading-results": "एपीआई परिणाम ले रहा...",
        "apisandbox-results-error": "एपीआई के समय कोई त्रुटि हुई: $1",
+       "apisandbox-results-login-suppressed": "यह अनुरोध लॉग-आउट उपयोगकर्ता के रूप में संसाधित किया गया है क्योंकि यह ब्राउज़र समान-मूल सुरक्षा बायपास करने के लिए इस्तेमाल किया जा सकता है। ध्यान दें कि एपीआई सैंडबॉक्स का स्वचालित टोकन हैंडलिंग ऐसे अनुरोधों के साथ ठीक से काम नहीं करता है, कृपया उन्हें मैन्युअल रूप से भरें।",
        "apisandbox-request-selectformat-label": "अनुरोध डेटा को इस रूप में दिखाएं:",
        "apisandbox-request-format-url-label": "यूआरएल क्वेरी स्ट्रिंग",
        "apisandbox-request-url-label": "अनुरोध URL:",
        "watching": "ध्यान दे रहे हैं...",
        "unwatching": "ध्यान हटा रहे हैं...",
        "watcherrortext": "\"$1\" के लिये आपकी ध्यानसूची सेटिंग बदलते समय त्रुटि हुई।",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "सभी पृष्ठ देखे हुए दर्शाएँ",
        "enotif_impersonal_salutation": "{{SITENAME}} सदस्य",
        "enotif_subject_deleted": "{{SITENAME}} पृष्ठ $1 को {{gender:$2|$2}} ने हटा दिया है",
        "delete-warning-toobig": "इस पृष्ठ का संपादन इतिहास $1 से अधिक {{PLURAL:$1|अवतरण}} होने की वजह से बहुत बड़ा है।\nइसे हटाने से {{SITENAME}} के डाटाबेस की गतिविधियों में व्यवधान आ सकता है;\nकृपया सोच समझ कर आगे बढ़ें।",
        "deleteprotected": "आप इस पृष्ठ को हटा नहीं सकते क्योंकि इसे सुरक्षित किया गया है।",
        "deleting-backlinks-warning": "<strong>चेतावनी:</strong> जो पृष्ठ आप हटाने जा रहे हैं उससे [[Special:WhatLinksHere/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
+       "deleting-subpages-warning": "<strong>चेतावनी:</strong>आप जिस प्रष्ठ को हटाना चाहते हैं,\nरखता है [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|a subpage|$1 subpages|51=over 50 subpages}}]].",
        "rollback": "संपादन वापिस लें",
        "rollbacklink": "वापिस लें",
        "rollbacklinkcount": "$1 {{PLURAL:$1|सम्पादन}} वापिस लें",
        "undelete-search-title": "हटाये गये पृष्ठ खोजें",
        "undelete-search-box": "हटाये गये पृष्ठ खोजें",
        "undelete-search-prefix": "शुरूआती शब्द अनुसार पृष्ठ खोजें:",
+       "undelete-search-full": "शीर्षक युक्त प्रष्ठ दिखाएं",
        "undelete-search-submit": "खोजें",
        "undelete-no-results": "हटाए गए पृष्ठों के लेखागार में मेल खाते कोई पृष्ठ नहीं मिले।",
        "undelete-filename-mismatch": "$1 के फ़ाइल के हटाये गये अवतरण को पुनर्स्थापित नहीं किया जा सकता: फ़ाइल का नाम मेल नहीं खाता",
        "fileduplicatesearch-noresults": "कोई फ़ाइल नाम \"$1\" मिला नहीं ।",
        "specialpages": "विशेष पृष्ठ",
        "specialpages-note-top": "कुंजी",
+       "specialpages-note-restricted": "* सामान्य विशेष पृष्ठ।\n* <span class=\"mw-specialpagerestricted\">प्रतिबंधित विशेष पृष्ठ।</span>",
        "specialpages-group-maintenance": "अनुरक्षण रिपोर्ट",
        "specialpages-group-other": "अन्य विशेष पृष्ठ",
        "specialpages-group-login": "सत्र आरम्भ / खाता खोलें",
        "compare-invalid-title": "आपके द्वारा निर्दिष्ट शीर्षक अमान्य है।",
        "compare-title-not-exists": "आपके द्वारा निर्दिष्ट शीर्षक मौजूद नहीं है।",
        "compare-revision-not-exists": "आपके द्वारा निर्दिष्ट संशोधन मौजूद नहीं है।",
-       "diff-form": "एक '''पर्चा'''",
-       "diff-form-oldid": "पुराना अवतरण (वैकल्पिक)",
+       "diff-form": "अंतर",
+       "diff-form-oldid": "पुराना संशोधन (वैकल्पिक)",
+       "diff-form-revid": "अंतर का संशोधन आईडी",
        "diff-form-submit": "अंतर दिखाएँ",
        "permanentlink": "स्थायी कड़ी",
-       "permanentlink-revid": "à¤\85वतरण आईडी",
-       "permanentlink-submit": "à¤\85वतरण में जाएँ",
+       "permanentlink-revid": "सà¤\82शà¥\8bधन आईडी",
+       "permanentlink-submit": "सà¤\82शà¥\8bधन में जाएँ",
        "dberr-problems": "क्षमा करें! इस जालस्थल को कुछ तकनीकी परेशानियों का सामना करना पड़ रहा है।",
        "dberr-again": "कुछ मिनट रुकने के बाद फिर से चढ़ाएँ।",
        "dberr-info": "(डाटाबेस से संपर्क नहीं हो पा रहा: $1)",
        "undelete-cantedit": "आप इस पन्ने को वापस नहीं ला सकते, क्योंकि आपको इस पन्ने पर सम्पादन की अनुमति नहीं है।",
        "undelete-cantcreate": "आप इस पन्ने को वापस नहीं ला सकते, क्योंकि यह पन्ना इस नाम से है ही नहीं और आपको इस पन्ने के निर्माण की अनुमति भी नहीं है।",
        "pagedata-title": "पृष्ठ आँकड़े",
+       "pagedata-text": "यह पृष्ठ पृष्ठों के लिए एक डेटा इंटरफ़ेस प्रदान करता है। कृपया उपपृष्ठ सिंटैक्स का उपयोग करके यूआरएल में पेज शीर्षक प्रदान करें।\n* कन्टैंट वार्ता आपके क्लाइंट के एसेडर हेडर के आधार पर लागू होती है। इसका मतलब यह है कि पेज डेटा को आपके क्लाइंट द्वारा पसंदीदा प्रारूप में प्रदान किया जाएगा।",
        "pagedata-not-acceptable": "कोई अनुकूल प्रारूप नहीं मिला। सुमेलित ऍमआइऍमई प्रकार: $1",
        "pagedata-bad-title": "अमान्य शीर्षक: $1"
 }
index e95ae11..262cb32 100644 (file)
        "pageinfo-category-files": "Broj datoteka",
        "markaspatrolleddiff": "Označi pregledanim",
        "markaspatrolledtext": "Označi ovu stranicu ophođenom",
-       "markaspatrolledtext-file": "Označi ovu inačicu datoteke kao pregledanu",
+       "markaspatrolledtext-file": "Označi ovu inačicu datoteke ophođenom",
        "markedaspatrolled": "Pregledano",
        "markedaspatrolledtext": "Odabrana promjena [[:$1]] označena je pregledanom.",
        "rcpatroldisabled": "Ophodnja nedavnih promjena isključena",
index b84d174..37fa0a0 100644 (file)
        "rcfilters-savedqueries-add-new-title": "Szűrők mentése gyors hivatkozásként",
        "rcfilters-restore-default-filters": "Alapértelmezett szűrők visszaállítása",
        "rcfilters-clear-all-filters": "Összes szűrő kikapcsolása",
+       "rcfilters-show-new-changes": "Legfrissebb változtatások megtekintése",
        "rcfilters-search-placeholder": "Friss változtatások szűrése (böngészd vagy kezdj el gépelni)",
        "rcfilters-invalid-filter": "Érvénytelen szűrő",
        "rcfilters-empty-filter": "Nincs aktív szűrő. Minden közreműködés látható.",
        "compare-invalid-title": "A megadott cím érvénytelen.",
        "compare-title-not-exists": "A megadott cím nem létezik.",
        "compare-revision-not-exists": "A megadott lapváltozat nem létezik.",
-       "diff-form": "egy '''űrlap'''",
+       "diff-form": "Eltérések",
+       "diff-form-submit": "Változtatások megjelenítése",
        "dberr-problems": "Sajnáljuk, de az oldallal technikai problémák vannak.",
        "dberr-again": "Várj néhány percet, majd frissítsd az oldalt.",
        "dberr-info": "(Nem sikerült kapcsolódni az adatbázishoz: $1)",
index f7c0690..5480a2e 100644 (file)
        "tog-shownumberswatching": "Monstrar le numero de usatores que observa le pagina",
        "tog-oldsig": "Tu signatura existente:",
        "tog-fancysig": "Tractar signatura como wikitexto (sin ligamine automatic)",
-       "tog-uselivepreview": "Usar previsualisation dynamic",
+       "tog-uselivepreview": "Previsualisar sin recargar le pagina",
        "tog-forceeditsummary": "Avisar me si io non entra un summario de modification",
        "tog-watchlisthideown": "Celar mi proprie modificationes in le observatorio",
        "tog-watchlisthidebots": "Celar le modificationes de robots in le observatorio",
        "tog-watchlisthideminor": "Celar modificationes minor in le observatorio",
        "tog-watchlisthideliu": "Celar modificationes de usatores registrate in le observatorio",
        "tog-watchlistreloadautomatically": "Recargar automaticamente le observatorio quando un filtro es cambiate (JavaScript requirite)",
+       "tog-watchlistunwatchlinks": "Adjunger ligamines directe pro disobservar/observar al entratas del observatorio (JavaScript es necessari pro le functionalitate de alternar)",
        "tog-watchlisthideanons": "Celar modificationes de usatores anonyme in le observatorio",
        "tog-watchlisthidepatrolled": "Celar le modificationes patruliate in le observatorio",
        "tog-watchlisthidecategorization": "Celar le categorisation de paginas",
        "permissionserrorstext-withaction": "Tu non ha le permission de $2, pro le sequente {{PLURAL:$1|motivo|motivos}}:",
        "contentmodelediterror": "Non es possibile modificar iste version perque su modello de contento es <code>$1</code>, un altere que le modello de contento actual del pagina, <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Attention: Tu es sur le puncto de recrear un pagina que ha essite delite anteriormente.'''\n\nTu deberea considerar si il es appropriate continuar a modificar iste pagina.\nEcce le registro de deletiones e de renominationes pro iste pagina:",
-       "moveddeleted-notice": "Iste pagina ha essite delite.\nIn basso se revela le registro de deletiones e de modificationes del pagina pro ulterior informationes.",
-       "moveddeleted-notice-recent": "Regrettabilemente iste pagina ha essite delite (in le ultime 24 horas).\nLe registro de deletion e renomination pro le pagina es fornite hic infra pro vostre information.",
+       "moveddeleted-notice": "Iste pagina ha essite delite.\nLe registro de deletion, protection e renomination del pagina es monstrate in basso pro referentia.",
+       "moveddeleted-notice-recent": "Regrettabilemente iste pagina ha essite delite (in le ultime 24 horas).\nLe registro de deletion, protection e renomination del pagina es monstrate in basso pro referentia.",
        "log-fulllog": "Vider le registro complete",
        "edit-hook-aborted": "Modification abortate per un extension.\nNulle explication disponibile.",
        "edit-gone-missing": "Impossibile actualisar le pagina.\nPare que illo ha essite delite.",
        "prefs-editwatchlist-clear": "Rader tu observatorio",
        "prefs-watchlist-days": "Numero de dies a monstrar in le observatorio:",
        "prefs-watchlist-days-max": "Maximo $1 {{PLURAL:$1|die|dies}}",
-       "prefs-watchlist-edits": "Numero maxime de modificationes a monstrar in le observatorio expandite:",
+       "prefs-watchlist-edits": "Numero maxime de modificationes a monstrar in le observatorio:",
        "prefs-watchlist-edits-max": "Numero maxime: 1000",
        "prefs-watchlist-token": "Indicio pro le observatorio:",
        "prefs-misc": "Misc",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Monstrar",
        "rcfilters-legend-heading": "<strong>Lista de abbreviationes:</strong>",
+       "rcfilters-other-review-tools": "<strong>Altere instrumentos de revision</strong>",
+       "rcfilters-group-results-by-page": "Gruppar resultatos per pagina",
+       "rcfilters-grouping-title": "Gruppamento",
        "rcfilters-activefilters": "Filtros active",
        "rcfilters-advancedfilters": "Filtros avantiate",
        "rcfilters-limit-title": "Cambiamentos a monstrar",
-       "rcfilters-limit-shownum": "Monstrar le ultime $1 cambiamentos",
+       "rcfilters-limit-shownum": "Monstrar le ultime {{PLURAL:$1|modification|$1 modificationes}}",
        "rcfilters-days-title": "Dies recente",
        "rcfilters-hours-title": "Horas recente",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|die|dies}}",
        "rcfilters-savedqueries-new-name-label": "Nomine",
        "rcfilters-savedqueries-new-name-placeholder": "Describe le proposito del filtro",
        "rcfilters-savedqueries-apply-label": "Crear filtro",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Crear filtro predefinite",
        "rcfilters-savedqueries-cancel-label": "Cancellar",
        "rcfilters-savedqueries-add-new-title": "Salveguardar le configuration actual del filtro",
        "rcfilters-restore-default-filters": "Restaurar filtros predefinite",
        "rcfilters-clear-all-filters": "Rader tote le filtros",
+       "rcfilters-show-new-changes": "Vider le modificationes le plus recente",
        "rcfilters-search-placeholder": "Filtrar le modificationes recente (naviga o comencia a scriber)",
        "rcfilters-invalid-filter": "Filtro non valide",
        "rcfilters-empty-filter": "Nulle filtro active. Tote le contributiones es monstrate.",
        "rcfilters-filter-previousrevision-description": "Tote le cambiamentos que non es le \"ultime version\".",
        "rcfilters-filter-excluded": "Excludite",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:non</strong> $1",
+       "rcfilters-exclude-button-off": "Excluder le selection",
+       "rcfilters-exclude-button-on": "Selection excludite",
+       "rcfilters-view-advanced-filters-label": "Filtros avantiate",
        "rcfilters-view-tags": "Modificationes con etiquettas",
        "rcfilters-view-namespaces-tooltip": "Filtrar le resultatos per spatio de nomines",
        "rcfilters-view-tags-tooltip": "Filtrar le resultatos usante etiquettas de version",
        "rcfilters-view-return-to-default-tooltip": "Retornar al menu principal de filtros",
        "rcfilters-liveupdates-button": "Fluxo continue",
+       "rcfilters-liveupdates-button-title-on": "Disactivar actualisation in directo",
+       "rcfilters-liveupdates-button-title-off": "Monstrar cambiamentos in tempore real",
        "rcnotefrom": "Ecce le {{PLURAL:$5|modification|modificationes}} a partir del <strong>$3 a $4</strong> (usque a <strong>$1</strong> entratas monstrate).",
        "rclistfromreset": "Reinitialisar selection de data",
        "rclistfrom": "Monstrar nove modificationes a partir del $3 a $2",
        "pageswithprop-legend": "Paginas con un proprietate de pagina",
        "pageswithprop-text": "Iste pagina lista le paginas que usa un certe proprietate de pagina.",
        "pageswithprop-prop": "Nomine del proprietate:",
+       "pageswithprop-reverse": "Ordinar inversemente",
+       "pageswithprop-sortbyvalue": "Ordinar per valor de proprietate",
        "pageswithprop-submit": "Va",
        "pageswithprop-prophidden-long": "valor de proprietate de texto longe celate ($1)",
        "pageswithprop-prophidden-binary": "valor de proprietate binari celate ($1)",
        "enotif_lastdiff": "Pro revider iste modification, vide $1",
        "enotif_anon_editor": "usator anonyme $1",
        "enotif_body": "Car $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nSummario del redactor: $PAGESUMMARY $PAGEMINOREDIT\n\nPro contactar le redactor:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nTu non recipera altere notificationes de activitate si tu non visita iste pagina con session aperte. Tu pote anque reinitialisar le optiones de notification pro tote le paginas in tu observatorio.\n\nLe systema de notification de {{SITENAME}}, a tu servicio\n\n-- \nPro configurar le notification per e-mail, visita\n{{canonicalurl:{{#special:Preferences}}}}\n\nPro configurar le observatorio, visita\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPro retirar le pagina de tu observatorio, visita\n$UNWATCHURL\n\nFeedback e ulterior assistentia:\n$HELPPAGE",
+       "enotif_minoredit": "Isto es un modification minor",
        "created": "create",
        "changed": "modificate",
        "deletepage": "Deler pagina",
        "delete-warning-toobig": "Iste pagina ha un grande historia de modificationes con plus de $1 {{PLURAL:$1|version|versiones}}.\nLe deletion de illo pote disrumper le operationes del base de datos de {{SITENAME}};\nprocede con caution.",
        "deleteprotected": "Tu non pote deler iste pagina perque illo ha essite protegite.",
        "deleting-backlinks-warning": "<strong>Attention:</strong> Il ha [[Special:WhatLinksHere/{{FULLPAGENAME}}|altere paginas]] que liga a o transclude le pagina que tu es sur le puncto de deler.",
+       "deleting-subpages-warning": "<strong>Attention:</strong> Le pagina que tu es sur le puncto de deler ha [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|un subpagina|$1 subpaginas|51=plus de 50 subpaginas}}]].",
        "rollback": "Revocar modificationes",
        "rollbacklink": "revocar",
        "rollbacklinkcount": "revocar $1 {{PLURAL:$1|modification|modificationes}}",
        "import-nonewrevisions": "Nulle version ha essite importate (totes esseva jam presente o ha essite saltate a causa de errores).",
        "xml-error-string": "$1 al linea $2, col $3 (byte $4): $5",
        "import-upload": "Incargar datos XML",
-       "import-token-mismatch": "Perdita del datos del session.\n\nEs possibile que tu session ha essite claudite. <strong>Per favor, verifica que tu session es ancora aperte e tenta lo de novo</strong>.\nSi le problema persiste, proba a [[Special:UserLogout|clauder session]] e aperir un nove session, verificante que tu navigator accepta le cookies ab iste sito.",
+       "import-token-mismatch": "Perdita del datos del session.\n\nEs possibile que tu session ha essite claudite. '''Per favor, verifica que tu session es ancora aperte e tenta lo de novo.'''\nSi le problema persiste, proba a [[Special:UserLogout|clauder session]] e aperir un nove session, verificante que tu navigator accepta le cookies ab iste sito.",
        "import-invalid-interwiki": "Non pote importar ab le wiki specificate.",
        "import-error-edit": "Le pagina \"$1\" non ha essite importate perque tu non ha le permission de modificar lo.",
        "import-error-create": "Le pagina \"$1\" non ha essite importate perque tu non ha le permission de crear lo.",
        "fileduplicatesearch-noresults": "Nulle file con nomine \"$1\" trovate.",
        "specialpages": "Paginas special",
        "specialpages-note-top": "Legenda",
+       "specialpages-note-restricted": "* Paginas special normal.\n* <span class=\"mw-specialpagerestricted\">Paginas special restringite.</span>",
        "specialpages-group-maintenance": "Reportos de mantenentia",
        "specialpages-group-other": "Altere paginas special",
        "specialpages-group-login": "Aperir session / crear conto",
        "compare-invalid-title": "Le titulo que tu specificava es invalide.",
        "compare-title-not-exists": "Le titulo que tu specificava non existe.",
        "compare-revision-not-exists": "Le version que tu specificava non existe.",
+       "diff-form": "Differentias",
+       "diff-form-oldid": "ID del ancian version (optional)",
+       "diff-form-revid": "ID del version a comparar",
+       "diff-form-submit": "Monstrar differentias",
+       "permanentlink": "Ligamine permanente",
+       "permanentlink-revid": "ID del version",
+       "permanentlink-submit": "Vader al version",
        "dberr-problems": "Pardono! Iste sito ha incontrate difficultates technic.",
        "dberr-again": "Proba attender alcun minutas e recargar.",
        "dberr-info": "(Non pote acceder al base de datos: $1)",
index cc4ca7e..f1f8938 100644 (file)
        "tog-shownumberswatching": "Tunjukkan jumlah pemantau",
        "tog-oldsig": "Tanda tangan Anda yang sudah ada:",
        "tog-fancysig": "Perlakukan tanda tangan sebagai teks wiki (tanpa suatu pranala otomatis)",
-       "tog-uselivepreview": "Gunakan pratayang langsung",
+       "tog-uselivepreview": "Tampilkan pratayang tanpa memuat ulang halaman",
        "tog-forceeditsummary": "Ingatkan saya bila kotak ringkasan suntingan masih kosong",
        "tog-watchlisthideown": "Sembunyikan suntingan saya di daftar pantauan",
        "tog-watchlisthidebots": "Sembunyikan suntingan bot di daftar pantauan",
        "tog-watchlisthideminor": "Sembunyikan suntingan kecil di daftar pantauan",
        "tog-watchlisthideliu": "Sembunyikan suntingan pengguna masuk log di daftar pantauan",
        "tog-watchlistreloadautomatically": "Muat ulang daftar pantauan secara otomatis ketika sebuah tapis berubah (JavaScript diperlukan)",
+       "tog-watchlistunwatchlinks": "Tambahkan pranala pantau/hapus pantauan ke entri daftar pantauan (JavaScript diperlukan untuk mengganti fungsi ini)",
        "tog-watchlisthideanons": "Sembunyikan suntingan pengguna anonim di daftar pantauan",
        "tog-watchlisthidepatrolled": "Sembunyikan suntingan terpatroli di daftar pantauan",
        "tog-watchlisthidecategorization": "Sembunyikan pengategorian halaman",
        "permissionserrorstext-withaction": "Anda tidak memiliki hak akses untuk $2, karena {{PLURAL:$1|alasan|alasan}} berikut:",
        "contentmodelediterror": "Anda tidak dapat menyunting revisi ini karena isi kontennya adalah <code>$1</code>, yang berbeda dari model isi terkini dari halaman <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Peringatan: Anda membuat ulang suatu halaman yang sudah pernah dihapus.'''\n\nHarap pertimbangkan apakah layak untuk melanjutkan suntingan Anda.\nBerikut adalah log penghapusan dan pemindahan dari halaman ini:",
-       "moveddeleted-notice": "Halaman ini telah dihapus.\nSebagai referensi, berikut adalah log penghapusan dan pemindahan halaman ini.",
-       "moveddeleted-notice-recent": "Maaf, halaman ini telah dihapus (dalam 24 jam ini). Sebagai referensi, berikut adalah log penghapusan atau pemindahan halaman ini.",
+       "moveddeleted-notice": "Halaman ini telah dihapus.\nLog penghapusan, perlindungan, dan pemindahan dari halaman tersebut tersedia di bawah ini sebagai referensi.",
+       "moveddeleted-notice-recent": "Maaf, halaman ini baru saja dihapus (dalam rentang waktu 24 jam).\nLog penghapusan, perlindungan, dan pemindahan halaman tersebut tersedia di bawah sebagai referensi.",
        "log-fulllog": "Lihat seluruh log",
        "edit-hook-aborted": "Suntingan dibatalkan oleh kait parser\ntanpa ada keterangan.",
        "edit-gone-missing": "Tidak dapat memperbaharui halaman.\nHalaman kemungkinan telah dihapus.",
        "prefs-editwatchlist-clear": "Kosongkan daftar pantauan",
        "prefs-watchlist-days": "Jumlah hari maksimum yang ditampilkan di daftar pantauan:",
        "prefs-watchlist-days-max": "Maksimum $1 {{PLURAL:$1|hari}}",
-       "prefs-watchlist-edits": "Jumlah suntingan maksimum yang ditampilkan di daftar pantauan yang dikembangkan:",
+       "prefs-watchlist-edits": "Jumlah maksimum perubahan yang ditampilkan dalam daftar pantauan:",
        "prefs-watchlist-edits-max": "Nilai maksimum: 1000",
        "prefs-watchlist-token": "Token daftar pantauan:",
        "prefs-misc": "Lain-lain",
        "recentchanges-legend-heading": "<strong>Keterangan:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (lihat pula [[Special:NewPages|daftar halaman baru]])",
        "recentchanges-submit": "Tampilkan",
+       "rcfilters-legend-heading": "<strong>Daftar singkatan:</strong>",
+       "rcfilters-other-review-tools": "<strong>Peralatan peninjauan lainnya</strong>",
+       "rcfilters-group-results-by-page": "Kelompokkan hasil menurut halaman",
+       "rcfilters-grouping-title": "Kelompokkan",
        "rcfilters-activefilters": "Filter aktif",
-       "rcfilters-quickfilters": "Pengaturan filter tersimpan",
+       "rcfilters-advancedfilters": "Penyaringan lebih lanjut",
+       "rcfilters-limit-title": "Perubahan untuk ditampilkan",
+       "rcfilters-limit-shownum": "Tampilkan {{PLURAL:$1|perubahan|$1 perubahan}} terakhir",
+       "rcfilters-days-title": "Hari-hari terakhir",
+       "rcfilters-hours-title": "Jam-jam terakhir",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|hari|hari}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|jam|jam}}",
+       "rcfilters-quickfilters": "Saringan tersimpan",
        "rcfilters-quickfilters-placeholder-title": "Tidak ada pranala tersimpan sekarang",
        "rcfilters-quickfilters-placeholder-description": "Untuk menyimpan pengaturan saringan dan menggunakannya kembali, klik ikon penanda halaman di area Penyaringan Aktif, di bawah.",
        "rcfilters-savedqueries-defaultlabel": "Saringan tersimpan",
        "rcfilters-savedqueries-unsetdefault": "Hapus sebagai baku",
        "rcfilters-savedqueries-remove": "Hapus",
        "rcfilters-savedqueries-new-name-label": "Nama",
-       "rcfilters-savedqueries-apply-label": "Simpan pengaturan",
+       "rcfilters-savedqueries-new-name-placeholder": "Jelaskan tujuan penyaringan ini",
+       "rcfilters-savedqueries-apply-label": "Membuat penyaringan",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Buat penyaringan baku",
        "rcfilters-savedqueries-cancel-label": "Batalkan",
        "rcfilters-savedqueries-add-new-title": "Simpan pengaturan filter ini",
        "rcfilters-restore-default-filters": "Kembalikan filter bawaan",
        "rcfilters-clear-all-filters": "Hapus semua penyaringan",
+       "rcfilters-show-new-changes": "Tampilkan perubahan terbaru",
        "rcfilters-search-placeholder": "Filter perubahan terbaru (jelajahi atau masukan input)",
        "rcfilters-invalid-filter": "Penyqringan tidak sah",
        "rcfilters-empty-filter": "Tidak ada filter aktif. Semua kontribusi ditampilkan.",
        "rcfilters-filterlist-title": "Penyaringan",
-       "rcfilters-filterlist-whatsthis": "Apa ini?",
+       "rcfilters-filterlist-whatsthis": "Bagaimana hal ini bekerja?",
        "rcfilters-filterlist-feedbacklink": "Berikan umpan balik untuk filter uji coba baru",
        "rcfilters-highlightbutton-title": "Sorot hasil",
        "rcfilters-highlightmenu-title": "Pilih warna",
        "rcfilters-filterlist-noresults": "Tidak ada penyaring ditemukan",
        "rcfilters-noresults-conflict": "Hasil tidak ditemukan karena kriteria pencariannya bertentangan",
        "rcfilters-state-message-subset": "Filter ini tidak akan berpengaruh karena hasilnya disertakan oleh {{PLURAL:$2|filter}} berikut yang lebih luas (coba soroti untuk membedakannya): $1",
+       "rcfilters-state-message-fullcoverage": "Memilih semua penyaringan dalam kelompok ini sama dengan tidak memilih apapun, sehingga penyaringan ini tidak memberikan hasil. Kelompok termasuk: $1",
        "rcfilters-filtergroup-authorship": "Kontribusi pengarang",
        "rcfilters-filter-editsbyself-label": "Suntingan Anda",
        "rcfilters-filter-editsbyself-description": "Kontribusi saya",
        "rcfilters-filter-editsbyother-label": "Suntingan orang lain",
        "rcfilters-filter-editsbyother-description": "Semua perubahan kecuali perubahan milik sendiri.",
-       "rcfilters-filtergroup-userExpLevel": "Level pengalaman (hanya untuk pengguna terdaftar)",
+       "rcfilters-filtergroup-userExpLevel": "Pendaftaran dan pengalaman pengguna",
        "rcfilters-filter-user-experience-level-registered-label": "Terdaftar",
        "rcfilters-filter-user-experience-level-registered-description": "Penyunting masuk log",
        "rcfilters-filter-user-experience-level-unregistered-label": "Tidak terdaftar",
        "rcfilters-filter-user-experience-level-unregistered-description": "Penyunting yang tidak masuk log",
        "rcfilters-filter-user-experience-level-newcomer-label": "Pendatang baru",
-       "rcfilters-filter-user-experience-level-newcomer-description": "Kurang dari 10 suntingan dan aktivitas selama 4 hari.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Penyunting terdaftar yang memiliki suntingan kurang dari 10 suntingan dan aktivitas selama 4 hari.",
        "rcfilters-filter-user-experience-level-learner-label": "Pelajar",
-       "rcfilters-filter-user-experience-level-learner-description": "Lebih berpengalaman daripada \"Pendatang baru\" namun belum menjadi \"Pengguna berpengalaman\"",
+       "rcfilters-filter-user-experience-level-learner-description": "Penyunting terdaftar yang pengalamannya berada antara \"pengguna baru\" dan \"pengguna berpengalaman\".",
        "rcfilters-filter-user-experience-level-experienced-label": "Pengguna berpengalaman",
-       "rcfilters-filter-user-experience-level-experienced-description": "Lebih dari 30 hari dan 500 suntingan.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Penyunting terdaftar dengan lebih dari 500 suntingan dan aktivitas selama 30 hari.",
        "rcfilters-filtergroup-automated": "Kontribusi otomatis",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Suntingan yang dibuat dengan perkakas terotomatisasi.",
        "rcfilters-filter-watchlist-watchednew-description": "Perubahan halaman-halaman yang dipantau yang belum dikunjungi oleh Anda sejak perubahan terjadi.",
        "rcfilters-filter-watchlist-notwatched-label": "Tidak dalam daftar pantauan",
        "rcfilters-filter-watchlist-notwatched-description": "Semuanya kecuali perubahan pada halaman yang dipantau.",
+       "rcfilters-filtergroup-watchlistactivity": "Aktivitas daftar pantauan",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Perubahan yang belum dilihat",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Perubahan pada halaman-halaman yang belum Anda kunjungi sejak perubahan tersebut terjadi.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Perubahan yang telah dilihat",
+       "rcfilters-filter-watchlistactivity-seen-description": "Perubahan pada halaman-halaman yang telah Anda kunjungi sejak perubahan terjadi.",
        "rcfilters-filtergroup-changetype": "Jenis perubahan",
        "rcfilters-filter-pageedits-label": "Suntingan halaman",
        "rcfilters-filter-pageedits-description": "Perubahan pada konten wiki, diskusi, deskripsi kategori...",
        "rcfilters-filter-categorization-description": "Rekam jejak halaman yang telah ditambahkan atau dihapus dari kategori.",
        "rcfilters-filter-logactions-label": "Tindakan tercatat",
        "rcfilters-filter-logactions-description": "Tindakan administratif, pembuatan akun, penghapusan halaman, pengunggahan...",
-       "rcfilters-filtergroup-lastRevision": "Revisi terkini",
-       "rcfilters-filter-lastrevision-label": "Revisi terkini",
-       "rcfilters-filter-lastrevision-description": "Perubahan terkini halaman ini",
-       "rcfilters-filter-previousrevision-label": "Revisi lebih awal",
-       "rcfilters-filter-previousrevision-description": "Semua perubahan yang bukan perubahan terbaru pada sebuah halaman.",
+       "rcfilters-filtergroup-lastRevision": "Revisi terbaru",
+       "rcfilters-filter-lastrevision-label": "Revisi terbaru",
+       "rcfilters-filter-lastrevision-description": "Hanya perubahan terbaru pada halaman ini.",
+       "rcfilters-filter-previousrevision-label": "Bukan revisi terbaru",
+       "rcfilters-filter-previousrevision-description": "Semua perubahan yang bukan merupakan \"revisi terbaru\".",
+       "rcfilters-filter-excluded": "Tidak termasuk",
+       "rcfilters-tag-prefix-namespace-inverted": "<strong>:bukan</strong> $1",
+       "rcfilters-view-advanced-filters-label": "Penyaringan lebih lanjut",
+       "rcfilters-view-tags": "Suntingan ditandai",
+       "rcfilters-view-namespaces-tooltip": "Saring hasil menurut ruangnama",
+       "rcfilters-view-tags-tooltip": "Saring hasil menggunakan tag penyuntingan",
+       "rcfilters-view-return-to-default-tooltip": "Kembali ke menu penyaringan utama",
+       "rcfilters-liveupdates-button": "Perubahan langsung",
+       "rcfilters-liveupdates-button-title-on": "Matikan perubahan langsung",
+       "rcfilters-liveupdates-button-title-off": "Tampilkan perubahan baru ketika perubahan tersebut terjadi",
+       "rcfilters-watchlist-markSeen-button": "Tandai semua perubahan sebagai terlihat",
        "rcnotefrom": "Di bawah ini adalah {{PLURAL:$5|perubahan}} sejak <strong>$3, $4</strong> (ditampilkan sampai <strong>$1</strong> perubahan).",
        "rclistfromreset": "Atur ulang pilihan tanggal",
        "rclistfrom": "Perlihatkan perubahan terbaru sejak $3 $2",
        "booksources-text": "Di bawah ini adalah daftar pranala ke situs lain yang menjual buku baru dan bekas, dan mungkin juga mempunyai informasi lebih lanjut mengenai buku yang sedang Anda cari:",
        "booksources-invalid-isbn": "ISBN yang diberikan tampaknya tidak valid; periksa kesalahan penyalinan dari sumber asli.",
        "magiclink-tracking-rfc": "Halaman menggunakan pranala magis RFC",
+       "magiclink-tracking-rfc-desc": "Halaman ini menggunakan pranala magis RFC. Lihat [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] bagaimana melakukan migrasi.",
        "magiclink-tracking-pmid": "Halaman menggunakan pranala magis PMID",
+       "magiclink-tracking-pmid-desc": "Halaman ini menggunakan pranala magis PMID. Lihat [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] bagaimana melakukan migrasi.",
        "magiclink-tracking-isbn": "Halaman yang menggunakan pranala magis ISBN",
+       "magiclink-tracking-isbn-desc": "Halaman ini menggunakan pranala magis ISBN. Lihat [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] bagaimana melakukan migrasi.",
        "specialloguserlabel": "Pengguna:",
        "speciallogtitlelabel": "Target (judul atau{{ns:pengguna}}:nama pengguna untuk pengguna)",
        "log": "Catatan (Log)",
        "delete-warning-toobig": "Halaman ini memiliki sejarah penyuntingan yang panjang, melebihi {{PLURAL:$1|revisi|revisi}}.\nMenghapus halaman ini dapat menyebabkan masalah dalam operasional basis data {{SITENAME}}.",
        "deleteprotected": "Anda tidak dapat menghapus laman ini karena telah dilindungi.",
        "deleting-backlinks-warning": "<strong>Peringatan:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|Halaman lain]] mengarah atau memiliki transklusi ke halaman yang akan Anda hapus.",
+       "deleting-subpages-warning": "<strong>Peringatan:</strong> Halaman yang akan Anda hapus memiliki [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|subhalaman|$1 subhalaman|51=lebih dari 50 subhalaman}}]].",
        "rollback": "Kembalikan suntingan",
        "rollbacklink": "kembalikan",
        "rollbacklinkcount": "kembalikan $1 {{PLURAL:$1|suntingan}}",
        "undelete-search-title": "Cari halaman yang dihapus",
        "undelete-search-box": "Cari halaman yang dihapus",
        "undelete-search-prefix": "Tampilkan halaman dimulai dari:",
+       "undelete-search-full": "Tampilkan judul halaman yang mengandung:",
        "undelete-search-submit": "Cari",
        "undelete-no-results": "Tidak ditemukan halaman yang sesuai di arsip penghapusan.",
        "undelete-filename-mismatch": "Tidak dapat membatalkan penghapusan revisi berkas dengan tanda waktu $1: nama berkas tak sesuai",
        "import-nonewrevisions": "Tidak ada revisi yang diimpor (semua revisi telah ada atau dilewatkan karena kesalahan).",
        "xml-error-string": "$1 pada baris $2, kolom $3 (bita $4): $5",
        "import-upload": "Memuat data XML",
-       "import-token-mismatch": "Kehilangan data sesi.\n\nAnda mungkin telah keluar log. '''Mohon periksa apakah Anda masih masuk log dan coba kembali.'''\nJika masih belum berhasil, coba [[Special:UserLogout|keluar log]] dan masuk log kembali, dan periksa apakah peramban web mengizinkan penyimpanan kuki dari situs ini.",
+       "import-token-mismatch": "Kehilangan data sesi.\n\nAnda mungkin telah keluar log. '''Mohon pastikan bahwa Anda masih masuk log dan cobalah kembali'''. Apabila masih belum berhasil, cobalah [[Special:UserLogout|keluar log]] dan masuk log kembali, dan periksalah apakah peramban web Anda mengizinkan kuki dari situs web ini.",
        "import-invalid-interwiki": "Tidak dapat mengimpor dari wiki tersebut.",
        "import-error-edit": "Halaman \"$1\" tidak diimpor karena Anda tidak diizinkan untuk menyuntingnya.",
        "import-error-create": "Halaman \"$1\" tidak diimpor karena Anda tidak diizinkan untuk membuatnya.",
        "newimages-legend": "Penyaring",
        "newimages-label": "Nama berkas (atau sebagian dari nama berkas):",
        "newimages-user": "Alamat IP atau nama pengguna",
+       "newimages-newbies": "Tampilkan kontribusi hanya dari akun baru",
        "newimages-showbots": "Tampilkan unggahan oleh bot",
        "newimages-hidepatrolled": "Sembunyikan unggahan yang telah dipatroli",
+       "newimages-mediatype": "Tipe media:",
        "noimages": "Tidak ada yang dilihat.",
        "gallery-slideshow-toggle": "Beralih  ''thumbnails''",
        "ilsubmit": "Cari",
        "fileduplicatesearch-noresults": "Tidak ditemukan berkas dengan nama \"$1\".",
        "specialpages": "Halaman istimewa",
        "specialpages-note-top": "Keterangan",
+       "specialpages-note-restricted": "* Halaman istimewa biasa.\n* <span class=\"mw-specialpagerestricted\">Halaman istimewa terbatas.</span>",
        "specialpages-group-maintenance": "Laporan pemeliharaan",
        "specialpages-group-other": "Lain-lain",
        "specialpages-group-login": "Masuk log / mendaftar",
        "tags-create-reason": "Alasan:",
        "tags-create-submit": "Buat",
        "tags-create-no-name": "Anda harus memberikan nama tag.",
-       "tags-create-invalid-chars": "Nama tag tidak boleh mengandung koma (<code>,</code>) atau garis miring (<code>/</code>).",
+       "tags-create-invalid-chars": "Nama tag tidak boleh mengandung koma (<code>,</code>), pipa (<code>|</code>), atau garis miring (<code>/</code>).",
        "tags-create-invalid-title-chars": "Nama tag tidak boleh mengandung karakter yang tidak bisa digunakan dalam judul halaman.",
        "tags-create-already-exists": "Tag \"$1\" sudah ada.",
        "tags-create-warnings-above": "{{PLURAL:$2|Peringatan|Peringatan}} berikut ditemukan ketika mencoba membuat tag \"$1\":",
        "compare-invalid-title": "Judul yang Anda berikan tidak sah.",
        "compare-title-not-exists": "Judul yang Anda minta tidak ada.",
        "compare-revision-not-exists": "Revisi yang Anda minta tidak ada.",
+       "diff-form": "Perbedaan",
+       "diff-form-oldid": "ID revisi lama (opsional)",
+       "diff-form-revid": "ID revisi perbedaan",
+       "diff-form-submit": "Tampilkan perbedaan",
+       "permanentlink": "Pranala permanen",
+       "permanentlink-revid": "ID revisi",
+       "permanentlink-submit": "Tuju ke revisi",
        "dberr-problems": "Maaf! Situs ini mengalami masalah teknis.",
        "dberr-again": "Cobalah menunggu beberapa menit dan muat ulang.",
        "dberr-info": "(Tak dapat mengakses basis data: $1)",
index 36a7280..293138f 100644 (file)
@@ -39,7 +39,7 @@
        "tog-shownumberswatching": "Ipakita ti bilang dagiti agbuybuya nga agar-aramat",
        "tog-oldsig": "Ti adda a pirmam:",
        "tog-fancysig": "Tratuen ti pirma a kas wikitext (awanan iti automatiko a silpo)",
-       "tog-uselivepreview": "Usaren ti agdama a panagipadas",
+       "tog-uselivepreview": "Ipakita dagiti panagipadas a saan nga agikarga manen iti panid",
        "tog-forceeditsummary": "Pakaammuannak no sumrek iti blanko a pakabuklan ti panagurnos",
        "tog-watchlisthideown": "Ilemmeng dagiti inurnosko manipud iti listaan ti bambantayan",
        "tog-watchlisthidebots": "Ilemmeng dagiti inurnos ti bot manipud iti listaan ti bambantayan",
        "anontalk": "Tungtungan",
        "navigation": "Pagdaliasatan",
        "and": "&#32;ken",
-       "qbfind": "Biruken",
-       "qbbrowse": "Agbasabasa",
-       "qbedit": "Urnosen",
-       "qbpageoptions": "Daytoy a panid",
-       "qbmyoptions": "Pampanidko",
        "faq": "MAS",
-       "faqpage": "Project:MAS",
        "actions": "Dagiti aramid",
        "namespaces": "Dagiti nagan ti espasio",
        "variants": "Sabsabali a pagsasao",
        "edit-local": "Urnosen ti lokal a deskripsion",
        "create": "Agpartuat",
        "create-local": "Agnayon iti lokal a deskripsion",
-       "editthispage": "Urnosen daytoy a panid",
-       "create-this-page": "Partuaten daytoy a panid",
        "delete": "Ikkaten",
-       "deletethispage": "Ikkaten daytoy a panid",
-       "undeletethispage": "Isubli ti pannakaikkat daytoy a panid",
        "undelete_short": "Isubli ti pannakaikkat {{PLURAL:$1|ti maysa a naurnos|dagiti $1 a naurnos}}",
        "viewdeleted_short": "Kitaen {{PLURAL:$1|ti maysa a naikkat a naurnos|dagiti $1 a naikkat a naurnos}}",
        "protect": "Salakniban",
        "protect_change": "baliwan",
-       "protectthispage": "Salakniban daytoy a panid",
        "unprotect": "Sukatan ti salaknib",
-       "unprotectthispage": "Sukatan ti salaknib daytoy a panid",
        "newpage": "Baro a panid",
-       "talkpage": "Pagtungtungan daytoy a panid",
        "talkpagelinktext": "Tungtungan",
        "specialpage": "Espesial a panid",
        "personaltools": "Bukod a ramramit",
-       "articlepage": "Kitaen ti naglaon a panid",
        "talk": "Pagtungtungan",
        "views": "Dagiti pangkitaan",
        "toolbox": "Ramramit",
        "tool-link-userrights": "Baliwan dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "tool-link-userrights-readonly": "Kitaen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "tool-link-emailuser": "Esuratam daytoy nga {{GENDER:$1|agar-aramat}}",
-       "userpage": "Kitaen ti panid ti agar-aramat",
-       "projectpage": "Kitaen ti panid ti proyekto",
        "imagepage": "Kitaen ti panid ti papeles",
        "mediawikipage": "Kitaen ti panid ti mensahe",
        "templatepage": "Kitaen ti panid ti plantilia",
        "readonlywarning": "<strong>Ballaag: Narikepan ti database tapno mataripato, isu a saanmo a mabalin nga idulin dagita inurnosmo tattan.</strong>\nMabalinmo ti agkopia ken agipegket ti tekstom iti papeles ti teksto ken idulinmo daytoy intono madamdama.\n\nTi administrador ti sistema a nangrikep ket nangited iti daytoy a palawag: $1",
        "protectedpagewarning": "<strong>Ballaag: Daytoy a panid ket nasalakniban tapno dagiti laeng agar-aramat nga addaan iti gundaway nga administrador ti makaurnos ditoy.</strong>\nTi naudi a naikabil iti listaan ket naited dita baba para iti reperensia:",
        "semiprotectedpagewarning": "<strong>Nota:</strong> Nasalakniban daytoy a panid tapno dagiti laeng nakarehistro nga agar-aramat ti makaurnos ditoy.\nTi naudi a naikabil iti listaan ket naited dita baba para iti reperensia:",
-       "cascadeprotectedwarning": "<strong>Ballaag:</strong> Daytoy a panid ket nasalakniban tapno dagiti laeng agar-aramat nga addaan iti gundaway nga administrador ti makaurnos gapu ta nailak-am {{PLURAL:$1|iti sumaganad a panid|kadagiti sumaganad a panid}} a nasalakniban iti sariap:",
+       "cascadeprotectedwarning": "<strong>Ballaag:</strong> Daytoy a panid ket nasalakniban tapno dagiti laeng agar-aramat nga addaan kadagiti [[Special:ListGroupRights|naisangayan a karbengan]] ti makaurnos gapu ta nailak-am {{PLURAL:$1|iti sumaganad a panid|kadagiti sumaganad a panid}} a nasalakniban iti sariap:",
        "titleprotectedwarning": "<strong>Ballaag:  Nasalakniban daytoy a panid tapno [[Special:ListGroupRights|dagiti naisangayan ti karbengan]] ket nasken a makapartuat iti daytoy.</strong>\nTi naudi a naikabil iti listaan ket naited dita baba para iti reperensia:",
        "templatesused": "{{PLURAL:$1|Ti plantilia|Dagiti plantilia}} a naaramat iti daytoy a panid:",
        "templatesusedpreview": "{{PLURAL:$1|Ti plantilia|Dagiti plantilia}} a naaramat iti daytoy a panagpadas:",
        "permissionserrorstext-withaction": "Awan ti pammalubosmo nga $2, gapu ti sumaganad a {{PLURAL:$1|rason|rasrason}}:",
        "contentmodelediterror": "Saanmo a maurnos daytoy a rebision gapu ta ti modelo ti linaon ket <code>$1</code>, a maigiddiat manipud iti agdama a modelo ti linaon ti panid ti <code>$2</code>.",
        "recreate-moveddeleted-warn": "<strong>Ballaag: Agparpartuatka manen ti dati a naikkat a panid.</strong>\n\nUsigem koma no maitutop ti agtuloy nga agurnos iti daytoy a panid.\nTi listaan ti pannakaikkat ken pannakaiyalis para iti daytoy a panid ket naited ditoy para iti pakainugotan:",
-       "moveddeleted-notice": "Naikkaten daytoy a panid.\nTi listaan ti pannakaikkat ken pannakaiyalis para iti panid ket naited dita baba para iti reperensia.",
-       "moveddeleted-notice-recent": "Pasensian, daytoy a panid ket kaik-ikkat idi (iti kaunegan dagiti 24 nga oras).\nTi listaan ti pannakaikkat ken pannakaiyalis para iti panid ket naited dita baba para iti reperensia.",
+       "moveddeleted-notice": "Naikkaten daytoy a panid.\nTi listaan ti pannakaikkat, pannakasalaknib, ken pannakaiyalis para iti panid ket naited dita baba para iti reperensia.",
+       "moveddeleted-notice-recent": "Pasensian, daytoy a panid ket kaik-ikkat idi (iti kaunegan dagiti 24 nga oras).\nTi listaan ti pannakaikkat, pannakasalaknib, ken pannakaiyalis para iti panid ket naited dita baba para iti reperensia.",
        "log-fulllog": "Kitaem ti napno a listaan",
        "edit-hook-aborted": "Ti panagurnos ket pinasardeng babaen ti kawit.\nAwan ti intedna a palawag.",
        "edit-gone-missing": "Saan a mapabaro daytoy a panid.\nKasla met naikkaten.",
        "post-expand-template-argument-category": "Pampanid a naglaon kadagiti saan a nairaman nga argumento ti plantilia",
        "parser-template-loop-warning": "Nakaduktal iti silo ti plantilia: [[$1]]",
        "template-loop-category": "Pampanid nga agraman kadagiti silo ti plantilia",
+       "template-loop-category-desc": "Ti panid ket aglaon iti silo ti plantilia, kas iti plantilia a rekursibo a mangawag iti bagina.",
        "parser-template-recursion-depth-warning": "Nalabsan ti patingga ti panagdullit ti kinauneg ti plantilia ($1)",
        "language-converter-depth-warning": "Nalabsan ti patingga ti pagbaliwen a kinauneg ti pagsasao ($1)",
        "node-count-exceeded-category": "Dagiti panid a nakasurokan ti bilang ti nodo",
        "revision-info": "Rebision manipud idi $1 babaen ni {{GENDER:$6|$2}}$7",
        "previousrevision": "← Nadadaan a rebision",
        "nextrevision": "Nabarbaro a rebision →",
-       "currentrevisionlink": "Kinaudi a rebision",
+       "currentrevisionlink": "Kaudian a rebision",
        "cur": "agdama",
        "next": "sumaruno",
        "last": "naudi",
        "search-file-match": "(maipada ti linaon a papeles)",
        "search-suggest": "Daytoy kadi: $1",
        "search-rewritten": "Agipakita para kadagiti resulta ti $1. Imbes ket nga agbiruk para iti $2.",
-       "search-interwiki-caption": "Dagiti kakabsat a proyekto",
+       "search-interwiki-caption": "Dagiti resulta manipud kadagiti kakabsat a proyekto",
        "search-interwiki-default": "Dagiti resulta manipud iti $1:",
        "search-interwiki-more": "(adu pay)",
        "search-interwiki-more-results": "adu pay a resresulta",
        "prefs-editwatchlist-clear": "Dalusan ti listaan ti bambantayan",
        "prefs-watchlist-days": "Al-aldaw nga iparang iti listaan ti bambantayan:",
        "prefs-watchlist-days-max": "Kapaut nga $1 {{PLURAL:$1|nga aldaw|nga al-aldaw}}",
-       "prefs-watchlist-edits": "Kaadu a bilang ti ipakita kadagiti sinukatan iti napadakkel a listaan ti bambantayan:",
+       "prefs-watchlist-edits": "Kaadu a bilang ti ipakita kadagiti sinukatan iti listaan ti bambantayan:",
        "prefs-watchlist-edits-max": "Kaadu a bilang: 1000",
        "prefs-watchlist-token": "Tandaan ti listaan ti bambantayan:",
        "prefs-misc": "Sabsabali",
        "userrights-lookup-user": "Agpili iti agar-aramat",
        "userrights-user-editname": "Mangiserrek iti nagan ti agar-aramat:",
        "editusergroup": "Ikarga dagiti grupo ti agar-aramat",
-       "editinguser": "Suksukatan ti karbengan ni {{GENDER:$1|agar-aramat}} <strong>[[User:$1|$1]]</strong> $2",
+       "editinguser": "Suksukatan ti karbengan ti agar-aramat ni {{GENDER:$1|agar-aramat}} <strong>[[User:$1|$1]]</strong> $2",
+       "viewinguserrights": "Kitkitaen ti karbengan ti agar-aramat ni {{GENDER:$1|agar-aramat}} <strong>[[User:$1|$1]]</strong> $2",
        "userrights-editusergroup": "Urnosen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "userrights-viewusergroup": "Kitaen dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "saveusergroups": "Idulin dagiti grupo ti {{GENDER:$1|agar-aramat}}",
        "userrights-groupsmember": "Kameng ti:",
        "userrights-groupsmember-auto": "Napudno a kameng ti:",
-       "userrights-groups-help": "Mabaliwam dagiti ayan a grupo ti agar-aramat:\n* Ti nakur-it a kahon ket kayatna a sawen nga adda ti agar-aramat dita a grupo.\n* Ti saan a nakur-it a kahon ket kayatna a sawen nga awan ti agar-aramat dita a grupo.\n* A * mangipakita a saanmo a maikkat ti grupo no nainayonmon, wenno pagbalittaden.",
+       "userrights-groups-help": "Mabaliwam dagiti ayan a grupo ti agar-aramat:\n* Ti naikur-it a kahon ket kayatna a sawen nga adda ti agar-aramat dita a grupo.\n* Ti saan a naikur-it a kahon ket kayatna a sawen nga awan ti agar-aramat dita a grupo.\n* Ti A * ket mangipakita a saanmo a maikkat ti grupo no nainayonmon, wenno pagbalittaden.\n* Ti A # ket mangipakita a mabalinmo laeng a maisubli ti oras iti daytoy a pannakaikameng ti grupo; saanmo a maiyeg a maipauna.",
        "userrights-reason": "Rason:",
        "userrights-no-interwiki": "Awan ti pammalubosmo nga agurnos ti karbengan ti agar-aramat kadagiti sabali a wiki.",
        "userrights-nodatabase": "Awan ti database a $1 wenno saan a lokal.",
        "userrights-expiry": "Agpaso:",
        "userrights-expiry-existing": "Ti adda a panagpaso ti oras: $3, $2",
        "userrights-expiry-othertime": "Sabali nga oras:",
+       "userrights-expiry-options": "1 nga aldaw:1 day,1 a lawas:1 week,1 a bulan:1 month,3 a bulan:3 months,6 a bulan:6 months,1 a tawen:1 year",
        "userrights-invalid-expiry": "Imbalido ti oras a panagpaso para iti grupo \"$1\".",
        "userrights-expiry-in-past": "Napalabasen ti oras a panagpaso para iti grupo \"$1\".",
        "userrights-conflict": "Suppiat dagiti panagbaliw kadagiti karbengan ti agar-aramat! Pangngaasi nga irepasom ken pasingkedam dagiti sinuksukatam.",
        "grant-basic": "Batayan a karkarbengan",
        "grant-viewdeleted": "Kitaen dagiti naikkat a papeles ken pampanid",
        "grant-viewmywatchlist": "Kitaem ti listaan ti banbantayam",
+       "grant-viewrestrictedlogs": "Kitaen dagiti nagawidan a naikabil iti listaan",
        "newuserlogpage": "Listaan ti panagpartuat ti agar-aramat",
        "newuserlogpagetext": "Daytoy ket listaan dagiti pannakapartuat iti agar-aramat.",
        "rightslog": "Listaan dagiti karbengan ti agar-aramat",
        "action-writeapi": "agusar iti panagsurat ti API",
        "action-delete": "agikkat iti daytoy a panid",
        "action-deleterevision": "agikkat kadagiti rebision",
+       "action-deletelogentry": "ikkaten dagiti naikabil iti listaan",
        "action-deletedhistory": "agkita iti naikkat a pakasaritaan ti panid",
        "action-deletedtext": "agkita iti naikkat a rebision ti teksto",
        "action-browsearchive": "agbiruk kadagiti naikkat a panid",
        "recentchanges-legend-heading": "<strong>Leyenda:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (kitaen pay ti [[Special:NewPages|listaan ti baro a pampanid]])",
        "recentchanges-submit": "Ipakita",
+       "rcfilters-legend-heading": "<strong>Listaan dagiti pangyababaan:</strong>",
+       "rcfilters-other-review-tools": "<strong>Dagiti sabali pay a pangrepaso a ramit</strong>",
+       "rcfilters-group-results-by-page": "Igrupo dagiti resulta babaen ti panid",
+       "rcfilters-grouping-title": "Pannakaigrupo",
        "rcfilters-activefilters": "Dagiti aktibo a sagat",
+       "rcfilters-advancedfilters": "Dagiti napasayaat a sagat",
+       "rcfilters-limit-title": "Dagiti ipakita a binaliwan",
+       "rcfilters-limit-shownum": "Ipakita {{PLURAL:$1|ti naudi a sinukatan|dagiti $1 a sinukatan}}",
+       "rcfilters-days-title": "Kaudian nga al-aldaw",
+       "rcfilters-hours-title": "Kaudian nga or-oras",
+       "rcfilters-days-show-days": "$1 nga {{PLURAL:$1|aldaw|al-aldaw}}",
+       "rcfilters-days-show-hours": "$1 nga {{PLURAL:$1|oras|or-oras}}",
+       "rcfilters-quickfilters": "Dagiti naidulin a sagat",
+       "rcfilters-quickfilters-placeholder-title": "Awan pay dagiti naidulin a silpo",
+       "rcfilters-savedqueries-defaultlabel": "Dagiti naidulin a sagat",
+       "rcfilters-savedqueries-rename": "Naganan manen",
+       "rcfilters-savedqueries-setdefault": "Isaad a kas kasisigud",
+       "rcfilters-savedqueries-unsetdefault": "Ikkaten a kas kasisigud",
+       "rcfilters-savedqueries-remove": "Ikkaten",
+       "rcfilters-savedqueries-new-name-label": "Nagan",
+       "rcfilters-savedqueries-new-name-placeholder": "Ipalawag ti panggep ti sagat",
+       "rcfilters-savedqueries-apply-label": "Agpartuat iti sagat",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Agpartuat iti kasisigud a sagat",
+       "rcfilters-savedqueries-cancel-label": "Ukasen",
+       "rcfilters-savedqueries-add-new-title": "Idulin dagiti agdama a pannakaisaad ti sagat",
        "rcfilters-restore-default-filters": "Isubli dagiti kasisigud a sagat",
        "rcfilters-clear-all-filters": "Dalusan amin dagiti sagat",
+       "rcfilters-show-new-changes": "Kitaen dagiti kabaruan a binaliwan",
        "rcfilters-search-placeholder": "Sagaten ti kaudian a balbaliw (agbasabasa wenno mangrugi nga agmakinilia)",
        "rcfilters-invalid-filter": "Imbalido a sagat",
        "rcfilters-empty-filter": "Awan dagiti aktibo a sagat. Naipakita amin dagiti kontribusion.",
        "rcfilters-filterlist-title": "Dagiti sagat",
-       "rcfilters-filterlist-whatsthis": "Ania daytoy?",
+       "rcfilters-filterlist-whatsthis": "Kasano dagitoy nga agobra?",
+       "rcfilters-filterlist-feedbacklink": "Mangited ti feedback kadagiti baro a (beta) sagat",
+       "rcfilters-highlightbutton-title": "Paraigidan dagiti resulta",
        "rcfilters-highlightmenu-title": "Agpili iti maris",
+       "rcfilters-highlightmenu-help": "Agpili iti maris a mangparaigid daytoy a tagikua",
        "rcfilters-filterlist-noresults": "Awan dagiti nabirukan a sagat",
-       "rcfilters-filter-registered-label": "Nakarehistro",
-       "rcfilters-filter-registered-description": "Dagiti nakastrek nga editor.",
-       "rcfilters-filter-unregistered-label": "Saan a nakarehistro",
-       "rcfilters-filter-unregistered-description": "Dagiti editor a saan a nakastrek.",
-       "rcfilters-filter-editsbyself-label": "Dagiti bukodmo nga inurnos",
-       "rcfilters-filter-editsbyself-description": "Dagiti inurnosmo.",
-       "rcfilters-filter-editsbyother-label": "Dagiti inurnos ti sabali",
-       "rcfilters-filter-editsbyother-description": "Dagiti inurnos a pinartuat babaen dagiti sabali nga agar-aramat (saan a sika).",
+       "rcfilters-noresults-conflict": "Awan dagiti nabirukan a resulta gapu ta ti kriteria ti panagbiruk ket agsuppiatda",
+       "rcfilters-filter-editsbyself-label": "Dagiti sinukatam",
+       "rcfilters-filter-editsbyself-description": "Dagiti bukodmo a kontribusion.",
+       "rcfilters-filter-editsbyother-label": "Dagiti sinukatan ti sabali",
+       "rcfilters-filter-editsbyother-description": "Amin a sinuksukatan malaksid ti bukodmo.",
+       "rcfilters-filtergroup-userExpLevel": "Rehistrasion ti agar-aramat ken sanay",
+       "rcfilters-filter-user-experience-level-registered-label": "Nakarehistro",
+       "rcfilters-filter-user-experience-level-registered-description": "Dagiti nakastrek nga editor.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Saan a nakarehistro",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Dagiti editor a saan a nakastrek.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Dagiti agdadamo",
-       "rcfilters-filter-user-experience-level-newcomer-description": "Basbassit ngem 10 nga inur-urnos ken 4 nga aldaw iti aktibidad.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Dagiti nakarehistro nga editor nga addaan iti basbassit ngem 10 nga inur-urnos ken 4 nga aldaw iti aktibidad.",
        "rcfilters-filter-user-experience-level-learner-label": "Dagiti agad-adal",
-       "rcfilters-filter-user-experience-level-learner-description": "Ad-adu nga al-aldaw iti aktibidad ken inur-urnos ngem \"Dagiti agdadamo\" ngem basbassit ngem \"Dagiti nasanay nga agar-aramat\".",
+       "rcfilters-filter-user-experience-level-learner-description": "Dagiti nakarehistro nga editor a ti panagsanayda ket maikabil iti pagbaetan ti \"Dagiti agdadamo\" ken \"Dagiti nasanay nga agar-aramat\".",
        "rcfilters-filter-user-experience-level-experienced-label": "Dagiti nasanay nga agar-aramat",
-       "rcfilters-filter-user-experience-level-experienced-description": "Ad-adu ngem 30 nga aldaw iti aktibidad ken 500 nga inur-urnos.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Dagiti nakarehistro nga editor nga addaan iti ad-adu ngem 500 nga inur-urnos ken 30 nga aldaw iti aktibidad.",
        "rcfilters-filtergroup-automated": "Dagiti automado a kontribusion",
        "rcfilters-filter-bots-label": "Bot",
        "rcfilters-filter-bots-description": "Dagiti inurnos nga inaramid babaen ti automado a ramramit.",
        "rcfilters-filter-patrolled-description": "Dagiti inurnos a namarkaan a kas napatruliaan.",
        "rcfilters-filter-unpatrolled-label": "Di napatruliaan",
        "rcfilters-filter-unpatrolled-description": "Dagiti inurnos a saan a namarkaan a kas napatruliaan.",
+       "rcfilters-filtergroup-significance": "Kaimudingan",
        "rcfilters-filter-minor-label": "Dagiti bassit a panagurnos",
        "rcfilters-filter-minor-description": "Dagiti panagurnos a minarkaan ti mannurat a kas bassit.",
        "rcfilters-filter-major-label": "Dagiti saan a bassit a panagurnos",
        "rcfilters-filter-major-description": "Dagiti panagurnos a saan a namarkaan a kas bassit.",
+       "rcfilters-filtergroup-watchlist": "Pampanid a nailista a bambantayan",
+       "rcfilters-filter-watchlist-watched-label": "Adda iti Bambantayan",
+       "rcfilters-filter-watchlist-watched-description": "Sinuksukatan kadagiti panid ti Listaan ti Bambantayam.",
+       "rcfilters-filter-watchlist-watchednew-label": "Baro a sinuksukatan iti listaan ti bambantayan",
+       "rcfilters-filter-watchlist-notwatched-label": "Saan nga adda iti listaan ti bambantayan",
+       "rcfilters-filtergroup-watchlistactivity": "Aktibidad ti listaan ti bambantayan",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Di nakitkita a sinusukatan",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Sinuksukatan kadagiti panid a saanmo pay a nabisita manipud idi napasamak ti sinuksukatan.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Nakitkita a sinuksukatan",
+       "rcfilters-filter-watchlistactivity-seen-description": "Sinuksukatan kadagiti panid a nabisitamon manipud idi napasamak ti sinuksukatan.",
        "rcfilters-filtergroup-changetype": "Kita ti panagbaliw",
        "rcfilters-filter-pageedits-label": "Dagiti panagurnos ti panid",
-       "rcfilters-filter-pageedits-description": "Dagiti panagurnos iti linaon ti wiki, tungtungan, dagiti deskripsion ti kategoria....",
+       "rcfilters-filter-pageedits-description": "Dagiti panagurnos iti linaon ti wiki, tungtungan, dagiti deskripsion ti kategoria",
        "rcfilters-filter-newpages-label": "Dagiti panagpartuat ti panid",
        "rcfilters-filter-newpages-description": "Dagiti panagurnos a nakaaramid kadagiti baro a panid.",
        "rcfilters-filter-categorization-label": "Dagiti panagbaliw ti kategoria",
        "rcfilters-filter-categorization-description": "Dagiti rekord ti pampanid a mainaynayon wenno maik-ikkat manipud kadagiti kategoria.",
        "rcfilters-filter-logactions-label": "Dagiti aksion a nailista",
-       "rcfilters-filter-logactions-description": "Dagiti aksion nga administratibo, dagiti panagpartuat iti pakabilangan, dagiti panagikkat iti panid, dagiti panangikarga....",
+       "rcfilters-filter-logactions-description": "Dagiti aksion nga administratibo, dagiti panagpartuat iti pakabilangan, dagiti panagikkat iti panid, dagiti panangikarga…",
+       "rcfilters-filtergroup-lastRevision": "Dagiti kaudian a rebision",
+       "rcfilters-filter-lastrevision-label": "Kaudian a rebision",
+       "rcfilters-filter-previousrevision-label": "Saan a ti kaudian a rebision",
+       "rcfilters-filter-previousrevision-description": "Amin a sinuksukatan a saan a \"kaudian a rebision\".",
+       "rcfilters-filter-excluded": "Di mairaman",
+       "rcfilters-tag-prefix-namespace-inverted": "<strong>:saan</strong> $1",
+       "rcfilters-exclude-button-off": "Di iraman ti napili",
+       "rcfilters-exclude-button-on": "Di mairaman ti napili",
+       "rcfilters-view-advanced-filters-label": "Dagiti napasayaat a sagat",
+       "rcfilters-view-tags": "Dagiti naetiketaan a panagurnos",
+       "rcfilters-view-namespaces-tooltip": "Sagaten dagiti resulta babaen ti nagan ti espasio",
+       "rcfilters-view-tags-tooltip": "Sagaten dagiti resulta babaen ti panagusar kadagiti etiketa ti panagurnos",
+       "rcfilters-view-return-to-default-tooltip": "Agsubli iti nangruna a menu ti sagat",
+       "rcfilters-liveupdates-button": "Dagiti agdama a panagpabaro",
+       "rcfilters-liveupdates-button-title-on": "Iddepen dagiti agdama a panagpabaro",
+       "rcfilters-liveupdates-button-title-off": "Ipakita dgaiti baro a sinuksukatan bayatda a mapaspasamak",
+       "rcfilters-watchlist-markSeen-button": "Markaan amin a sinuksukatan a kas nakitan",
        "rcnotefrom": "Dita baba ket {{PLURAL:$5|ti sinukatan|dagiti sinukatan}} manipud idi <strong>$3, $4</strong> (aginggana iti <strong>$1</strong> a naipakita).",
+       "rclistfromreset": "Isaad manen ti panagpili ti petsa",
        "rclistfrom": "Ipakita dagiti kabarbaro a sinukatan a mangrugi manipud idi $2, $3",
        "rcshowhideminor": "$1 dagiti bassit a panagurnos",
        "rcshowhideminor-show": "Ipakita",
        "php-uploaddisabledtext": "Dagiti panangikarga ti papeles ket nabaldado iti PHP.\nPanngaasi a kitaem ti pannakaisaad ti panagikarga ti papeles.",
        "uploadscripted": "Daytoy a papeles ket naglaon ti HTML wenno eskritu ti kodigo a mabalin a kamali nga inpatarus babaen ti pagbasabasa ti web.",
        "upload-scripted-pi-callback": "Saan a maikarga ti papeles nga aglaon ti panagproseso ti instruksion iti estilo ti sabanas ti XML.",
+       "upload-scripted-dtd": "Saan a makaikarga kadagiti papeles ti SVG nga aglaon iti saan a pagalagadan a deklarasion ti DTD.",
        "uploaded-script-svg": "Nakabiruk ti maieskritu nga elemento ti \"$1\" iti naikarga a papeles ti SVG.",
        "uploaded-hostile-svg": "Nakabiruk ti saan a natalged a CSS iti elemento ti estilo ti naikarga a papeles ti SVG.",
        "uploaded-event-handler-on-svg": "Ti panangisaad kadagiti gupit ti panagtengngel ti pasamak ti <code>$1=\"$2\"</code> ket saan a maipalubos kadagiti papeles ti SVG.$1",
        "pageswithprop-legend": "Pampanid nga adda tagikua ti panid",
        "pageswithprop-text": "Daytoy a panid ket ilistana ti pampanid nga agus-usar ti naisangayan a tagikua ti panid.",
        "pageswithprop-prop": "Nagan ti tagikua:",
+       "pageswithprop-reverse": "Urnosen iti baliktad nga urnos",
+       "pageswithprop-sortbyvalue": "Urnosen babaen ti pateg ti tagikua",
        "pageswithprop-submit": "Inkan",
        "pageswithprop-prophidden-long": "atiddog a teksto ti pateg ti tagikua a nailemmeng ($1)",
        "pageswithprop-prophidden-binary": "binario a pateg ti tagikua a nailemmeng ($1)",
        "apisandbox-sending-request": "Agipatpatulod iti kiddaw ti API...",
        "apisandbox-loading-results": "Agaw-awat kadagiti resulta ti API...",
        "apisandbox-results-error": "Adda maysa a napasamak a biddut bayat nga agikarkarga iti sungbat ti usisa ti API: $1.",
-       "apisandbox-request-url-label": "Agkiddaw ti URL:",
+       "apisandbox-request-selectformat-label": "Ipakita ti kiddaw a datos a kas:",
+       "apisandbox-request-format-url-label": "Kuerdas ti panagusisa ti URL",
+       "apisandbox-request-url-label": "Agkiddaw iti URL:",
+       "apisandbox-request-json-label": "Agkiddaw iti JSON:",
        "apisandbox-request-time": "Oras ti kiddaw: {{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "Simpaen ti tangdan ken ited manen",
        "apisandbox-results-fixtoken-fail": "Napaay ti panagala iti tangdan ti \"$1\".",
        "apisandbox-alert-field": "Saan nga umiso ti pateg iti daytoy a pagikabilan.",
        "apisandbox-continue": "Agtuloy",
        "apisandbox-continue-clear": "Dalusan",
+       "apisandbox-param-limit": "Ikabil ti <kbd>max</kbd> tapno makausar iti kaaduan a patingga.",
        "apisandbox-multivalue-all-namespaces": "$1 (Amin a nagan ti espasio)",
        "apisandbox-multivalue-all-values": "$1 (Amin a patpateg)",
        "booksources": "Dagiti taudan ti libro",
        "enotif_body_intro_restored": "Ti {{SITENAME}} a panid ti $1 ket naipulangen idi $PAGEEDITDATE babaen ni {{gender:$2|$2}}, kitaen ti $3 para iti agdama panagbaliw.",
        "enotif_body_intro_changed": "Ti {{SITENAME}} a panid ti $1 ket nasukatanen idi $PAGEEDITDATE babaen ni {{gender:$2|$2}}, kitaen ti $3 para iti agdama panagbaliw.",
        "enotif_lastvisited": "Kitaen ti $1 para iti amin a panagsukat sipud ti naudi nga isasarungkarmo.",
-       "enotif_lastdiff": "Kitaen ti $1 tapno mabuya daytoy a panagsukat.",
+       "enotif_lastdiff": "Tapno makita daytoy a sinukatan, kitaen ti $1",
        "enotif_anon_editor": "di am-ammo nga agar-aramat $1",
        "enotif_body": "Nadungngo a $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nPakabuklan ti mannurat: $PAGESUMMARY $PAGEMINOREDIT\n\nKontaken ti mannurat:\nsurat: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nAwanton dagiti sabali a pakaammo iti kaso ti adu pay a panagtigtignay malaksid no sarungkaram datoy a panid bayat a nakastrekka. Mabalinmo pay nga isaad manen dagiti wagayway ti pakaammo para kadagiti amin a bambantayam a panid idiay listaan ti bambantayam.\n\nTi mannakigayyem a sistema ti panagpaammo ti {{SITENAME}} \n\n--\nTi panagsukat ti kasasaad ti esurat a pagpa-ammom, sarungkaram ti\n{{canonicalurl:{{#special:Preferences}}}}\n\nTi panagsukat kadagiti kasasaad ti listaan ti bambantayam, sarungkaram ti\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nTi panagikkat ti panid kadagiti listaan ti bambantayam, sarungkaram ti\n$UNWATCHURL\n\nTi makunkunam ken no masapulmo pay ti tulong:\n$HELPPAGE",
+       "enotif_minoredit": "Daytoy ket bassit a panagurnos",
        "created": "naaramid",
        "changed": "nasukatan",
        "deletepage": "Ikkaten ti panid",
        "cantrollback": "Saan a maisubli ti panagurnos;\nti naudi a nakaaramid ket iti laeng nagsurat iti daytoy a panid.",
        "alreadyrolled": "Saan a maipasubli ti kinaudi a panagurnos iti [[:$1]] babaen ni [[User:$2|$2]] ([[User talk:$2|tungtungan]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nadda sabali a naurnos wenno nagipasubli ti panid.\n\nTi kinaudi a panagurnos ti daytoy a panid ket babaen ni [[User:$3|$3]] ([[User talk:$3|tungtungan]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
        "editcomment": "Ti pakabuklan idi ti panagurnos ket: <em>$1</em>.",
-       "revertpage": "Insubli ti panagurnos babaen ni [[Special:Contributions/$2|$2]] ([[User talk:$2|tungtungan]]), naisubli ti kinaudi a rebision babaen ni [[User:$1|$1]]",
+       "revertpage": "Insubli ti panagurnos babaen ni [[Special:Contributions/$2|$2]] ([[User talk:$2|tungtungan]]), naisubli iti naudi a rebision babaen ni [[User:$1|$1]]",
        "revertpage-nouser": "Naisubli dagiti inurnos babaen ti nailemmeng nga agar-aramat iti kinaudi a rebision babaen ni {{GENDER:$1|[[User:$1|$1]]}}",
-       "rollback-success": "Naibabawi dagiti panagurnos babaen ni $1;\nnaisubli manen ti naudi a rebision babaen ni $2.",
+       "rollback-success": "Naibabawi dagiti panagurnos babaen ni {{GENDER:$3|$1}};\nnaisubli manen ti naudi a rebision babaen ni {{GENDER:$4|$2}}.",
        "rollback-success-notify": "Naibabawi dagiti panagurnos babaen ni $1;\nisubli ti naudi a rebision babaen ni $2. [$3 Ipakita dagiti binaliwan]",
        "sessionfailure-title": "Napaay ti sesion",
        "sessionfailure": "Adda parikut ti sesion ti panagserrekmo;\ndaytoy nga aramid ket naibabawi a kas pagpawilan ti panaghijack ti sesion.\nAgsublika iti naggapuam a panid, ikargam manen ti panid ken padasen manen.",
        "modifiedarticleprotection": "nasukatan ti agpang ti salaknib para iti \"[[$1]]\"",
        "unprotectedarticle": "naikkat ti salaknib manipud iti \"[[$1]]\"",
        "movedarticleprotection": "iyalis ti kasasaad ti salaknib manipud iti \"[[$2]]\" iti \"[[$1]]\"",
+       "protectedarticle-comment": "{{GENDER:$2|Sinalakniban}} ti \"[[$1]]\"",
+       "modifiedarticleprotection-comment": "{{GENDER:$2|Binaliwan ti agpang ti salaknib}} para iti \"[[$1]]\"",
+       "unprotectedarticle-comment": "{{GENDER:$2|Inikkat ti salaknib}} manipud iti \"[[$1]]\"",
        "protect-title": "Sukatan ti agpang ti salaknib para iti \"$1\"",
        "protect-title-notallowed": "Kitaen ti agpang ti salaknib ti \"$1\"",
        "prot_1movedto2": "[[$1]] naiyalis iti [[$2]]",
        "undelete-search-title": "Agbiruk kadagiti naikkat a panid",
        "undelete-search-box": "Agbiruk kadagiti naikkat a panid",
        "undelete-search-prefix": "Ipakita dagiti panid a mangrugi iti:",
+       "undelete-search-full": "Ipakita dagiti titulo ti panid nga aglaon iti:",
        "undelete-search-submit": "Agbiruk",
        "undelete-no-results": "Awan dagiti kapada ti panid a nasarakan idiay arkibo ti panagikkat.",
        "undelete-filename-mismatch": "Saan maisubli ti panagikkat ti rebision ti papeles nga adda oras ket petsana a $1: Saan nga agpada ti nagan ti papeles.",
        "sp-contributions-uploads": "dagiti naikarga",
        "sp-contributions-logs": "dagiti listaan",
        "sp-contributions-talk": "tungtungan",
-       "sp-contributions-userrights": "panagtaripato kadagiti karbengan ti agar-aramat",
+       "sp-contributions-userrights": "panagtaripato kadagiti karbengan ti {{GENDER:$1|agar-aramat}}",
        "sp-contributions-blocked-notice": "Agdama a naserraan daytoy nga agar-aramat.\nTi naudi a naikabil iti listaan ti pannakaserra ket naited dita baba para iti reperensia:",
        "sp-contributions-blocked-notice-anon": "Daytoy nga adres ti IP ket agdama a naserraan.\nTi naudi a naikabil iti listaan ti pannakaserra ket adda dita baba para iti reperensia:",
        "sp-contributions-search": "Agbiruk para kadagiti kontribusion",
        "unblocked-id": "Naikkaten ti serra ti $1.",
        "unblocked-ip": "Naikkaten ti serra ni [[Special:Contributions/$1|$1]] .",
        "blocklist": "Dagiti naserraan nga agar-aramat",
+       "autoblocklist": "Dagiti automatiko a serra",
        "autoblocklist-submit": "Agbiruk",
+       "autoblocklist-legend": "Listaan dagiti automatiko a serra",
+       "autoblocklist-localblocks": "{{PLURAL:$1|Lokal nga automatiko a serra|Dagiti lokal nga automatiko a serra}}",
+       "autoblocklist-total-autoblocks": "Dagup a bilang dagiti automatiko a serra: $1",
+       "autoblocklist-empty": "Awan linaon ti listaan ti automatiko a serra.",
+       "autoblocklist-otherblocks": "{{PLURAL:$1|Dadduma nga automatiko a serra|Dagiti dadduma nga automatiko a serra}}",
        "ipblocklist": "Dagiti naserraan nga agar-aramat",
        "ipblocklist-legend": "Agbiruk ti naserraan nga agar-aramat",
        "blocklist-userblocks": "Ilemmeng dagiti serra ti pakabilangan",
        "proxyblockreason": "Ti IP a pagtaengam ket naserraan ngamin ket daytoy ket nakalukat a panakbagi.\nPangngaasi a kontakem ti agit-ited ti serbisio ti Internetmo wenno teknikal a suporta ti gunglom ken ibagam kaniada ti nakaro a parikut ti seguridad.",
        "sorbsreason": "Ti IP a pagtaengam ket nailista a kasla \"nalukatan a pannakbagi\" iti DNSBL nga inusar babaen ti {{SITNAME}}.",
        "sorbs_create_account_reason": "Ti IP a pagtaengam ket nailista a kasla \"nalukatan a pannakbagi\" iti DNSBL nga inusar babaen ti {{SITNAME}}.\nSaanka a makapartuat ti pakabilangan.",
+       "softblockrangesreason": "Dagiti kontribusion ti di ammo ket saan a maipalubos manipud iti IP nga adresmo ($1). Pagngaasi a sumrek.",
        "xffblockreason": "Ti maysa nga adres ti IP nga adda iti paulo ti X-Forwarded-For, mabalin a kukuam wenno ti pannakbagi a server nga us-usarem, ket naserraan. Ti kasisigud a rason ti pannakaserra idi ket: $1",
        "cant-see-hidden-user": "Ti agar-aramat a kayatmo a serraan ket naserraanen ken nailemmeng.\nGapu ta awan met ti karbengam nga agilemming ti agar-aramat, saanmo a makita wenno maurnos ti serra ti agar-aramat.",
        "ipbblocked": "Saanmo a mabalin ti agserra wenno agikkat ti serra ti sabali nga agar-aramat, ngamin ket naserraanka met.",
        "movelogpagetext": "Adda dita baba ti listaan dagiti amin a naiyalis a panid.",
        "movesubpage": "{{PLURAL:$1|Subpanid|Dagiti subpanid}}",
        "movesubpagetext": "Daytoy a panid ket addaan iti $1 {{PLURAL:$1|a subpanid|kadagiti subpanid}} a naipakita dita baba.",
+       "movesubpagetalktext": "Ti maitunos a tungtungan a panid ket addaan iti $1 {{PLURAL:$1|a subpanid|kadagiti subpanid}} a naipakita dita baba.",
        "movenosubpage": "Daytoy a panid ket awan ti subpanidna.",
        "movereason": "Rason:",
        "revertmove": "isubli",
        "import-nonewrevisions": "Awan dagiti naala a rebision (mabalin nga adda amin dagitoyen, wenno nalabsan gapu kadagiti biddut).",
        "xml-error-string": "$1 iti linia $2, tukol $3 (byte $4): $5",
        "import-upload": "Ikarga ti datos ti XML",
-       "import-token-mismatch": "Pannakapukaw ti sesion ti datos.\n\nMabalin a nakaruarka. <strong>Pangngaasi a pasingkedan a nakastrekka pay laeng ken padasem manen</strong>.\nNo saan pay a mabalin, padasem ti [[Special:UserLogout|rummuar]] ken sumrek manen, ken kitaen no ti pagpasabasam ket mangipalubos kadagiti galieta manipud iti daytoy a sitio.",
+       "import-token-mismatch": "Pannakapukaw ti sesion ti datos.\n\nMabalin a nakaruarka. '''Pangngaasi a pasingkedan a nakastrekka pay laeng ken padasem manen'''.\nNo saan pay a mabalin, padasem ti [[Special:UserLogout|rummuar]] ken sumrek manen, ken kitaen no ti pagpasabasam ket mangipalubos kadagiti galieta manipud iti daytoy a sitio.",
        "import-invalid-interwiki": "Saan a makaala manipud iti nainaganan a wiki.",
        "import-error-edit": "Ti panid ti \"$1\" ket saan idi a naala ngamin ket saanmo a mabalin nga urnosen.",
        "import-error-create": "Ti panid ti \"$1\" ket saan idi a naala ngamin ket saanmo a mabalin a partuaten.",
        "tooltip-pt-mycontris": "Ti listaan dagiti kontribusionmo",
        "tooltip-pt-anoncontribs": "Ti listaan dagiti panagurnos manipud iti daytoy nga adres ti IP",
        "tooltip-pt-login": "Maaw-awis a sumrekka; nupay kasta, daytoy ket saan a nasken",
+       "tooltip-pt-login-private": "Nasken a sumrekka tapno makausar iti daytoy a wiki",
        "tooltip-pt-logout": "Rummuar",
        "tooltip-pt-createaccount": "Maaw-awis nga agpartuatka iti pakabilangan ken sumrek; nupay kasta, daytoy ket saan a nasken",
        "tooltip-ca-talk": "Pagtungtungan a maipapan ti linaon ti panid",
        "anonymous": "Di ammo {{PLURAL:$1|nga agar-aramat|kadagiti agar-aramat}} iti {{SITENAME}}",
        "siteuser": "{{SITENAME}} nga agar-aramat $1",
        "anonuser": "{{SITENAME}} di ammo nga agar-aramat $1",
-       "lastmodifiedatby": "Daytoy a panid ket naudi a nabaliwan idi $2, $1 babaen ni $3.",
+       "lastmodifiedatby": "Daytoy a panid ket naudi a naurnos idi $2, $1 babaen ni $3.",
        "othercontribs": "Naibasar iti obra ni $1.",
        "others": "dadduma pay",
        "siteusers": "{{PLURAL:$2|{{GENDER:$1|ni agar-aramat}}|da agar-aramat}} $1 ti {{SITENAME}}",
        "newimages-summary": "Daytoy nga espesial a panid ket ipakitana ti naudi a panagikarga kadagiti papeles.",
        "newimages-legend": "Sagat",
        "newimages-label": "Nagan ti papeles (wenno pasetna) :",
+       "newimages-user": "Adres ti IP wenno nagan ti agar-aramat",
+       "newimages-newbies": "Iparang dagiti kontribusion dagiti kabarbaro a pakabilangan laeng",
        "newimages-showbots": "Ipakita dagiti naikarga babaen dagiti bot",
        "newimages-hidepatrolled": "Ilemmeng dagiti panangikarga a napatruliaan",
+       "newimages-mediatype": "Kita ti midia:",
        "noimages": "Awan ti makita.",
        "ilsubmit": "Agbiruk",
        "bydate": "babaen ti petsa",
        "fileduplicatesearch-noresults": "Awan ti nabirukan a papeles a nanaganan ti \"$1\".",
        "specialpages": "Espesial a pampanid",
        "specialpages-note-top": "Leyenda",
-       "specialpages-note": "* Kadawyan nga espesial a pampanid.\n* <span class=\"mw-specialpagerestricted\">Nagawidan nga espesial a pampanid.</span>",
        "specialpages-group-maintenance": "Dagiti reporta ti panagtaripato",
        "specialpages-group-other": "Sabali nga espesial a pampanid",
        "specialpages-group-login": "Sumrek / agpartuat ti pakabilangan",
        "tags-deactivate": "pasardengen",
        "tags-hitcount": "$1 {{PLURAL:$1|a sinukatan|a sinuksukatan}}",
        "tags-manage-no-permission": "Awan ti pammalubosmo a mangtaripato kadagiti etiketa ti panagbaliw.",
-       "tags-manage-blocked": "Saanmo a mataripato dagiti etiketa ti panagbaliw bayat a naserraan.",
+       "tags-manage-blocked": "Saanmo a mataripato dagiti etiketa ti panagbaliw bayat a {{GENDER:$1|naserraanka}}.",
        "tags-create-heading": "Agpartuat iti baro nga etiketa",
        "tags-create-explanation": "Babaen ti kasisigud, dagiti kabarbaro a napartuat nga etiketa ket mabalinto a magun-od a mausar babaen dagiti agar-aramat ken dagiti bot.",
        "tags-create-tag-name": "Nagan ti etiketa:",
        "tags-create-reason": "Rason:",
        "tags-create-submit": "Agpartuat",
        "tags-create-no-name": "Nasken nga inaganam ti nagan ti etiketa.",
-       "tags-create-invalid-chars": "Dagiti nagan ti etiketa ket nasken a saan nga aglaon kadagiti kaw-it (<code>,</code>) wenno dagiti agpasango a tagbat (<code>/</code>).",
+       "tags-create-invalid-chars": "Dagiti nagan ti etiketa ket nasken a saan nga aglaon kadagiti kaw-it (<code>,</code>), dagiti pipa (<code>|</code>), wenno dagiti agpasango a tagbat (<code>/</code>).",
        "tags-create-invalid-title-chars": "Dagiti nagan ti etiketa ket nasken a saan nga aglaon kadagiti karakter a saan a mabalin a mausar kadagiti titulo ti panid.",
        "tags-create-already-exists": "Addan ti etiketa ti \"$1\".",
        "tags-create-warnings-above": "Nakasarak {{PLURAL:$2|iti sumaganad a ballaag|kadagiti sumaganad a ballaag}} idi nagpadas a nagpartuat iti etiketa ti \"$1\":",
        "tags-deactivate-not-allowed": "Saan a mabalin a  pasardengen ti etiketa ti \"$1\".",
        "tags-deactivate-submit": "Pasardengen",
        "tags-apply-no-permission": "Awan iti pammalubosmo a mangipakat kadagiti etiketa ti panagbaliw a mairaman kadagiti binaliwam.",
-       "tags-apply-blocked": "Saanmo a maipakat dagiti etiketa ti panagbaliw a mairaman kadagiti binaliwam bayat a naserraan.",
+       "tags-apply-blocked": "Saanmo a maipakat dagiti etiketa ti panagbaliw a mairaman kadagiti binaliwam bayat a {{GENDER:$1|naserraanka}}.",
        "tags-apply-not-allowed-one": "Saan a maipalubos a manual a maipakat ti tiketa ti \"$1\".",
        "tags-apply-not-allowed-multi": "Saan a maipalubos a manual a maipakat {{PLURAL:$2|ti sumaganad nga etiketa|dagiti sumagand nga etiketa}}: $1",
        "tags-update-no-permission": "Awan ti pammalubosmo a manginayon wenno mangikkat kadagiti etiketa ti panagbaliw manipud kadagiti agmaymaysa a rebision wenno dagiti naikabil iti listaan.",
-       "tags-update-blocked": "Saanmo a manayonan wenno maikkat dagiti etiketa ti panagbaliw bayat a naseraan.",
+       "tags-update-blocked": "Saanmo a manayonan wenno maikkat dagiti etiketa ti panagbaliw bayat a {{GENDER:$1|naseraanka}}.",
        "tags-update-add-not-allowed-one": "Saan a mabalin a manual a mainayon ti etiketa ti \"$1\".",
        "tags-update-add-not-allowed-multi": "Saan a mabalin a manual a mainayon {{PLURAL:$2|ti sumaganad nga etiketa|dagiti sumaganad nga etiketa}}: $1",
        "tags-update-remove-not-allowed-one": "Ti etiketa ti \"$1\" ket saan a maipalubos a maikkat.",
        "compare-invalid-title": "Ti titulo nga innaganam ket imbalido.",
        "compare-title-not-exists": "Awan ti innaganam a titulo.",
        "compare-revision-not-exists": "Awan ti innaganam a rebision.",
+       "diff-form": "Paggigiddiatan",
+       "diff-form-oldid": "ID ti daan a rebision (pagpilian)",
+       "diff-form-revid": "ID ti rebision ti paggiddiatan",
+       "diff-form-submit": "Ipakita dagiti paggiddiatan",
+       "permanentlink": "Agnanayon a silpo",
+       "permanentlink-revid": "ID ti rebision",
+       "permanentlink-submit": "Mapan iti rebision",
        "dberr-problems": "Pasensia! Daytoy a sitio ket agdadama nga agsansanay kadagiti teknikal a pagrigatan.",
        "dberr-again": "Padasem ti aguray kadagiti mano a minuto ken agikarga manen.",
        "dberr-info": "(Saan a maserrekan ti server ti database: $1)",
        "htmlform-cloner-create": "Agnayon pay ti adu",
        "htmlform-cloner-delete": "Ikkaten",
        "htmlform-cloner-required": "Saan a basbassit ngem maysa a pateg ti masapul.",
+       "htmlform-date-placeholder": "TTTT-BB-AA",
+       "htmlform-time-placeholder": "OO:MM:SS",
+       "htmlform-datetime-placeholder": "TTTT-BB-AA OO:MM:SS",
+       "htmlform-date-invalid": "Ti ninaganam a pateg ket saan a mabigbigan a petsa. Padasen ti agusar ti pormat ti TTTT-BB-AA.",
+       "htmlform-time-invalid": "Ti ninaganam a pateg ket saan a mabigbigan nga oras. Padasen ti agusar ti pormat ti OO:MM:SS.",
+       "htmlform-datetime-invalid": "Ti ninaganam a pateg ket saan a mabigbigan a petsa ken oras. Padasen ti agusar ti pormat ti TTTT-BB-AA OO:MM:SS.",
+       "htmlform-date-toolow": "Ti ninaganam a pateg ket sakbay ti kasapaan a maipalubos a petsa ti $1.",
+       "htmlform-date-toohigh": "Ti ninaganam a pateg ket kalpasan ti kaladawan a maipalubos a petsa ti $1.",
+       "htmlform-time-toolow": "Ti ninaganam a pateg ket sakbay ti kasapaan a maipalubos nga oras ti $1.",
+       "htmlform-time-toohigh": "Ti ninaganam a pateg ket kalpasan ti kaladawan a maipalubos nga oras ti $1.",
+       "htmlform-datetime-toolow": "Ti ninaganam a pateg ket sakbay ti kasapaan a maipalubos a petsa ken oras ti $1.",
+       "htmlform-datetime-toohigh": "Ti ninaganam a pateg ket kalpasan ti kaladawan a maipalubos a petsa ken oras ti $1.",
        "htmlform-title-badnamespace": "Ti [[:$1]] ket awan iti nagan ti espasio ti \"{{ns:$2}}\".",
        "htmlform-title-not-creatable": "Saan a mabalin a mapartuat a titulo ti panid ti \"$1\"",
        "htmlform-title-not-exists": "Awan ti $1.",
        "htmlform-user-not-exists": "Awan ti <strong>$1</strong>.",
        "htmlform-user-not-valid": "Saan nga umiso a nagan ti agar-aramat ti <strong>$1</strong>.",
        "logentry-delete-delete": "{{GENDER:$2|Inikkat}} ni $1 ti panid ti $3",
-       "logentry-delete-restore": "Ni $1 ket {{GENDER:$2|insublina}} ti panid ti $3",
+       "logentry-delete-delete_redir": "{{GENDER:$2|Inikkat}} ni $1 ti baw-ing ti $3 babaen ti panagsurat manen",
+       "logentry-delete-restore": "Ni $1 ket {{GENDER:$2|insublina}} ti panid $3 ($4)",
+       "logentry-delete-restore-nocount": "{{GENDER:$2|Insubli}} ni $1 ti panid ti $3",
+       "restore-count-revisions": "{{PLURAL:$1|ti 1 a rebision|dagiti $1 a rebision}}",
+       "restore-count-files": "{{PLURAL:$1|1 a papeles|$1 a pappapeles}}",
        "logentry-delete-event": "Ni $1 ket {{GENDER:$2|binaliwanna}} ti panagkita {{PLURAL:$5|iti listaan ti pasamak |dagiti $5 a listaan ti pasamak }} iti $3: $4",
        "logentry-delete-revision": "{{GENDER:$2|Binaliwan}} ni $1 ti panagkita {{PLURAL:$5|ti rebision|dagiti $5 a rebision}} iti panid ti $3: $4",
        "logentry-delete-event-legacy": "Ni $1 ket {{GENDER:$2|binaliwanna}} ti panagkita ti listaan dagiti pasamak iti $3",
        "logentry-managetags-create": "{{GENDER:$2|Nagpartuat}} ni $1 ti etiketa ti \"$4\"",
        "log-name-tag": "Listaan ti etiketa",
        "rightsnone": "(awan)",
+       "rightslogentry-temporary-group": "$1 (temporario, aginggana intono $2)",
        "feedback-adding": "Agnaynayon ti feedback iti panid...",
        "feedback-back": "Agsubli",
        "feedback-bugcheck": "Nasayaaten! Kitaem tapno saan a dagiti adda idin a [$1 nga ammo a parparikut].",
        "feedback-bugornote": "No sisasagakan nga agibaga ti teknikal a pakirut a naisalaysay pangngaasi nga [$1 ireporta ti parikut].\nNupay kasta, mausarmo ti nalaka a porma dita baba. Ti komentario nga itedmo ket mainayon iti panid \"[$3 $2], a mairaman ti naganmo nga agar-aramat ken no ania ti pagbasabasa nga us-sarem.",
        "feedback-cancel": "Ukasen",
        "feedback-close": "Nalpasen",
+       "feedback-external-bug-report-button": "Mangited iti teknikal nga obra",
+       "feedback-dialog-title": "Mangited iti feedback",
        "feedback-error1": "Biddut: Saan a malasin dagiti nagbanagan manipud iti API",
        "feedback-error2": "Biddut: Napaay ti panagurnos",
        "feedback-error3": "Biddut: Awan ti sungbat manipud iti API",
        "pagelang-reason": "Rason",
        "pagelang-submit": "Ited",
        "pagelang-nonexistent-page": "Awan ti panid ti $1.",
+       "pagelang-unchanged-language": "Ti panid ti $1 ket naisaaden iti pagsasao ti $2.",
+       "pagelang-unchanged-language-default": "Ti panid ti $1 ket naisaaden iti kasisigud a pagsasao ti linaon ti wiki.",
+       "pagelang-db-failed": "Napaay a nangbaliw ti database ti pagsasao ti panid.",
        "right-pagelang": "Baliwan ti pagsasao ti panid",
        "action-pagelang": "baliwan ti pagsasao ti panid",
        "log-name-pagelang": "Listaan ti panagbaliw ti pagsasao",
        "mw-widgets-titleinput-description-redirect": "ibaw-ing iti $1",
        "mw-widgets-categoryselector-add-category-placeholder": "Agnayon iti kategoria...",
        "mw-widgets-usersmultiselect-placeholder": "Agnayon pay iti adu...",
+       "date-range-from": "Pangrugian a petsa:",
+       "date-range-to": "Pagpatinggaan a petsa:",
        "sessionmanager-tie": "Saan a mabalin nga itipon dagiti nadumaduma kita ti kiddaw ti pammasingked: $1.",
        "sessionprovider-generic": "Dagiti sesion ti $1",
        "sessionprovider-mediawiki-session-cookiesessionprovider": "dagiti sesion a naibatay iti galieta",
        "log-action-filter-contentmodel-change": "Panagbaliw ti modelo ti linaon",
        "log-action-filter-contentmodel-new": "Panagpartuat ti panid iti saan a kasisigud a modelo ti linaon",
        "log-action-filter-delete-delete": "Panagikkat ti panid",
+       "log-action-filter-delete-delete_redir": "Sinuratan manen a baw-ing",
        "log-action-filter-delete-restore": "Panangisubli ti panagikkat ti panid",
        "log-action-filter-delete-event": "Panagikkat ti listaan",
        "log-action-filter-delete-revision": "Panagikkat ti rebision",
        "usercssispublic": "Pangngaasi a laglagipen: Dagiti subpanid ti CSS ket nasken a saan nga aglaon iti datos a nailemed gapu ta makita dagitoy babaen dagiti sabali nga agar-aramat.",
        "restrictionsfield-badip": "Imbalido nga adres ti IP wenno sakup: $1",
        "restrictionsfield-label": "Dagiti mapalubosan a sakup ti IP:",
+       "restrictionsfield-help": "Maysa nga adres ti IP wenno sakup ti CIDR kada linia. Tapno mapakabaelan amin, usaren ti:<pre>0.0.0.0/0\n::/0</pre>",
        "revid": "rebision $1",
        "pageid": "ID ti panid $1",
-       "gotointerwiki": "Pumanpanaw iti {{SITENAME}}"
+       "rawhtml-notallowed": "Saan a mabalin a mausar dagiti etiketa ti &lt;html&gt; iti ruar dagiti kadawyan a panid.",
+       "gotointerwiki": "Pumanpanaw iti {{SITENAME}}",
+       "gotointerwiki-invalid": "Ti nainaganan a titulo ket imbalido.",
+       "pagedata-title": "Datos ti panid",
+       "pagedata-not-acceptable": "Awan ti kapada a pormat ti nabirukan. Dagiti masuportaran a kita ti MIME: $1",
+       "pagedata-bad-title": "Imbalido ti titulo: $1."
 }
index 8f47121..5e7cd6e 100644 (file)
        "rcfilters-restore-default-filters": "Ripristina i filtri predefiniti",
        "rcfilters-clear-all-filters": "Pulisci tutti i filtri",
        "rcfilters-show-new-changes": "Visualizza le modifiche più recenti",
-       "rcfilters-previous-changes-label": "Modifiche visualizzate precedentemente",
        "rcfilters-search-placeholder": "Filtra le ultime modifiche (naviga o inizia a digitare)",
        "rcfilters-invalid-filter": "Filtro non valido",
        "rcfilters-empty-filter": "Nessun filtro attivo. Sono mostrati tutti i contributi.",
        "rcfilters-filterlist-noresults": "Nessun filtro trovato",
        "rcfilters-noresults-conflict": "Nessun risultato trovato, perché i criteri di ricerca sono in conflitto",
        "rcfilters-state-message-subset": "Questo filtro non ha effetto perché i suoi risultati sono inclusi in quelli {{PLURAL:$2|del seguente filtro, più ampio|dei seguenti filtri, più ampi}} (prova ad evidenziarli per distinguerli): $1",
-       "rcfilters-state-message-fullcoverage": "La selezione di tutti i filtri in un gruppo è come non selezionarne alcuno, in questo modo questo filtro non ha effetto. Il gruppo include: $1",
+       "rcfilters-state-message-fullcoverage": "La selezione di tutti i filtri in questo gruppo è come non selezionarne alcuno, in questo modo questo filtro non ha effetto. Il gruppo include: $1",
        "rcfilters-filtergroup-authorship": "Autore del contributo",
        "rcfilters-filter-editsbyself-label": "Mie modifiche",
        "rcfilters-filter-editsbyself-description": "I tuoi contributi.",
index 3189ef0..da52d3c 100644 (file)
@@ -83,7 +83,8 @@
                        "Ayame",
                        "Omotecho",
                        "Thibaut120094",
-                       "Translatealcd"
+                       "Translatealcd",
+                       "Delim"
                ]
        },
        "tog-underline": "リンクの下線:",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "表示",
        "rcfilters-legend-heading": "<strong>略語のリスト:</strong>",
+       "rcfilters-group-results-by-page": "ページごとにまとめて表示",
+       "rcfilters-grouping-title": "グループ化",
        "rcfilters-activefilters": "絞り込み",
        "rcfilters-advancedfilters": "詳細フィルター",
+       "rcfilters-limit-title": "表示件数の変更",
+       "rcfilters-limit-shownum": "表示:最新 $1 の更新",
+       "rcfilters-days-title": "日数",
+       "rcfilters-hours-title": "時間",
        "rcfilters-quickfilters": "フィルターを保存",
        "rcfilters-quickfilters-placeholder-title": "リンクはまだ保存されていません",
        "rcfilters-quickfilters-placeholder-description": "フィルターの設定を保存し、後で再び使用するためには、下のアクティブフィルター内のブックマークアイコンをクリックしてください。",
        "fileduplicatesearch-noresults": "「$1」という名前のファイルはありません。",
        "specialpages": "特別ページ",
        "specialpages-note-top": "凡例",
+       "specialpages-note-restricted": "* 標準の特別ページ\n* <span class=\"mw-specialpagerestricted\">制限された特別ページ</span>",
        "specialpages-group-maintenance": "メンテナンス報告",
        "specialpages-group-other": "その他の特別ページ",
        "specialpages-group-login": "ログインまたはアカウント作成",
        "compare-title-not-exists": "指定したページは存在しません。",
        "compare-revision-not-exists": "指定した版は存在しません。",
        "diff-form": "'''フォーム'''",
+       "permanentlink": "パーマネントリンク",
        "dberr-problems": "申し訳ありません! このウェブサイトに技術的な障害が発生しています。",
        "dberr-again": "数分間待った後、もう一度読み込んでください。",
        "dberr-info": "(データベース $1 にアクセスできません)",
index 6efbd9a..57a7a61 100644 (file)
        "searchprofile-advanced": "Lungidan",
        "searchprofile-articles-tooltip": "Golèkan ing $1",
        "searchprofile-images-tooltip": "Golèk barkas",
-       "searchprofile-everything-tooltip": "Golèk kabèh isi (kalebu kaca guneman)",
+       "searchprofile-everything-tooltip": "Golèk kabèh kontèn (kalebu ing kaca parembugan)",
        "searchprofile-advanced-tooltip": "Golèk ing mandala aran tinamtu",
        "search-result-size": "$1 ({{PLURAL:$2|1 tembung|$2 tembung}})",
        "search-result-category-size": "{{PLURAL:$1|1 anggota|$1 anggota}} ({{PLURAL:$2|1 subkatégori|$2 subkatégori}}, {{PLURAL:$3|1 berkas|$3 berkas}})",
        "trackingcategories-name": "Jeneng layang",
        "mailnologin": "Ora ana alamat kirim",
        "mailnologintext": "Panjenengan kudu [[Special:UserLogin|mlebu log]] lan duwé alamat layang-èl sing trep ing [[Special:Preferences|pilalané]] panjenengan kanggo nglayangi panganggo liyané.",
-       "emailuser": "Kirim e-mail panganggo iki",
+       "emailuser": "Kirimi panganggo iki layang-èl",
        "emailuser-title-target": "Kirim surel ke {{GENDER:$1|pengguna}} ini",
        "emailuser-title-notarget": "Kirimi panganggo layang-èl",
        "emailpagetext": "Panjenengan bisa migunakaké formulir ing ngisor kanggo ngirim layang-e marang {{GENDER:$1|panganggo}} iki.\nAlamat layang-e sing panjenengan lebokaké ing [[Special:Preferences|préferèsi panjenengan]] bakal dadi alamat \"Saka\" jroning layang-e kasebut, mula panampa layang-e bakal bisa mbalesi langsung menyang panjenengan.",
        "defemailsubject": "{{SITENAME}} layang èlèktronik saka panganggo \"$1\"",
-       "usermaildisabled": "E-mail panganggo dinonaktifaké",
+       "usermaildisabled": "Layang-èlé panganggo dipatèni",
        "usermaildisabledtext": "Sampéyan ora bisa ngirim layang èlèktronik nèng panganggo liya nèng wiki iki",
        "noemailtitle": "Ora ana alamat layang-èl",
        "noemailtext": "Panganggo iki ora mènèhi alamat layang-e sing absah.",
        "noautoblockblock": "blokir otomatis dipatèni",
        "createaccountblock": "ndamelipun akun dipunblokir",
        "emailblock": "layang-èl dipatèni",
-       "blocklist-nousertalk": "ora kena mbesut kaca guneman dhéwé",
+       "blocklist-nousertalk": "ora kena mbesut kaca parembugané dhéwé",
        "ipblocklist-empty": "Pratélan blokir kosong.",
        "ipblocklist-no-results": "alamat IP utawa panganggo sing disuwun ora diblokir.",
        "blocklink": "palang",
        "block-log-flags-anononly": "namung panganggo anonim",
        "block-log-flags-nocreate": "panggawéné akun dipatèni",
        "block-log-flags-noautoblock": "blokir otomatis dipatèni",
-       "block-log-flags-noemail": "e-mail diblokir",
-       "block-log-flags-nousertalk": "ora kena mbesut kaca guneman dhéwé",
+       "block-log-flags-noemail": "layang-èl dipatèni",
+       "block-log-flags-nousertalk": "ora kena mbesut kaca parembugané dhéwé",
        "block-log-flags-angry-autoblock": "paningkatan sistem pamblokiran otomatis wis diaktifaké",
        "block-log-flags-hiddenname": "jeneng panganggo didhelikaké",
        "range_block_disabled": "Fungsi pamblokir blok IP kanggo para opsis dipatèni.",
        "exif-urgency-other": "Prioritas sing ditetepaké panganggo ($1)",
        "namespacesall": "kabèh",
        "monthsall": "kabèh",
-       "confirmemail": "Konfirmasi alamat e-mail",
+       "confirmemail": "Konfirmasi alamat layang-èl",
        "confirmemail_noemail": "Panjenengan ora maringi alamat é-mail sing absah ing [[Special:Preferences|prèferènsi]] panjenengan.",
        "confirmemail_text": "{{SITENAME}} ngwajibaké panjenengan ndhedhes utawa konfirmasi alamat e-mail panjenengan sadurungé bisa nganggo fitur-fitur e-mail.\nPencèten tombol ing ngisor iki kanggo ngirim sawijining kode konfirmasi arupa sawijining pranala;\nTuladen pranala iki ing panjlajah wèb panjenengan kanggo ndhedhes yèn alamat e-mail panjenengan pancèn bener.",
        "confirmemail_pending": "Sawijining kode konfirmasi wis dikirim menyang alamat e-mail panjenengan;\nyèn panjenengan lagi waé nggawé akun utawa rékening panjenengan, mangga nunggu sawetara menit nganti layang iku tekan sadurungé nyuwun kode anyar manèh.",
        "confirmemail_needlogin": "Panjenengan kudu ndhedhes (konfirmasi) $1 alamat layang e-mail panjenengan.",
        "confirmemail_success": "Alamat e-mail panjenengan wis dikonfirmasi.\nSaiki panjenengan bisa log mlebu lan wiwit nganggo wiki.",
        "confirmemail_loggedin": "Alamat e-mail panjenengan wis dikonfirmasi.",
-       "confirmemail_subject": "Konfirmasi alamat e-mail {{SITENAME}}",
+       "confirmemail_subject": "Konfirmasi alamat layang-èl ing {{SITENAME}}",
        "confirmemail_body": "Ana wong, bokmanawa panjenengan, saka alamat IP $1, wis ndhaftar kanthi akun \"$2\" mawa alamat layang-èl iki ing {{SITENAME}}.\n\nSaperlu ngonfirmasi yèn akun iki temenan duwèké panjenengan lan ngaktivasi fitur layang-èl ing {{SITENAME}}, bukaken pranala iki ing pangluruné panjenengan:\n\n$3\n\nYèn panjenengan *ora tau* ndhaftar mawa akun iki, turuten pranala ngisor iki saperlu murungaké konfirmasi lumantar alamat layang-èl iki:\n\n$5\n\nKodhe konfirmasi iki bakal kadaluwarsa nalika $4.",
        "confirmemail_body_changed": "Ana wong, bokmanawa panjenengan, saka alamat IP $1, wis ngganti alamat layang-èl ing akun \"$2\" dadi nganggo alamat iki ing {{SITENAME}}. \n\nSaperlu ngonfirmasi yèn akun iki temenan duwèké panjenengan, bukaken pranala iki ing pangluruné panjenengan:\n\n$3\n\nYèn akun iku *dudu* duwèké panjenengan, turuten pranala iki saperlu murungaké konfirmasi lumantar alamat layang-èl iki:\n\n$5\n\nKodhe konfirmasi iki bakal kadaluwarsa nalika $4.",
        "confirmemail_body_set": "Sawijining wong, mbokmenawa panjenengan dhéwé, saka alamat IP $1, wis ndaftaraké akun \"$2\" mawa alamat e-mail iki ing {{SITENAME}}. Bukaka pranala iki ing panjlajah wèb panjenengan.\n\n$3\n\nYèn panjenengan *ora tau* ndaftar akun iki, tutna pranala ing ngisor iki kanggo mbatalaké konfirmasi alamat e-mail:\n\n$5\n\nKonfirmasi iki bakal kadaluwarsa ing $4.",
index 5be46fc..e7e4284 100644 (file)
@@ -52,6 +52,8 @@
        "tog-watchlisthidebots": "Ffer ibeddlen n iboṭiyen seg wumuɣ n uɛessi inu",
        "tog-watchlisthideminor": "Ffer ibeddlen ifessasen seg wumuɣ n uɛessi inu",
        "tog-watchlisthideliu": "Ffer ibeddlen n iseqdacen yelan deg umuɣ n tiḍefri",
+       "tog-watchlistreloadautomatically": "Ales asali s wudem awurman n tebdart n uḍfaṛ ticki iɣewwaṛen n usizdeg ttwabeddlen (Ilaq JavaScript)",
+       "tog-watchlistunwatchlinks": "Rnu iseɣwan srid n uḍfaṛ/aseḥbes n uḍfaṛ i yinekcam n tebdart n uḍfaṛ(Ilaq JavaScript i usefrek n tmahilt-agi)",
        "tog-watchlisthideanons": "Ffer ibeddlen n iseqdacen udrigen deg umuɣ n tiḍefri",
        "tog-watchlisthidepatrolled": "Ffer ibeddlen iɛessan deg umuɣ n tiḍefri",
        "tog-watchlisthidecategorization": "Ffer taggayin n isebtar",
        "sat": "Sed",
        "january": "Yennayer",
        "february": "Fuṛaṛ",
-       "march": "meɣres",
-       "april": "yebrir",
+       "march": "Meɣres",
+       "april": "Yebrir",
        "may_long": "Mayyu",
-       "june": "yunyu",
+       "june": "Yunyu",
        "july": "Yulyu",
-       "august": "ɣuct",
-       "september": "ctamber",
-       "october": "tuber",
+       "august": "Ɣuct",
+       "september": "Ctamber",
+       "october": "Tuber",
        "november": "wamber",
        "december": "Dujamber",
        "january-gen": "yennayer",
        "october-gen": "Tuber",
        "november-gen": "wamber",
        "december-gen": "dujamber",
-       "jan": "yen",
+       "jan": "Yen",
        "feb": "Fuṛ",
        "mar": "meɣ",
        "apr": "yeb",
        "aug": "ɣuc",
        "sep": "cta",
        "oct": "tub",
-       "nov": "wam",
-       "dec": "duj",
+       "nov": "Wam",
+       "dec": "Duj",
        "january-date": "$1 yennayer",
        "february-date": "$1 fuṛaṛ",
        "march-date": "$1 meɣres",
        "currentevents-url": "Project:Isallen",
        "disclaimers": "Ilɣa",
        "disclaimerpage": "Project:Ilɣa imuta",
-       "edithelp": "Tallalt deg ubeddel",
+       "edithelp": "Tallelt ɣef teẓrigt",
        "helppage-top-gethelp": "Tallelt",
        "mainpage": "Asebter agejdan",
        "mainpage-description": "Asebter agejdan",
        "userlogin-yourpassword-ph": "Sekcem awal-ik(im) n uɛeddi",
        "createacct-yourpassword-ph": "Sekcem awal n uɛeddi",
        "yourpasswordagain": "Ɛiwed ssekcem awal n tbaḍnit",
-       "createacct-yourpasswordagain": "Sergeg awal n uɛeddi",
+       "createacct-yourpasswordagain": "Sentem awal uffir",
        "createacct-yourpasswordagain-ph": "Sekcem awal n uɛeddi tikelt nniḍen",
        "userlogin-remembermypassword": "Eǧǧ taɣimit inu turmidt",
        "userlogin-signwithsecure": "Seqdec tuqqna yettwaḥerzen",
        "createacct-realname": "Isem n tidets (axetṛan)",
        "createacct-reason": "Taɣẓint",
        "createacct-reason-ph": "Ayɣer ad snulfuḍ amiḍan nniḍen",
-       "createacct-submit": "Snulfud amiḍan inek(m)",
-       "createacct-another-submit": "Snulfud amiḍan nniḍen",
+       "createacct-submit": "Rnu amiḍan-ik(m)",
+       "createacct-another-submit": "Rnu amiḍan",
        "createacct-benefit-heading": "{{SITENAME}} yetwexdem sɣur medden am kečč/kem.",
        "createacct-benefit-body1": "{{PLURAL:$1|abeddel|ibeddilen}}",
        "createacct-benefit-body2": "{{PLURAL:$1|asebter|isebtar}}",
        "nocookieslogin": "{{SITENAME}} yesseqdac ikukiyen (cookies) iwakken ad tkecmeḍ. Tekseḍ ikukiyen-nni. Eǧǧ-aten iwakken ad tkecmeḍ.",
        "nocookiesfornew": "Amiḍan n useqdac ur d-isnulfu ara, acku ur nezmer ara an sulu azar-is.\nSelken ma sermedeḍ \"cookies\", sismeḍ asebter dɣa εreḍ tikkelt nniḍen.",
        "noname": "Ur tefkiḍ ara isem n wemseqdac ṣaḥiḥ.",
-       "loginsuccesstitle": "Tkecmeḍ !",
+       "loginsuccesstitle": "Taqqneḍ",
        "loginsuccess": "'''Tkecmeḍ ar {{SITENAME}} s yisem n wemseqdac \"$1\".'''",
-       "nosuchuser": "Aseqdac « $1 » ulac-it d-agi.\nSsenqed tira n yisem-nni, naɣ [[Special:CreateAccount|snulfu-d amiḍan amaynut]].",
+       "nosuchuser": "Aseqdac $1 ulac-it d-agi.\nIsmawen n iseqdacen ṭṭafaṛen taruẓi n usekkil.\nSenqed tira, neɣ [[Special:CreateAccount|rnu amiḍan amaynut]].",
        "nosuchusershort": "Ulac isem n wemseqdac s yisem \"$1\". Ssenqed tira n yisem-nni.",
        "nouserspecified": "Yessefk ad tefkeḍ isem n wemseqdac.",
        "login-userblocked": "Aseqdac agi i sewḥel. Tuqqna t-ugwi.",
        "noemail": "\"$1\" ur yesɛi ara email.",
        "noemailcreate": "Ilaq ad efkeḍ tansa e-mail i sɛan aseɣbel.",
        "passwordsent": "Awal n tbaḍnit amaynut yettwazen i emal inek, aylaw n \"$1\".\nG leɛnaya-k, kcem tikelt nniḍen yis-s.",
-       "blocked-mailpassword": "Tansa n IP inek tɛekkel, ur tezmireḍ ara ad txedmeḍ abeddel,\nur tezmireḍ ara ad tesɛuḍ awal n tbaḍnit i tettuḍ.",
+       "blocked-mailpassword": "Tansa-ik IP tewḥel i unifel. Akken ad nsewḥel yir aseqdec, ur tezmireḍ ara ad tesqedceḍ tiririt n wawal uffir si tansa-agi IP.",
        "eauthentsent": "Yiwen email yetweceggeε ar tansa id efkeḍ.\nUqbel ad n-ceggeε email nniḍen, ilaq ad ḍfereḍ ayen yellan deg email dɣa ad sergegeḍ amiḍan agi d win inek(m).",
        "throttled-mailpassword": "Neceggɛed yakan tirawt n uwennez i awal-ik/im n uɛaddi deg {{PLURAL:$1|asrag agi aneggaru|$1 isragen agi ineggura}}. Awennez n uwal n uɛaddi yettwaceggaɛ tikelt kan deg {{PLURAL:$1|asrag|$1 isragen}}.",
        "mailerror": "Agul asmi yettwazen e-mail: $1",
-       "acct_creation_throttle_hit": "Amdan i seqdacen tansa IP inek/inem yesnulfud {{PLURAL:$1|yiwen amiḍan|$1 imiḍanen}} deg 24 izragen agi ineggura, negweḍ ar talast n turagt deg azilal agi n wakud.",
+       "acct_creation_throttle_hit": "Inebgawen iseqdacen tansa IP-ik rnan {{PLURAL:$1|n umiḍan|$1 n imiḍanen}} deg $2 n yisragen ineggura, d ayen yessawḍen ar talast tafellayt yettwasirgen deg uzilal-agi n wakud.\nIhi, timerna n imiḍanen i yinebgawen iseqdacen tansa-agi IP tewḥel akka tura.",
        "emailauthenticated": "Tansa e-mail inek/inem tesergeg ass n $2 af $3.",
        "emailnotauthenticated": "Tansa email inek mazal ur tettuɛqel. Ur d netceggaɛ ara email i yal tiseɣnin agi.",
        "noemailprefs": "Efk tansa e-mail iwakken ad leḥḥun iḍaɣaren-nni.",
        "createaccount-title": "Asnulfu n umiḍan i {{SITENAME}}",
        "createaccount-text": "Albeɛḍ yesnulfu-d amiḍan i tansa e-amil inek/inem ɣef {{SITENAME}} ($4) s-isem n-useqdac « $2 », s awal n uɛaddi « $3 ».\nIlaq tura ad lldiḍ taɣimit dɣa ad beddeleḍ awal ik/im n uɛaddi.",
        "login-throttled": "Tɛerdeḍ ad qqeneḍ aṭas tiqwal deg dqiqat agi iɛddan.\nIlaq ad rǧuḍ $1 uqbel ad ɛerdeḍ tikkelt nniḍen.",
-       "login-abort-generic": "Taremt ik/im n tuqqna tebrir",
+       "login-abort-generic": "Awraḍ-ik n tuqqna ur yeddi ara",
        "loginlanguagelabel": "Tutlayt: $1",
        "suspicious-userlogout": "Asuter n usenser yugwi acku yella ugur s iminig naɣ s tazarkatut n uqeddac proxy.",
        "createacct-another-realname-tip": "* Isem n ṣṣeḥ d-axeṭran.\nMa teɛzemeḍ a t-tefkeḍ, ad yettuseqdac iwakken ad snen medden anwa yuran tikkin inek.",
        "resetpass_submit": "Eg awal n tbaḍnit u kcem",
        "changepassword-success": "Awal n uɛaddi yettubeddel s lerbaḥ !",
        "changepassword-throttled": "Tɛerdeḍ ad qqeneḍ aṭas tiqwal deg dqiqat agi iɛddan.\nIlaq ad rǧuḍ $1 uqbel ad ɛerdeḍ tikkelt nniḍen.",
+       "botpasswords-label-appid": "Isem n uṛubut:",
+       "botpasswords-label-create": "Rnu",
+       "botpasswords-label-update": "Leqqem",
+       "botpasswords-label-cancel": "Sefsex",
+       "botpasswords-label-delete": "Kkes",
+       "botpasswords-label-resetpassword": "Wennez awal uffir",
+       "botpasswords-label-grants": "Izerfan yettwasnasen:",
+       "botpasswords-label-grants-column": "Ttunefken izerfan",
+       "botpasswords-bad-appid": "Isem n uṛubut \"$1\" mačči d ameɣtu.",
        "resetpass_forbidden": "Ur zemreḍ ara ad beddeleḍ awalen n uɛaddi",
        "resetpass-no-info": "Ilaq ad qqeneḍ iwakken ad ẓṛeḍ asebter agi.",
        "resetpass-submit-loggedin": "Beddel awal n uɛaddi",
        "sig_tip": "Azmul inek s uzemz",
        "hr_tip": "Ajerriḍ aglawan (ur teččerɛiḍ ara)",
        "summary": "Agzul:",
-       "subject": "Asentel/Azwel azellum:",
+       "subject": "Asentel:",
        "minoredit": "Wagi d abeddel afessas",
        "watchthis": "Ɛass asebter-agi",
        "savearticle": "Beddel asebter",
+       "savechanges": "Sekles asnifel",
+       "publishpage": "Suffeɣ-d asebter",
+       "publishchanges": "Suffeɣ-d asnifel",
        "preview": "Pre-Ẓer",
        "showpreview": "Ssken pre-timeẓriwt",
        "showdiff": "Ssken ibeddlen",
        "accmailtext": "Awal n uɛaddi id yuran s ugacur i [[User talk:$1|$1]] yetweceggaɛ i $2.\nYezmer ad yetbeddel ɣef usebtar [[Special:ChangePassword|Abeddel n awal uɛddi]] sakin tuqqna.",
        "newarticle": "(Amaynut)",
        "newarticletext": "Tḍefreḍ azday ɣer usebter mazal ur yettwaxleq ara.\nAkken ad txelqeḍ asebter-nni, aru deg tenkult i tella deg ukessar\n(ẓer [$1 asebter n tallalt] akken ad tessneḍ kter).\nMa tɣelṭeḍ, wekki kan ɣef tqeffalt \"Back/Précédent\" n browser/explorateur inek.",
-       "anontalkpagetext": "---- ''Wagi d asebter n umyennan n useqdac adrig, mazal ur d-yesnufa ara amiḍan. I taɣẓint agi, ilaq an seqdec tansa IP ines iwakken at-id n sulu. Yiwet tansa IP tezmer at tettuseqdac sɣur aṭṭas n iseqdacen. Lukan ula d kečč aqla-k amseqdac adrig dɣa ur tebɣiḍ ara ad tettwabcreḍ izen am wigini, ihi [[Special:CreateAccount|snulfud amiḍan]] naɣ [[Special:UserLogin|qqened]] iwakken sya d asawen ur t-illint ara uguren n usulu.''",
+       "anontalkpagetext": "----\n<em>Aqla-k deg usebter n usqerdec n useqdac udrig ur yernan ara yakan amiḍan neɣ ur t-yesseqdacen ara </em>.\nƔef aya, yessefk ad nseqdec tansa-is IP akken ad t-nissin.\nTansa IP tezmer ad tettwabḍu sɣuṛ ddeqs n iseqdacen.\nMa telliḍ d {{GENDER:|||}} d {{GENDER:|aseqdac udrig|taseqdact tudrigt}} udiɣ twalaḍ d akken iwenniten ur k-neɛni ara ttwaznen-ak-d, tzemreḍ [[Special:CreateAccount|ad ternuḍ amiḍan]] neɣ [[Special:UserLogin|ad teqqneḍ]] akken ad tzegleḍ akk ar zdat anexluḍ akked imttekkiyen udrigen.",
        "noarticletext": "Ulac aḍris deg usebter-agi akka tura Tzemreḍ [[Special:Search/{{PAGENAME}}|ad tnadiḍ aswel n usebter-agi]] deg isebtar-nniḍen,<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} nadi ti temhalin icudden ɣur-s],\nneɣ [{{fullurl:{{FULLPAGENAME}}|action=edit}} rnu asebter-agi]</span",
        "noarticletext-nopermission": "Imira ulac aḍris deg usebter agi.\nTzemreḍ [[Special:Search/{{PAGENAME}}|ad nadiḍ ɣef azwel agi]] deg isebtaren nniḍen,\nnaɣ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|asebter={{FULLPAGENAMEE}}}} ad nadiḍ deg iɣmisen iqqenen]</span>.",
        "missing-revision": "Tacaggart #$1 n usebter s isem « {{FULLPAGENAME}} » ulac-itt.\n\nAcku azday n umezruy, ɣef wayen tsennedeḍ, d-aqbur. Asebter yemḥa.\nTzemreḍ ad affeḍ tilɣa deg [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} uɣmis n isebtar yemḥan].",
        "userpage-userdoesnotexist": "Amiḍan n useqdac « <nowiki>$1</nowiki> » ur yekles ara. Ilaq ad selkeneḍ ma tebɣiḍ ad snulfuḍ asebter agi.",
        "userpage-userdoesnotexist-view": "Amiḍan n useqdac « $1 » ur yekles ara.",
        "blocked-notice-logextract": "Aseqdac agi yekyef.\nAsekcem aneggaru n useklas n ikyafen yella ddaw agi :",
-       "clearyourcache": "'''Tamawt:''' Beɛd asmekti, ahat yessefk ad temḥuḍ lkac n browser/explorateur inek akken teẓriḍ ibeddlen. '''Mozilla / Firefox / Safari:''' qqim twekkiḍ ''Shift'' u wekki ɣef ''Reload/Recharger'', neɣ wekki ɣef ''Ctrl-Shift-R'' (''Cmd-Shift-R'' deg Apple Mac); '''IE:''' qqim twekkiḍ ɣef ''Ctrl'' u wekki ɣef ''Refresh/Actualiser'', neɣ wekki ɣef ''Ctrl-F5''; '''Konqueror:''': wekki kan ɣef taqeffalt ''Reload'', neɣ wekki ɣef ''F5''; '''Opera''' yessefk ad tesseqdceḍ ''Tools→Preferences/Outils→Préférences'' akken ad temḥud akk lkac.",
+       "clearyourcache": "<strong>Tamawt :</strong> deffir mi nsekles ibeddilen-ik, yessefk ad tḥettmeḍ asmiren ummid n tuffirt n yiminig-ikakken ad twaliḍ ibeddilen.\n* <strong>Firefox / Safari :</strong> eǧǧ afus-ik ɣef taqeffalt <em>Maj</em> (<em>Shift</em>) sakin senned ɣef tqeffalt <em>Smiren</em> neɣ senned <em>Ctrl-F5</em> neɣ <em>Ctrl-R</em> (<em>⌘-R</em> di Mac) \n* <strong>Google Chrome :</strong> senned ɣef  <em>Ctrl-Maj-R</em> (<em>⌘-Shift-R</em> di Mac) \n* <strong>Internet Explorer :</strong> senned ɣef tqeffalt  <em>Ctrl</em> udiɣ ɣef tqeffalt <em>Smiren</em> neɣ senned ɣef <em>Ctrl-F5</em> \n* <strong>Opera :</strong> ddu ar wumuɣ <em>Umuɣ → Iɣewwaṛen</em> (<em>Opera → Ismenyifen</em> ɣef Mac) sakin ɣef <em>Tabaḍnit & taɣellit → Sfeḍ isefka n usnirem → Tugniwin akked d iful=yla n tuffirt</em>.",
        "usercssyoucanpreview": "'''taxbalut :''' Sseqdec taqeffalt « {{int:showpreview}} » iwakken ad tɛerḍeḍ asebter CSS inek/inem amaynut  uqbel ad aklasteḍ.",
        "userjsyoucanpreview": "'''taxbalut :''' Sseqdec taqeffalt « {{int:showpreview}} » iwakken ad tɛerḍeḍ asebter JavaScript inek/inem amaynut  uqbel ad aklasteḍ.",
        "usercsspreview": "'''Cfu-d, wagi d-azaraskan n usebter ik/im n CSS.'''\n'''Mmazal ur yettusmekti ara!'''",
        "permissionserrorstext": "Ur tesɛiḍ ara turagt iwakken ad xedmeḍ wayagi i {{PLURAL:$1|taɣẓint|tiɣẓinin}} agi :",
        "permissionserrorstext-withaction": "Ur sɛiḍ ara ttesriḥ af $2, i {{PLURAL:$1|taɣẓint|tiɣẓinin}} agi :",
        "recreate-moveddeleted-warn": "'''Ɣur-wet : asebter agi i tebɣam ad snulfum, yetwekkes uqbel.'''\n\nIlaq ad snulfum asebter agi haca ma i xater. Aɣmis n isebtaren i twekkesen yella ddaw-agi :",
-       "moveddeleted-notice": "Asebter-a yettwekkes. Isallen n usfaḍ, n uḥuddu d uḥerrrek i usebter atnan ɣer wadda i uwelleh.",
-       "moveddeleted-notice-recent": "Nesḥassef, melmi kan yettwasfeḍ usebter-a (deg 24 n yisragen ineggura). Isallen n usfaḍ, n uḥuddu d uḥerrrek i usebter atnan ɣer wadda i uwelleh.",
+       "moveddeleted-notice": "Asebter-a yettwakkes. \nAɣmis n tukksa, ammesten neɣ asenkez n usebter yettwammel-d ddaw-a i uwelleh.",
+       "moveddeleted-notice-recent": "Nesḥissef, imi melmi kan i yettwakkes usebter-a (deg 24 n yisragen ineggura). Iɣmisen n tukksa, n ummesten, akked usnifel n yisem i usebter ttunefken-d ddaw-a i uwelleh.",
        "log-fulllog": "Ẓeṛ aɣmis ummid",
        "edit-hook-aborted": "Abrir n ubeddel s usiɣzef.\nTamentilt warisem",
        "edit-gone-missing": "Ur yezmer ara ad yemucceḍ asebter agi.\nAhat yetwemḥa.",
        "content-failed-to-parse": "Tasleṭ n ugbur n $2 i talɣa $1 texseṛ : $3",
        "invalid-content-data": "Isefka n ugbur ur ɣbelen ara",
        "content-not-allowed-here": "Agbur \"$1\" ur yesɛa ara turagt ɣef usebter [[$2]]",
-       "editwarning-warning": "Ma ad teffeɣeḍ deg usebtar agi, akkw ibeddilen id xeddemeḍ ad sṛuḥen.\n\nMa teqqeneḍ, tzemreḍ ad senseḍ alɣu agi deg tigezmi « Abeddel » n ismenyifen inek/inem.",
+       "editwarning-warning": "Ma ad teffeɣeḍ seg usebter-agi ad tesṛuḥeḍ akk ibeddilen i tegiḍ.\nMa teqqeneḍ, tzemreḍ ad tsenseḍ alɣu-agi deg tigezmi \"{{int:prefs-editing}}\"  n ismenyifen-ik(im).",
+       "editpage-invalidcontentmodel-title": "Taneɣruft n ugbur ur tettwasefrak ara",
+       "editpage-invalidcontentmodel-text": "Taneɣruft n ugbur \"$1\" ur tettwasefrak ara.",
        "editpage-notsupportedcontentformat-title": "Amasal n ugbur ur d-yetwarfed ara",
        "editpage-notsupportedcontentformat-text": "Amasal n ugbur $1 ur d-yetwarfed ara sɣur talɣa n ugbur $2.",
        "content-model-wikitext": "wikiaḍris",
        "content-model-text": "aḍris afraray",
        "content-model-javascript": "JavaScript",
        "content-model-css": "CSS",
+       "content-json-empty-object": "Asentel d ilem",
+       "content-json-empty-array": "Talfelwit d tilemt",
+       "deprecated-self-close-category": "Asebter iseqdacen yir tiṛekkizin HTM tumdilin tiwurmanin",
        "expensive-parserfunction-warning": "'''Ɣur-wet :''' Asebter agi yesɛa aṭas n tiɣriwin ar tiseɣnin ɣlayen n umsisleḍ taseddast.\nIlaq ad i sɛu ddaw n  $2 {{PLURAL:$2|tiɣri|tiɣriwin }}, wannag tura {{PLURAL:$1|tella $1 tiɣri|llant $1 tiɣriwin}}.",
        "expensive-parserfunction-category": "Isebtar yesɛan aṭas tiɣriwin ɣlayen n tiseeɣnin n umsisleḍ taseddast",
        "post-expand-template-inclusion-warning": "Ɣur-wet : Asebter agi yesɛa aṭas tilɣatin. Kra n tilɣatin ur zemrent ara ad seqdacent.",
        "currentrev": "Tasiwelt n tura",
        "currentrev-asof": "Azmez n lqem taneggarut d  $1",
        "revisionasof": "Tasiwelt n wass $1",
-       "revision-info": "Tasiwelt n wass $1 sɣur $2",
+       "revision-info": "Aceggir-agi yettwag di $1 sɣuṛ {{GENDER:$6|$2}}$7",
        "previousrevision": "←Tasiwelt taqdimt",
        "nextrevision": "Tasiwelt tamaynut→",
        "currentrevisionlink": "Tasiwelt n tura",
        "page_first": "amezwaru",
        "page_last": "aneggaru",
        "histlegend": "Axtiri n umgerrad: rcem tankulin akken ad teẓreḍ imgerraden ger tisiwal u wekki ɣef enter/entrée neɣ ɣef taqeffalt deg ukessar.<br />\nTabadut: (tura) = amgirred akk d tasiwelt n tura,\n(amgirred) = amgirred akk d tasiwelt ssabeq, M = abeddel afessas.",
-       "history-fieldset-title": "Inig deg umazray",
+       "history-fieldset-title": "Nadi iceggiren",
        "history-show-deleted": "Ekkes kan",
        "histfirst": "tiqdimin",
        "histlast": "timaynutin",
        "showhideselectedversions": "Ssken/Ffer ileqman i xtiṛen",
        "editundo": "ssefsu",
        "diff-empty": "(Ulac amgerrad)",
+       "diff-multi-sameuser": "({{PLURAL:$1|Yiwen n uceggir askudan sɣuṛ aseqdac iman-is  ur d-yettwasken ara|$1 N iceggiren iskudanen sɣuṛ aseqdac iman-is ur d-ttwaseknen ara}})",
        "diff-multi-manyusers": "({{PLURAL:$1|Yiwen lqem agrawan|$1 ileqman igrawanen}} af {{PLURAL:$2|aseqdac|$2 iseqdacen}} {{PLURAL:$1|yeffer|ffren}})",
        "difference-missing-revision": "{{PLURAL:$1|Yiwet tacaggart|$1 ticaggartin}} n tameẓla agi ($1) {{PLURAL:$2|ur tella ara (ulac)|ur llant ara (ulac)}}.\n\nAcku azday n tameẓla, ɣef wayen tsennedeḍ, d-aqbur. Asebter yemḥa.\nTzemreḍ ad affeḍ tilɣa deg [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} uɣmis n isebtar yekksen].",
        "searchresults": "Igmad n unadi",
        "shown-title": "Beqqeḍ $1 {{PLURAL:$1|agmud|igmad}} s usebter",
        "viewprevnext": "Ẓer ($1 {{int:pipe-separator}} $2) ($3).",
        "searchmenu-exists": "'''Yella asebter s isem \"[[:$1]]\" deg wiki agi.'''",
-       "searchmenu-new": "'''Snulfud asebter « [[:$1|$1]] » deg wiki agi !'''",
+       "searchmenu-new": "<strong>Rnu asebter \"[[:$1]]\" ɣef uwiki-agi!</strong> {{PLURAL:$2|0=|Wali daɣen asebter yettwafen s unadi-ik.|Wali daɣen igmaḍ n unadi yettwafen.}}",
        "searchprofile-articles": "Isebtar n ugbur",
        "searchprofile-images": "Agetmedia",
        "searchprofile-everything": "Akk",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zeṛ daɣen [[Special:NewPages|umuɣ n isebtar imaynuten]]).",
        "recentchanges-legend-plusminus": "(''± 123'')",
        "recentchanges-submit": "Sken",
-       "rcfilters-other-review-tools": "<strong>Ifecka-nniḍen n ucegger:</strong>",
+       "rcfilters-other-review-tools": "<strong>Ifecka-nniḍen n ucegger</strong>",
+       "rcfilters-days-show-days": "$1 {{PLURAL:$1|n wass|n wussan}}",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|n usrag|n yisragen}}",
+       "rcfilters-quickfilters": "Imzizdigen yettwaskelsen",
        "rcfilters-savedqueries-rename": "Snifel isem",
        "rcfilters-savedqueries-setdefault": "Sbadu d amezwer",
        "rcfilters-savedqueries-unsetdefault": "Kkes-it d amezwer",
        "rcfilters-restore-default-filters": "Err-f imzizdigen imezwar",
        "rcfilters-clear-all-filters": "Sfeḍ akk imzizdigen",
        "rcfilters-show-new-changes": "Skev asnifel aneggaru",
-       "rcfilters-previous-changes-label": "Asnifel yettwaseknen yakan",
        "rcfilters-filterlist-title": "Imzizdigen",
        "rcfilters-filterlist-whatsthis": "Amek iteddu?",
        "rcfilters-highlightbutton-title": "Sebṛureq igmaḍ",
        "rcfilters-filter-editsbyself-label": "Asnifel-ik",
        "rcfilters-filter-editsbyself-description": "Ittekkiyen-ik",
        "rcfilters-filter-editsbyother-label": "Asnifel n wiyaḍ",
-       "rcnotefrom": "Deg ukessar llan ibeddlen seg wasmi '''$2''' (ar '''$1''').",
+       "rcnotefrom": "Ddaw-a{{PLURAL:$5|d abeddel|d ibeddilen}} si <strong>$3, $4</strong> (arama <strong>$1</strong> ad d-yettwaseknen).",
        "rclistfrom": "Ssken ibeddlen imaynuten seg $3 $2",
        "rcshowhideminor": "$1 ibeddlen ifessasen",
        "rcshowhideminor-show": "Sken",
        "apisandbox-deprecated-parameters": "Iɣewwaṛen iqbuṛen",
        "booksources": "Iɣbula n yidlisen",
        "booksources-search-legend": "Nadi ɣef iɣbula n yidlisen",
+       "booksources-search": "Nadi",
        "booksources-text": "Deg ukessar, yella wumuɣ n yizdayen iberraniyen izzenzen idlisen (imaynuten akk d weqdimen), yernu ahat sɛan kter talɣut ɣef idlisen i tettnadiḍ fell-asen:",
        "booksources-invalid-isbn": "ISBN agi ur yeɣbel ara ; selken ma ulac anezri deg-es.",
        "specialloguserlabel": "Ameskar :",
-       "speciallogtitlelabel": "Asaḍas (azwel naɣ aseqdac) :",
+       "speciallogtitlelabel": "Asaḍas (azwel neɣ {{ns:user}}:isem n useqdac) :",
        "log": "Aɣmis",
        "logeventslist-submit": "Sken",
        "all-logs-page": "Akk iɣmisen izayezen",
        "logempty": "Ur yufi ara deg uɣmis.",
        "log-title-wildcard": "Nadi ɣef izwal i yebdan s uḍris-agi",
        "showhideselectedlogentries": "Beqqeḍ/ffer isekcam n uɣmis agi",
+       "checkbox-none": "Ulac",
        "allpages": "Akk isebtar",
        "nextpage": "Asebter ameḍfir ($1)",
        "prevpage": "Asebter ssabeq ($1)",
        "emailccsubject": "Alsaru n izen inek i $1: $2",
        "emailsent": "E-mail yettwazen",
        "emailsenttext": "Izen n e-mail inek yettwazen.",
-       "emailuserfooter": "Tirawt agi tetweceggaɛ sɣur « $1 » i « $2 » s tasɣent \"Ceggaɛ tirawt i useqdac\" n {{SITENAME}}.",
+       "emailuserfooter": "Imayl-agi {{GENDER:$1|yettwazen}} sɣur $1 ar {{GENDER:$2|$2}} s twuri \"{{int:emailuser}}\" di {{SITENAME}}. Ma yella {{GENDER:$2|kečč|kemm}} terriḍ i yimayl-agi, Imayl-{{GENDER:$2|ik|im}} ad yettwazen srid i {{GENDER:$1|umazan aneṣli}}, ayen ara yemmlen tansa-{{GENDER:$2|ik|im}} i {{GENDER:$1|nitni|nitenti}}.",
        "usermessage-summary": "Yeǧǧa-d izen anagraw",
        "usermessage-editor": "Ameskar n unagraw",
        "watchlist": "Tabdart n uḍfaṛ",
        "mywatchlist": "Tabdart n uḍfaṛ",
        "watchlistfor2": "I $1 $2",
        "nowatchlist": "Ulac iferdisen di tebdart-ik n uḍfaṛ.",
-       "watchlistanontext": "G leɛnaya-k $1 iwakken ad twalaḍ neɣ tbeddleḍ iferdas deg wumuɣ n uɛessi inek.",
+       "watchlistanontext": "Qqen ma ulac aɣilif akken ad twaliḍ neɣ ad tbeddleḍ tabdart-ik n uḍfaṛ.",
        "watchnologin": "Ur tekcimeḍ ara",
        "addwatch": "Rnu i umuɣ n uɛassi",
        "addedwatchtext": "Asebter \"[[:$1]]\" yettwarnu deg [[Special:Watchlist|wumuɣ n uḍfar]] inek/inem.\nIbeddlen id-yetteddun deg usebter-agi neɣ deg usbtar umyennan ines, ad banen dagi.",
+       "addedwatchtext-short": "Asebter \"$1\" yettwarna ar tebdart-ik n uḍfaṛ.",
        "removewatch": "Ekkes seg umuɣ n uɛassi",
-       "removedwatchtext": "!!Asebter \"[[:$1]]\" yettwakkes seg [[Special:Watchlist|umuɣ n uɛessi]] inek.",
+       "removedwatchtext": "Asebter \"[[:$1]]\" akked usqerdec-is ttwakksen si [[Special:Watchlist|tebdart-ik n uḍfaṛ]].",
+       "removedwatchtext-short": "Asebter \"$1\" yettwakkes seg tebdart-ik n uḍfaṛ.",
        "watch": "Ɛass",
        "watchthispage": "Ɛass asebter-agi",
        "unwatch": "Fakk aɛassi",
        "unwatchthispage": "Fakk aɛassi",
        "notanarticle": "Mačči d amagrad",
        "notvisiblerev": "Lqem tetwemḥa",
-       "watchlist-details": "ttɛassaɣ {{PLURAL:$1|$1 usebter|$1 n isebtaren}} mebla isebtaren \"amyannan\".",
+       "watchlist-details": "{{PLURAL:$1|$1 n usebter|$1 n isebtar}} di tebdart-ik n uḍfaṛ, war ma tseddaḍ isebtar n usqerdec.",
        "wlheader-enotif": "Talɣut s email yessermed.",
        "wlheader-showupdated": "Isebtar ttubeddlen segwasmi tkecmeḍ tikelt taneggarut ttbanen-d s uḍris '''aberbuz'''.",
-       "wlnote": "Ddaw agi  {{PLURAL:$1|yella abeddel aneggaru|llan '''$1''' ibeddilen ineggura}} n {{PLURAL:$2|usrag aneggaru|'''$2''' isragen ineggura}}, seg $3 af $4.",
-       "wlshowlast": "Ssken $1 n swayeɛ $2 n wussan neɣ  ineggura",
+       "wlnote": "Ddaw-a{{PLURAL:$1|ad twaliḍ abeddel aneggaru yettwagen|ad twaliḍ <strong>$1</strong> n ibeddilen ineggura yettwagen}} deg {{PLURAL:$2| usrag aneggaru|di <strong>$2</strong> n yisragen ineggura}}, arama d $3, $4.",
+       "wlshowlast": "Sken wid n $1 n isragen ineggura, wid n $2 n wussan ineggura",
        "watchlist-hide": "Ffer",
        "watchlist-submit": "Sken",
        "watchlist-options": "Iɣewwaṛen n tebdart n uḍfaṛ",
        "watching": "Ad iɛass...",
        "unwatching": "Ad ifukk aɛessi...",
        "watcherrortext": "Yella anezri imi tebeddeleḍ iɣewwaren n umuɣ inek/inem n uɛassi i « $1 ».",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Rcem akk isebtar mmeẓren",
        "enotif_impersonal_salutation": "Amseqdac n {{SITENAME}}",
        "enotif_subject_deleted": "Asebtar $1 ɣef {{SITENAME}} yetwakkes sɣur {{GENDER:$2|$2}}",
        "rollback-success": "Asemmet n ibeddilen yetwaxeddemen sɣur $1 ;\ntuqqla ar lqem aneggaru sɣur $2.",
        "sessionfailure-title": "Anezri n tɣimit",
        "sessionfailure": "Yella ugul akk d takmect inek;\nAxdam-agi yebṭel axaṭer waqila yella wemdan nniḍen i yeddem isem n wemseqdac inek.\nG leɛnayek wekki ɣef taqeffalt \"Back/Précédent\" n browser/explorateur inek, umbeɛd wekki ɣef \"Actualiser/reload\" akk ad tɛerḍeḍ tikelt nniḍen.",
+       "changecontentmodel-title-label": "Azwel n usebter",
+       "changecontentmodel-reason-label": "Taɣẓint :",
        "protectlogpage": "Aɣmis n wemḥay",
        "protectlogtext": "Atan umuɣ n ibeddilen n immestan n isebtar.\nZeṛ [[Special:ProtectedPages|umuɣ n isebtar yettwaḥerzen]] i umuɣ n immestan timiranin.",
        "protectedarticle": "\"[[$1]]\" yettwaḥrez",
        "whatlinkshere-hideredirs": "$1 iwellihen",
        "whatlinkshere-hidetrans": "$1 tiguriyin",
        "whatlinkshere-hidelinks": "$1 iseɣwan",
-       "whatlinkshere-hideimages": "$1 ifuyla iqqenen",
+       "whatlinkshere-hideimages": "$1 iseɣwan ar ufaylu",
        "whatlinkshere-filters": "Tistaytin",
        "autoblockid": "Asewḥel awurman #$1",
        "block": "Ɛekkel aseqdac",
        "import-rootpage-nosubpage": "Tallunt n isemawen « $1 » n usebtar aẓar ur yeqbel ara adu-isebtar.",
        "importlogpage": "Aɣmis n usekcam",
        "importlogpagetext": "Adeblan n usekcam n isebtar i yesɛan amezruy ubeddel seg wiki tiyaḍ.",
-       "import-logentry-upload-detail": "$1 {{PLURAL:$1|lqem|ileqman}}",
-       "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|lqem|ileqman}} seg $2",
+       "import-logentry-upload-detail": "$1 {{PLURAL:$1|n uceggir yettwakter|n iceggiren ttwaketren}} imported",
+       "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|n uceggir yettwakter|n iceggiren ttwaketren}} si $2",
        "javascripttest": "Tarmit n JavaScript",
        "javascripttest-qunit-intro": "Zeṛ [$1 tumlin n tarmit] ɣef mediawiki.org.",
        "tooltip-pt-userpage": "Asebter n {{GENDER:|useqdac-ik|tseqdact-im}}",
        "tooltip-pt-anontalk": "Asqerdec ɣef uttekki seg tansa-agi IP",
        "tooltip-pt-preferences": "Ismenyifen {{GENDER:|ik|im}}",
        "tooltip-pt-watchlist": "Umuɣ n uɛessi n isebtar i ttɛessaɣ",
-       "tooltip-pt-mycontris": "Umuɣ n tikkin inu",
+       "tooltip-pt-mycontris": "Tabdart n ittekkiyen-{{GENDER:|ik|im}}",
        "tooltip-pt-login": "Lukan tkecmeḍ xir, meɛna am tebɣiḍ.",
        "tooltip-pt-logout": "Ffeɣ",
        "tooltip-pt-createaccount": "Yelha limer ad ternuḍ amiḍan sakin ad teqqneḍ; maca, ur issefk ara",
        "tooltip-feed-rss": "RSS feed n usebter-agi",
        "tooltip-feed-atom": "Atom feed n usebter-agi",
        "tooltip-t-contributions": "Ẓer tabdart n ittekkiyen n  tikkin n {{GENDER:$1|useqdac-agi|taseqdact-agi}}",
-       "tooltip-t-emailuser": "Azen e-mail i wemseqdac-agi",
+       "tooltip-t-emailuser": "Azen imayl i {{GENDER:$1|useqdac-agi|useqdac-agi}}",
        "tooltip-t-upload": "Azen ifuyla",
        "tooltip-t-specialpages": "Umuɣ n akk isebtar usligen",
        "tooltip-t-print": "Lqem tasiggezt n usebter agi",
        "anonymous": "{{PLURAL:$1|Aseqdac udrig|Iseqdacen udrigen}} ɣef {{SITENAME}}",
        "siteuser": "{{SITENAME}} amseqdac $1",
        "anonuser": "amseqdac abnabak $1 n {{SITENAME}}",
-       "lastmodifiedatby": "Tikkelt taneggarut asmi yettubeddel asebter-agi $2, $1 sɣur $3.",
+       "lastmodifiedatby": "Asebter-agi ibeddel i tikelt taneggarut di $2, $1 sɣur $3.",
        "othercontribs": "Tikkin ɣef umahil n $1.",
        "others": "wiyaḍ",
-       "siteusers": "{{PLURAL:$2|aseqdac|iseqdacen}} $1 n {{SITENAME}}",
+       "siteusers": "{{PLURAL:$2|{{GENDER:$1|aseqdac|taseqdact}}|{{Gender:$1|iseqdacen|tiseqdacin}}}} $1 n {{SITENAME}}",
        "anonusers": "{{PLURAL:$2|amseqdac abnabak|imseqdacen amseqdac abnabak}} $1 n {{SITENAME}}",
        "creditspage": "Win ixedmen asebter",
        "nocredits": "Ulac talɣut ɣef wayen ixedmen asebter-agi.",
        "scarytranscludefailed-httpstatus": "[Abrir n tiririt n talɣa i $1 : HTTP $2]",
        "scarytranscludetoolong": "[URL agi uffay aṭas]",
        "deletedwhileediting": "Aɣtal: Asebter-agi yettumḥa qbel ad tebdiḍ a t-tbeddleḍ!",
-       "confirmrecreate": "Amseqdac [[User:$1|$1]] ([[User talk:$1|Meslay]]) yemḥu asebter-agi beɛd ad tebdiḍ abeddel axaṭer:\n: ''$2''\nG leɛnaya-k sentem belli ṣaḥḥ tebɣiḍ ad tɛiwedeḍ axlaq n usebter-agi.",
+       "confirmrecreate": "Aseqdac [[User:$1|$1]] ([[User talk:$1|Asqerdec]]) yekkes asebter-agi makken tebdiḍ abeddel deg-s, ɣef sebba n :\n: <em>$2</em>\nMa ulac aɣilif, sentem d akken tebɣiḍ ad talseḍ timerna n usebter-agi.",
        "confirmrecreate-noreason": "Amseqdac [[User:$1|$1]] ([[User talk:$1|Meslay]]) yemḥu asebter-agi wannag tebedduḍ att beddeleḍ. Ilaq ad sergegeḍ tebɣiḍ ad snulfuḍ tikkelt nniḍen asebtar agi.",
        "recreate": "Ɛiwed xleq",
        "confirm_purge_button": "Seɣbel",
        "duplicate-defaultsort": "Ɣur-wet : tasarut n ufran m-ulac « $2 » atsefεej tasarut n uqbel « $1 ».",
        "version": "Lqem",
        "version-extensions": "Isiɣzaf i serkeben",
-       "version-skins": "Igelman",
+       "version-skins": "Acebbeḥ ibedden.",
        "version-specialpages": "isebtar usligen",
        "version-parserhooks": "Imguden n umsisleḍ n taseddast",
        "version-variables": "Imuttiyen",
        "version-entrypoints": "Tansa URL n irden n wekcam",
        "version-entrypoints-header-entrypoint": "Ired n wekcam",
        "version-entrypoints-header-url": "Tansa URL",
-       "redirect": "Alssniled s ufaylu, amseqdac, asebtar neɣ ID n tacaggart",
-       "redirect-summary": "Asebtar agi uslig yetalssnil ɣeṛ ufaylu (isem n ufaylu yetwefked), asebtar (ID n tacaggart neɣ n usebtar id yetwafken) neɣ asebtar n umseqdac (ID umḍin n umseqdac yetwefked). Asseqdec : [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], neɣ [[{{#Special:Redirect}}/user/101]].",
+       "redirect": "Welleh s usulay n ufaylu, aseqdac, asebter, aceggir neɣ aɣmis",
+       "redirect-summary": "Asebter-agi uslig yettuwelleh ɣeṛ ufaylu (isem n ufaylu yettunefk-d), asebter (Asulay n uceggir neɣ n usebter yettunefk-d), asebter n useqdac (asulay umḍin n useqdac yettunefk-d), neɣ anekcam n uɣmis (Asulay  n uɣmis yettunefk-d). Asseqdec:\n[[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], neɣ [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Ruḥ",
        "redirect-lookup": "Anadi :",
        "redirect-value": "Azal :",
        "tags-active-no": "Ala",
        "tags-edit": "beddel",
        "tags-hitcount": "$1 {{PLURAL:$1|abeddel|ibeddlen}}",
+       "tags-edit-existing-tags-none": "<em>Ulac</em>",
        "comparepages": "Qaren isebtar",
        "compare-page1": "Asebtar 1",
        "compare-page2": "Asebtar 2",
        "dberr-problems": "Ssurfet-aɣ ! Asmel agi yemliled ilɣiten itikniten.",
        "dberr-again": "Ɛreḍ ad arǧuḍ kra n tisdidin dɣa sismeḍ.",
        "dberr-info": "(Ulamek an qqen ar uqeddac n taffa n isefka : $1)",
-       "dberr-info-hidden": "(Ulamek an qqen ar uqeddac n taffa n isefka)",
+       "dberr-info-hidden": "(Ur izmir ara ad yeqqen ara taffa n isefka)",
        "dberr-usegoogle": "Tzemreḍ ad ɛreḍeḍ anadi s Google deg ukud agi.",
        "dberr-outofdate": "Ani i imataren nsen n ugbur nneɣ zemren ad yetwagaren",
        "dberr-cachederror": "Wagi d anɣel yeffren n usebtar i tebɣiḍ, yezmer ad yetwagar.",
        "htmlform-yes": "Ih",
        "htmlform-chosen-placeholder": "Fren taxtiṛit",
        "logentry-delete-delete": "$1 {{GENDER:$2|yemḥa}} asebtar $3",
-       "logentry-delete-restore": "$1 {{GENDER:$2|yerred|terred}} asebtar $3",
+       "logentry-delete-restore": "$1 {{GENDER:$2|yerra-d|terra-d}} asebter $3 ($4)",
        "logentry-delete-event": "$1 {{GENDER:$2|yebeddel|tebeddel}} tabanit {{PLURAL:$5|n tadyant n uɣmis|n $5 tidyanin n uɣmis}} ɣef $3: $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|yebeddel|tebeddel}} tabani {{PLURAL:$5|n lqem|n $5 ileqman}} ɣef usebtar $3: $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|yebeddel|tebeddel}} tabanit n tidyanin n uɣmis ɣef $3",
        "logentry-newusers-create2": "Amiḍan n umseqdac $3 {{GENDER:$2|yetwaxleq}} sɣur $1",
        "logentry-newusers-byemail": "Amiḍan n umseqdac $3 {{GENDER:$2|yetwaxleq}} sɣur $1 dɣa awal n uɛaddi yetwaceggaɛ deg email",
        "logentry-newusers-autocreate": "Amiḍan n umseqdac $1 {{GENDER:$2|yetwaxleq}} s uwurman",
-       "logentry-rights-rights": "$1 {{GENDER:$2|yebeddel|tebeddel}} amyili ar ugraw i $3 n $4 ar $5",
+       "logentry-rights-rights": "$1 yesnifel attekki ar ugraw i {{GENDER:$6|$3}} si $4 ar $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|yebeddel|tebeddel}} amyili ar ugraw i $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|yettwasmel|tettwasmel}} s uwurman seg $4 ar $5",
+       "logentry-upload-upload": "$1 {{GENDER:$2|yessuli|tessuli}} $3",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|yessuli-d|tessuli-d}} lqem amaynut n $3",
        "rightsnone": "(ulaḥedd)",
        "feedback-adding": "Rnud iwenniten inek/inem ar usebter...",
        "feedback-error3": "Tuccḍa : Ulac tamrarut n API",
        "feedback-message": "Izen :",
        "feedback-subject": "Asentel :",
-       "feedback-submit": "Ceggaɛ iwenniten",
+       "feedback-submit": "Azen",
        "feedback-thanks": "Tanemmirt ! Awennit inek/inem yeffeɣ-d ɣef usebtar \"[$2 $1]\".",
        "searchsuggest-search": "Nadi {{SITENAME}}",
        "searchsuggest-containing": "yesɛan...",
index 5674812..416b090 100644 (file)
@@ -4,7 +4,8 @@
                        "Rachitrali",
                        "아라",
                        "Obaid Raza",
-                       "Macofe"
+                       "Macofe",
+                       "Saraiki"
                ]
        },
        "tog-underline": "ربطو خط کشیدگی",
        "anontalk": "بچے لو IP ھیہ",
        "navigation": "رہنمائی",
        "and": "&#32;وا",
-       "qbfind": "تلاش کورے",
-       "qbbrowse": "Browse/تصفّح",
-       "qbedit": "ترمیم",
-       "qbpageoptions": "ھیہ صفحہ",
-       "qbmyoptions": "مہ صفحات",
        "faq": "عام معلومات",
-       "faqpage": "Project:معلوماتِ عامہ",
        "actions": "ایکشنز",
        "namespaces": "نامان ژاغہ",
        "variants": "الگ",
        "edit-local": "ترمیم مقامی وضاحت",
        "create": "ساوزاوے",
        "create-local": "مقامی وضاحتو داخل کورے",
-       "editthispage": "ھی صفحہا ترمیم کورے",
-       "create-this-page": "ھیہ صفحو ساوزاوے",
        "delete": "بوغاوے",
-       "deletethispage": "ھیہ صفحہو بوغاوے",
-       "undeletethispage": "ھیہ صفحو بحال کورے",
        "undelete_short": "بحال {{PLURAL:$1|ای ترمیم|$1 ترامیم}}",
        "viewdeleted_short": "{{PLURAL:$1|ای ترمیم حذف ہوئے|$1 ترامیم حذف ہونی}}",
        "protect": "محفوظ",
        "protect_change": "تبدیل کورے",
-       "protectthispage": "ھیہ صفحو محفوظ کورے",
        "unprotect": "غیر محفوظ",
-       "unprotectthispage": "ھیہ صفحہو غیر محفوظ کورے",
        "newpage": "نوغ صفحہ",
-       "talkpage": "ھیہ صفحہا تبادلۂ خیال کورے",
        "talkpagelinktext": "مشقولگی",
        "specialpage": "خصوصی صفحہ",
        "personaltools": "ذاتی سماند",
-       "articlepage": "مندرجاتی صفحہو لوڑے",
        "talk": "تبادلہٴ خیال",
        "views": "خیالات",
        "toolbox": "ٹول بکس",
-       "userpage": "یوزرو صفحو لوڑے",
-       "projectpage": "کھوار منصوبو صفحہو لوڑے",
        "imagepage": "ھوٹوو صفحو لوڑے",
        "mediawikipage": "پیغامو صفحہو لوڑے",
        "templatepage": "سانچو صفحہو لوڑے",
        "pt-login-button": "داخل بوس",
        "pt-createaccount": "کھاتہ ساوزاوے",
        "pt-userlogout": "لاگ آوٹ",
+       "changepassword": "پاسورڈو بدیل کورے",
        "resetpass_announce": "تو ای برقی ارسال کردہ عارضی کوڈ ورڈو سوم جستہ داخل بیتی آسوس.\nداخلِ نوشتہ بیکو عملو مکمل کوریکو بچے تہ ھیارا نوغ پاسورڈ متعین کوریلک بوئے جما:",
        "resetpass_header": "کھاتو پاسورڈو تبدیل کورے",
        "oldpassword": "پرانو کلمۂ شناخت:",
        "newpassword": "نوغ کلمۂ شناخت",
        "retypenew": "نوغ کلمۂ شناخت دوبارہ درج کورے:",
        "resetpass_submit": "پاسورڈ ساوزاوے وا داخل بوس",
+       "botpasswords-label-delete": "بوغاوے",
+       "botpasswords-label-resetpassword": "پاسورڈو ری سیٹ کورے",
        "resetpass_forbidden": "تتے پاسورڈو چینج کوریکو اجازت نیکی",
        "resetpass-no-info": "ھیہ صفحا براہِ راست رسائیو بچے تہ داخلِ نوشتہ بیک ضروری شیر.",
        "resetpass-submit-loggedin": "پاسورڈو تبدیلی",
        "passwordreset": "پاسورڈو ری سیٹ کورے",
        "passwordreset-username": "ممبارو نم",
        "passwordreset-domain": "ڈومین:",
+       "passwordreset-email": "ای میل پتہ:",
        "changeemail-none": "(نو)",
        "bold_sample": "بوسک متن",
        "bold_tip": "بولڈ ٹیکسٹ",
        "history-feed-item-nocomment": "$1 تا $2",
        "rev-delundel": "پشاوے/کھوشتاوے",
        "rev-showdeleted": "پشاوے",
+       "revdelete-show-file-submit": "دی",
        "revdelete-radio-set": "کھوشت",
        "revdelete-radio-unset": "ظاہر",
+       "revdelete-log": "وجہ:",
        "revdel-restore": "ظاہریتو تبدیل کورے",
+       "mergehistory-reason": "وجہ:",
        "mergehistory-revisionrow": "$1 ($2) $3 . . $4 $5 $6",
        "revertmerge": "غیر ضم",
        "history-title": "تاریخچہ \"$1\"",
        "notextmatches": "ھیہ عنوانو سورا کیہ دی صفحہ موجود نیکی",
        "prevn": "آچھو{{PLURAL:$1|$1}}",
        "nextn": "پروشٹیو{{PLURAL:$1|$1}}",
+       "next-page": "نوغ صفحہ",
        "prevn-title": "سابقہ $1 {{PLURAL:$1|نتیچہ|نتیجہ}}",
        "nextn-title": "سابقہ $1 {{PLURAL:$1|نتیچہ|نتیجہ}}",
        "shown-title": "فی صفحہ $1 {{PLURAL:$1|نتیجہ|نتائج}} پشاوے",
index e8ffe2d..6c0ddb0 100644 (file)
        "anoneditwarning": "'''ប្រយ័ត្ន ៖''' អ្នកមិនបានកត់ឈ្មោះចូល​ទេ។ អាសយដ្ឋានIPរបស់អ្នក​នឹងត្រូវបាន​កត់ត្រាទុក​ក្នុងប្រវត្តិកែប្រែ​នៃទំព័រ​នេះ។ បើសិនជាអ្នក <strong>[$1 កត់ឈ្មោះចូល]</strong> ឬ <strong>[$2 បង្កើតគណនី]</strong> នោះការកែប្រែរបស់អ្នកនឹងត្រូវភ្ចាប់ជាមួយអត្តនាមរបស់អ្នកផង នឹងមានផលប្រយោជន៍ផ្សេងទៀតផង។",
        "anonpreviewwarning": "<em>អ្នកមិនបានកត់ឈ្មោះចូល​ទេ។ ប្រសិនបើអ្នកធ្វើការរក្សាទុក នោះអាសយដ្ឋានIPរបស់អ្នក​នឹងត្រូវបាន​កត់ត្រាទុក​ក្នុងប្រវត្តិកែប្រែ​នៃទំព័រ​នេះ។</em>",
        "missingsummary": "'''រំលឹក៖''' អ្នកមិនទាន់បានផ្ដល់ចំណារពន្យល់អំពីកំណែប្រែនេះទេ។\n\nបើសិនជាអ្នកចុច '''រក្សាទុក''' ម្ដងទៀតនោះកំណែប្រែរបស់អ្នកនឹងត្រូវរក្សាទុកដោយគ្មានចំណារពន្យល់។",
-       "selfredirect": "<strong>ប្រយ័ត្ន៖</strong> អ្នកកំពុងតែបញ្ជូនបន្តទំព័រនេះទៅកាន់ទំព័រខ្លួនឯង។\n\nប្រហែលជាអ្នកបានផ្ដល់ទំព័រគោលដៅសម្រាប់បញ្ជូនបន្តខុខ ឬប្រហែលជាអ្នកកំពុងកែប្រែទំព័រខុស។\nបើសិនជាអ្នកចុច \"$1\" ម្ដងទៀត តំណភ្ជាប់បញ្ជូនបន្តនឹងត្រូវបង្កើតឡើងបែបនេះ។",
+       "selfredirect": "<strong>ប្រយ័ត្ន ៖</strong> អ្នកកំពុងតែបញ្ជូនបន្តទំព័រនេះទៅកាន់ទំព័រខ្លួនឯង ។\nប្រហែលជាអ្នកបានផ្ដល់ទំព័រគោលដៅសម្រាប់បញ្ជូនបន្តខុខ ឬប្រហែលជាអ្នកកំពុងកែប្រែទំព័រខុស ។\nបើសិនជាអ្នកចុច \"$1\" ម្ដងទៀត តំណភ្ជាប់បញ្ជូនបន្តនឹងត្រូវបង្កើតឡើងបែបនេះ ។",
        "missingcommenttext": "សូមវាយបញ្ចូលយោបល់មួយនៅខាងក្រោម។",
        "missingcommentheader": "'''រំលឹក៖''' អ្នកមិនទាន់បានផ្ដល់ប្រធានបទរបស់មតិយោបល់នេះទេ។\nបើសិនជាអ្នកចុច \"$1\" ម្ដងទៀត នោះកំណែប្រែរបស់អ្នកនឹងត្រូវរក្សាទុកដោយគ្មានវា។",
        "summary-preview": "ការមើលជាមុនរបស់ចំណារពន្យល់៖",
        "newarticle": "(ថ្មី)",
        "newarticletext": "អ្នកបានតាម​តំណភ្ជាប់​ទៅ​ទំព័រដែលមិនទាន់មាននៅឡើយ។\nដើម្បីបង្កើតទំព័រនេះ សូមចាប់ផ្ដើមវាយ​ក្នុងប្រអប់ខាងក្រោម (សូមមើល [$1 ទំព័រ​ជំនួយ] សម្រាប់​ព័ត៌មានបន្ថែម)។\nបើ​អ្នក​មក​ទីនេះដោយអចេតនា សូមចុចប៊ូតុង '''ត្រឡប់ក្រោយ''' របស់ឧបករណ៍រាវរករបស់អ្នក។",
        "anontalkpagetext": "----''ទំព័រពិភាក្សានេះគឺសម្រាប់តែអ្នកប្រើប្រាស់អនាមិកដែលមិនទាន់បានបង្កើតគណនីតែប៉ុណ្ណោះ។ ដូច្នេះអាសយដ្ឋានលេខIPរបស់កុំព្យូទ័ររបស់លោកអ្នក​នឹងត្រូវបានបង្ហាញ ដើមី្បសម្គាល់លោកអ្នក។\n\nអាសយដ្ឋានIPទាំងនោះអាចនឹងត្រូវប្រើដោយមនុស្សច្រើននាក់។\n\nប្រសិនបើអ្នកជាអ្នកប្រើប្រាស់អនាមិក​ហើយ​ប្រសិនបើអ្នកឃើញមានការបញ្ចេញយោបល់មកអ្នកពីអ្វី​ដែល​មិន​ទាក់ទងទៅនឹងអ្វីដែល​អ្នកបាន​ធ្វើ​ សូម[[Special:CreateAccount|បង្កើតគណនី]] ឬ [[Special:UserLogin|កត់ឈ្មោះចូល]] ដើម្បីចៀសវាង​ការភ័ន្តច្រឡំ​ណាមួយជាយថាហេតុជាមួយនិងអ្នកប្រើប្រាស់អនាមិកដទៃទៀត។''",
-       "noarticletext": "បច្ចុប្បន្នគ្មានអត្ថបទក្នុងទំព័រនេះទេ។\n\nអ្នកអាច [[Special:Search/{{PAGENAME}}|ស្វែងរក​ចំណងជើង​នៃទំព័រនេះ]]ក្នុងទំព័រដទៃទៀត​​ ឬ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ស្វែង​រក​កំណត់​ហេតុ​ដែល​ពាក់ព័ន្ធ] ឬ [{{fullurl:{{FULLPAGENAME}}|action=edit}} បង្កើត​ទំព័រនេះ]</span>។",
+       "noarticletext": "បច្ចុប្បន្នគ្មានអត្ថបទក្នុងទំព័រនេះទេ។\nអ្នកអាច [[Special:Search/{{PAGENAME}}|ស្វែងរក​ចំណងជើង​នៃទំព័រនេះ]]ក្នុងទំព័រដទៃទៀត​​ ឬ <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ស្វែង​រក​កំណត់​ហេតុ​ដែល​ពាក់ព័ន្ធ] ឬ [{{fullurl:{{FULLPAGENAME}}|action=edit}} បង្កើត​ទំព័រនេះ]</span> ។",
        "noarticletext-nopermission": "បច្ចុប្បន្ន គ្មានអត្ថបទណាមួយក្នុងទំព័រនេះទេ។\n\nអ្នកអាច [[Special:Search/{{PAGENAME}}|ស្វែងរក​ចំណងជើង​នៃទំព័រនេះ]] ក្នុងទំព័រ​ផ្សេងៗ ឬ<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ស្វែង​រក​កំណត់​ហេតុ​ដែល​ពាក់ព័ន្ធ]</span>។ ប៉ុន្តែអ្នកគ្មានសិទ្ធិក្នុងការបង្កើតទំព័រនេះទេ។",
        "userpage-userdoesnotexist": "គណនីអ្នកប្រើឈ្មោះ\"<nowiki>$1</nowiki>\" មិនទាន់បានចុះបញ្ជី។\n\nចូរគិតម្ដងទៀតថាអ្នកចង់ បង្កើត / កែប្រែ ទំព័រនេះឬទេ។",
        "userpage-userdoesnotexist-view": "គណនីអ្នកប្រើប្រាស់ដែលមានឈ្មោះ \"$1\"មិនទាន់បានចុះឈ្មោះទេ។",
        "fileduplicatesearch-noresults": "រកមិនឃើញឯកសារដែលមានឈ្មោះ \"$1\" ទេ។",
        "specialpages": "ទំព័រ​ពិសេស​ៗ",
        "specialpages-note-top": "កំណត់សម្គាល់",
-       "specialpages-note": "* ទំព័រពិសេសៗធម្មតា។\n* <span class=\"mw-specialpagerestricted\">ទំព័រពិសេសៗដែលមានការដាក់កំហិត។</span>",
        "specialpages-group-maintenance": "របាយការណ៍នានាអំពីតំហែទាំ",
        "specialpages-group-other": "ទំព័រពិសេសៗផ្សេងៗទៀត",
        "specialpages-group-login": "កត់ឈ្មោះចូល / បង្កើតគណនី",
        "compare-submit": "ប្រៀបធៀប",
        "compare-invalid-title": "ចំណងជើងដែលអ្នកបានផ្ដល់អោយមិនត្រឹមត្រូវទេ",
        "compare-title-not-exists": "ចំណងជើងដែលអ្នកផ្ដល់អោយមិនមានទេ។",
+       "diff-form": "'''សំនុំ​បែប​បទ'''មួយ​",
        "dberr-problems": "សូមអភ័យទោស! វិបសាយនេះកំពុងជួបបញ្ហាបច្ចេកទេស។",
        "dberr-again": "សូមរង់ចាំប៉ុន្មាននាទីសិនហើយផ្ទុកឡើងវិញម្ដងទៀត។",
        "dberr-info": "(មិនអាចទាក់ទងទៅប្រភពទិន្នន័យបានទេ៖ $1)",
index 799be66..3b011ee 100644 (file)
        "tagline": "{{SITENAME}}",
        "help": "도움말",
        "search": "검색",
-       "search-ignored-headings": " #<!-- 이 줄은 그대로 두십시오 --> <pre>\n# 검색에서 무시되는 문단 제목입니다.\n# 이 문서에 대한 바뀜은 즉시 문단 제목으로 된 문서가 다시 색인됩니다.\n# null 편집을 하여 문서 다시 색인을 강제할 수 있습니다.\n# 문법은 다음과 같습니다:\n#   * \"#\" 문자에서 줄의 끝까지는 주석입니다\n#   * 빈 줄이 아닌 줄은 무시할 정확한 제목이며, 대소문자를 무시합니다\n각주\n참조\n참고\n출처\në°\94ê¹¥ ë§\81í\81¬\në°\94ê¹¥ ê³ ë¦¬\nê°\99ì\9d´ ë³´ê¸°\ní\95¨ê»\98 ë³´ê¸°\n #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8b­ì\8b\9cì\98¤ -->",
+       "search-ignored-headings": " #<!-- 이 줄은 그대로 두십시오 --> <pre>\n# 검색에서 무시되는 문단 제목입니다.\n# 이 문서에 대한 바뀜은 즉시 문단 제목으로 된 문서가 다시 색인됩니다.\n# null 편집을 하여 문서 다시 색인을 강제할 수 있습니다.\n# 문법은 다음과 같습니다:\n#   * \"#\" 문자에서 줄의 끝까지는 주석입니다\n#   * 빈 줄이 아닌 줄은 무시할 정확한 제목이며, 대소문자를 무시합니다\n각주\n참조\n참고\n출처\nì\99¸ë¶\80 ë§\81í\81¬\nê°\99ì\9d´ ë³´ê¸°\ní\95¨ê»\98 ë³´ê¸°\n #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8b­ì\8b\9cì\98¤ -->",
        "searchbutton": "검색",
        "go": "보기",
        "searcharticle": "보기",
        "link_sample": "링크 제목",
        "link_tip": "안쪽 링크",
        "extlink_sample": "http://www.example.com 사이트 이름",
-       "extlink_tip": "바깥 링크 (http://를 앞에 붙여야 합니다)",
+       "extlink_tip": "외부 링크 (http://를 앞에 붙여야 합니다)",
        "headline_sample": "제목",
        "headline_tip": "2단계 문단 제목",
        "nowiki_sample": "여기에 위키 문법을 사용하지 않을 글을 적어 주세요",
        "rcfilters-restore-default-filters": "기본 필터 복구",
        "rcfilters-clear-all-filters": "필터 모두 지우기",
        "rcfilters-show-new-changes": "최신 변경사항 보기",
-       "rcfilters-previous-changes-label": "이전에 표시된 변경사항",
        "rcfilters-search-placeholder": "필터 최근 바뀜 (찾아보거나 입력을 시작하십시오)",
        "rcfilters-invalid-filter": "유효하지 않은 필터",
        "rcfilters-empty-filter": "활성화된 필터가 없습니다. 모든 기여가 표시됩니다.",
        "rcfilters-filterlist-noresults": "필터를 찾을 수 없습니다",
        "rcfilters-noresults-conflict": "검색 조건이 충돌하기 때문에 결과를 찾을 수 없습니다",
        "rcfilters-state-message-subset": "필터의 결과가 다음의 범위가 더 넓은 {{PLURAL:$2|필터}}의 결과에 포함되기 때문에 이 필터는 효력이 없습니다 (구별을 위해 강조해 보십시오): $1",
-       "rcfilters-state-message-fullcoverage": " 그룹의 모든 필터를 선택하는 것은 아무 것도 선택하지 않는 것과 동일하므로 이 필터는 효력이 없습니다. 그룹은 다음을 포함합니다: $1",
+       "rcfilters-state-message-fullcoverage": " 그룹의 모든 필터를 선택하는 것은 아무 것도 선택하지 않는 것과 동일하므로 이 필터는 효력이 없습니다. 그룹은 다음을 포함합니다: $1",
        "rcfilters-filtergroup-authorship": "원작자 기여",
        "rcfilters-filter-editsbyself-label": "당신의 변경사항",
        "rcfilters-filter-editsbyself-description": "당신의 기여.",
        "rcfilters-filter-watchlist-watchednew-description": "변경사항이 발생한 이후로 방문한 적이 없는 주시 중인 문서의 변경사항입니다.",
        "rcfilters-filter-watchlist-notwatched-label": "주시문서 목록에서가 아닌",
        "rcfilters-filter-watchlist-notwatched-description": "주시 중인 문서의 변경사항을 제외한 모든 사항입니다.",
+       "rcfilters-filtergroup-watchlistactivity": "주시문서 목록 활동",
+       "rcfilters-filter-watchlistactivity-unseen-label": "미확인한 변경사항",
+       "rcfilters-filter-watchlistactivity-unseen-description": "변경사항이 발생한 이후로 방문한 적이 없는 문서의 변경사항입니다.",
+       "rcfilters-filter-watchlistactivity-seen-label": "확인한 변경사항",
+       "rcfilters-filter-watchlistactivity-seen-description": "변경사항이 발생한 이후로 방문한 적이 있는 문서의 변경사항입니다.",
        "rcfilters-filtergroup-changetype": "차이 종류",
        "rcfilters-filter-pageedits-label": "문서 편집",
        "rcfilters-filter-pageedits-description": "위키 내용, 토론, 분류 설명에 대한 편집....",
        "rcfilters-liveupdates-button": "실시간 업데이트",
        "rcfilters-liveupdates-button-title-on": "실시간 업데이트 끄기",
        "rcfilters-liveupdates-button-title-off": "새로운 변경사항이 발생하면 표시",
+       "rcfilters-watchlist-markSeen-button": "모든 변경사항을 본 것으로 표시",
        "rcnotefrom": "아래는 <strong>$3, $4</strong>부터 시작하는 {{PLURAL:$5|바뀜이 있습니다}}. (최대 <strong>$1</strong>개가 표시됨)",
        "rclistfromreset": "날짜 선택 초기화",
        "rclistfrom": "$3 $2부터 시작하는 새로 바뀐 문서 보기",
        "deletedcontributions": "삭제된 사용자 기여",
        "deletedcontributions-title": "삭제된 사용자 기여",
        "sp-deletedcontributions-contribs": "기여",
-       "linksearch": "바깥 링크 검색",
+       "linksearch": "외부 링크 검색",
        "linksearch-pat": "검색 패턴:",
        "linksearch-ns": "이름공간:",
        "linksearch-ok": "검색",
        "watching": "주시 추가 중…",
        "unwatching": "주시 해제 중…",
        "watcherrortext": "\"$1\" 문서에 대한 주시 여부를 바꾸는 중 오류가 발생했습니다.",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "모든 문서를 방문한 것으로 표시하기",
        "enotif_impersonal_salutation": "{{SITENAME}} 사용자",
        "enotif_subject_deleted": "{{SITENAME}} $1 문서를 $2님이 {{GENDER:$2|삭제했습니다}}",
        "import-invalid-interwiki": "해당 위키에서 문서를 가져올 수 없습니다.",
        "import-error-edit": "문서를 편집할 수 없기 때문에 \"$1\" 문서를 가져올 수 없었습니다.",
        "import-error-create": "문서를 만들 수 없기 때문에 \"$1\" 문서를 가져올 수 없었습니다.",
-       "import-error-interwiki": "\"$1\" 문서는 제목이 바깥 링크(인터위키)용으로 할당되어 있기 때문에 가져오지 않았습니다.",
+       "import-error-interwiki": "\"$1\" 문서는 제목이 외부 링크(인터위키)용으로 할당되어 있기 때문에 가져오지 않았습니다.",
        "import-error-special": "\"$1\" 문서는 문서가 허용하지 않는 특수 이름공간에 속해 있기 때문에 가져오지 않았습니다.",
        "import-error-invalid": "\"$1\" 문서는 이 위키에서 가져오려고 하는 문서의 이름이 올바르지 않기 때문에 가져오지 않았습니다.",
        "import-error-unserialize": "\"$1\" 문서의 $2 판이 일렬적이지 않습니다. $3 내용 모델을 사용하여 $4 형식으로 일렬화되도록 판을 보고했습니다.",
index 2efad89..6ecd2bd 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (kuckt och [[Special:NewPages|Lëscht vun den neie Säiten]])",
        "recentchanges-legend-plusminus": "''(±123)''",
        "recentchanges-submit": "Weisen",
+       "rcfilters-tag-remove": "'$1' ewechhuelen",
        "rcfilters-legend-heading": "<strong>Lëscht vun Ofkierzungen:</strong>",
        "rcfilters-activefilters": "Aktiv Filteren",
        "rcfilters-advancedfilters": "Erweidert Filteren",
        "rcfilters-filter-watchlist-watched-label": "Op der Iwwerwaachungslëscht",
        "rcfilters-filter-watchlist-watched-description": "Ännerungen op Säiten op Ärer Iwwrwaachungslëscht",
        "rcfilters-filter-watchlist-watchednew-label": "Nei Ännerunge vu Säiten op der Iwwerwaachungslëscht",
-       "rcfilters-filter-watchlist-watchednew-description": "Ännerungen op Säite vun Ärer Iwwerwaachungslëscht déi Dir net besicht hutt säit D'Ännerunge gemaach goufen.",
+       "rcfilters-filter-watchlist-watchednew-description": "Ännerungen op Säite vun Ärer Iwwerwaachungslëscht déi Dir net besicht hutt säit d'Ännerunge gemaach goufen.",
        "rcfilters-filter-watchlist-notwatched-label": "Net op der Iwwerwaachungslëscht",
        "rcfilters-filter-watchlist-notwatched-description": "Alles ausser Ännerungen op de Säite vun Ärer Iwwerwaachungslëscht.",
+       "rcfilters-filtergroup-watchlistactivity": "Aktivitéit op der Iwwerwaachunglëscht",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Ännerungen net gesinn",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Ännerungen op Säite déi Dir net besicht hutt säit d'Ännerunge gemaach goufen.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Ännerunge gesinn",
+       "rcfilters-filter-watchlistactivity-seen-description": "Ännerungen op Säite déi Dir besicht hutt säit d'Ännerunge gemaach goufen.",
        "rcfilters-filter-pageedits-label": "Säitenännerungen",
        "rcfilters-filter-pageedits-description": "Ännerungen um Wikiinhalt, an Diskussiounen, a Beschreiwunge vu Kategorien, ...",
        "rcfilters-filter-newpages-label": "Ugeluechte Säiten",
        "rcfilters-view-namespaces-tooltip": "Resultater no Nummraum filteren",
        "rcfilters-liveupdates-button": "Live-Aktualiséierungen",
        "rcfilters-liveupdates-button-title-off": "Nei Ännerunge weisen esoubal wéi se gemaach ginn",
+       "rcfilters-watchlist-markSeen-button": "All Ännerungen als gesi markéieren",
        "rcnotefrom": "Hei drënner {{PLURAL:$5|gëtt d'Ännerung|ginn d'Ännerungen}} zanter <strong>$3, $4</strong> (maximal <strong>$1</strong> Ännerunge gi gewisen).",
        "rclistfrom": "Nei Ännerunge vum $3 $2 u weisen",
        "rcshowhideminor": "Kleng Ännerunge $1",
        "watching": "Iwwerwaachen …",
        "unwatching": "Net méi iwwerwaachen …",
        "watcherrortext": "Beim Ännere vun den Astellunge vun der Iwwerwaachungslëscht fir \"$1\" ass e Feeler geschitt.",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "All Säiten als besicht markéieren",
        "enotif_impersonal_salutation": "{{SITENAME}}-Benotzer",
        "enotif_subject_deleted": "D'{{SITENAME}}-Säit $1 gouf vum {{gender:$2|$2}} geläscht",
        "compare-revision-not-exists": "D'Versioun déi Dir uginn hutt gëtt et net.",
        "diff-form": "Ënnerscheeder",
        "diff-form-submit": "Ënnerscheeder weisen.",
+       "permanentlink-revid": "Nummer (ID) vun der Versioun",
+       "permanentlink-submit": "Op d'Versioun goen",
        "dberr-problems": "Pardon! Dëse Site huet technesch Schwieregkeeten.",
        "dberr-again": "Versicht e puer Minutten ze waarden an dann nei ze lueden.",
        "dberr-info": "(D'Datebank kann net erreecht ginn: $1)",
index 26757f2..356154d 100644 (file)
@@ -55,6 +55,7 @@
        "tog-watchlisthideminor": "Klein bewirkinge op mien volglies verberge",
        "tog-watchlisthideliu": "Bewirkinge van aangemelde gebroekers op mien volglies versjtaeke",
        "tog-watchlistreloadautomatically": "Herlaaj de volglies autematis es 'n filter is verangerd (JavaScript vereis)",
+       "tog-watchlistunwatchlinks": "Veug direkte (neet) betrachte-links tou aan pagina's die op de wachlies staon (JavaScript vereis)",
        "tog-watchlisthideanons": "Bewirkinge van anonieme gebroekers op mien volglies versjtaeke",
        "tog-watchlisthidepatrolled": "Gemarkeerde wieziginge op mien volglies verberge",
        "tog-watchlisthidecategorization": "Verberg categorisatie  van  pagina's",
        "permissionserrorstext-withaction": "Geer höb gein rech óm $2 óm de volgende {{PLURAL:$1|raej|raej}}:",
        "contentmodelediterror": "Doe kans dees versie neet bewirke, went 't inhawdsmodel daovan is <code>$1</code> en 't hujig inhawdsmodel van de pagina is <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Waarsjoewing: de bis bezig mit 't aanmake van 'n pagina die in 't verleje eweggesjaf is.'''\n\nBedink of 't terech is dets te wiejer wirks aan dees pagina. Veur dien gemaak sjteit hiejónger 't wislogbook en 't logbook verplaatste pagina's veur dees pagina:",
-       "moveddeleted-notice": "Dees pagina is eweggesjaf.\nTer infermasie weurt 't wislogbook en 't logbook verplaatsjde pagina's van dees pagina hiejónger weergegaeve.",
-       "moveddeleted-notice-recent": "Dees pagina is recèntelik eweggesjaf gewaore (in de aafgeloupe 24 oer).\n't Ewegsjaffings- en verplaatsinglogbook weurt te rifferensie hie-ónger getoeandj.",
+       "moveddeleted-notice": "Dees pagina is eweggesjaf.\nTer infermasie weurt 't wislogbook, 't beveiligingslogbook en 't logbook verplaatsjde pagina's van dees pagina hiejónger weergegaeve.",
+       "moveddeleted-notice-recent": "Dees pagina is recèntelik eweggesjaf gewaore (in de aafgeloupe 24 oer).\n't Ewegsjaffings-, beveiligings- en verplaatsinglogbook weurt te rifferensie hie-ónger getoeandj.",
        "log-fulllog": "Bekiek 't gans logbook",
        "edit-hook-aborted": "De bewèrking is aafgebroke door 'ne 'hook'.\nD'r is gein toelichting besjikbaar.",
        "edit-gone-missing": "De pagina is neet biegewirk.\nZe lik eweggesjaf te zien.",
        "logdelete-text": "Eweggesjafde logbookregele zeen nag zichbaar in de logbeuk, meh deile van d'n inhawd zeen neet aopenbaar.",
        "revdelete-text-others": "Anger behieërders kónne de verstaoken inhawd nag ummer inzeen en weer zichbaar make, behauve es aanvöllende bepirkinge zeen ingestèld.",
        "revdelete-confirm": "Bevestig des se dit wils doon, des se de consequenties begrieps en des se dit deis in euvereinstömming mit 't geljendj [[{{MediaWiki:Policy-url}}|beleid]].",
-       "revdelete-suppress-text": "Versies verbèrge deentj '''allein''' gebroek te waere in de volgende gevalle:\n* Ongepaste perseunlike informatie\n*: ''woonadres, telefoonnummers, Burger Service Nummers, enzovoors.''",
+       "revdelete-suppress-text": "Versies verbèrge deentj '''allein''' gebroek te waere in de volgende gevalle:\n* Meugelik smadelike infermasie\n* Ongepaste perseunlike informatie\n*: <em>woonadres, telefoonnummers, Burger Service Nummers, en zo wiejer.</em>",
        "revdelete-legend": "Stel zichbaarheidsbeperkinge in",
        "revdelete-hide-text": "Versieteks",
        "revdelete-hide-image": "Verberg bestandjsinhoud",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (zuuch ouch [[Special:NewPages|de nuuj pagina's]])",
        "recentchanges-submit": "Toean",
        "rcfilters-legend-heading": "<strong>Lies mit aafkórtinge:</strong>",
+       "rcfilters-grouping-title": "Groepeer",
        "rcfilters-activefilters": "Aktief filtjers",
        "rcfilters-advancedfilters": "Geavenceerdje filtjers",
        "rcfilters-limit-title": "Te toeane verangeringe",
index 82e71fd..581e409 100644 (file)
@@ -9,7 +9,8 @@
                        "Huji",
                        "Miladrahimi",
                        "Ebraminio",
-                       "Process cq"
+                       "Process cq",
+                       "Alirezaaa"
                ]
        },
        "tog-underline": "خط کیشائن ژێر پیوندەل:",
        "anontalk": "گەپ(قسە)",
        "navigation": "ناوبری",
        "and": "&#32;و",
-       "qbfind": "آدئین(پێاکرن)",
-       "qbbrowse": "مِنِی -گۀشتن",
-       "qbedit": "دسکاری",
-       "qbpageoptions": "ئێ وەڵگە",
-       "qbmyoptions": "وەڵگەل ووِژم",
        "faq": "پرسش‌های متداول",
-       "faqpage": "Project:پرسش‌های متداول",
        "actions": "کارۀل",
        "namespaces": "فضای نامۀل",
        "variants": "قصۀ کِرۀل",
        "edit-local": "ویرایش توضیحات محلی",
        "create": "دؤِرس کردن/سازین",
        "create-local": "افزودن توضیحات محلی",
-       "editthispage": "اێ وەڵگە دەسکاری کەن",
-       "create-this-page": " اێ وەڵگە دؤرِس کە",
        "delete": "حۀذف کردن/پاک کردن",
-       "deletethispage": "حذف این صفحه",
-       "undeletethispage": "واگردانی(گلآدائن)ئێ وەڵگە",
        "undelete_short": "زِنێ آکرن(احیا) {{PLURAL:$1|یگلە دەسکاری|$1 دەسکاری}}",
        "viewdeleted_short": "نمایش {{PLURAL:$1|یک ویرایش حذف‌شده|$1 ویرایش حذف‌شده}}",
        "protect": "پروژۀ",
        "protect_change": "گؤەڕانن/تغییر",
-       "protectthispage": "پڵۆم کردن اێ وەڵگە",
        "unprotect": "پڵۆم کردن بگؤەڕِن(تغییر ده)",
-       "unprotectthispage": "گؤەڕانن(تغییر)پڵۆم کردن اێ وەڵگە",
        "newpage": "وةڵگة  تازۀ",
-       "talkpage": "دەربارە ئێ وەڵگە گەپ بووشن",
        "talkpagelinktext": "گەپ(قسە)",
        "specialpage": "وةڵگة/پةرة  ویژة",
        "personaltools": "ابزارەل ووژی(شخصی)",
-       "articlepage": "نمایش مةقاڵة",
        "talk": "گەپ قسە",
        "views": "دیین/سئرکردن",
        "toolbox": "ابزارەل",
        "tool-link-userrights": "گروهه‌ل {{GENDER:$1|کاربر}} تغییر بکه",
        "tool-link-userrights-readonly": "گروه {{GENDER:$1|کاربر}} نشون بده",
        "tool-link-emailuser": "ای-میل {{GENDER:$1|کاربر}}ئه",
-       "userpage": "وةڵگة کاربۀر بؤین",
-       "projectpage": "وةڵگة پروژۀ بوین",
        "imagepage": "وةڵگة پرونده بؤین",
        "mediawikipage": "نمایش وةڵگة پیغام",
        "templatepage": "نمایش وةڵگة الگو",
        "nospecialpagetext": "<strong>شما یک صفحهٔ ویژهٔ نامجاز را درخواست کرده‌اید.</strong>\n\nفهرستی از صفحه‌های ویژهٔ مجاز در [[Special:SpecialPages|{{int:specialpages}}]] وجود دارد.",
        "error": "خطا",
        "databaseerror": "خطای پایگاه داده",
-       "databaseerror-text": "مشکلی در پایگاه‌داده‌ها رخ داده است. \nاین ممکن است نشان‌دهندهٔ ایرادی در نرم‌افزار باشد.",
+       "databaseerror-text": "مشکلی در پایگاه‌های داده رخ داده است. \nاین ممکن است نشان‌دهندهٔ ایرادی در نرم‌افزار باشد.",
        "databaseerror-textcl": "یک خطای پرس‌وجوی پایگاه داده‌های رخ داده است.",
        "databaseerror-query": "پرس‌ و جو: $1",
        "databaseerror-function": "تابع: $1",
        "right-mergehistory": "ادغام تاریخچهٔ صفحات",
        "right-userrights": "ویرایش تمام اختیارات کاربرها",
        "right-userrights-interwiki": "ویرایش اختیارات کاربرهای ویکی‌های دیگر",
-       "right-siteadmin": "قفل‌کردن و بازکردن پایگاه داده‌ها",
+       "right-siteadmin": "قفل‌کردن و بازکردن پایگاه‌های داده",
        "right-override-export-depth": "برون‌بری صفحه‌ها شامل صفحه‌های پیوند شده تا عمق ۵",
        "right-sendemail": "ارسال ایمیل به دیگر کاربران",
        "right-managechangetags": "ایجاد و حذف [[Special:Tags|برچسب‌ها]] از پایگاه داده",
        "action-mergehistory": "ادغام تاریخچهٔ این صفحه",
        "action-userrights": "ادغام تاریخچهٔ این صفحه",
        "action-userrights-interwiki": "ویرایش اختیارات کاربری کاربران یک ویکی دیگر",
-       "action-siteadmin": "قفل‌کردن و بازکردن پایگاه داده‌ها",
+       "action-siteadmin": "قفل‌کردن و بازکردن پایگاه‌های داده",
        "action-sendemail": "ایمیل کِل کۀ",
        "action-editmywatchlist": "فهرست پیگیری‌های خود را ویرایش کنید",
        "action-viewmywatchlist": "فهرست پیگیری‌های خود را ببینید",
        "delete-legend": "حۀذف کردن/پاک کردن",
        "historywarning": "<strong>هشدار:</strong> صفحه‌ای که در حال پاک‌کردن آن هستید دارای یک تاریخچه همراه $1 {{PLURAL:$1|بازبینی|بازبینی}} است:",
        "historyaction-submit": "نیشان دائن",
-       "confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاه داده‌ها همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را می‌دانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.",
+       "confirmdeletetext": "شما در حال حذف کردن یک صفحه یا تصویر از پایگاه‌های داده همراه با تمام تاریخچهٔ آن هستید.\nلطفاً این عمل را تأیید کنید و اطمینان حاصل کنید که عواقب این کار را می‌دانید و این عمل را مطابق با [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.",
        "actioncomplete": "عملكرد كامل بيه",
        "actionfailed": "عمل ناموفق بود",
        "deletedtext": "«$1» حذف شد.\nبرای سابقهٔ حذف‌های اخیر به $2 مراجعه کنید.",
        "fileduplicatesearch-noresults": "پرونده‌ای با نام «$1» أ دی نؤی /پئا نؤی.",
        "specialpages": "وەڵگەل(پەڕەل)ویژە",
        "specialpages-note-top": "شرح علائم",
-       "specialpages-note": "* صفحه‌های ویژهٔ عادی.\n* <span class=\"mw-specialpagerestricted\">صفحه‌های ویژهٔ محدودشده.</span>",
        "specialpages-group-maintenance": "گزارش‌های نگهداری",
        "specialpages-group-other": "سایر وةڵگةل ویژه",
        "specialpages-group-login": " إ نؤم هةتن سیستم/ حساوو کاربةری سازین",
index 6e04c57..33d3a0d 100644 (file)
        "search-interwiki-caption": "Rezultāti no citiem projektiem",
        "search-interwiki-default": "Rezultāti no $1:",
        "search-interwiki-more": "(vairāk)",
+       "search-interwiki-more-results": "vairāk rezultātu",
        "search-relatedarticle": "Saistītais",
        "searchrelated": "saistītais",
        "searchall": "viss",
        "prefs-email": "E-pasta iestatījumi",
        "prefs-rendering": "Izskats",
        "saveprefs": "Saglabāt",
-       "restoreprefs": "Atjaunot noklusētos uzstādījumus (visās sadaļās)",
+       "restoreprefs": "Atiestatīt noklusētos iestatījumus (visās sadaļās)",
        "prefs-editing": "Labošana",
        "searchresultshead": "Meklēšana",
        "stub-threshold": "Slieksnis <a href=\"#\" class=\"stub\">aizmetņa saites</a> formatēšanai (baiti):",
        "prefs-advancedediting": "Vispārīgi uzstādījumi",
        "prefs-editor": "Redaktors",
        "prefs-preview": "Priekšskatījums",
-       "prefs-advancedrc": "Papildu uzstādījumi",
-       "prefs-advancedrendering": "Papildu uzstādījumi",
-       "prefs-advancedsearchoptions": "Papildu uzstādījumi",
-       "prefs-advancedwatchlist": "Papildu uzstādījumi",
+       "prefs-advancedrc": "Papildu iespējas",
+       "prefs-advancedrendering": "Papildu iespējas",
+       "prefs-advancedsearchoptions": "Papildu iespējas",
+       "prefs-advancedwatchlist": "Papildu iespējas",
        "prefs-displayrc": "Pamatuzstādījumi",
        "prefs-displaywatchlist": "Pamatuzstādījumi",
        "prefs-tokenwatchlist": "Marķieris",
        "grant-group-email": "Sūtīt e-pastu",
        "grant-group-high-volume": "Veikt liela apjoma aktivitātes",
        "grant-group-administration": "Veikt administratīvās darbības",
+       "grant-group-private-information": "Piekļūt privātiem datiem par tevi",
        "grant-blockusers": "Bloķēt un atbloķēt dalībniekus",
        "grant-createaccount": "Izveidot kontu",
        "grant-createeditmovepage": "Izveidot, labot un pārvietot lapas",
        "grant-editprotected": "Labot aizsargātās lapas",
        "grant-highvolume": "Liela apjoma labošana",
        "grant-patrol": "Patrulēt lapu izmaiņas",
+       "grant-privateinfo": "Piekļūt privātai informācijai",
        "grant-uploadfile": "Augšupielādēt jaunus failus",
        "grant-basic": "Pamattiesības",
        "grant-viewdeleted": "Skatīt dzēstos failus un lapas",
        "recentchanges-legend-heading": "<strong>Apzīmējumi:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (skatīt arī [[Special:NewPages|jaunās lapas]])",
        "recentchanges-submit": "Rādīt",
+       "rcfilters-other-review-tools": "<strong>Citi pārskatīšanas rīki</strong>",
        "rcfilters-group-results-by-page": "Grupēt rezultātus pēc lapas",
        "rcfilters-grouping-title": "Grupēšana",
        "rcfilters-activefilters": "Aktīvie filtri",
        "rcfilters-restore-default-filters": "Atjaunot noklusētos filtrus",
        "rcfilters-clear-all-filters": "Noņemt visus filtrus",
        "rcfilters-show-new-changes": "Rādīt jaunās izmaiņas",
-       "rcfilters-previous-changes-label": "Iepriekš skatītās izmaiņas",
        "rcfilters-search-placeholder": "Filtrēt pēdējās izmaiņas (pārlūko vai sāc rakstīt)",
        "rcfilters-invalid-filter": "Nederīgs filtrs",
        "rcfilters-empty-filter": "Nav aktīvu filtru. Tiek rādītas visas izmaiņas.",
        "rcfilters-filter-user-experience-level-unregistered-label": "Nereģistrēti",
        "rcfilters-filter-user-experience-level-unregistered-description": "Nepieslēgušies redaktori.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Jaunpienācēji",
-       "rcfilters-filter-user-experience-level-newcomer-description": "Mazāk nekā 10 labojumi un 4 aktīvas dienas.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Reģistrēti lietotāji ar mazāk nekā 10 labojumiem un 4 dienu aktivitāti.",
        "rcfilters-filter-user-experience-level-learner-label": "Mācekļi",
        "rcfilters-filter-user-experience-level-learner-description": "Vairāk pieredzes nekā \"Jaunpienācējiem\", bet mazāk nekā \"Pieredzējušiem dalībniekiem\".",
        "rcfilters-filter-user-experience-level-experienced-label": "Pieredzējuši dalībnieki",
        "rcfilters-filter-minor-description": "Labojumi, kas atzīmēti kā maznozīmīgi.",
        "rcfilters-filter-major-label": "Nozīmīgi labojumi",
        "rcfilters-filter-major-description": "Labojumi, kas nav atzīmēti kā maznozīmīgi.",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Neapskatītas izmaiņas",
+       "rcfilters-filter-watchlistactivity-seen-label": "Apskatītas izmaiņas",
        "rcfilters-filtergroup-changetype": "Izmaiņu veids",
        "rcfilters-filter-pageedits-label": "Lapu labojumi",
        "rcfilters-filter-pageedits-description": "Labojumi vikivietnes saturā, diskusijā, kategoriju aprakstos...",
        "rcfilters-filter-previousrevision-description": "Visas izmaiņas, kuras nav pēdējā lapas izmaiņa.",
        "rcfilters-view-advanced-filters-label": "Paplašinātie filtri",
        "rcfilters-view-tags": "Iezīmētie labojumi",
+       "rcfilters-view-namespaces-tooltip": "Filtrēt rezultātus pēc vārdtelpas",
        "rcnotefrom": "Šobrīd redzamas izmaiņas kopš '''$2''' (parādītas ne vairāk par '''$1''').",
        "rclistfromreset": "Atiestatīt datuma izvēli",
        "rclistfrom": "Parādīt jaunas izmaiņas kopš $3 $2",
        "sp-contributions-search": "Meklēt lietotāju veiktās izmaiņas",
        "sp-contributions-username": "IP adrese vai dalībnieka vārds:",
        "sp-contributions-toponly": "Rādīt tikai labojumus, kas ir jaunākās versijas",
+       "sp-contributions-newonly": "Rādīt tikai labojumus, kas ir lapu veidošana",
        "sp-contributions-hideminor": "Paslēpt maznozīmīgos labojumus",
        "sp-contributions-submit": "Meklēt",
        "whatlinkshere": "Norādes uz šo rakstu",
        "watchlistedit-raw-added": "{{PLURAL:$1|$1 lapas tika pievienotas|$1 lapa tika pievienota|$1 lapas tika pievienotas}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|$1 lapas tika noņemtas|1 lapa tika noņemta|$1 lapas tika noņemtas}}:",
        "watchlistedit-clear-titles": "Nosaukumi:",
+       "watchlisttools-clear": "Notīrīt uzraugāmo rakstu sarakstu",
        "watchlisttools-view": "Skatīt atbilstošās izmaiņas",
        "watchlisttools-edit": "Apskatīt un izmainīt uzraugāmo rakstu sarakstu",
        "watchlisttools-raw": "Izmainīt uzraugāmo rakstu saraksta kodu",
        "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|baiti|baits|baiti}}",
        "limitreport-templateargumentsize": "Veidnes argumenta izmērs",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|baiti|baits|baiti}}",
+       "limitreport-expensivefunctioncount": "Dārgo parsētāja funkciju skaits",
        "expand_templates_output": "Rezultāts",
        "expand_templates_ok": "Labi",
        "expand_templates_remove_nowiki": "Cenzēt <nowiki> iezīmes rezultātā",
index 3dedf8d..d49b715 100644 (file)
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (погл. и [[Special:NewPages|списокот на нови страници]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Прикажи",
+       "rcfilters-tag-remove": "Отстрани го „$1“",
        "rcfilters-legend-heading": "<strong>Список на кратенки:</strong>",
        "rcfilters-other-review-tools": "<strong>Други алатки за проверка</strong>",
        "rcfilters-group-results-by-page": "Групен исход по страница",
        "rcfilters-hours-title": "Последниве часови",
        "rcfilters-days-show-days": "{{PLURAL:$1|еден ден|$1 дена}}",
        "rcfilters-days-show-hours": "{{PLURAL:$1|еден час|$1 часа}}",
+       "rcfilters-highlighted-filters-list": "Истакнато: $1",
        "rcfilters-quickfilters": "Зачувани филтри",
        "rcfilters-quickfilters-placeholder-title": "Засега нема зачувани врски",
        "rcfilters-quickfilters-placeholder-description": "За да ги зачувате вашите филтерски псотавки за да ги употребите другпат, стиснете на иконката за бележник во подрачјето „Активен филтер“ подолу.",
        "rcfilters-restore-default-filters": "Поврати основни филтри",
        "rcfilters-clear-all-filters": "Тргни ги сите филтри",
        "rcfilters-show-new-changes": "Погл. најнови промени",
-       "rcfilters-previous-changes-label": "Претходно прегледани промени",
        "rcfilters-search-placeholder": "Филтрирај скорешни промени (прелстајте или почнете да пишувате)",
        "rcfilters-invalid-filter": "Неважечки филтер",
        "rcfilters-empty-filter": "Нема активни филтри. Прикажани се сите придонеси.",
        "rcfilters-filterlist-noresults": "Не пронајдов ниеден филтер",
        "rcfilters-noresults-conflict": "Не пронајдов ништо бидејќи критериумите на барање се спротиставени.",
        "rcfilters-state-message-subset": "Филтерот не делува бидејќи неговиот исход веќе се содржи во {{PLURAL:$2|следниов поопфатен филтер|следниве поопфатни филтри}} (истакнете го за да го издвоите): $1",
-       "rcfilters-state-message-fullcoverage": "Избирањето на сите филтри во групата е исто како да не сте избрале ниеден, така што овој филтер не делува. Во групата се опфатени: $1",
+       "rcfilters-state-message-fullcoverage": "Избирањето на сите филтри во групава е исто како да не сте избрале ниеден, така што овој филтер не делува. Во групата се опфатени: $1",
        "rcfilters-filtergroup-authorship": "Авторство на придонесот",
        "rcfilters-filter-editsbyself-label": "Ваши промени",
        "rcfilters-filter-editsbyself-description": "Ваши сопствени придонеси.",
        "rcfilters-filter-watchlist-watchednew-description": "Промени во набљудуваните страници кои не ги имате посетено откога се случиле промените.",
        "rcfilters-filter-watchlist-notwatched-label": "Вон набљудуваните",
        "rcfilters-filter-watchlist-notwatched-description": "Сите освен промените во набљудуваните страници.",
+       "rcfilters-filtergroup-watchlistactivity": "Активности во набљудуваните",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Невидени промени",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Промени во страници што ги немате посетено откако се направени.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Видени промени",
+       "rcfilters-filter-watchlistactivity-seen-description": "Промени во страници што ги имате посетено откако се направени.",
        "rcfilters-filtergroup-changetype": "Вид на промена",
        "rcfilters-filter-pageedits-label": "Уредувања на страници",
        "rcfilters-filter-pageedits-description": "Уредувања во содржината, разговорите, описите на категориите...",
        "rcfilters-liveupdates-button": "Поднови во живо",
        "rcfilters-liveupdates-button-title-on": "Исклучи поднови во живо",
        "rcfilters-liveupdates-button-title-off": "Прикажува нови промени во живо",
+       "rcfilters-watchlist-markSeen-button": "Означи ги сите промени како видени",
        "rcnotefrom": "Подолу {{PLURAL:$5|е прикажана промената|се прикажани промените}} почнувајќи од <strong>$3, $4</strong>  (се прикажуваат до <b>$1</b>).",
        "rclistfromreset": "Нов избор на датуми",
        "rclistfrom": "Прикажи нови промени почнувајќи од $3 $2",
        "watching": "Набљудување...",
        "unwatching": "Отстранувам од набљудувани...",
        "watcherrortext": "Се појави грешка при менувањето на вашите нагодувања набљудуваните за „$1“.",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Означи ги сите страници како посетени",
        "enotif_impersonal_salutation": "Википедија корисник",
        "enotif_subject_deleted": "Страницата $1 на {{SITENAME}} е избришана од {{gender:$2|$2}}",
index da0df70..5e835fa 100644 (file)
@@ -49,6 +49,7 @@
        "tog-watchdefault": "ഞാൻ തിരുത്തുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക",
        "tog-watchmoves": "ഞാൻ തലക്കെട്ടു മാറ്റുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക",
        "tog-watchdeletion": "ഞാൻ നീക്കം ചെയ്യുന്ന താളുകളും പ്രമാണങ്ങളും ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക",
+       "tog-watchuploads": "ഞാൻ അപ്‌ലോഡ് ചെയ്യുന്ന പുതിയ പ്രമാണങ്ങൾ ഞാൻ ശ്രദ്ധിക്കുവയുടെ പട്ടികയിൽ ചേർക്കുക",
        "tog-watchrollback": "ഞാൻ മുൻപ്രാപനം ചെയ്ത താളുകളും ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽ ചേർക്കുക",
        "tog-minordefault": "എല്ലാ തിരുത്തുകളും സ്വതേ ചെറുതിരുത്തുകളായി അടയാളപ്പെടുത്തുക",
        "tog-previewontop": "തിരുത്തൽ പെട്ടിക്കു മുകളിൽ പ്രിവ്യൂ കാണിക്കുക",
@@ -67,6 +68,7 @@
        "tog-watchlisthideminor": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് ചെറുതിരുത്തുകൾ മറയ്ക്കുക",
        "tog-watchlisthideliu": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളിലെ മാറ്റങ്ങളിൽ നിന്നും ലോഗിൻ ചെയ്തിട്ടുള്ളവരുടെ തിരുത്തുകൾ മറയ്ക്കുക",
        "tog-watchlistreloadautomatically": "ഒരു അരിപ്പയിൽ മാറ്റമുണ്ടായാൽ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടിക സ്വയം വീണ്ടുമെടുക്കുക (ജാവാസ്ക്രിപ്റ്റ് ആവശ്യമാണ്)",
+       "tog-watchlistunwatchlinks": "ശ്രദ്ധിക്കുന്നവയിലെ ഉൾപ്പെടുത്തലുകൾക്ക് നേരിട്ടുള്ള ശ്രദ്ധിക്കാതിരിക്കുക/ശ്രദ്ധിക്കുക കണ്ണികൾ ചേർക്കുക (മാറ്റൽ സൗകര്യത്തിന് ജാവാസ്ക്രിപ്റ്റ് ആവശ്യമാണ്)",
        "tog-watchlisthideanons": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളിലെ മാറ്റങ്ങളിൽ നിന്നും അജ്ഞാത ഉപയോക്താക്കളുടെ തിരുത്തുകൾ മറയ്ക്കുക",
        "tog-watchlisthidepatrolled": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് റോന്തുചുറ്റിയ തിരുത്തുകൾ മറയ്ക്കുക",
        "tog-watchlisthidecategorization": "താളുകളുടെ വർഗ്ഗീകരണം മറയ്ക്കുക",
        "recentchanges-legend-heading": "<strong>സൂചന:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|പുതിയ താളുകളുടെ പട്ടികയും]] കാണുക)",
        "recentchanges-submit": "പ്രദർശിപ്പിക്കുക",
+       "rcfilters-legend-heading": "<strong>ചുരുക്കെഴുത്തുകളുടെ പട്ടിക:</strong>",
        "rcfilters-filterlist-title": "അരിപ്പകൾ",
        "rcfilters-filter-user-experience-level-newcomer-label": "പുതിയ അംഗങ്ങളുടെ തിരുത്തലുകൾ",
        "rcfilters-filter-bots-label": "യന്ത്രം",
index 7c9a8bf..89f3c0e 100644 (file)
        "tog-hideminor": "Scunder eidiçones mais pequeinhas nas redadeiras altaraçones",
        "tog-hidepatrolled": "Scunder eidiçones patrulhadas nas redadeiras altaraçones",
        "tog-newpageshidepatrolled": "Scunder  páiginas patrulhadas na lhista de páiginas nuobas",
+       "tog-hidecategorization": "Scunder la catadorizaçon de las páiginas",
        "tog-extendwatchlist": "Lhistaige spandida de todas las altaraçones a las páiginas begiadas, nun solo de las redadeiras",
-       "tog-usenewrc": "Ousar la berson melhorada de las mudanças recentes (requer JavaScrit)",
+       "tog-usenewrc": "Agrupar altaraçones por páigina nas mudanças recentes i páiginas bigiadas",
        "tog-numberheadings": "Outo-numerar cabeçalhos",
-       "tog-showtoolbar": "Amostrar barra d'eidiçon (JavaScrit)",
-       "tog-editondblclick": "Eiditar páiginas quando houbir un clique duplo (JavaScrit)",
-       "tog-editsectiononrightclick": "Posseblitar l'eidiçon de cachos por clique cul boton dreito ne l títalo de la seçon (JavaScrit)",
-       "tog-watchcreations": "Ajuntar las páiginas que you criar a las minhas páiginas begiadas",
-       "tog-watchdefault": "Ajuntar las páiginas que you eiditar a las minhas páiginas begiadas",
-       "tog-watchmoves": " Ajuntar las páiginas que you mober a las minhas páiginas begiadas",
-       "tog-watchdeletion": " Ajuntar las páiginas que you eileminar a las minhas páiginas begiadas",
+       "tog-showtoolbar": "Amostrar barra d'eidiçon",
+       "tog-editondblclick": "Eiditar páiginas quando houbir un clique duplo",
+       "tog-editsectiononrightclick": "Posseblitar l'eidiçon de cachos por clique cul boton dreito ne l títalo de la seçon",
+       "tog-watchcreations": "Ajuntar las páiginas que you criar a las mies páiginas begiadas",
+       "tog-watchdefault": "Ajuntar las páiginas que you eiditar a las mies páiginas begiadas",
+       "tog-watchmoves": "Ajuntar las páiginas que you mober a las mies páiginas begiadas",
+       "tog-watchdeletion": "Ajuntar las páiginas que you eileminar a las mies páiginas begiadas",
        "tog-minordefault": "Por oumisson, marcar todas las eidiçones cumo menores",
        "tog-previewontop": "Amostrar l'antebison antes de la caixa d'eidiçon",
        "tog-previewonfirst": "Amostrar l'antebison na purmeira eidiçon",
-       "tog-enotifwatchlistpages": "Notificar-me por correio eiletrónico quando ua páigina begiada ye altarada",
+       "tog-enotifwatchlistpages": "Notificar-me por correio eiletrónico quando ua páigina begiada fur altarada",
        "tog-enotifusertalkpages": "Abisar -me por correio eiletrónico quando la mie páigina de çcusson ye eiditada",
        "tog-enotifminoredits": "Abisar-me por correio eiletrónico tamien quando las eidiçones fúren pequeinhas",
        "tog-enotifrevealaddr": "Rebelar l miu andereço de correio eiletrónico nas noteficaçones",
        "tog-shownumberswatching": "Amostrar l númaro d'outelizadores a begiar",
        "tog-fancysig": "Tratar assinatura cumo wikitesto (sin lhigaçon outomática)",
-       "tog-uselivepreview": "Ousar l'antebison an tiempo rial (JavaScrit) (Spurmental)",
+       "tog-uselivepreview": "Amostrar antebisones sin recarregar la páigina",
        "tog-forceeditsummary": "Abisar-me al antroduzir un sumairo bazio",
        "tog-watchlisthideown": "Scunder las mies eidiçones al lhistar mudanças a las páiginas begiadas",
        "tog-watchlisthidebots": "Scunder eidiçones de robós al lhistar mudanças a las páiginas begiadas",
        "tog-norollbackdiff": "Scunder defrenças depuis de reberter eidiçones an bloco",
        "underline-always": "Siempre",
        "underline-never": "Nunca",
-       "underline-default": "Ousar la cunfiguraçon de l nabegador",
-       "sunday": "Demingo",
-       "monday": "Segunda-feira",
-       "tuesday": "Terça",
-       "wednesday": "Quarta",
-       "thursday": "Quinta",
-       "friday": "Sesta",
-       "saturday": "Sábado",
+       "underline-default": "Ousar la oupçon padron de l tema ó de l nabegador",
+       "sunday": "demingo",
+       "monday": "segunda-feira",
+       "tuesday": "terça-feira",
+       "wednesday": "quarta-feira",
+       "thursday": "quinta-feira",
+       "friday": "sesta-feira",
+       "saturday": "sábado",
        "sun": "dem",
        "mon": "seg",
        "tue": "ter",
        "thu": "qui",
        "fri": "ses",
        "sat": "sáb",
-       "january": "Janeiro",
-       "february": "Febreiro",
-       "march": "Março",
-       "april": "Abril",
-       "may_long": "Maio",
-       "june": "Junho",
-       "july": "Júlio",
-       "august": "Agosto",
-       "september": "Setembre",
-       "october": "Outubro",
-       "november": "Nobembre",
-       "december": "Dezembro",
-       "january-gen": "Janeiro",
-       "february-gen": "Fevereiro",
-       "march-gen": "Márcio",
-       "april-gen": "Abril",
-       "may-gen": "Maio",
-       "june-gen": "Júnio",
-       "july-gen": "Júlio",
-       "august-gen": "Agosto",
-       "september-gen": "Setembre",
-       "october-gen": "Outubre",
-       "november-gen": "Nobembre",
-       "december-gen": "Dezembre",
-       "jan": "Jan.",
-       "feb": "Feb.",
-       "mar": "Mar.",
-       "apr": "Abr.",
-       "may": "Mai.",
-       "jun": "Jún.",
-       "jul": "Júl.",
-       "aug": "Ago.",
-       "sep": "Set.",
-       "oct": "Out.",
-       "nov": "Nob.",
-       "dec": "Dez.",
+       "january": "janeiro",
+       "february": "febreiro",
+       "march": "márcio",
+       "april": "abril",
+       "may_long": "maio",
+       "june": "júnio",
+       "july": "júlio",
+       "august": "agosto",
+       "september": "setembre",
+       "october": "outubre",
+       "november": "nobembre",
+       "december": "dezembre",
+       "january-gen": "janeiro",
+       "february-gen": "febreiro",
+       "march-gen": "márcio",
+       "april-gen": "abril",
+       "may-gen": "maio",
+       "june-gen": "júnio",
+       "july-gen": "júlio",
+       "august-gen": "agosto",
+       "september-gen": "setembre",
+       "october-gen": "outubre",
+       "november-gen": "nobembre",
+       "december-gen": "dezembre",
+       "jan": "jan.",
+       "feb": "feb.",
+       "mar": "már.",
+       "apr": "abr.",
+       "may": "mai.",
+       "jun": "jún.",
+       "jul": "júl.",
+       "aug": "ago.",
+       "sep": "set.",
+       "oct": "out.",
+       "nov": "nob.",
+       "dec": "dez.",
+       "january-date": "$1 de janeiro",
+       "february-date": "$1 de febreiro",
+       "march-date": "$1 de márcio",
+       "april-date": "$1 de abril",
+       "may-date": "$1 de maio",
+       "june-date": "$1 de júnio",
+       "july-date": "$1 de júlio",
+       "august-date": "$1 de agosto",
+       "september-date": "$1 de setembre",
+       "october-date": "$1 de outubre",
+       "november-date": "$1 de nobembre",
+       "december-date": "$1 de dezembre",
+       "period-am": "AM",
+       "period-pm": "PM",
        "pagecategories": "{{PLURAL:$1|Catadorie|Catadories}}",
        "category_header": "Páiginas na catadorie \"$1\"",
        "subcategories": "Subcatadories",
        "newwindow": "(abre nua nuoba jinela)",
        "cancel": "Çfazer",
        "moredotdotdot": "Mais...",
-       "mypage": "Mie páigina",
+       "mypage": "Páigina",
        "mytalk": "Mie cumbersa",
-       "anontalk": "Çcusson pa este IP",
+       "anontalk": "Cumbersa",
        "navigation": "Nabegaçon",
        "and": "&#32;i",
        "faq": "FAQ",
        "searchbutton": "Percurar",
        "go": "Bota",
        "searcharticle": "Bota",
-       "history": "Stórico de la Páigina",
+       "history": "Stórico de la páigina",
        "history_short": "Stórico",
-       "printableversion": "Berson pa Ampremir",
+       "printableversion": "Berson pa ampremir",
        "permalink": "Lhigaçon pa siempre",
        "print": "Ampremir",
        "edit": "Eiditar",
        "delete": "Botar fuora",
        "protect": "Porteger",
        "protect_change": "demudar",
-       "unprotect": "Çporteger",
-       "newpage": "Nuoba páigina",
+       "unprotect": "Altarar la proteçon",
+       "newpage": "Páigina nuoba",
        "talkpagelinktext": "Cumbersar",
        "specialpage": "Páigina special",
        "personaltools": "Ferramientas pessonales",
        "viewhelppage": "Ber páigina de ajuda",
        "viewtalkpage": "Ber çcusson",
        "otherlanguages": "Outras lhénguas",
-       "redirectedfrom": "(Ancaminamiento de <b>$1</b>)",
+       "redirectedfrom": "(Ancaminamiento de $1)",
        "redirectpagesub": "Páigina de ancaminamiento",
-       "lastmodifiedat": "Esta páigina fui demudada pula redadeira beç a las $2 de $1.",
+       "lastmodifiedat": "Esta páigina fui eiditada pula redadeira beç a la(s) $2 de $1.",
        "protectedpage": "Páigina portegida",
        "jumpto": "Saltar pa:",
        "jumptonavigation": "nabegaçon",
        "jumptosearch": "percura",
        "aboutsite": "Subre {{SITENAME}}",
        "aboutpage": "Project:Subre",
-       "copyright": "Cuntenido çponible subre la lhicença $1.",
+       "copyright": "Cuntenido çponible subre la lhicença $1, salbo andicaçon an cuntrairo.",
        "copyrightpage": "{{ns:project}}:Dreitos de outor",
        "currentevents": "Amboras atuales",
        "currentevents-url": "Project:Amboras atuales",
-       "disclaimers": "Abiso de Cuntenido",
+       "disclaimers": "Abiso de cuntenido",
        "disclaimerpage": "Project:Abiso giral",
        "edithelp": "Ajuda de eidiçon",
-       "mainpage": "Páigina Percipal",
-       "mainpage-description": "Páigina Percipal",
+       "mainpage": "Páigina percipal",
+       "mainpage-description": "Páigina percipal",
        "policy-url": "Project:Políticas",
        "portal": "Portal da quemunidade",
        "portal-url": "Project:Portal de la quemunidade",
        "versionrequired": "Ye percisa la beson $1 de l MediaWiki",
        "ok": "OK",
        "retrievedfrom": "Sacado an \"$1\"",
-       "youhavenewmessages": "Tu tenes $1 ($2).",
+       "youhavenewmessages": "{{PLURAL:$3|Tu tenes}} $1 ($2).",
+       "youhavenewmessagesmanyusers": "Tu tenes $1 de muitos outelizadores ($2).",
        "youhavenewmessagesmulti": "Tenes nuobas mensaiges an $1",
        "editsection": "eiditar",
        "editold": "eiditar",
        "viewdeleted": "Ber $1?",
        "restorelink": "{{PLURAL:$1|ua eidiçon apagada|$1 eidiçones apagadas}}",
        "feedlinks": "Feed:",
-       "site-rss-feed": "Feed RSS $1",
-       "site-atom-feed": "Feed Atom $1",
-       "page-rss-feed": "Feed RSS de \"$1\"",
+       "site-rss-feed": "''Feed'' RSS $1",
+       "site-atom-feed": "''Feed'' Atom $1",
+       "page-rss-feed": "''Feed'' RSS de \"$1\"",
        "page-atom-feed": "Feed Atom de \"$1\"",
        "red-link-title": "$1 (la páigina nun eisiste)",
        "nstab-main": "Páigina",
-       "nstab-user": "Páigina de l outelizador",
+       "nstab-user": "Páigina de l'{{GENDER:{{BASEPAGENAME}}|outelizador|outelizadora|outelizador(a)}}",
        "nstab-media": "Páigina de média",
        "nstab-special": "Páigina special",
-       "nstab-project": "Páigina de porjeto",
+       "nstab-project": "Páigina de porjeto",
        "nstab-image": "Fexeiro",
        "nstab-mediawiki": "Mensaige",
        "nstab-template": "Modelo",
        "nstab-help": "Páigina d'ajuda",
        "nstab-category": "Catadorie",
+       "mainpage-nstab": "Páigina percipal",
        "nosuchaction": "Acion nun eisiste",
        "nosuchspecialpage": "Nun eisiste la páigina special que pediste",
        "error": "Erro",
        "badarticleerror": "Esta acion nun puode ser feita nesta páigina.",
        "badtitle": "Títalo ambálido",
        "badtitletext": "La páigina que pediste ye ambálida, bazia, ó ua lhigaçon mal feita dun títalo antre-lhéngua ó antre-biqui.\nPuode tener un ó mais carateres que nun puoden ser outelizados an títalos.",
-       "viewsource": "Ber código",
+       "viewsource": "Ber código-fuonte",
        "actionthrottled": "Acion lhemitada",
-       "viewsourcetext": "Tu puodes ber i copiar l código desta páigina:",
+       "viewsourcetext": "Tu puodes ber i copiar l código desta páigina.",
        "virus-scanfailed": "la berificaçon falhou (código $1)",
        "virus-unknownscanner": "antibírus çcoincido:",
-       "yourname": "Nome de Outelizador",
-       "yourpassword": "Palabra chabe",
+       "yourname": "Nome de outelizador(a):",
+       "yourpassword": "Palabra-chabe:",
        "yourpasswordagain": "Repite la tue palabra-chabe",
        "yourdomainname": "L tou domínio",
        "login": "Antrar",
        "userlogout": "Salir",
        "notloggedin": "Por outenticar",
        "createaccount": "Criar nuoba cuonta",
-       "createaccountmail": "por morada eiletrónica",
+       "createaccountmail": "Outelizar ua palabra-chabe aleatória i temporária i ambiar eilha pa l'andereço de correio eiletrónico specificado",
        "loginerror": "Erro de outenticaçon",
-       "loginsuccesstitle": "Antreste cumo debe de ser",
+       "loginsuccesstitle": "Outenticado",
        "loginsuccess": "'''Stás agora lhigado a {{SITENAME}} cumo \"$1\"'''.",
        "nosuchuser": "Num eisiste nanhun outelizador cul nome \"$1\".\nLs nomes de outelizador son defrentes an lhetra grande ó pequeinha.\nBei cumo screbiste, ó [[Special:CreateAccount|cria ua nuoba cuonta]].",
        "nosuchusershort": "Nun eisiste nanhun outelizador cul nome \"$1\".\nBei se l screbiste bien.",
        "nouserspecified": "Tenes que dezir un nome de outelizador.",
        "wrongpassword": "La palabra chabe ye ambálida.\nPor fabor, spurmenta outra beç.",
        "wrongpasswordempty": "Tenes que poner la palabra chabe.\nPor fabor, spurmenta outra beç.",
-       "passwordtooshort": "La tue palabra chabe ye ambálida ó mui pequeinha.\nDebe de tener pul menos {{PLURAL:$1|1 caracter|$1 caracteres}}.",
+       "passwordtooshort": "La tue palabra-chabe debe de tener pul menos $1 {{PLURAL:$1|carátele|caráteles}}.",
        "password-name-match": "La tue palabra-chabe ten que ser defrente de l tou nome de outelizador.",
-       "mailmypassword": "Ambiar nuoba palabra chabe por carta eiletrónica",
+       "mailmypassword": "Ambiar nuoba palabra-chabe por carta eiletrónica",
        "passwordremindertitle": "Nuoba palabra chabe temporária an {{SITENAME}}",
        "passwordremindertext": "Alguém (l mais cierto tu, a partir de la morada de IP $1) pediu que le fusse ambiada ua nouba palabra-chabe pa {{SITENAME}} ($4).\nFui criada ua palabra-chabe temporária pa l outelizador \"$2\", i fui puosta outra beç cumo \"$3\". Causo tengas feito cun este perpósito, entra na tue cuonta i scolhe ua nouba palabra-chabe agora.\nLa tue palabra-chabe temporária queda fuora de balidade {{PLURAL:$5|nun die|an $5 dies}}.\n\nCauso tenga sido outra pessona a fazer este pedido, ó causo tu yá te tengas lhembrado de la palabra-chabe i nun queiras demudar-la, squece esta mensaige i cuntina a outelizar la palabra-chabe antiga.",
        "noemail": "Nun eisiste morada eiletrónica pa l outelizador \"$1\".",
        "emailconfirmlink": "Cunfirma la tue morada de correio eiletrónico",
        "loginlanguagelabel": "Lhéngua: $1",
        "retypenew": "Pon outra beç la nuoba palabra chabe:",
-       "bold_sample": "Testo carregado",
+       "bold_sample": "Testo a negrito",
        "bold_tip": "Testo a negrito",
-       "italic_sample": "Testo eitálico",
+       "italic_sample": "Testo an eitálico",
        "italic_tip": "Testo an eitálico",
        "link_sample": "Títalo de la lhigaçon",
        "link_tip": "Lhigaçon anterna",
        "extlink_sample": "http://www.example.com títalo de la lhigaçon",
        "extlink_tip": "Lhigaçon sterna (lembra-te de l perfixo http://)",
-       "headline_sample": "Testo de cabeçailho",
+       "headline_sample": "Testo de cabeçailho",
        "headline_tip": "Cacho de nible 2",
        "nowiki_sample": "Poner testo nun-formatado eiqui",
        "nowiki_tip": "Nun fazer causo de la formataçon biqui",
        "media_tip": "Lhigaçon pa fexeiro",
        "sig_tip": "La tue assinatura, cun hora i data",
        "hr_tip": "Lhinha hourizontal (outeliza cun regra)",
-       "summary": "Sumário:",
+       "summary": "Resumo:",
        "subject": "Assunto/cabeçailho:",
        "minoredit": "Marcar cumo eidiçon pequerrixa",
-       "watchthis": "Ber esta páigina",
+       "watchthis": "Bigiar esta páigina",
        "savearticle": "Grabar páigina",
        "preview": "Ber cumo queda",
        "showpreview": "Ber cumo queda",
        "showdiff": "Amostrar altaraçones",
-       "anoneditwarning": "'''Abiso''': Tu nun stás outenticado. L tou IP será registrado ne l stórico de las eidiçones desta páigina.",
+       "anoneditwarning": "<strong>Abiso</strong>: Tu nun stás outenticado. L tou IP será registrado ne l stórico de las eidiçones desta páigina. Se <strong>[$1 ampeçar sesson]</strong> ó <strong>[$2 criar ua cunta]</strong>, las sues eidiçones seran registradas cul sou nome d'outelizador(a), an cunjunto cun outros benefícios.",
        "summary-preview": "Amostra de l sumário:",
-       "blockedtext": "L tou nome d'outelizador ó morada de IP foi bloquiada\n\nL bloqueio fui feito por $1. La rezon fui ''$2''.\n\n* Ampeço de l bloqueio: $8\n* Balidade de l bloqueio: $6\n* Çtino de l bloqueio: $7\n\nTu puodes cuntatar $1 ó outro [[{{MediaWiki:Grouppage-sysop}}|admenistrador]] pa çcutir subre l bloqueio.\n\nBei que nun poderás outelizar la funcionalidade \"Cuntatar outelizador\" se nun tubires ua counta neste wiki ({{SITENAME}}) cun ua morada eiletrónica bálida andicada an las tues [[Special:Preferences|preferéncias d'outelizador]] i se tubires sido bloquiado de outelizar essa ferramienta.\n\nLa tue morada de IP atual ye $3 i l ID de l bloqueio ye $5. Por fabor, anclui un deilhes (ó dambos ls dous) dados an qualquier tentatibas de sclarecimentos.",
+       "blockedtext": "<strong>L tou nome d'outelizador ó morada de IP foi bloquiado.</strong>\n\nL bloqueio fui feito por $1.\nLa rezon fui <em>$2</em>.\n\n* Ampeço de l bloqueio: $8\n* Balidade de l bloqueio: $6\n* Çtino de l bloqueio: $7\n\nTu puodes cuntatar $1 ó outro [[{{MediaWiki:Grouppage-sysop}}|admenistrador]] pa çcutir subre l bloqueio.\nBei que nun poderás outelizar la funcionalidade \"Cuntatar outelizador\" se nun tubires ua counta cun ua morada eiletrónica bálida andicada an las tues [[Special:Preferences|preferéncias d'outelizador]] i se tubires sido bloquiado de outelizar essa ferramienta.\nLa tue morada de IP atual ye $3 i la eidantificaçon (ID) de l bloqueio ye #$5.\nPor fabor, anclui un deilhes (ó dambos ls dous) dados an qualquier tentatibas de sclarecimentos.",
+       "autoblockedtext": "La sue morada de IP foi bloquiada de forma outomática porque fui outelizado recentemente por outro outelizador, l qual fui bloquiado por $1.\nLa rezon fui:\n\n:<em>$2</em>\n\n* Ampeço de l bloqueio: $8\n* Balidade de l bloqueio: $6\n* Çtino de l bloqueio: $7\n\nTu puodes cuntatar $1 ó outro [[{{MediaWiki:Grouppage-sysop}}|admenistrador]] pa çcutir subre l bloqueio.\n\nBei que nun poderás outelizar la funcionalidade \"Cuntatar outelizador\" se nun tubires ua counta cun ua morada eiletrónica bálida andicada an las tues [[Special:Preferences|preferéncias d'outelizador]] i se tubires sido bloquiado de outelizar essa ferramienta.\n\nLa tue morada de IP atual ye $3 i la eidantificaçon (ID) de l bloqueio ye #$5.\nPor fabor, anclui un deilhes (ó dambos ls dous) dados an qualquier tentatibas de sclarecimentos.",
+       "systemblockedtext": "L sou nome d'outelizador ó morada de IP fúrun bloquiados outomaticamente pul MediaWiki.\nLa rezon fui:\n\n:<em>$2</em>\n\n* Ampeço de l bloqueio: $8\n* Balidade de l bloqueio: $6\n* Çtino de l bloqueio: $7\n\nLa tue morada de IP atual ye $3.\nPor fabor, anclui un deilhes (ó dambos ls dous) dados an qualquier tentatibas de sclarecimentos.",
        "loginreqtitle": "Outenticaçon oubrigatória",
        "loginreqlink": "antrar",
        "loginreqpagetext": "Percisas de $1 pa poder ber outras páiginas.",
        "accmailtitle": "Palabra-chabe ambiada.",
-       "accmailtext": "Ua palabra-chabe criada al calhas pa [[User talk:$1|$1]] fui ambiada pa $2.\n\nLa palabra-chabe para esta nuoba cuonta puode ser demudada na páigina pa ''[[Special:ChangePassword|demudar palabra-chabe]]'' apuis de la outenticaçon.",
+       "accmailtext": "Ua palabra-chabe criada al calhas pa [[User talk:$1|$1]] fui ambiada pa $2.\n\nLa palabra-chabe puode ser demudada na páigina pa [[Special:ChangePassword|demudar la palabra-chabe]], apuis de la outenticaçon.",
        "newarticle": "(Nuoba)",
-       "newarticletext": "Tu bejiteste ua lhigaçon para ua páigina que inda nun eisiste.\nPara criar la páigina, ampeça a screbir an la caixa ambaixo (bei la [$1 páigina de ajuda] pa mais detailhes).\nSe stás eiqui por anganho, carrega ne l boton '''retornar''' de l tou nabegador de la Anternete.",
-       "noarticletext": "Nun hai neste sfergante testo nesta páigina.\nTu puodes [[Special:Search/{{PAGENAME}}|percurar pul títalo desta páigina]] noutras páiginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} percurar ls registros que téngan a ber],\nó [{{fullurl:{{FULLPAGENAME}}|action=edit}} eiditar esta páigina]</span>.",
+       "newarticletext": "Tu bejiteste ua lhigaçon para ua páigina que inda nun eisiste.\nPara criar la páigina, ampeça a screbir an la caixa ambaixo (bei la [$1 páigina de ajuda] pa mais detailhes).\nSe stás eiqui por anganho, carrega ne l boton <strong>retornar</strong> de l tou nabegador de la Anternete.",
+       "noarticletext": "Inda nun eisiste testo nesta páigina.\nTu puodes [[Special:Search/{{PAGENAME}}|percurar pul títalo desta páigina]] noutras páiginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} percurar ls registros que téngan a ber]\nó [{{fullurl:{{FULLPAGENAME}}|action=edit}} criar esta páigina]</span>.",
        "note": "'''Abiso:'''",
        "previewnote": "'''Lhembra-te qu'esto ye solo ua amostra.'''\nLas altaraçones inda nun fúrun grabadas!",
        "editing": "A eiditar $1",
        "editingsection": "A eiditar $1 (cacho)",
        "yourtext": "L tou testo",
        "storedversion": "berson guardada",
-       "copyrightwarning": "Por fabor, bei que todas las tues cuntribuiçones an {{SITENAME}} son cunsideradas cumo feitas ne ls termos de la lhicença $2 (bei $1 pa detailhes). Se nun quieres que l tou testo seia eiditado sin piedade i reçtribuído cunsante la gana, nun l ambies.<br />\nTu stás, al mesmo tiempo, a garantir-mos qu'esto ye algo screbido por ti, ó algo copiado d'ua fuonte de testos an domínio público ó parecido de teor lhibre.\n'''NUN AMBIES TRABALHO PORTEGIDO POR DREITOS D'OUTOR SIEN L DEBIDO PERMISSO!'''",
+       "copyrightwarning": "Por fabor, bei que todas las tues cuntribuiçones an {{SITENAME}} son cunsideradas cumo feitas ne ls termos de la lhicença $2 (bei $1 pa detailhes).\nSe nun quieres que l tou testo seia eiditado sin piedade i reçtribuído cunsante la gana, nun l ambies.<br />\nTu stás, al mesmo tiempo, a garantir-mos qu'esto ye algo screbido por ti, ó algo copiado d'ua fuonte de testos an domínio público ó parecido de teor lhibre.\n<strong>Nun ambies trabalho portegido por dreitos d'outor sien l debido permisso!</strong>",
        "templatesused": "{{PLURAL:$1|Modelo ousado|Modelos ousados}} nesta páigina:",
        "templatesusedpreview": "{{PLURAL:$1|Modelo outelizado|Modelos outelizados}} neste amostra:",
        "template-protected": "(portegida)",
        "hiddencategories": "Esta páigina faç parte {{PLURAL:$1|dua catadorie scundida|$1 duas catadories scundidas}}:",
        "nocreatetext": "{{SITENAME}} tem restringida la possibilidade de criar nuobas páginas.\nPode boltar atrás i editar unha página yá eisistente, o [[Special:UserLogin|autenticar-se o criar unha cuonta]].",
        "permissionserrorstext-withaction": "Tu nun tenes premisson pa $2, {{PLURAL:$1|pula seguinte rezon|pulas seguintes rezones}}:",
-       "recreate-moveddeleted-warn": "Abiso: Tu stás a criar ua páigina que yá fui d'atrás botada fuora.'''\n\nBei bien se ye própio cuntinar a eiditar esta páigina.\nL registro de la eileminaçon i de l arrastrar ye amostrado eiqui por cumbeniéncia:",
-       "moveddeleted-notice": "Esta páigina fui apagada.\nL registro de la eileminaçon i de l arrastrar stá ambaixo pa refréncia.",
+       "recreate-moveddeleted-warn": "<strong>Abiso: Tu stás a criar ua páigina que yá fui d'atrás botada fuora.</strong>\n\nBei bien se ye própio cuntinar a eiditar esta páigina.\nL registro de la eileminaçon i de l arrastrar ye amostrado eiqui por cumbeniéncia:",
+       "moveddeleted-notice": "Esta páigina fui apagada.\nL registro de la eileminaçon, proteçon i arrastrar desta páigina stá ambaixo pa refréncia.",
        "viewpagelogs": "Ber registros pa esta páigina",
        "currentrev": "Rebison atual",
        "currentrev-asof": "Eidiçon atual cumo $1",
        "revisionasof": "Eidiçon cumo la de $1",
-       "revision-info": "Rebison de $1 por $2",
+       "revision-info": "Rebison de $1 por {{GENDER:$6|$2}}$7",
        "previousrevision": "← Berson d'atrás",
        "nextrevision": "Berson mais nuoba→",
        "currentrevisionlink": "Ber berson atual",
        "last": "redadeiro",
        "page_first": "purmeira",
        "page_last": "redadeira",
-       "histlegend": "Scuolhe de defrénça: marca las caixas an ua de las bersones que queiras cumparar i carrega ne l boton.<br />\nLegenda: (atu) = defrénças de la berson atual,\n(red) = defrénça de la redadeira berson, m = eidiçon pequerrixa",
-       "history-fieldset-title": "Nabegar pul stórico",
+       "histlegend": "Scuolhe de defrénça: marca las caixas an ua de las bersones que queiras cumparar i carrega ne l boton.<br />\nLhegenda: <strong>({{int:cur}})</strong> = defrénças de la berson atual, <strong>({{int:last}})</strong> = defrénça de la redadeira berson, <strong>{{int:minoreditletter}}</strong> = eidiçon pequerrixa.",
+       "history-fieldset-title": "Percurar rebisones",
        "histfirst": "Mais antigas",
        "histlast": "Redadeiras",
        "history-feed-item-nocomment": "$1 a $2",
        "history-title": "Stórico de eidiçones de \"$1\"",
        "lineno": "Lhinha $1:",
        "compareselectedversions": "Cumparar las bersones marcadas",
-       "showhideselectedversions": "Amostrar/ocultar bersones selecionadas",
+       "showhideselectedversions": "Amostrar/scunder bersones selecionadas",
        "editundo": "çfazer",
        "searchresults": "Resultados de la percura",
        "searchresults-title": "Resultados de la percura por \"$1\"",
        "notextmatches": "Nun fui possible achar, ne l cuntenido de las páiginas, la palabra percurada",
-       "prevn": "anteriores {{PLURAL:$1|$1}}",
-       "nextn": "próssimos {{PLURAL:$1|$1}}",
+       "prevn": "{{PLURAL:$1|anterior|$1 anteriores}}",
+       "nextn": "{{PLURAL:$1|próssimo|próssimos $1}}",
        "viewprevnext": "Ber ($1 {{int:pipe-separator}} $2) ($3)",
        "searchprofile-images": "Multimédia",
        "searchprofile-everything": "Todo",
        "search-redirect": "(ancaminamiento pa $1)",
        "search-section": "(cacho $1)",
        "search-suggest": "Será que queries dezir: $1",
-       "search-interwiki-caption": "Porjetos armanos",
+       "search-interwiki-caption": "Resultados de porjetos armanos",
        "search-interwiki-default": "Resultados de $1:",
        "search-interwiki-more": "(mais)",
        "searchall": "todos",
        "prefs-files": "Fexeiros",
        "prefs-emailconfirm-label": "Cunfirmaçon de l correio eiletrónico:",
        "youremail": "Morada de correio eiletrónico:",
-       "username": "Nome de outelizador:",
-       "prefs-memberingroups": "Nembro {{PLURAL:$1|de l grupo|de ls grupos}}:",
+       "username": "Nome de {{GENDER:$1|outelizador|outelizadora|outelizador(a)}}:",
+       "prefs-memberingroups": "{{GENDER:$2|Nembro}} {{PLURAL:$1|de l grupo|de ls grupos}}:",
        "yourrealname": "Nome berdadeiro:",
        "yourlanguage": "Lhéngua:",
        "yournick": "Assinatura:",
-       "yourgender": "Sexo:",
-       "gender-unknown": "Nun specificado",
-       "gender-male": "Home",
-       "gender-female": "Mulhier",
+       "yourgender": "Cumo prefire ser çcrito(a)?",
+       "gender-unknown": "Al fazer mençon a la sue pessona, l ''software'' eirá outelizar palabras de l género neutro siempre que possible",
+       "gender-male": "El ye un outelizador",
+       "gender-female": "Eilha ye ua outelizadora",
        "email": "Morada Eiletrónica",
        "prefs-help-realname": "L nome berdadeiro ye oupcional.\nCauso l çponiblizes, este será outelizado pa te dar crédito pul tou trabalho.",
        "prefs-signature": "Assinatura",
        "prefs-dateformat": "Formato de la data",
-       "editusergroup": "Eiditar grupos de outelizadores",
+       "editusergroup": "Cargar grupos de outelizadores",
        "userrights-groupsmember": "Nembro de:",
        "group": "Grupo:",
        "group-user": "Outelizadores",
        "group-bot": "Rubós",
        "group-sysop": "Admenistradores",
        "group-bureaucrat": "Burocratas",
-       "group-bot-member": "Rubó",
-       "group-sysop-member": "Admenistrador",
-       "group-bureaucrat-member": "Burocrata",
+       "group-bot-member": "{{GENDER:$1|rubó}}",
+       "group-sysop-member": "{{GENDER:$1|admenistrador|admenistradora|admenistrador(a)}}",
+       "group-bureaucrat-member": "{{GENDER:$1|burocrata}}",
        "grouppage-bot": "{{ns:project}}:Rubós",
        "grouppage-sysop": "{{ns:project}}:Admenistradores",
        "right-edit": "Eiditar páiginas",
        "rightslog": "Registro de dreitos de l outelizador",
        "action-read": "lher esta páigina",
        "action-edit": "eiditar esta páigina",
-       "action-createpage": "criar páiginas",
+       "action-createpage": "criar esta páigina",
        "action-move": "arrastrar esta páigina",
        "action-movefile": "arrastrar este fexeiro",
        "action-delete": "apagar esta páigina",
        "recentchanges": "Redadeiras altaraçones",
        "recentchanges-legend": "Oupçones de las redadeiras altaraçones",
        "recentchanges-feed-description": "Acumpanha las redadeiras altaraçones de l biqui por esta semiente.",
-       "recentchanges-legend-newpage": "$1 - nuoba páigina",
-       "rcnotefrom": "Alteraçones feitas zde <b>$2</b> (amostradas até <b>$1</b>).",
-       "rclistfrom": "Amostrar las noubas altaraçones a partir de $3 $2",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (ber tamien la [[Special:NewPages|lhista de páiginas nuobas]])",
+       "rcnotefrom": "Ambaixo {{PLURAL:$5|stá la altaraçon feita|stan las alteraçones feitas}} zde <strong>$2</strong> (amostradas até <strong>$1</strong>).",
+       "rclistfrom": "Amostrar las noubas altaraçones a partir de $2 de $3",
        "rcshowhideminor": "$1 eidiçones pequerrixas",
        "rcshowhidebots": "$1 robós",
        "rcshowhideliu": "$1 outelizadores registrados",
        "minoreditletter": "m",
        "newpageletter": "N",
        "boteditletter": "b",
-       "rc_categories_any": "Qualquiera",
+       "rc_categories_any": "Qualquiera de ls scolhidos",
        "newsectionsummary": "/* $1 */ nuobo cacho",
-       "rc-enhanced-expand": "Amostrar detailhes (ye perciso JavaScript)",
+       "rc-enhanced-expand": "Amostrar detailhes",
        "rc-enhanced-hide": "Scunder detailhes",
        "recentchangeslinked": "Altaraçones relacionadas",
        "recentchangeslinked-feed": "Alterações relacionadas",
        "recentchangeslinked-toolbox": "Alterações relacionadas",
        "recentchangeslinked-title": "Altaraçones que ténen a ber cun \"$1\"",
-       "recentchangeslinked-summary": "Esta páigina special amostra las redadeiras altaraçones de páiginas que téngan ua lhigaçon a outra (ó de nembros dua catadorie speceficada).\nPáiginas que steian ne ls [[Special:Watchlist|tous begiados]] son amostradas an '''negrito'''.",
+       "recentchangeslinked-summary": "Esta páigina special amostra las redadeiras altaraçones de páiginas que téngan ua lhigaçon a outra (ó de nembros dua catadorie speceficada).\nLas páiginas que steian ne ls [[Special:Watchlist|tous begiados]] son amostradas an <strong>negrito</strong>.",
        "recentchangeslinked-page": "Nome de la páigina:",
        "recentchangeslinked-to": "Amostrar antes altaraçones a páiginas que téngan a ber cula páigina dada",
        "upload": "Cargar fexeiro",
        "uploadbtn": "Cargar fexeiro",
-       "uploadlogpage": "Registro de carregamiento",
+       "uploadlogpage": "Registro de carregamientos",
        "filename": "Nome de l fexeiro",
        "filesource": "Fuonte:",
        "ignorewarnings": "Eignorar qualquiera abiso",
        "watchthisupload": "Begiar este fexeiro",
        "upload-curl-error28": "Ultrapassado l tiempo lhemite pa l ambio de l fexeiro",
        "license": "Lhicença:",
-       "license-header": "Lhicença:",
+       "license-header": "Lhicença",
        "nolicense": "Nanhua scolhida",
        "imgfile": "fexeiro",
        "listfiles": "Fexeiros",
        "filehist": "Stórico de l fexeiro",
        "filehist-help": "Clique an ua data/hora para ber l fexeiro tal cumo el staba naquel sfergante.",
        "filehist-current": "atual",
-       "filehist-datetime": "Data/Hora",
+       "filehist-datetime": "Data i hora",
        "filehist-thumb": "Amostra",
        "filehist-thumbtext": "Amostra de la berson de las $1",
        "filehist-user": "Outelizador",
        "filehist-dimensions": "Tamanho",
        "filehist-filesize": "Tamanho de l fexeiro",
        "filehist-comment": "Comentairo",
-       "imagelinks": "Lhigaçones de Fexeiros",
-       "linkstoimage": "{{PLURAL:$1|Esta páigina lhigan|Estas $1 páiginas lhigan}} este fexeiro:",
+       "imagelinks": "Lhigaçones de l fexeiro",
+       "linkstoimage": "{{PLURAL:$1|Esta páigina lhiga|Estas $1 páiginas lhigan}} este fexeiro:",
        "nolinkstoimage": "Nanhua páigina apunta pa este fexeiro.",
        "sharedupload": "Este fexeiro ye de $1 i puode ser outelizado por outros porjetos.",
        "uploadnewversion-linktext": "Cargar ua nuoba berson deste fexeiro",
        "shared-repo-from": "de $1",
-       "filerevert-comment": "Comentairo:",
+       "filerevert-comment": "Motibo:",
        "filedelete": "Apagar $1",
        "filedelete-legend": "Apagar fexeiro",
        "filedelete-submit": "Apagar",
        "wantedpages": "Páiginas pedidas",
        "mostlinked": "Páiginas mais lhigadas",
        "mostlinkedcategories": "Catadories cun mais nembros",
-       "mostlinkedtemplates": "Modelos mais populares de lhigaçones",
+       "mostlinkedtemplates": "Páiginas mais transcluídas",
        "mostcategories": "Páiginas de cuntenido cun mais catadories",
        "mostimages": "Eimaiges cun mais refréncias",
        "mostrevisions": "Páiginas de cuntenido cun mais rebisones",
        "deadendpages": "Páiginas sin salida",
        "protectedpages": "Páginas protegidas",
        "listusers": "Lhista de outelizadores",
-       "newpages": "Nuobas páiginas",
+       "newpages": "Páiginas nuobas",
        "ancientpages": "Páiginas mais antigas",
        "move": "Arrastrar",
        "movethispage": "Arrastrar esta páigina",
        "pager-newer-n": "{{PLURAL:$1|1 nuoba|$1 nuobas}}",
        "pager-older-n": "{{PLURAL:$1|1 atrasada|$1 atrasadas}}",
        "booksources": "Fuontes de lhibros",
-       "booksources-search-legend": "Percurar por fuontes de libros",
+       "booksources-search-legend": "Percurar por fuontes de lhibros",
        "booksources-search": "Percurar",
        "booksources-text": "Ye apersentada ambaixo ua lhista de lhigaçones para outros sítios na Anternete que benden lhibros nuobos i ousados i talbeç possuan anformaçones adicionales subre ls lhibros que percura:",
        "booksources-invalid-isbn": "L númaro ISBN apersentado nun parece ser bálido; berifique l'eisisténcia de ls erros al copiar de la fuonte ouriginal.",
        "magiclink-tracking-pmid-desc": "Esta páigina outeliza lhigaçones mágicas PMID. Cunsulte la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] para saber cumo migrar.",
        "magiclink-tracking-isbn": "Páiginas qu'outelizan lhigaçones mágicas ISBN",
        "magiclink-tracking-isbn-desc": "Esta páigina outeliza lhigaçones mágicas ISBN. Cunsulte la [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] para saber cumo migrar.",
-       "specialloguserlabel": "Outelizador:",
-       "speciallogtitlelabel": "Títalo:",
+       "specialloguserlabel": "Outelizador(a):",
+       "speciallogtitlelabel": "Albo (títalo ó páigina ó {{ns:user}}:nome d'outelizador):",
        "log": "Registros",
        "all-logs-page": "Todos ls registros públicos",
        "allpages": "Todas las páiginas",
        "allpagessubmit": "Bota",
        "allpagesprefix": "Amostrar páiginas cul perfixo:",
        "categories": "Catadories",
-       "linksearch": "Lhigaçones sternas",
+       "linksearch": "Percura de lhigaçones sternas",
        "linksearch-ok": "Percurar",
        "listusers-submit": "Amostrar",
        "listgrouprights-rights": "Dreitos",
        "listgrouprights-members": "(lista de nembros)",
-       "emailuser": "Ambiar carta eiletrónica a este outelizador",
+       "emailuser": "Ambiar carta eiletrónica a {{GENDER:{{BASEPAGENAME}}|este outelizador|esta outelizadora|este(a) outelizador(a)}}",
        "emailfrom": "De:",
        "emailto": "Para:",
-       "watchlist": "Ls mius begiados",
+       "watchlist": "Páiginas begiadas",
        "mywatchlist": "Las mies páiginas begiadas",
-       "addedwatchtext": "La páigina \"[[:$1]]\" fui ajuntada a la tue [[Special:Watchlist|lista de páiginas begiadas]].\nAltaraçones feturas na tal páigina i páiginas de çcusson a eilha associadas seran listadas alhá, cun la páigina aparecendo a '''negrito''' na [[Special:RecentChanges|lista de redadeiras altaraçones]], para que se pouda ancuntrar cun maior facelidade.",
-       "removedwatchtext": "La páigina \"[[:$1]]\" fui botada fuora de la [[Special:Watchlist|tue lista de páiginas begiadas]].",
+       "addedwatchtext": "\"[[:$1]]\" i la sue páigina de cumbersa fúrun ajuntadas a la tue [[Special:Watchlist|lhista de páiginas begiadas]].",
+       "removedwatchtext": "La páigina \"[[:$1]]\" i la sue páigina de cumbersa fúrun botadas fuora de la [[Special:Watchlist|tue lista de páiginas begiadas]].",
        "watch": "Begiar",
        "watchthispage": "Begiar esta páigina",
        "unwatch": "Zantressar-se",
-       "watchlist-details": "{{PLURAL:$1|$1 páigina begiada|$1 páiginas begiadas}}, fuora las páiginas de çcuçon.",
+       "watchlist-details": "{{PLURAL:$1|Eisiste $1 páigina|Eisisten $1 páiginas}} na sue lhista de páiginas bigiadas, scluindo las páiginas de cumbersa.",
        "wlshowlast": "Ber redadeiras $1 horas $2 dies",
        "watchlist-options": "Oupçones de la lista de begiados",
        "watching": "A begiar...",
        "deletepage": "Botar fuora páigina",
        "delete-confirm": "Botar fuora \"$1\"",
        "delete-legend": "Botar fuora",
-       "historywarning": "Abiso: La páigina que stás quaije a botar fuora ten un stórico:",
+       "historywarning": "<strong>Abiso:</strong> La páigina que stás quaije a botar fuora ten un stórico cun aprossimadamente $1 {{PLURAL:$1|rebison|rebisones}}:",
        "confirmdeletetext": "Stás quaije a botar fuora para siempre ua páigina ó ua eimaige i todos ls sous stóricos.\nPor fabor, bei se ye esso que quieres fazer, que antendes las cunsequéncias i se esso stá d'acordo culas [[{{MediaWiki:Policy-url}}|políticas]].",
        "actioncomplete": "Acion acabada",
        "deletedtext": "\"$1\" fue elhiminada.\nConsulte $2 para um registo de eliminações recentes.",
        "protect_expiry_old": "La data de balidade stá ne l passado.",
        "protect-text": "Tu eiqui puodes ber i demudar ls nibles de porteçon pa esta páigina '''$1'''.",
        "protect-locked-access": "La tue cuonta nun ten permissones pa demudar ls nibles de porteçon dua páigina.\nEsta ye la cunfiguraçon atual pa la páigina '''$1''':",
-       "protect-cascadeon": "Esta páigina ancontra-se portegida, ua beç que se ancontra ancluída {{PLURAL:$1|na páigina listada a seguir, portegida|nas páiginas listadas a seguir, portegidas}} cun la \"porteçon porgressiba\" atibada. Tu puodes demudar l nible de porteçon desta páigina, mas esso nun terá eifeito na \"porteçon an cachon\".",
+       "protect-cascadeon": "Esta páigina ancontra-se portegida, ua beç que se ancontra ancluída {{PLURAL:$1|na páigina listada a seguir, portegida|nas páiginas listadas a seguir, portegidas}} cun la porteçon porgressiba atibada.\nAltaraçones feitas al nible de proteçon desta páigina nun afetaran la proteçon porgressiba.",
        "protect-default": "Premitir todos ls outelizadores",
-       "protect-fallback": "Ye perciso la outorizaçon \"$1\"",
-       "protect-level-autoconfirmed": "Bloquiar outelizadores nuobos i por registrar",
-       "protect-level-sysop": "Solo admenistradores",
-       "protect-summary-cascade": "\"an cachon\"",
+       "protect-fallback": "Permitir solo outelizadores cul prebilégio de \"$1\"",
+       "protect-level-autoconfirmed": "Permitir solo als outelizadores outocunfirmados",
+       "protect-level-sysop": "Permitir solo als admenistradores",
+       "protect-summary-cascade": "an cachon",
        "protect-expiring": "termina an $1 (UTC)",
        "protect-cascade": "Portege qualquiera páigina que steia ancluída nesta (porteçon an cachon)",
        "protect-cantedit": "Tu nun puodes demudar l nible de porteçon desta páigina, porque tu nun tener outorizaçon pa la eiditar.",
        "namespace": "Spácio de nomes:",
        "invert": "Amberter scuolha",
        "blanknamespace": "(Percipal)",
-       "contributions": "Cuntribuiçones de l outelizador",
+       "contributions": "Cuntribuiçones {{GENDER:$1|de l outelizador|de la outelizadora|de l(a) outelizador(a)}}",
        "contributions-title": "Upas {{GENDER:$1|de l outelizador|de la outelizadora}} $1",
        "mycontris": "Las mies upas",
-       "contribsub2": "Pa $1 ($2)",
+       "contribsub2": "Pa {{GENDER:$3|$1}} ($2)",
        "uctop": "(rebison atual)",
        "month": "De l més (i atrasados):",
        "year": "De l anho (i atrasados):",
        "sp-contributions-newbies": "Percurar solo an las cuntribuiçones de nuobas cuontas",
-       "sp-contributions-newbies-sub": "Pa nuobas cuontas",
+       "sp-contributions-newbies-sub": "Pa cuontas nuobas",
        "sp-contributions-blocklog": "Registro de bloqueios",
        "sp-contributions-talk": "Cumbersa",
        "sp-contributions-search": "Percurar cuntribuiçones",
        "whatlinkshere": "L que lhiga eiqui",
        "whatlinkshere-title": "Páiginas que lhígan a \"$1\"",
        "whatlinkshere-page": "Páigina:",
-       "linkshere": "Estas páiginas ténen lhigaçones pa '''[[:$1]]''':",
+       "linkshere": "Estas páiginas ténen lhigaçones pa <strong>[[:$1]]</strong>:",
        "nolinkshere": "Nun eisisten lhigaçones pa '''[[:$1]]'''.",
        "isredirect": "páigina de ancaminamiento",
        "istemplate": "ancluson",
        "whatlinkshere-hidetrans": "$1 anclusones",
        "whatlinkshere-hidelinks": "$1 lhigaçones",
        "whatlinkshere-filters": "Filtros",
-       "blockip": "Bloquiar outelizador",
+       "blockip": "Bloquiar {{GENDER:$1|outelizador|outelizadora|outelizador(a)}}",
        "ipboptions": "2 horas:2 hours,1 die:1 day,3 dias:3 days,1 sumana:1 week,2 sumanas:2 weeks,1 més:1 month,3 meses:3 months,6 meses:6 months,1 anho:1 year,anfenito:infinite",
-       "ipblocklist": "IPs i outelizadores bloquiados",
+       "ipblocklist": "Outelizadores bloquiados",
        "blocklink": "bloquiar",
        "unblocklink": "zbloquiar",
        "change-blocklink": "altarar bloqueio",
-       "contribslink": "contribs",
+       "contribslink": "cuntribs",
        "blocklogpage": "Registro de l bloqueio",
        "blocklogentry": "\"[[$1]]\" fui bloquiado cun un tiempo de balidade de $2 $3",
        "unblocklogentry": "zbloqueste $1",
        "block-log-flags-nocreate": "criaçon de cuontas zatibada",
        "move-page": "Arrastrar $1",
        "move-page-legend": "Mover página",
-       "movepagetext": "Outelizando este formulário tu puodes renomear ua páigina, arrastrando to l stórico para l nuobo títalo. L títalo anterior será transformado nun ancaminamiento para l nuobo.\nYe possible amanhar de forma outomática ancaminamientos que lhigen un títalo oureginal.\nCauso scuolhas para que esso nun seia feito, bei se nun hai ancaminamientos [[Special:DoubleRedirects|dues bezes]] ó [[Special:BrokenRedirects|scachados]].\nYe de la tue respunsablidade tener la certeza de que las lhigaçones cuntinan a apuntar pa adonde dében.\n\nArrepara que la páigina '''nun''' será arrastrada se yá eisistir ua páigina cul nuobo títalo, a nun ser que steia bazio ó seia un ancaminamiento i nun tenga stórico de eidiçones. Esto quier dezir que puodes renomear outra beç ua páigina pa l nome que tenie antes de l anganho i que nun puodes subrescrebir ua páigina.\n\n<b>CUIDADO!</b>\nEsto puode ser ua altaraçon drástica i einesperada pa ua páigina popular; por fabor, ten la certeza de que antendes las cunsequéncias desto antes de cuntinar.",
-       "movepagetalktext": "La páigina de \"çcusson\" associada, se eistir, será outomaticamente arrastrada, '''a nun ser que:'''\n*Ua páigina de çcusson cun contenido yá eisista subre l nuobo títalo, ou\n*Tu marques la caixa ambaixo.\n\nNestes causos, tu terás que arrastrar ou ajuntar la páigina a la mano, se assi quejires.",
-       "newtitle": "Pa nuobo títalo:",
+       "movepagetext": "Outelizando este formulário tu puodes renomear ua páigina, arrastrando to l stórico para l nuobo títalo.\nL títalo anterior será transformado nun ancaminamiento para l nuobo.\nYe possible amanhar de forma outomática ancaminamientos que lhigen un títalo oureginal.\nCauso scuolhas para que esso nun seia feito, bei se nun hai ancaminamientos [[Special:DoubleRedirects|dues bezes]] ó [[Special:BrokenRedirects|scachados]].\nYe de la tue respunsablidade tener la certeza de que las lhigaçones cuntinan a apuntar pa adonde dében.\n\nArrepara que la páigina <strong>nun</strong> será arrastrada se yá eisistir ua páigina cul nuobo títalo, a nun ser que steia bazio ó seia un ancaminamiento i nun tenga stórico de eidiçones.\nEsto quier dezir que puodes renomear outra beç ua páigina pa l nome que tenie antes de l anganho i que nun puodes subrescrebir ua páigina.\n\n<strong>Cuidado:</strong>\nEsto puode ser ua altaraçon drástica i einesperada pa ua páigina popular;\npor fabor, ten la certeza de que antendes las cunsequéncias desto antes de cuntinar.",
+       "movepagetalktext": "Se assinalar esta oupçon, i eisistir ua páigina de çcusson associada, eilha será outomaticamente mobida, la nun ser que yá eisista ua páigina de çcusson cul nuobo títalo que nó steia bazie.\n\nNeste causo, tu terás de arrastrar la páigina de çcusson a la mano, ó la ajuntar cula eisistente, se assi quejires.",
+       "newtitle": "Nuobo títalo:",
        "move-watch": "Begiar esta páigina",
        "movepagebtn": "Arrastrar páigina",
        "pagemovedsub": "Páigina arrastrada cumo debe de ser",
        "thumbnail-more": "Oumentar",
        "thumbnail_error": "Erro al criar eimaige pequeinha: $1",
        "importlogpage": "Registro de amportaçones",
-       "tooltip-pt-userpage": "Páigina d'outelizador",
-       "tooltip-pt-mytalk": "Mie cumbersa",
-       "tooltip-pt-preferences": "Las mies perfréncias",
-       "tooltip-pt-watchlist": "Lhista de páiginas subre las quales stás a begiar las altaraçones.",
-       "tooltip-pt-mycontris": "Mies upas",
+       "tooltip-pt-userpage": "Páigina d'{{GENDER:|outelizador|outelizadora|outelizador(a)}}",
+       "tooltip-pt-mytalk": "{{GENDER:|Mie}} cumbersa",
+       "tooltip-pt-preferences": "Las {{GENDER:|mies}} perfréncias",
+       "tooltip-pt-watchlist": "Lhista de páiginas subre las quales stás a begiar las altaraçones",
+       "tooltip-pt-mycontris": "{{GENDER:|Mies}} upas",
        "tooltip-pt-login": "Tu sós animado pa que te outentiques, inda que esso nun seia oubrigatório.",
        "tooltip-pt-logout": "Salir",
        "tooltip-ca-talk": "Çcusson subre l cuntenido de la páigina",
-       "tooltip-ca-edit": "Tu puodes eiditar esta páigina. Por fabor, outeliza l boton \"Ber cumo queda\" antes de grabar.",
+       "tooltip-ca-edit": "Eiditar esta páigina",
        "tooltip-ca-addsection": "Ampeçar un cacho nuobo",
-       "tooltip-ca-viewsource": "Esta páigina stá portegida. Inda assi, tu puodes ber l sou código.",
+       "tooltip-ca-viewsource": "Esta páigina stá portegida.\nInda assi, tu puodes ber l sou código.",
        "tooltip-ca-history": "Eidiçones mais antigas deste páigina.",
        "tooltip-ca-protect": "Porteger esta páigina",
        "tooltip-ca-delete": "Botar fuora esta páigina",
        "tooltip-ca-move": "Arrastrar esta páigina",
        "tooltip-ca-watch": "Ajuntar esta páigina als mius begiados",
        "tooltip-ca-unwatch": "Botar pa la rue esta páigina de ls mius begiados",
-       "tooltip-search": "Pesquisa {{SITENAME}}",
+       "tooltip-search": "Percurar an {{SITENAME}}",
        "tooltip-search-go": "Ir pa ua páigina cun este nome, causo eisista",
        "tooltip-search-fulltext": "Percurar por páiginas cun este testo",
-       "tooltip-n-mainpage": "Besitar la Páigina Percipal",
+       "tooltip-n-mainpage": "Besitar la páigina percipal",
        "tooltip-n-mainpage-description": "Besitar la Páigina Percipal",
-       "tooltip-n-portal": "Subre l porjeto, l que puodes fazer, adonde ancuntrar cousas",
+       "tooltip-n-portal": "Subre l porjeto, l que puodes fazer, i adonde ancuntrar las cousas",
        "tooltip-n-currentevents": "Ancuntrar anformaçon de fondo subre amboras atuales",
-       "tooltip-n-recentchanges": "Lhista de redadeiras altaraçones nesta biqui.",
+       "tooltip-n-recentchanges": "Ua lhista de redadeiras altaraçones nesta biqui.",
        "tooltip-n-randompage": "Ber páigina al calhas",
-       "tooltip-n-help": "Lhugar cun anformaçon pa ajuda.",
+       "tooltip-n-help": "L lhugar cun anformaçon pa ajuda.",
        "tooltip-t-whatlinkshere": "Todas las páiginas que se lhigan eiqui",
        "tooltip-t-recentchangeslinked": "Redadeiras altaraçones an páiginas que ténen a ber cun esta",
        "tooltip-feed-rss": "Feed RSS pa esta páigina",
        "tooltip-feed-atom": "Feed Atom pa esta páigina",
-       "tooltip-t-contributions": "Ber las cuntribuiçones d'este outelizador",
-       "tooltip-t-emailuser": "Ambiar ua carta eiletrónica a este outelizador",
+       "tooltip-t-contributions": "Ber las cuntribuiçones {{GENDER:$1|deste outelizador|desta outelizadora|deste(a) outelizador(a)}}",
+       "tooltip-t-emailuser": "Ambiar ua carta eiletrónica a {{GENDER:$1|este outelizador|esta outelizadora|este(a) outelizador(a)}}",
        "tooltip-t-upload": "Cargar eimaiges ó fexeiros",
        "tooltip-t-specialpages": "Todas las páiginas speciales",
        "tooltip-t-print": "Berson pa ampremir desta páigina",
        "tooltip-t-permalink": "Lhigaçon pa siempre desta berson desta páigina",
        "tooltip-ca-nstab-main": "Ber la páigina de l cuntenido",
        "tooltip-ca-nstab-user": "Ber la páigina de l outelizador",
-       "tooltip-ca-nstab-special": "Esta ye ua páigina special, nun puode ser eiditada.",
+       "tooltip-ca-nstab-special": "Esta ye ua páigina special, nun puode ser eiditada.",
        "tooltip-ca-nstab-project": "Ber la páigina de l porjeto",
        "tooltip-ca-nstab-image": "Ber la páigina de l fexeiro",
        "tooltip-ca-nstab-template": "Ber l modelo",
        "tooltip-watch": "Ajuntar esta páigina als tous begiados",
        "tooltip-rollback": "\"{{int:rollbacklink}}\" çfazer, cun un solo clique, las eidiçones de l redadeiro eiditor desta páigina.",
        "tooltip-undo": "\"Çfazer\" çfaç esta eidiçoni abre ls campos de eidiçon ne l modo \"ber cumo queda\".\nPremite ajuntar la rezon de la eidiçon ne l sumário.",
+       "lastmodifiedatby": "Esta páigina fui eiditada pula redadeira beç a la(s) $2 de $1 por $3.",
        "previousdiff": "← Eidiçon d'atrás",
        "nextdiff": "Redadeira eidiçon →",
-       "file-info-size": "$1 × $2 pixel, tamanho: $3, tipo MIME: $4",
+       "file-info-size": "$1 × $2 píxeles, tamanho: $3, tipo MIME: $4",
        "file-nohires": "Sin resoluçon maior çponible.",
-       "svg-long-desc": "fexeiro SVG, de $1 × $2 pixeles, tamanho: $3",
-       "show-big-image": "Resoluçon cumpleta",
+       "svg-long-desc": "fexeiro SVG, de $1 × $2 píxeles, tamanho: $3",
+       "show-big-image": "Fexeiro oureginal",
        "newimages": "Galerie de nuobos fexeiros",
        "noimages": "Nun hai nada pa ber.",
        "ilsubmit": "Percurar",
-       "bad_image_list": "L formato ye l seguinte:\n\nSolo son cunsiderados cousas de la lista (lhinhas ampeçadas por *). La purmeira lhigaçon nua lhinha debe ser ua lhigaçon pa ua \"bad image\".\nLhigaçones a seguir na mesma lhinha son cunsideradas eicepçones, i.e. artigos adonde la eimaige puode acuntecer \"inline\".",
+       "bad_image_list": "L formato ye l seguinte:\n\nSolo son cunsiderados eilemientos de la lista (lhinhas ampeçadas por *).\nLa purmeira lhigaçon nua lhinha debe ser ua lhigaçon pa l fexeiro que se pretende bloquiar.\nLhigaçones a seguir na mesma lhinha son cunsideradas eicepçones, ó seia, páiginas adonde se puode aceder al fexeiro.",
        "metadata": "Metadados",
        "metadata-help": "Este fexeiro ten mais anformaçon, l mais cierto ajuntada a partir de la máquina de retratos ó de l ''scanner'' outelizada para l criar.\nCauso l fexeiro tenga sido demudado a partir de l sou stado oureginal, alguns detailhes poderán nun amostrar por cumpleto las altaraçones feitas.",
        "metadata-expand": "Amostrar mais detailhes",
        "metadata-collapse": "Scunder mais detailhes",
-       "metadata-fields": "Ls campos de metadados EXIF amostrados nesta mensaige poderán star persentes an la eisebiçon de la páigina de la eimaige quando la tabela de metadados stubir ne l modo \"spandida\". Outros poderán star scundidos por oumisson.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "metadata-fields": "Ls campos de metadados de eimaiges amostrados nesta mensaige seran ancluídos na páigina de çcriçon de la eimaige quando la tabela de metadados stubir ne l modo scundida. Outros campos staran scundidos por oumisson.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "Ancho",
        "exif-imagelength": "Altura",
        "exif-imagedescription": "Títalo de la eimaige",
        "exif-sharpness-1": "Suabe",
        "exif-sharpness-2": "Duro",
        "exif-subjectdistancerange-0": "Çcoincido",
-       "namespacesall": "todas",
+       "namespacesall": "todos",
        "monthsall": "todos",
        "confirm_purge_button": "Stá bien",
        "imgmultipageprev": "← páigina atrasada",
        "version-specialpages": "Páiginas Speciales",
        "version-variables": "Bariables",
        "version-other": "Outro",
-       "version-license": "Licença",
+       "version-license": "Lhicença de l MediaWiki",
        "version-software-product": "Perduto",
        "version-software-version": "Berson",
        "fileduplicatesearch-filename": "Nome de l fexeiro",
        "fileduplicatesearch-submit": "Percurar",
        "specialpages": "Páiginas speciales",
-       "specialpages-group-login": "Antrar / anscrebir",
+       "specialpages-group-login": "Antrar / criar ua cuonta",
        "specialpages-group-pages": "Lhistas de páiginas",
        "specialpages-group-pagetools": "Ferramienta de páiginas",
        "tags-title": "Eitiquetas",
index 562a819..309a992 100644 (file)
@@ -87,6 +87,7 @@
        "tog-watchlisthideminor": "Skjul mindre endringer fra overvåkningslisten",
        "tog-watchlisthideliu": "Skjul endringer av innloggede brukere fra overvåkningslisten",
        "tog-watchlistreloadautomatically": "Oppdater oversiktslisten automatisk når et filter er endret (JavaScript kreves)",
+       "tog-watchlistunwatchlinks": "Legg til lenker for å overvåke/fjerne overvåking direkte i overvåkningslisten (JavaScript kreves)",
        "tog-watchlisthideanons": "Skjul endringer av anonyme brukere fra overvåkningslisten",
        "tog-watchlisthidepatrolled": "Skjul patruljerte endringer fra overvåkningslisten",
        "tog-watchlisthidecategorization": "Skjul kategorisering av sider",
        "rcfilters-restore-default-filters": "Gjenopprett standardfiltre",
        "rcfilters-clear-all-filters": "Nullstill alle filtre",
        "rcfilters-show-new-changes": "Vis de nyeste endringene",
-       "rcfilters-previous-changes-label": "Endringer som har blitt vist tidligere",
        "rcfilters-search-placeholder": "Filtrer siste endringer (søk eller begyn å skrive)",
        "rcfilters-invalid-filter": "Ugyldig filter",
        "rcfilters-empty-filter": "Ingen aktive filtre. Alle bidrag vises.",
        "rcfilters-filterlist-noresults": "Ingen filtre funnet",
        "rcfilters-noresults-conflict": "Ingen resultater funnet fordi søkekriteriene konflikterer",
        "rcfilters-state-message-subset": "Dette filteret har ingen effekt fordi resultatene dens inkluderes i følgende, bredere {{PLURAL:$2|filter|filtre}} (prøv å merke for å skille det ut): $1",
-       "rcfilters-state-message-fullcoverage": "Å velge alle filtre i en gruppe er det samme som å velge ingen, så dette filteret har ingen effekt. Gruppa inkluderer: $1",
+       "rcfilters-state-message-fullcoverage": "Å velge alle filtre i en gruppe er det samme som ikke å velge noen, så dette filteret har ingen effekt. Gruppen inkluderer: $1",
        "rcfilters-filtergroup-authorship": "Bidragets forfatter",
        "rcfilters-filter-editsbyself-label": "Dine redigeringer",
        "rcfilters-filter-editsbyself-description": "Dine egne bidrag.",
        "rcfilters-filter-watchlist-watchednew-description": "Endringer i overvåkede sider du ikke har besøkt siden endringen(e) ble gjort.",
        "rcfilters-filter-watchlist-notwatched-label": "Ikke på overvåkningslista.",
        "rcfilters-filter-watchlist-notwatched-description": "Alt utenom endringer på sider på overvåkningslista di.",
+       "rcfilters-filtergroup-watchlistactivity": "Overvåkningsliste",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Usette endringer",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Endringer av sider som du ikke ha besøkt siden endringene ble utført.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Sette endringer",
+       "rcfilters-filter-watchlistactivity-seen-description": "Endringer av sider du har besøkt siden endringene ble utført.",
        "rcfilters-filtergroup-changetype": "Type endring",
        "rcfilters-filter-pageedits-label": "Sideredigeringer",
        "rcfilters-filter-pageedits-description": "Redigeringer til wikiinnhold, diskusjoner, kategoribeskrivelser ...",
        "rcfilters-liveupdates-button": "Live-oppdateringer",
        "rcfilters-liveupdates-button-title-on": "Slå av live-oppdateringer",
        "rcfilters-liveupdates-button-title-off": "Vis nye endringer når de skjer",
+       "rcfilters-watchlist-markSeen-button": "Merk alle endringer som sett.",
        "rcnotefrom": "Nedenfor er vist {{PLURAL:$5|endringen|endringene}} som er gjort siden <strong>$3, $4</strong> (frem til <strong>$1</strong>).",
        "rclistfromreset": "Nullstill datovalg",
        "rclistfrom": "Vis nye endringer fra og med $3 $2",
index 1b1d4bc..c2722ac 100644 (file)
        "permissionserrorstext": "तपाईँलाई यसको लागि अनुमति छैन ,निम्न {{PLURAL:$1|कारण|कारणहरू}}ले गर्दा:",
        "permissionserrorstext-withaction": "$2 को लागि तपाईलाई अनुमति छैन , निम्न {{PLURAL:$1|कारणले|कारणहरूले}} गर्दा :",
        "recreate-moveddeleted-warn": "'''चेतावनी: तपाईं अघिबाट मेटिएको पृष्ठ पुनर्निर्माण गर्नुहुँदैछ'''\n\nतपाईंको विचारमा के यो उचित छ कि यसको सम्पादन जारी राखियोस्, \nयस पृष्ठको मेटिएको र सारिएको लग सुविधाको निम्ति यहाँ दिइएकोछ :",
-       "moveddeleted-notice": "पà¥\83षà¥\8dठ à¤®à¥\87à¤\9fिà¤\8fà¤\95à¥\8b à¤\9b à¥¤\nमà¥\87à¤\9fिà¤\8fà¤\95ा à¤¤à¤¥à¤¾ à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95ा à¤ªà¥\83षà¥\8dठहरà¥\82à¤\95à¥\8b à¤¸à¥\82à¤\9aà¥\80 à¤¤à¤² à¤¸à¤¨à¥\8dदरà¥\8dभà¤\95à¥\8b à¤²à¤¾à¤\97ि à¤¦à¤¿à¤\87à¤\8fà¤\95à¥\8b à¤\9b ।",
+       "moveddeleted-notice": "यस à¤ªà¥\83षà¥\8dठलाà¤\88 à¤®à¥\87à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤\9b।\nमà¥\87à¤\9fाà¤\87à¤\8fà¤\95ा, à¤¸à¤\82रà¤\95à¥\8dषित à¤¤à¤¥à¤¾ à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95ा à¤ªà¥\83षà¥\8dठहरà¥\82à¤\95à¥\8b à¤\87तिहास à¤¸à¥\82à¤\9aà¥\80 à¤¸à¤¨à¥\8dदरà¥\8dभà¤\95à¥\8b à¤²à¤¾à¤\97ि à¤¤à¤² à¤¦à¤¿à¤\87à¤\8fà¤\95à¥\8b à¤\9b।",
        "log-fulllog": "पूरा लग हेर्नुहोस्",
        "edit-hook-aborted": "हुकले सम्पादन बन्द गरिदियो ।\nयसले कुनै कारण दिएन ।",
        "edit-gone-missing": "पृष्ठ अद्यतन गर्न सकिएन\nयो मेटिएको जस्तो देखिन्छ ।",
        "prefs-editwatchlist-clear": "तपाईंको अवलोकनसूची मेट्नुहोस",
        "prefs-watchlist-days": "निगरानी सूचीमा देखाउन दिनहरू:",
        "prefs-watchlist-days-max": "धेरैमा $1 {{PLURAL:$1|दिन|दिन}}",
-       "prefs-watchlist-edits": "à¤\89à¤\9aà¥\8dà¤\9aतम à¤ªà¤°à¤¿à¤µà¤°à¥\8dतन à¤¸à¤\82à¤\96à¥\8dया à¤¬à¤¢à¤¾à¤\87à¤\8fà¤\95à¥\8b à¤¨à¤¿à¤\97रानà¥\80 à¤¸à¥\82à¤\9aà¥\80मा  à¤¦à¥\87à¤\96ाà¤\89नà¤\95à¥\8b à¤²à¤¾à¤\97ि :",
+       "prefs-watchlist-edits": "निà¤\97रानà¥\80 à¤¸à¥\82à¤\9aà¥\80मा à¤¦à¥\87à¤\96ाà¤\89नà¤\95à¥\8b à¤²à¤¾à¤\97ि à¤\89à¤\9aà¥\8dà¤\9aतम à¤ªà¤°à¤¿à¤µà¤°à¥\8dतन à¤¸à¤\82à¤\96à¥\8dया:",
        "prefs-watchlist-edits-max": "उच्चतम संख्या : १०००",
        "prefs-watchlist-token": "अवलोकन सूची टोकन:",
        "prefs-misc": "साधारण",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नयाँ पृष्ठहरूको सूची]] यो पनि हेर्नुहोस्)",
        "recentchanges-legend-plusminus": "(''±१२३'')",
        "recentchanges-submit": "देखाउनुहोस्",
+       "rcfilters-tag-remove": "'$1' हटाउनुहोस्",
        "rcfilters-show-new-changes": "नवीनतम परिवर्तनहरू हेर्नुहोस्",
+       "rcfilters-filter-watchlistactivity-unseen-label": "नहेरिएका परिवर्तनहरू",
+       "rcfilters-filter-watchlistactivity-seen-label": "हेरिएका परिवर्तनहरू",
        "rcnotefrom": "तल <strong>$2</strong> देखि (<strong>$1</strong> सम्म) {{PLURAL:$5|भएका परिवर्तनहरू देखाइएको छ|भएका परिवर्तनहरू देखाइन्छ}}।",
        "rclistfrom": "$3 $2 देखिका नयाँ परिवर्तनहरू देखाउनु",
        "rcshowhideminor": "$1 सामान्य सम्पादन",
        "import-nonewrevisions": "सबै पुनरावलोकनहरू पहिले नै आयात गरिएको हो।",
        "xml-error-string": "$1  पंक्ति $2 , हरफ $3 (बाइट $4): $5",
        "import-upload": "XML डेटा अपलोड गर्ने",
-       "import-token-mismatch": "सतà¥\8dर à¤\9cानà¤\95ारà¥\80 à¤¨à¤·à¥\8dà¤\9f à¤­à¤¯à¥\8b\nà¤\95à¥\83पया à¤ªà¥\81न: à¤ªà¥\8dरयास गर्नुहोस्।",
+       "import-token-mismatch": "तपाà¤\88à¤\82 à¤¬à¤¾à¤¹à¤¿à¤°à¥\80 à¤¸à¤\95à¥\8dनà¥\81भà¤\8fà¤\95à¥\8b à¤¹à¥\81नसà¤\95à¥\8dà¤\9b। '''तपाà¤\88à¤\82 à¤²à¤\97à¤\87न à¤¹à¥\81नà¥\81हà¥\81नà¥\8dà¤\9b à¤­à¤¨à¥\80 à¤\9cाà¤\81à¤\9a à¤\97रà¥\80 à¤ªà¥\81नà¤\83 à¤ªà¥\8dरयास à¤\97रà¥\8dनà¥\81हà¥\8bसà¥\8d'''। à¤¯à¤¦à¤¿ à¤\85à¤\9dà¥\88 à¤\95ाम à¤\97रà¥\87न à¤­à¤¨à¥\87 [[Special:UserLogout|लà¤\97 à¤\86à¤\89à¤\9f]] à¤\97रà¥\80 à¤²à¤\97à¤\87न à¤\97रà¥\8dनà¥\81हà¥\8bसà¥\8d à¤° à¤¯à¤¸à¤\95ा à¤¸à¤¾à¤¥à¥\88 à¤¤à¤ªà¤¾à¤\88à¤\82à¤\95à¥\8b à¤¬à¥\8dराà¤\89à¤\9cरलà¥\87 à¤¯à¤¸ à¤µà¥\87बसाà¤\87à¤\9fबाà¤\9f à¤\95à¥\81à¤\95à¥\80à¤\9cलाà¤\88 à¤¸à¤®à¤°à¥\8dथनà¤\95à¥\8b à¤\9cाà¤\81à¤\9a गर्नुहोस्।",
        "import-invalid-interwiki": "खुलाइएको विकिबाट आयात गर्न सकिएन",
        "import-error-edit": "तपाईंलाई सम्पादन गर्ने अनुमति नभएको पृष्ठ \"$1\" आयात गरिएन ।",
        "import-error-create": "तपाईंलाई नयाँ बनाउने अनुमति नभएको पृष्ठ \"$1\" आयात गरिएन ।",
        "compare-invalid-title": "तपाईंले खुलाउनु भएको शिर्षक अमान्य छ।",
        "compare-title-not-exists": "तपाईंले खुलाउनु भएको शिर्षक उपलब्ध छैन ।",
        "compare-revision-not-exists": "तपाईंले खुलाउनु भएको संस्करण उपलब्ध छैन ।",
-       "diff-form": "à¤\8fà¤\95 '''फारम'''",
+       "diff-form": "भिनà¥\8dनताहरà¥\82",
        "dberr-problems": "क्षमा पाउँ! यो साइटमा तकनीकी गड़बड़ी आइपरेकोछ।",
        "dberr-again": "केही समय पर्खिएर पुन: लोड हुन दिनुहोस् ।",
        "dberr-info": "(डेटाबेस सर्भर: $1 सँग सम्पर्क स्थापित गर्न सकिएन)",
index 1c863bd..33c2851 100644 (file)
        "rcfilters-restore-default-filters": "Standaard filters terugzetten",
        "rcfilters-clear-all-filters": "Alle filters verwijderen",
        "rcfilters-show-new-changes": "Toon nieuwste wijzigingen",
-       "rcfilters-previous-changes-label": "Eerder bekeken wijzigingen",
        "rcfilters-search-placeholder": "Filter recente wijzigingen (blader of begin met intypen)",
        "rcfilters-invalid-filter": "Ongeldig filter",
        "rcfilters-empty-filter": "Geen actieve filters. Alle bijdragen worden weergeven.",
        "rcfilters-filterlist-noresults": "Geen filters gevonden",
        "rcfilters-noresults-conflict": "Geen resultaten gevonden omdat de zoekcriteria met elkaar conflicteren",
        "rcfilters-state-message-subset": "Dit filter heeft geen effect omdat de resultaten ook worden gefilterd door {{PLURAL:$2|het|de}} bredere {{PLURAL:$2|filter|filters}} (probeer ze te markeren om ze te onderscheiden): $1",
-       "rcfilters-state-message-fullcoverage": "Het selecteren van alle filters in deze groep is hetzelfde als geen filter selecteren, waardoor dit filter geen effect heeft. De groep bevat: $1",
+       "rcfilters-state-message-fullcoverage": "Het selecteren van alle filters in deze groep doet hetzelfde als geen filter selecteren, waardoor dit filter geen effect heeft. De groep bevat: $1",
        "rcfilters-filtergroup-authorship": "Auteur van de bijdragen",
        "rcfilters-filter-editsbyself-label": "Uw eigen wijzigingen",
        "rcfilters-filter-editsbyself-description": "Uw eigen bijdragen.",
        "rcfilters-filter-watchlist-watchednew-description": "Wijzigingen aan pagina's die op uw volglijst staan, die u nog niet hebt bezocht sinds de wijziging.",
        "rcfilters-filter-watchlist-notwatched-label": "Niet op de volglijst",
        "rcfilters-filter-watchlist-notwatched-description": "Alles behalve wijzigingen aan pagina's die op uw volglijst staan.",
+       "rcfilters-filtergroup-watchlistactivity": "Volglijst activiteit",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Onbezochte wijzigingen",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Wijzigingen aan pagina's die u nog niet hebt bezocht sinds de wijziging.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Bezochte wijzigingen",
+       "rcfilters-filter-watchlistactivity-seen-description": "Wijzingingen aan pagina's die u hebt bezocht sinds de wijziging.",
        "rcfilters-filtergroup-changetype": "Soort wijziging",
        "rcfilters-filter-pageedits-label": "Paginabewerkingen",
        "rcfilters-filter-pageedits-description": "Wijzigingen aan de wiki inhoud, discussies, categorie beschrijvingen…",
        "rcfilters-liveupdates-button": "Liveupdates",
        "rcfilters-liveupdates-button-title-on": "Live updates uitschakelen",
        "rcfilters-liveupdates-button-title-off": "Toon nieuwe wijzigingen op het moment dat ze gebeuren",
+       "rcfilters-watchlist-markSeen-button": "Alle wijzigingen markeren als bezocht.",
        "rcnotefrom": "Wijzigingen sinds <strong>$3 om $4</strong> (maximaal <strong>$1</strong> {{PLURAL:$1|wijziging|wijzigingen}}).",
        "rclistfromreset": "Datum selectie opnieuw instellen",
        "rclistfrom": "Wijzigingen bekijken vanaf $3 $2",
        "watching": "Bezig met plaatsen op volglijst…",
        "unwatching": "Bezig met verwijderen van volglijst…",
        "watcherrortext": "Er is een fout opgetreden tijdens het wijzigen van uw volglijstinstellingen voor \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Alle pagina's markeren als bezocht",
        "enotif_impersonal_salutation": "gebruiker van {{SITENAME}}",
        "enotif_subject_deleted": "{{SITENAME}}: pagina $1 is verwijderd door {{GENDER:$2|$2}}",
        "compare-title-not-exists": "De titel die u hebt opgegeven bestaat niet.",
        "compare-revision-not-exists": "De versie die u hebt opgegeven bestaat niet.",
        "diff-form": "Wijzigingen",
+       "diff-form-oldid": "Oude versienummer (optioneel)",
        "diff-form-revid": "Versienummer van de wijziging",
        "diff-form-submit": "Verschillen weergeven",
        "permanentlink": "Permanente koppeling",
        "undelete-cantedit": "U kunt deze pagina niet terug plaatsen omdat u niet het recht hebt om deze pagina te bewerken.",
        "undelete-cantcreate": "U kunt deze pagina niet terugplaatsen omdat er geen bestaande pagina met deze naam is en u geen toestemming hebt om deze pagina aan te maken.",
        "pagedata-title": "Pagina data",
+       "pagedata-text": "Deze pagina biedt een data interface voor pagina's. Geef een pagina titel op door deze in de URL te plaatsen, met behulp van de deelpagina syntax.\n* De toegepaste inhoudsindeling wordt gebaseerd op de door de client meegestuurde Accept Header. Dit betekent dat de pagina'data wordt aangeleverd in het formaat waaraan de client de voorkeur geeft.",
        "pagedata-not-acceptable": "Er is geen overeenkomende indeling gevonden. Ondersteunde MIME-typen: $1",
        "pagedata-bad-title": "Ongeldige titel: $1."
 }
index 416b587..9fa7425 100644 (file)
        "rcfilters-days-title": "Dei siste dagane",
        "rcfilters-hours-title": "Dei siste timane",
        "rcfilters-days-show-days": "{{PLURAL:$1|Éin dag|$1 dagar}}",
-       "rcfilters-quickfilters": "Lagra filterinnstillingar",
+       "rcfilters-quickfilters": "Lagra filter",
        "rcfilters-quickfilters-placeholder-title": "Ingen lenkjer er lagra enno",
        "rcfilters-quickfilters-placeholder-description": "For å lagra filterinnstillingane dine og bruka dei på nytt seinare, klikk på bokmerkeikonet i området for aktive filter under.",
        "rcfilters-savedqueries-defaultlabel": "Lagra filter",
        "logempty": "Ingen element i loggen passar.",
        "log-title-wildcard": "Søk i titlar som byrjar med denne teksten",
        "showhideselectedlogentries": "Vis/gøym valde loggoppføringar",
+       "log-edit-tags": "Endra merka til valde loggoppføringar",
        "checkbox-all": "Alle",
        "checkbox-none": "Ingen",
        "checkbox-invert": "Vreng",
        "tags-create-reason": "Årsak:",
        "tags-create-submit": "Opprett",
        "tags-create-no-name": "Du må oppgje eit merkenamn.",
+       "tags-edit-title": "Endra merke",
        "tags-edit-existing-tags-none": "«Ingen»",
        "tags-edit-chosen-placeholder": "Vel nokre merke",
        "comparepages": "Samanlikna sider",
index 1ebb171..431ab09 100644 (file)
@@ -48,7 +48,7 @@
        "tog-shownumberswatching": "Afichar lo nombre d'utilizaires que seguisson aquesta pagina",
        "tog-oldsig": "Vòstra signatura existenta :",
        "tog-fancysig": "Tractar la signatura coma de wikitèxte (sens ligam automatic)",
-       "tog-uselivepreview": "Utilizar l’apercebut rapid",
+       "tog-uselivepreview": "Afichar los apercebuts sens recargar la pagina",
        "tog-forceeditsummary": "M'avertir quand ai pas completat lo contengut de la bóstia de comentaris",
        "tog-watchlisthideown": "Amagar mas pròprias modificacions dins la lista de seguiment",
        "tog-watchlisthidebots": "Amagar los cambiaments faits pels bòts dins la lista de seguiment",
        "anontalk": "Discussion",
        "navigation": "Navigacion",
        "and": "&#32;e",
-       "qbfind": "Recercar",
-       "qbbrowse": "Far desfilar",
-       "qbedit": "Modificar",
-       "qbpageoptions": "Opcions de la pagina",
-       "qbmyoptions": "Mas opcions",
        "faq": "FAQ",
-       "faqpage": "Project:FAQ",
        "actions": "Accions",
        "namespaces": "Espacis de noms",
        "variants": "Variantas",
        "edit-local": "Modificar la descripcion locala",
        "create": "Crear",
        "create-local": "Apondre una descripcion locala",
-       "editthispage": "Modificar aquesta pagina",
-       "create-this-page": "Crear aquesta pagina",
        "delete": "Suprimir",
-       "deletethispage": "Suprimir aquesta pagina",
-       "undeletethispage": "Anullar la supression d'aquesta pagina",
        "undelete_short": "Restablir {{PLURAL:$1|1 modificacion| $1 modificacions}}",
        "viewdeleted_short": "Veire {{PLURAL:$1|una edicion escafada|$1 edicions escafadas}}",
        "protect": "Protegir",
        "protect_change": "modificar",
-       "protectthispage": "Protegir aquesta pagina",
        "unprotect": "Desprotegir",
-       "unprotectthispage": "Desprotegir aquesta pagina",
        "newpage": "Pagina novèla",
-       "talkpage": "Pagina de discussion",
        "talkpagelinktext": "Discussion",
        "specialpage": "Pagina especiala",
        "personaltools": "Aisinas personalas",
-       "articlepage": "Vejatz l'article",
        "talk": "Discussion",
        "views": "Afichatges",
        "toolbox": "Aisinas",
        "tool-link-userrights": "Modificar los gropes de {{GENDER:$1|l’utilizaire|l’utilizaira}}",
        "tool-link-userrights-readonly": "Veire los {{GENDER:$1|gropes utilizaire}}",
        "tool-link-emailuser": "Mandar un corrièr electronic a {{GENDER:$1|l’utilizaire|l’utilizaira}}",
-       "userpage": "Pagina d'utilizaire",
-       "projectpage": "Pagina meta",
        "imagepage": "Veire la pagina del fichièr",
        "mediawikipage": "Vejatz la pagina dels messatges",
        "templatepage": "Vejatz la pagina del modèl",
        "redirectedfrom": "(Redirigit dempuèi $1)",
        "redirectpagesub": "Pagina de redireccion",
        "redirectto": "Redirigir cap a :",
-       "lastmodifiedat": "Darrièr cambiament d'aquesta pagina lo $1, a $2.",
+       "lastmodifiedat": "Aquesta pagina es estada modificada pel darrièr còp lo $1 a $2.",
        "viewcount": "Aquesta pagina es estada consultada {{PLURAL:$1|un còp|$1 còps}}.",
        "protectedpage": "Pagina protegida",
        "jumpto": "Anar a :",
        "permissionserrorstext": "Avètz pas la permission d’efectuar l’operacion demandada per {{PLURAL:$1|la rason seguenta|las rasons seguentas}} :",
        "permissionserrorstext-withaction": "Sètz pas autorizat(ada) a $2, per {{PLURAL:$1|la rason seguenta|las rasons seguentas}} :",
        "recreate-moveddeleted-warn": "'''Atencion : sètz a tornar crear una pagina qu'es estada suprimida precedentament.'''\n\nDemandatz-vos s'es vertadièrament apropriat de contunhar de l’editar.\nL’istoric de las supressions e dels cambiaments de nom es afichat çaijós :",
-       "moveddeleted-notice": "Aquesta pagina es estada suprimida.\nL'istoric de las supressions e dels cambiaments de nom es afichat çaijós coma referéncia.",
+       "moveddeleted-notice": "Aquesta pagina es estada suprimida.\nLo jornal de las supressions, de las proteccions e dels desplaçaments de la pagina es afichat çaijós per referéncia.",
        "log-fulllog": "Veire lo jornal complet",
        "edit-hook-aborted": "Modificacion fracassada per croquet.\nCap d'explicacion pas balhada.",
        "edit-gone-missing": "A pas pogut metre a jorn la pagina.\nSembla que siá estada suprimida.",
        "search-category": "(categoria $1)",
        "search-file-match": "(correspond al contengut del fichièr)",
        "search-suggest": "Avètz volgut dire : $1",
-       "search-interwiki-caption": "Projèctes fraires",
+       "search-interwiki-caption": "Resultats dels projèctes fraires",
        "search-interwiki-default": "Resultats de $1 :",
        "search-interwiki-more": "(mai)",
        "search-interwiki-more-results": "mai de resultats",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (veire tanben la [[Special:NewPages|lista de las paginas novèlas]]).",
        "recentchanges-submit": "Afichar",
        "rcfilters-activefilters": "Filtres actius",
+       "rcfilters-hours-title": "Darrièras oras",
+       "rcfilters-days-show-days": "($1 {{PLURAL:$1|jorn|jorns}})",
+       "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ora|oras}}",
+       "rcfilters-quickfilters": "Filtres salvats",
+       "rcfilters-savedqueries-defaultlabel": "Filtres salvats",
+       "rcfilters-savedqueries-rename": "Renomenar",
+       "rcfilters-savedqueries-setdefault": "Activar per defaut",
+       "rcfilters-savedqueries-unsetdefault": "Suprimir per defaut",
+       "rcfilters-savedqueries-remove": "Suprimir",
+       "rcfilters-savedqueries-new-name-label": "Nom",
+       "rcfilters-savedqueries-new-name-placeholder": "Descriure l'objècte del filtre",
+       "rcfilters-savedqueries-apply-label": "Crear un filtre",
+       "rcfilters-savedqueries-apply-and-setdefault-label": "Crear lo filtre per defaut",
+       "rcfilters-savedqueries-cancel-label": "Anullar",
        "rcfilters-invalid-filter": "Filtre pas valid",
        "rcfilters-filterlist-title": "Filtres",
+       "rcfilters-highlightmenu-title": "Causir una color",
        "rcfilters-filterlist-noresults": "Cap de filtre pas trobat",
-       "rcfilters-filtergroup-registration": "Inscripcion de l'utilizaire",
-       "rcfilters-filter-registered-label": "Enregistrat",
-       "rcfilters-filter-registered-description": "Editors connectats.",
-       "rcfilters-filter-unregistered-label": "Desinscrit",
-       "rcfilters-filter-unregistered-description": "Editors que son pas connectats.",
-       "rcfilters-filtergroup-authorship": "Modificar la paternitat",
-       "rcfilters-filter-editsbyself-label": "Vòstras pròprias modificacions",
-       "rcfilters-filter-editsbyself-description": "Vòstras modificacions.",
-       "rcfilters-filter-editsbyother-label": "Modificacions per d’autres.",
+       "rcfilters-filtergroup-authorship": "Paternitat de las contribucions",
+       "rcfilters-filter-editsbyself-label": "Modificacions faitas per vos",
+       "rcfilters-filter-editsbyself-description": "Vòstras pròprias contribucions.",
+       "rcfilters-filter-editsbyother-label": "Modificacions faitas pels autres.",
+       "rcfilters-filter-user-experience-level-registered-label": "Connectat",
+       "rcfilters-filter-user-experience-level-registered-description": "Editors connectats.",
+       "rcfilters-filter-user-experience-level-unregistered-label": "Pas connectat",
+       "rcfilters-filter-user-experience-level-unregistered-description": "Editors que son pas connectats.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Novèls arribants",
        "rcfilters-filter-user-experience-level-learner-label": "Aprenents",
        "rcfilters-filter-user-experience-level-experienced-label": "Utilizaires experimentats",
        "rcfilters-filter-bots-label": "Robòt",
        "rcfilters-filter-humans-label": "Èsser uman (pas robòt)",
        "rcfilters-filter-humans-description": "Modificacions faitas per d'editors umans.",
+       "rcfilters-filter-patrolled-label": "Patrolhat",
+       "rcfilters-filter-unpatrolled-label": "Pas patrolhat",
        "rcfilters-filtergroup-significance": "Significacion",
        "rcfilters-filter-minor-label": "Cambiaments menors",
        "rcfilters-filter-minor-description": "Modificacions que l'autor a marcadas coma menoras.",
        "version-libraries-description": "Descripcion",
        "version-libraries-authors": "Autors",
        "redirect": "Redirigir per ID de fichièr, utilizaire, pagina, revision o jornal.",
+       "redirect-summary": "Aquesta pagina especiala redirigís cap a un fichièr (nom de fichièr provesit), una pagina (ID de revision o de pagina provesit), una pagina d’utilizaire (identificant numeric de l’utilizaire provesit), o una entrada de jornal (ID del jornal provesit). Utilizacion : [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], o [[{{#Special:Redirect}}/logid/186]].",
        "redirect-submit": "Validar",
        "redirect-lookup": "Recèrca :",
        "redirect-value": "Valor :",
        "fileduplicatesearch-noresults": "Cap de fichièr nomenat « $1 » es pas estat trobat.",
        "specialpages": "Paginas especialas",
        "specialpages-note-top": "Legenda",
-       "specialpages-note": "* Paginas especialas normalas.\n* <span class=\"mw-specialpagerestricted\">Paginas especialas restrentas.</span>",
        "specialpages-group-maintenance": "Rapòrts de mantenença",
        "specialpages-group-other": "Autras paginas especialas",
        "specialpages-group-login": "S'identificar / s'inscriure",
        "compare-invalid-title": "Lo títol qu'avètz especificat es incorrècte.",
        "compare-title-not-exists": "Lo títol qu'avètz especificat existís pas",
        "compare-revision-not-exists": "La revision qu'avètz especificada existís pas.",
+       "diff-form": "Diferéncias",
        "dberr-problems": "O planhèm ! Aqueste site rencontra de dificultats tecnicas.",
        "dberr-again": "Ensajatz d'esperar qualques minutas e tornatz cargar.",
        "dberr-info": "(Accès a la basa de donadas impossible : $1)",
        "htmlform-user-not-valid": "<strong>$1</strong> es pas un nom d'utilizaire valid.",
        "logentry-delete-delete": "$1 {{GENDER:$2|a suprimit}} la pagina $3",
        "logentry-delete-delete_redir": "$1 {{GENDER:$2|suprimit}} redirigit cap a $3 per espotiment.",
-       "logentry-delete-restore": "$1 {{GENDER:$2|a restablit}} la pagina $3",
+       "logentry-delete-restore": "$1 {{GENDER:$2|a restablit}} la pagina $3 ($4)",
        "logentry-delete-event": "$1 {{GENDER:$2|a modificat}} la visibilitat {{PLURAL:$5|d'un eveniment del jornal|de $5 eveniments del jornal}} sus $3 : $4",
        "logentry-delete-revision": "$1 {{GENDER:$2|a modificat}} la visibilitat {{PLURAL:$5|d'una revision|de $5 revisions}} sus la pagina $3 : $4",
        "logentry-delete-event-legacy": "$1 {{GENDER:$2|a modificat}} la visibilitat dels eveniments del jornal sus $3",
index 01eb029..dffa81b 100644 (file)
        "tog-watchlisthideminor": "Ukryj drobne zmiany na liście obserwowanych",
        "tog-watchlisthideliu": "Ukryj edycje zalogowanych użytkowników na liście obserwowanych",
        "tog-watchlistreloadautomatically": "Automatycznie odświeżaj listę obserwowanych po każdej zmianie filtra (wymagany JavaScript)",
+       "tog-watchlistunwatchlinks": "Pokazuj linki obserwuj/nie obserwuj bezpośrednio przy wpisach na liście obserwowanych (wymagany JavaScript do funkcji przełączania)",
        "tog-watchlisthideanons": "Ukryj edycje anonimowych użytkowników na liście obserwowanych",
        "tog-watchlisthidepatrolled": "Ukryj sprawdzone edycje na liście obserwowanych",
        "tog-watchlisthidecategorization": "Ukryj kategoryzację stron",
        "rcfilters-restore-default-filters": "Przywróć domyślne filtry",
        "rcfilters-clear-all-filters": "Wyczyść filtry",
        "rcfilters-show-new-changes": "Zobacz nowsze zmiany",
-       "rcfilters-previous-changes-label": "Poprzednio wyświetlane zmiany",
        "rcfilters-search-placeholder": "Filtruj ostatnie zmiany (przeglądaj lub zacznij wpisywać)",
        "rcfilters-invalid-filter": "Nieprawidłowy filtr",
        "rcfilters-empty-filter": "Brak aktywnych filtrów. Wyświetlane są wszystkie zmiany.",
        "rcfilters-filterlist-noresults": "Nie znaleziono filtrów",
        "rcfilters-noresults-conflict": "Nie znaleziono wyników z powodu konfliktu kryteriów wyszukiwania",
        "rcfilters-state-message-subset": "Ten filtr nie wywoła efektu, ponieważ pasujące do niego wyniki są zawarte w bardziej {{PLURAL:$2|szczegółowym filtrze|szczegółowych filtrach}} (spróbuj podświetlić, aby je rozróżnić): $1",
-       "rcfilters-state-message-fullcoverage": "Wybranie wszystkich filtrów w grupie działa tak samo jak niewybranie żadnego, więc taki filtr nie da żadnego efektu. W grupie zawarto też: $1",
+       "rcfilters-state-message-fullcoverage": "Wybranie wszystkich filtrów w tej grupie działa tak samo jak niewybranie żadnego, więc taki filtr nie da żadnego efektu. W grupie zawarto też: $1",
        "rcfilters-filtergroup-authorship": "Autorstwo wkładu",
        "rcfilters-filter-editsbyself-label": "Zmiany dokonane przeze mnie",
        "rcfilters-filter-editsbyself-description": "Czynności dokonane przez Ciebie.",
        "rcfilters-filter-watchlist-watchednew-description": "Zmiany na obserwowanych stronach, których jeszcze nie odwiedziłeś.",
        "rcfilters-filter-watchlist-notwatched-label": "Tylko spoza obserwowanych",
        "rcfilters-filter-watchlist-notwatched-description": "Wszystko oprócz zmian na obserwowanych przez ciebie stronach.",
+       "rcfilters-filtergroup-watchlistactivity": "Aktywność na liście obserwowanych",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Nieobejrzane zmiany",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Zmiany na stronach, których nie odwiedzono od momentu dokonania zmian.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Obejrzane zmiany",
+       "rcfilters-filter-watchlistactivity-seen-description": "Zmiany na stronach, które odwiedzono od momentu dokonania zmian.",
        "rcfilters-filtergroup-changetype": "Rodzaj zmiany",
        "rcfilters-filter-pageedits-label": "Edycje strony",
        "rcfilters-filter-pageedits-description": "Edycje treści, stron dyskusji, opisów kategorii…",
        "rcfilters-liveupdates-button": "Aktualizacje na bieżąco",
        "rcfilters-liveupdates-button-title-on": "Wyłącz aktualizacje na bieżąco",
        "rcfilters-liveupdates-button-title-off": "Wyświetlaj nowe zmiany zaraz po tym jak nastąpią",
+       "rcfilters-watchlist-markSeen-button": "Oznacz wszystkie zmiany jako obejrzane",
        "rcnotefrom": "Poniżej {{PLURAL:$5|pokazano zmianę|pokazano zmiany}} {{PLURAL:$5|wykonaną|wykonane}} po <strong>$3, $4</strong> (nie więcej niż '''$1''' pozycji).",
        "rclistfromreset": "Zresetuj wybór daty",
        "rclistfrom": "Pokaż nowe zmiany od $3 $2",
index eda97ca..fd7fb64 100644 (file)
        "category-file-count-limited": "اس گٹھ چ اے {{PLURAL:$1|فائل اے|$1 فائلاں نیں}}۔",
        "listingcontinuesabbrev": "جاری",
        "index-category": "انڈیکسڈ صفے",
-       "noindex-category": "نان انڈیکسڈ ورقے",
+       "noindex-category": "نان انڈیکسڈ صفے",
        "broken-file-category": "ٹٹے ہوۓ جوڑاں آلے صفحے",
        "about": "بارے چ",
        "article": "آرٹیکل والا صفہ",
index 4e06940..2ca1e73 100644 (file)
        "rcfilters-restore-default-filters": "Restaurar filtros padrão",
        "rcfilters-clear-all-filters": "Limpar todos os filtros",
        "rcfilters-show-new-changes": "Veja as novas mudanças",
-       "rcfilters-previous-changes-label": "Mudanças vistas anteriormente",
        "rcfilters-search-placeholder": "Filtrar mudanças recentes (procurar ou começar a digitar)",
        "rcfilters-invalid-filter": "Filtro inválido",
        "rcfilters-empty-filter": "Nenhum filtro ativo. Todas as contribuições são mostradas.",
        "rcfilters-filterlist-noresults": "Nenhum filtro encontrado",
        "rcfilters-noresults-conflict": "Nenhum resultado encontrado porque os critérios de pesquisa estão em conflito",
        "rcfilters-state-message-subset": "Este filtro não tem efeito porque seus resultados estão incluídos com {{PLURAL:$2|o seguinte filtro mais amplo|os seguintes filtros mais amplos}} (tente realçar para distingui-lo): $1",
-       "rcfilters-state-message-fullcoverage": "Selecionar todos os filtros em um grupo é o mesmo que não selecionar nenhum, portanto este filtro não tem efeito. O grupo inclui: $1",
+       "rcfilters-state-message-fullcoverage": "Selecionar todos os filtros neste grupo é o mesmo que não selecionar nenhum, portanto este filtro não tem efeito. O grupo inclui: $1",
        "rcfilters-filtergroup-authorship": "Autoria da contribuição",
        "rcfilters-filter-editsbyself-label": "Mudanças por você",
        "rcfilters-filter-editsbyself-description": "Suas proprias contribuições.",
        "rcfilters-filter-watchlist-watchednew-description": "Modificações de páginas vigiadas que ainda não visitou depois de serem modificadas.",
        "rcfilters-filter-watchlist-notwatched-label": "Ausente da lista de páginas vigiadas",
        "rcfilters-filter-watchlist-notwatched-description": "Tudo menos modificações das suas páginas vigiadas.",
+       "rcfilters-filtergroup-watchlistactivity": "Atividade da lista de observação",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Mudanças não vistas",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Modificações nas páginas que você não visitou desde as alterações ocorridas.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Ver mudanças",
+       "rcfilters-filter-watchlistactivity-seen-description": "Modificações nas páginas que visitou desde as alterações ocorridas.",
        "rcfilters-filtergroup-changetype": "Tipo de mudança",
        "rcfilters-filter-pageedits-label": "Edições da página",
        "rcfilters-filter-pageedits-description": "Edições para conteúdo wiki, discussões, descrições de categorias...",
        "rcfilters-liveupdates-button": "Atualizações instantâneas",
        "rcfilters-liveupdates-button-title-on": "Desativar as atualizações ao vivo",
        "rcfilters-liveupdates-button-title-off": "Exibir novas mudanças à medida que elas acontecem",
+       "rcfilters-watchlist-markSeen-button": "Marque todas as mudanças como visto",
        "rcnotefrom": "Abaixo {{PLURAL:$5|é a mudança|são as mudanças}} desde <strong>$3, $4</strong> (up to <strong>$1</strong> shown).",
        "rclistfromreset": "Redefinir seleção da data",
        "rclistfrom": "Mostrar as novas alterações a partir das $2 de $3",
        "watching": "Vigiando...",
        "unwatching": "Deixando de vigiar...",
        "watcherrortext": "Ocorreu um erro ao alterar a configuração da sua lista de páginas vigiadas para \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Marcar todas as páginas como visitadas",
        "enotif_impersonal_salutation": "Usuário do projeto \"{{SITENAME}}\"",
        "enotif_subject_deleted": "A página $1 da {{SITENAME}} foi eliminada por {{gender:$2|$2}}",
index cafc398..6316637 100644 (file)
        "tog-watchlisthideminor": "Esconder edições menores ao listar mudanças às páginas vigiadas",
        "tog-watchlisthideliu": "Esconder edições de utilizadores autenticados ao listar mudanças às páginas vigiadas",
        "tog-watchlistreloadautomatically": "Recarregar a lista de páginas vigiadas automaticamente sempre que um filtro é alterado (requer JavaScript)",
+       "tog-watchlistunwatchlinks": "Adicionar links diretos para vigiar ou deixar de vigiar, às entradas da lista de páginas vigiadas (é necessário o JavaScript para alternar entre ambas)",
        "tog-watchlisthideanons": "Esconder edições de utilizadores anónimos ao listar mudanças às páginas vigiadas",
        "tog-watchlisthidepatrolled": "Esconder edições patrulhadas ao listar mudanças às páginas vigiadas",
        "tog-watchlisthidecategorization": "Ocultar categorização de páginas",
        "welcomecreation-msg": "A sua conta foi criada.\nNão se esqueça de personalizar as suas [[Special:Preferences|preferências]] na wiki {{SITENAME}}.",
        "yourname": "Nome de utilizador(a):",
        "userlogin-yourname": "Nome de utilizador(a)",
-       "userlogin-yourname-ph": "Digite o seu nome de utilizador(a)",
-       "createacct-another-username-ph": "Digite o nome de utilizador(a)",
+       "userlogin-yourname-ph": "Introduza o seu nome de utilizador",
+       "createacct-another-username-ph": "Introduza o nome de utilizador",
        "yourpassword": "Palavra-passe:",
        "userlogin-yourpassword": "Palavra-passe",
-       "userlogin-yourpassword-ph": "Digite a sua palavra-passe",
-       "createacct-yourpassword-ph": "Digite uma palavra-passe",
+       "userlogin-yourpassword-ph": "Introduza a sua palavra-passe",
+       "createacct-yourpassword-ph": "Introduza uma palavra-passe",
        "yourpasswordagain": "Repita a palavra-passe:",
        "createacct-yourpasswordagain": "Confirme a palavra-passe",
-       "createacct-yourpasswordagain-ph": "Digite a palavra-passe novamente",
+       "createacct-yourpasswordagain-ph": "Introduza a palavra-passe novamente",
        "userlogin-remembermypassword": "Manter-me autenticado",
        "userlogin-signwithsecure": "Usar uma ligação segura",
        "cannotlogin-title": "Não é possível iniciar sessão",
        "createaccount": "Criar conta",
        "userlogin-resetpassword-link": "Esqueceu-se da sua palavra-passe?",
        "userlogin-helplink2": "Ajuda para iniciar sessão",
-       "userlogin-loggedin": "Já está {{GENDER:$1|autenticado|autenticada|autenticado}} com o nome $1.\nUse o formulário abaixo para iniciar sessão com outro nome.",
+       "userlogin-loggedin": "Já está {{GENDER:$1|autenticado|autenticada}} com o nome $1.\nUse o formulário abaixo para iniciar sessão com outro nome.",
        "userlogin-reauth": "Deve iniciar novamente sessão para verificar se é {{GENDER:$1|$1}}.",
        "userlogin-createanother": "Criar outra conta",
        "createacct-emailrequired": "Endereço de correio eletrónico",
        "createacct-emailoptional": "Endereço de correio eletrónico (opcional)",
-       "createacct-email-ph": "Digite o seu endereço de correio eletrónico",
-       "createacct-another-email-ph": "Digite o endereço de correio eletrónico",
-       "createaccountmail": "Usar uma palavra passe aleatória e temporária e enviar para o endereço de correio eletrónico especificado",
+       "createacct-email-ph": "Introduza o seu endereço de correio eletrónico",
+       "createacct-another-email-ph": "Introduza o endereço de correio eletrónico",
+       "createaccountmail": "Usar uma palavra-passe aleatória e temporária e enviá-la para o endereço de correio eletrónico especificado",
        "createaccountmail-help": "Pode ser utilizado para criar uma conta para outra pessoa sem saber a palavra-passe.",
        "createacct-realname": "Nome verdadeiro (opcional)",
        "createacct-reason": "Motivo",
        "createacct-benefit-heading": "A wiki {{SITENAME}} é feita por pessoas como você.",
        "createacct-benefit-body1": "{{PLURAL:$1|edição|edições}}",
        "createacct-benefit-body2": "{{PLURAL:$1|página|páginas}}",
-       "createacct-benefit-body3": "{{PLURAL:$1|contribuidor|contribuidores}} recentes",
+       "createacct-benefit-body3": "{{PLURAL:$1|contribuidor recente|contribuidores recentes}}",
        "badretype": "As palavras-passe que introduziu não coincidem.",
-       "usernameinprogress": "Uma conta para este nome de utilizador já está a ser criada.\nPor favor, aguarde.",
-       "userexists": "O nome de utilizador introduzido já existe.\nPor favor escolha um nome diferente.",
+       "usernameinprogress": "Já está a ser criada uma conta para este nome de utilizador.\nAguarde, por favor.",
+       "userexists": "O nome de utilizador introduzido já existe.\nEscolha um nome diferente, por favor.",
        "loginerror": "Erro ao iniciar sessão",
        "createacct-error": "Erro na criação da conta",
        "createaccounterror": "Não foi possível criar a conta: $1",
        "nocookiesnew": "A conta de utilizador foi criada, mas neste momento não tem sessão iniciada.\nA wiki {{SITENAME}} utiliza ''cookies'' para autenticar os utilizadores.\nOs ''cookies'' estão desativados no seu navegador.\nAtive-os e inicie sessão com o seu nome de utilizador e a sua palavra-passe, por favor.",
        "nocookieslogin": "A wiki {{SITENAME}} utiliza ''cookies'' para autenticar os utilizadores.\nOs ''cookies'' estão desativados no seu navegador.\nAtive-os e tente novamente, por favor.",
        "nocookiesfornew": "A conta de utilizador não foi criada, porque não foi possível confirmar a sua origem.\nCertifique-se de que tem os ''cookies'' ativados, recarregue esta página e tente novamente.",
-       "createacct-loginerror": "A conta foi criada, mas não foi possível iniciar a sessão automaticamente. Por favor, [[Special:UserLogin|inície a sessão manualmente]].",
+       "createacct-loginerror": "A conta foi criada, mas não foi possível iniciar a sessão automaticamente. [[Special:UserLogin|Inicie a sessão manualmente]], por favor.",
        "noname": "Não especificou um nome de utilizador válido.",
-       "loginsuccesstitle": "Autenticação bem sucedida",
-       "loginsuccess": "<strong>Encontra-se agora ligado à wiki {{SITENAME}} como \"$1\".</strong>",
-       "nosuchuser": "Não existe nenhum utilizador com o nome \"$1\".\nOs nomes de utilizador são sensíveis às letras maiúsculas e minúsculas.\nVerifique a ortografia, ou [[Special:CreateAccount|crie uma nova conta]].",
-       "nosuchusershort": "Não existe um utilizador com o nome \"$1\". Verifique o nome que introduziu.",
-       "nouserspecified": "Precisa de especificar um nome de utilizador.",
+       "loginsuccesstitle": "Sessão iniciada",
+       "loginsuccess": "<strong>Tem agora uma sessão iniciada na wiki {{SITENAME}} como \"$1\".</strong>",
+       "nosuchuser": "Não existe nenhum utilizador com o nome \"$1\".\nOs nomes de utilizador distinguem as letras maiúsculas das minúsculas.\nVerifique se existem erros ortográficos, ou [[Special:CreateAccount|crie uma conta nova]].",
+       "nosuchusershort": "Não existe nenhum utilizador com o nome \"$1\".\nVerifique o nome que introduziu.",
+       "nouserspecified": "Tem de especificar um nome de utilizador.",
        "login-userblocked": "Este utilizador está bloqueado. Não é permitido o acesso.",
        "wrongpassword": "A palavra-passe que introduziu é inválida. Tente novamente, por favor.",
        "wrongpasswordempty": "A palavra-passe não foi introduzida. \nIntroduza-a, por favor.",
        "passwordtooshort": "A palavra-passe deve ter no mínimo $1 {{PLURAL:$1|carácter|caracteres}}.",
-       "passwordtoolong": "A palavra-passe deve exceder $1 {{PLURAL:$1|carácter|caracteres}}.",
-       "passwordtoopopular": "Palavras-passe normalmente escolhidas não podem ser usadas. Por favor, escolha uma palavra-passe mais exclusiva.",
+       "passwordtoolong": "A palavra-passe não pode exceder $1 {{PLURAL:$1|carácter|caracteres}}.",
+       "passwordtoopopular": "Não podem ser usadas palavras-passe vulgares. Escolha uma palavra-passe mais original, por favor.",
        "password-name-match": "A sua palavra-passe tem de ser diferente do seu nome de utilizador.",
        "password-login-forbidden": "Foi proibido o uso deste nome de utilizador e palavra-passe.",
        "mailmypassword": "Reiniciar a palavra-passe",
        "noemail": "Não foi registado um endereço de correio eletrónico para o utilizador \"$1\".",
        "noemailcreate": "Tem de fornecer um endereço de correio eletrónico válido.",
        "passwordsent": "Foi enviada uma palavra-passe nova para o endereço de correio eletrónico do utilizador \"$1\".\nVolte a iniciar sessão após recebê-la, por favor.",
-       "blocked-mailpassword": "O seu endereço IP está bloqueado para edição. Para evitar abusos, não é permitido a utilização da recuperação de palavra-passe a partir deste endereço IP.",
+       "blocked-mailpassword": "O seu endereço IP está bloqueado para edição. Para evitar abusos, não é permitido usar a recuperação da palavra-passe a partir deste endereço IP.",
        "eauthentsent": "Foi enviada uma mensagem de confirmação para o endereço de correio eletrónico que especificou.\nAntes que seja enviada qualquer outra mensagem para a conta, terá de seguir as instruções na mensagem enviada, de modo a confirmar que a conta lhe pertence.",
-       "throttled-mailpassword": "Já foi enviada um email de recuperação de palavra-passe {{PLURAL:$1|na última hora|nas últimas $1 horas}}.\nPara prevenir abusos, só um email de recuperação de palavra-passe pode ser enviado a cada {{PLURAL:$1|hora|$1 horas}}.",
+       "throttled-mailpassword": "Já foi enviada uma mensagem de reinício da palavra-passe {{PLURAL:$1|na última hora|nas últimas $1 horas}}.\nPara prevenir abusos, só pode ser enviada uma mensagem de reinício da palavra-passe a cada {{PLURAL:$1|hora|$1 horas}}.",
        "mailerror": "Erro ao enviar correio eletrónico: $1",
-       "acct_creation_throttle_hit": "Visitantes desta wiki com endereço IP igual ao seu criaram {{PLURAL:$1|uma conta|$1 contas}} nos últimos (ou últimas) $2, o que é o máximo permitido neste período de tempo.\nEm resultado, visitantes com este endereço IP não podem criar mais nenhuma conta de momento.",
+       "acct_creation_throttle_hit": "Visitantes desta wiki com um endereço IP igual ao seu criaram {{PLURAL:$1|uma conta|$1 contas}} nos últimos (ou últimas) $2, o que é o máximo permitido neste período de tempo.\nEm resultado, visitantes com este endereço IP não podem criar mais nenhuma conta de momento.",
        "emailauthenticated": "O seu endereço de correio eletrónico foi confirmado a $2, às $3.",
        "emailnotauthenticated": "O seu endereço de correio eletrónico ainda não foi confirmado.\nNão lhe serão enviadas mensagens por nenhuma das seguintes funcionalidades.",
        "noemailprefs": "Especifique um endereço de correio eletrónico nas suas preferências para ativar estas funcionalidades.",
        "pt-login-continue-button": "Continuar o início de sessão",
        "pt-createaccount": "Criar uma conta",
        "pt-userlogout": "Sair",
-       "php-mail-error-unknown": "Erro desconhecido na função mail() do PHP",
+       "php-mail-error-unknown": "Erro desconhecido na função mail() do PHP.",
        "user-mail-no-addy": "Tentou enviar uma mensagem sem um endereço de correio eletrónico.",
        "user-mail-no-body": "Tentou enviar uma mensagem sem conteúdo ou com um conteúdo demasiado pequeno.",
        "changepassword": "Alterar palavra-passe",
        "botpasswords-bad-appid": "O nome do robô \"$1\" não é válido.",
        "botpasswords-insert-failed": "Falhou ao adicionar o nome do robô \"$1\". Já foi adicionado?",
        "botpasswords-update-failed": "Falha ao atualizar o nome do robô \"$1\". Será que foi eliminado?",
-       "botpasswords-created-title": "Criada palavra-passe para o robô",
-       "botpasswords-created-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\" foi criada.",
+       "botpasswords-created-title": "A palavra-passe de robô foi criada",
+       "botpasswords-created-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\", foi criada.",
        "botpasswords-updated-title": "A palavra-passe de robô foi atualizada.",
-       "botpasswords-updated-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\" foi atualizada.",
+       "botpasswords-updated-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\", foi atualizada.",
        "botpasswords-deleted-title": "Palavra-passe de robô eliminada",
-       "botpasswords-deleted-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\" foi eliminada.",
+       "botpasswords-deleted-body": "A palavra-passe de robô, para o nome de robô \"$1\" do utilizador \"$2\", foi eliminada.",
        "botpasswords-newpassword": "A nova palavra-passe para iniciar sessão com <strong>$1</strong> é <strong>$2</strong>. <em>Anote-a para referência futura, por favor.</em> <br> (Para robôs antigos cujo nome de acesso tenha de ser igual ao eventual nome de utilizador, também pode usar o nome de utilizador <strong>$3</strong> e a palavra-passe <strong>$4</strong>.)",
        "botpasswords-no-provider": "BotPasswordsSessionProvider não está disponível.",
-       "botpasswords-restriction-failed": "Restrições de palavra-passe de robô evitam esta autenticação.",
+       "botpasswords-restriction-failed": "Restrições da palavra-passe de robô impedem esta autenticação.",
        "botpasswords-invalid-name": "O nome de utilizador especificado não contém o separador de palavra-passe de robô (\"$1\").",
-       "botpasswords-not-exist": "O utilizador \"$1\" não possui uma palavra-passe de robô \"$2\".",
-       "resetpass_forbidden": "Não é possível alterar palavras-passe",
+       "botpasswords-not-exist": "O utilizador \"$1\" não tem uma palavra-passe para o robô chamado \"$2\".",
+       "resetpass_forbidden": "As palavras-passe não podem ser alteradas",
        "resetpass_forbidden-reason": "As palavras-passe não podem ser alteradas: $1",
        "resetpass-no-info": "Precisa de iniciar sessão para aceder diretamente a esta página.",
        "resetpass-submit-loggedin": "Alterar palavra-passe",
        "passwordreset-domain": "Domínio:",
        "passwordreset-email": "Correio eletrónico:",
        "passwordreset-emailtitle": "Detalhes da conta na wiki {{SITENAME}}",
-       "passwordreset-emailtext-ip": "Alguém (provavelmente você, a partir do endereço IP $1) pediu a recuperação da palavra-passe na wiki {{SITENAME}} ($4). {{PLURAL:$3|A seguinte conta de utilizador está associada|As seguintes contas de utilizador estão associadas}} a este correio eletrónico:\n\n$2\n\n{{PLURAL:$3|Esta palavra-passe temporária irá|Estas palavras-passes temporárias irão}} expirar dentro de {{PLURAL:$5|um dia|$5 dias}}.\nDeve autenticar-se e escolher uma palavra-passe nova agora. Se outra pessoa fez este pedido, ou se entretanto se recordou da sua palavra-passe original e já não deseja alterá-la, pode ignorar esta mensagem e continuar a usar a palavra-passe antiga.",
-       "passwordreset-emailtext-user": "O utilizador $1 da wiki {{SITENAME}} pediu a recuperação da sua palavra-passe ($4). {{PLURAL:$3|A seguinte conta de utilizador está associada|As seguintes contas de utilizador estão associadas}} a este endereço de correio eletrónico:\n\n$2\n\n{{PLURAL:$3|Esta palavra-passe temporária irá|Estas palavras-passes temporárias irão}} expirar dentro de {{PLURAL:$5|um dia|$5 dias}}.\nDeve autenticar-se e escolher uma palavra-passe nova agora. Se outra pessoa fez este pedido, ou se entretanto se recordou da sua palavra-passe original e já não deseja alterá-la, pode ignorar esta mensagem e continuar a usar a palavra-passe antiga.",
+       "passwordreset-emailtext-ip": "Alguém (provavelmente você, a partir do endereço IP $1) pediu um reinício da palavra-passe na wiki {{SITENAME}} ($4). {{PLURAL:$3|A seguinte conta de utilizador está associada|As seguintes contas de utilizador estão associadas}} a este correio eletrónico:\n\n$2\n\n{{PLURAL:$3|Esta palavra-passe temporária irá|Estas palavras-passes temporárias irão}} expirar dentro de {{PLURAL:$5|um dia|$5 dias}}.\nDeve autenticar-se e escolher uma palavra-passe nova agora. Se outra pessoa fez este pedido, ou se entretanto se recordou da sua palavra-passe original e já não deseja alterá-la, pode ignorar esta mensagem e continuar a usar a palavra-passe antiga.",
+       "passwordreset-emailtext-user": "O utilizador $1 da wiki {{SITENAME}} pediu um reinício da sua palavra-passe na wiki {{SITENAME}} ($4). {{PLURAL:$3|A seguinte conta de utilizador está associada|As seguintes contas de utilizador estão associadas}} a este endereço de correio eletrónico:\n\n$2\n\n{{PLURAL:$3|Esta palavra-passe temporária irá|Estas palavras-passes temporárias irão}} expirar dentro de {{PLURAL:$5|um dia|$5 dias}}.\nDeve autenticar-se e escolher uma palavra-passe nova agora. Se outra pessoa fez este pedido, ou se entretanto se recordou da sua palavra-passe original e já não deseja alterá-la, pode ignorar esta mensagem e continuar a usar a palavra-passe antiga.",
        "passwordreset-emailelement": "{{GENDER:$1|Utilizador|Utilizadora}}: \n$1\n\nPalavra-passe temporária: \n$2",
-       "passwordreset-emailsentemail": "Se este é o endereço de correio eletrónico associado a esta conta, ser-lhe-á enviada uma palavra-passe de reposição.",
-       "passwordreset-emailsentusername": "Se houver um endereço de correio eletrónico associado a esta conta, ser-lhe-á enviada uma mensagem para redefinir a sua palavra-passe.",
-       "passwordreset-nocaller": "Um interlocutor deve ser fornecido",
-       "passwordreset-nosuchcaller": "A pessoa que chama não existe: $1",
-       "passwordreset-ignored": "A reposição de palavra-passe não foi realizada. Talvez o fornecedor não tenha sido configurado?",
+       "passwordreset-emailsentemail": "Se este endereço de correio eletrónico está associado à sua conta, ser-lhe-á enviada uma mensagem de reinício da palavra-passe.",
+       "passwordreset-emailsentusername": "Se houver um endereço de correio eletrónico associado a esta conta, ser-lhe-á enviada uma mensagem de reinício da palavra-passe.",
+       "passwordreset-nocaller": "Tem de ser fornecida uma origem (um chamador) do pedido de reinício da palavra-passe",
+       "passwordreset-nosuchcaller": "O utilizador que chama este pedido não existe: $1",
+       "passwordreset-ignored": "O reinício da palavra-passe não foi realizado. Poderá não ter sido configurado um fornecedor?",
        "passwordreset-invalidemail": "Correio eletrónico inválido",
-       "passwordreset-nodata": "Não foram fornecidos nome de utilizador(a) nem endereço de correio eletrónico",
+       "passwordreset-nodata": "Não foi fornecido um nome de utilizador nem um endereço de correio eletrónico",
        "changeemail": "Alterar ou remover o endereço de correio eletrónico",
-       "changeemail-header": "Complete este formulário para alterar o seu endereço de correio eletrónico. Se quer eliminar a associação de qualquer endereço de correio eletrónico à sua conta, deixe em branco o novo endereço de correio eletrónico ao enviar o formulário.",
+       "changeemail-header": "Preencha este formulário para alterar o seu endereço de correio eletrónico. Se quer eliminar a associação de qualquer endereço de correio eletrónico à sua conta, deixe em branco o novo endereço de correio eletrónico ao enviar o formulário.",
        "changeemail-no-info": "Precisa de iniciar sessão para aceder diretamente a esta página.",
        "changeemail-oldemail": "Correio eletrónico atual:",
        "changeemail-newemail": "Novo endereço de correio eletrónico:",
-       "changeemail-newemail-help": "Este campo deve ser deixado em branco caso pretenda remover o seu endereço de correio eletrónico.\nNão será capaz de redefinir a sua palavra-passe nem receber mensagens eletrónicas desta wiki se efetuar esta operação.",
+       "changeemail-newemail-help": "Este campo deve ser deixado em branco caso pretenda remover o seu endereço de correio eletrónico.\nNão poderá reiniciar a sua palavra-passe nem receber mensagens eletrónicas desta wiki se remover o correio eletrónico.",
        "changeemail-none": "(nenhum)",
        "changeemail-password": "A sua palavra-passe na wiki {{SITENAME}}:",
        "changeemail-submit": "Alterar correio eletrónico",
        "changeemail-throttled": "Realizou demasiadas tentativas de início de sessão.\nAguarde $1 antes de tentar novamente, por favor.",
-       "changeemail-nochange": "Por favor insira um novo endereço de e-mail.",
+       "changeemail-nochange": "Insira um novo endereço de correio eletrónico, por favor.",
        "resettokens": "Redefinir chaves",
-       "resettokens-text": "Pode redefinir as chaves de acesso a certos dados privados associados à sua conta aqui.\n\nDeve fazê-lo se as divulgou acidentalmente a alguém ou se a sua conta tiver sido comprometida.",
+       "resettokens-text": "Pode redefinir aqui as chaves de acesso a certos dados privados associados à sua conta.\n\nDeve fazê-lo se as divulgou acidentalmente a alguém ou se a sua conta tiver sido comprometida.",
        "resettokens-no-tokens": "Não há chaves para redefinir.",
        "resettokens-tokens": "Chaves:",
        "resettokens-token-label": "$1 (valor atual: $2)",
        "italic_sample": "Texto em itálico",
        "italic_tip": "Texto em itálico",
        "link_sample": "Título da ligação",
-       "link_tip": "Ligação interna",
-       "extlink_sample": "http://www.example.com ligação externa",
-       "extlink_tip": "Ligação externa (lembre-se do prefixo http://)",
+       "link_tip": "Hiperligação interna",
+       "extlink_sample": "http://www.example.com hiperligação externa",
+       "extlink_tip": "Hiperligação externa (lembre-se do prefixo http://)",
        "headline_sample": "Texto do cabeçalho",
        "headline_tip": "Secção de nível 2",
        "nowiki_sample": "Inserir texto não-formatado aqui",
        "image_sample": "Exemplo.jpg",
        "image_tip": "Ficheiro incorporado",
        "media_sample": "Exemplo.ogg",
-       "media_tip": "Ligação para ficheiro",
+       "media_tip": "Hiperligação para ficheiro",
        "sig_tip": "A sua assinatura, com hora e data",
        "hr_tip": "Linha horizontal (utilize moderadamente)",
        "summary": "Resumo:",
        "systemblockedtext": "O seu nome de utilizador ou endereço IP foram bloqueados automaticamente pelo MediaWiki.\nO motivo fornecido é:\n\n:<em>$2</em>\n\n* Início do bloqueio: $8\n* Expiração do bloqueio: $6\n* Destinatário do bloqueio: $7\n\nO seu endereço IP atual é $3.\nInclua todos os detalhes acima em quaisquer contactos sobre este assunto, por favor.",
        "blockednoreason": "sem motivo especificado",
        "whitelistedittext": "Precisa de $1 para poder editar páginas.",
-       "confirmedittext": "Precisa de confirmar o seu endereço de correio eletrónico antes de começar a editar páginas.\nIntroduza e valide o endereço através das [[Special:Preferences|preferências do utilizador]], por favor.",
+       "confirmedittext": "Precisa de confirmar o seu endereço de correio eletrónico antes de começar a editar páginas.\nIntroduza e valide o endereço através das suas [[Special:Preferences|preferências de utilizador]], por favor.",
        "nosuchsectiontitle": "Não foi possível encontrar a secção",
        "nosuchsectiontext": "Tentou editar uma secção que não existe.\nEla pode ter sido movida ou removida enquanto estava a ver a página.",
        "loginreqtitle": "Início de sessão necessário",
        "revdelete-selected-text": "{{PLURAL:$1|Revisão selecionada|Revisões selecionadas}} de [[:$2]]:",
        "revdelete-selected-file": "{{PLURAL:$1|Versão do ficheiro selecionada|Versões do ficheiro selecionadas}} de [[:$2]]:",
        "logdelete-selected": "{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:",
-       "revdelete-text-text": "Revisões eliminadas ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.",
-       "revdelete-text-file": "Versões eliminadas do ficheiro ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.",
+       "revdelete-text-text": "As revisões eliminadas ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.",
+       "revdelete-text-file": "As versões eliminadas do ficheiro ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.",
        "logdelete-text": "Os eventos eliminados ainda aparecerão no histórico da página, mas parte do seu conteúdo será inacessível ao público.",
        "revdelete-text-others": "Outros administradores serão ainda capazes de aceder ao conteúdo oculto e torná-lo visível novamente, a menos que sejam definidas restrições adicionais.",
        "revdelete-confirm": "Por favor, confirme que pretende executar esta operação, que compreende as suas consequências e que o faz em concordância com as [[{{MediaWiki:Policy-url}}|políticas e recomendações]].",
-       "revdelete-suppress-text": "A supressão '''só''' deverá ser usada nos seguintes casos:\n* Informação potencialmente caluniosa, difamatória ou injuriosa\n* Informação pessoal imprópria\n*: ''endereços de domicílio e números de telefone, números de identificação nacional, etc''",
+       "revdelete-suppress-text": "A supressão <strong>só</strong> deverá ser usada para os seguintes casos:\n* informação potencialmente caluniosa, difamatória ou injuriosa\n* informação pessoal imprópria\n*: <em>endereços de domicílio e números de telefone, números de identificação nacional, etc.</em>",
        "revdelete-legend": "Definir restrições de visibilidade",
        "revdelete-hide-text": "Texto da revisão",
        "revdelete-hide-image": "Ocultar conteúdo do ficheiro",
        "revdelete-log": "Motivo:",
        "revdelete-submit": "Aplicar {{PLURAL:$1|à revisão selecionada|às revisões selecionadas}}",
        "revdelete-success": "Visibilidade da revisão atualizada.",
-       "revdelete-failure": "'''A visibilidade da revisão não foi atualizada:'''\n$1",
+       "revdelete-failure": "Não foi possível atualizar a visibilidade da revisão:\n$1",
        "logdelete-success": "Visibilidade da entrada do registo definida.",
-       "logdelete-failure": "'''Não foi possível definir a visibilidade da entrada do registo:'''\n$1",
-       "revdel-restore": "Alterar visibilidade",
+       "logdelete-failure": "Não foi possível definir a visibilidade da entrada do registo:\n$1",
+       "revdel-restore": "alterar visibilidade",
        "pagehist": "Histórico da página",
        "deletedhist": "Histórico de eliminações",
        "revdelete-hide-current": "Erro ao ocultar o item datado de $2, $1: esta é a revisão atual.\nNão pode ser ocultada.",
        "rcfilters-restore-default-filters": "Restaurar os filtros padrão",
        "rcfilters-clear-all-filters": "Limpar todos os filtros",
        "rcfilters-show-new-changes": "Mostrar as mudanças mais recentes",
-       "rcfilters-previous-changes-label": "Mudanças vistas anteriormente",
        "rcfilters-search-placeholder": "Filtrar mudanças recentes (navegue ou começe a escrever)",
        "rcfilters-invalid-filter": "Filtro inválido",
        "rcfilters-empty-filter": "Não há filtros ativos. São mostradas todas as contribuições.",
        "rcfilters-filterlist-noresults": "Não foram encontrados filtros",
        "rcfilters-noresults-conflict": "Não foram encontrados resultados porque os critérios de pesquisa estão em conflito",
        "rcfilters-state-message-subset": "Este filtro não produz efeito porque os seus resultados já estão incluídos nos {{PLURAL:$2|do seguinte filtro mais abrangente|dos seguintes filtros mais abrangentes}} (tente usar o realce para diferenciá-lo): $1",
-       "rcfilters-state-message-fullcoverage": "Selecionar todos os filtros de um grupo é o mesmo que não selecionar nenhum, portanto este filtro não produz efeito. O grupo inclui: $1",
+       "rcfilters-state-message-fullcoverage": "Selecionar todos os filtros deste grupo é o mesmo que não selecionar nenhum, portanto este filtro não produz efeito. O grupo inclui: $1",
        "rcfilters-filtergroup-authorship": "Autoria da contribuição",
        "rcfilters-filter-editsbyself-label": "Modificações feitas por si",
        "rcfilters-filter-editsbyself-description": "As suas edições.",
        "rcfilters-filter-watchlist-watchednew-description": "Modificações de páginas vigiadas que ainda não visitou depois de serem modificadas.",
        "rcfilters-filter-watchlist-notwatched-label": "Ausente da lista de páginas vigiadas",
        "rcfilters-filter-watchlist-notwatched-description": "Tudo menos modificações das suas páginas vigiadas.",
+       "rcfilters-filtergroup-watchlistactivity": "Atividade das páginas vigiadas",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Mudanças ainda não vistas",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Modificações de páginas que ainda não visitou depois de serem modificadas.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Modificações já vistas",
+       "rcfilters-filter-watchlistactivity-seen-description": "Modificações de páginas que já visitou depois de serem modificadas.",
        "rcfilters-filtergroup-changetype": "Tipo de alteração",
        "rcfilters-filter-pageedits-label": "Edições de páginas",
        "rcfilters-filter-pageedits-description": "Edições do conteúdo da wiki, de discussões, de descrições de categorias…",
        "rcfilters-liveupdates-button": "Atualizações instantâneas",
        "rcfilters-liveupdates-button-title-on": "Desligar atualizações ao vivo",
        "rcfilters-liveupdates-button-title-off": "Apresentar mudanças novas à medida que acontecem",
+       "rcfilters-watchlist-markSeen-button": "Marcar todas as modificações como já vistas",
        "rcnotefrom": "Abaixo {{PLURAL:$5|está a mudança|estão as mudanças}} desde <strong>$2</strong> (mostradas até <strong>$1</strong>).",
        "rclistfromreset": "Reiniciar a seleção da data",
        "rclistfrom": "Mostrar as novas mudanças a partir das $2 de $3",
index eeb0e7a..92c3a89 100644 (file)
        "recentchanges-legend-unpatrolled": "Used as legend on [[Special:RecentChanges]] and [[Special:Watchlist]].\n\nRefers to {{msg-mw|Recentchanges-label-unpatrolled}}.",
        "recentchanges-legend-plusminus": "{{optional}}\nA plus/minus sign with a number for the legend.",
        "recentchanges-submit": "Label for submit button in [[Special:RecentChanges]]\n{{Identical|Show}}",
+       "rcfilters-tag-remove": "A tooltip for the button that removes a filter from the active filters area in [[Special:RecentChanges]] and [[Special:Watchlist]] when RCFilters are enabled. \n\nParameters: $1 - Tag label",
        "rcfilters-legend-heading": "Used as a heading for legend box on [[Special:RecentChanges]] and [[Special:Watchlist]] when RCFilters are enabled.",
        "rcfilters-other-review-tools": "Used as a heading for the community collection of other links on [[Special:RecentChanges]] when RCFilters are enabled.",
        "rcfilters-group-results-by-page": "A label for the checkbox describing whether the results in [[Special:RecentChanges]] are grouped by page when RCFilters are enabled.",
        "rcfilters-hours-title": "Title for the options to change the number of hours for the results shown.",
        "rcfilters-days-show-days": "Title for the button that opens the operation to control the day range for the results. \n\nParameters: $1 - Number of days shown",
        "rcfilters-days-show-hours": "Title for the button that opens the operation to control the hour range for the results. \n\nParameters: $1 - Number of hours shown",
+       "rcfilters-highlighted-filters-list": "Text for the tooltip that is displayed over highlighted results, specifying which filters the result matches in [[Special:RecentChanges]] when RCFilters are enabled. \n\nParameters: $1 - A comma separated list of matching filter names.",
        "rcfilters-quickfilters": "Label for the button that opens the saved filter settings menu in [[Special:RecentChanges]]",
        "rcfilters-quickfilters-placeholder-title": "Title for the text shown in the quick filters menu on [[Special:RecentChanges]] if the user has not saved any quick filters.",
        "rcfilters-quickfilters-placeholder-description": "Description for the text shown in the quick filters menu on [[Special:RecentChanges]] if the user has not saved any quick filters.",
        "rcfilters-filter-minor-description": "Description for the filter for showing edits marked as minor.",
        "rcfilters-filter-major-label": "Label for the filter for showing edits not marked as minor.",
        "rcfilters-filter-major-description": " Description for the filter for showing edits not marked as minor.",
-       "rcfilters-filtergroup-watchlist": "Title for the watchlist filter group",
+       "rcfilters-filtergroup-watchlist": "Title for the watchlist filter group (only available on [[Special:Recentchanges]])",
        "rcfilters-filter-watchlist-watched-label": "Label for the filter for showing changes to pages on your watchlist.",
        "rcfilters-filter-watchlist-watched-description": "Description for the filter for showing changes to pages on your watchlist.",
        "rcfilters-filter-watchlist-watchednew-label": "Label for the filter for showing new changes to pages on your watchlist.",
        "rcfilters-filter-watchlist-watchednew-description": "Description for the filter for showing new changes to pages on your watchlist.",
        "rcfilters-filter-watchlist-notwatched-label": "Label for the filter for showing changes to pages not on your watchlist.",
        "rcfilters-filter-watchlist-notwatched-description": "Description for the filter for showing changes to pages not on your watchlist.",
+       "rcfilters-filtergroup-watchlistactivity": "Title for the watchlist activity filter group (only available on [[Special:Watchlist]])",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Label for unseen changes in the watchlist activity filter group.",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Description for unseen changes in the watchlist activity filter group.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Label for seen changes in the watchlist activity filter group.",
+       "rcfilters-filter-watchlistactivity-seen-description": "Description for seen changes in the watchlist activity filter group.",
        "rcfilters-filtergroup-changetype": "Title for the filter group for edit type.",
        "rcfilters-filter-pageedits-label": "Label for the filter for showing edits to existing pages.",
        "rcfilters-filter-pageedits-description": "Description for the filter for showing edits to existing pages.",
        "rcfilters-liveupdates-button": "Label for the button to enable or disable live updates on [[Special:RecentChanges]]",
        "rcfilters-liveupdates-button-title-on": "Title for the button to enable or disable live updates on [[Special:RecentChanges]] when the feature is ON.",
        "rcfilters-liveupdates-button-title-off": "Title for the button to enable or disable live updates on [[Special:RecentChanges]] when the feature is OFF.",
+       "rcfilters-watchlist-markSeen-button": "Label for the button to mark all changes as seen on [[Special:Watchlist]] when using the structured filters interface.",
        "rcnotefrom": "This message is displayed at [[Special:RecentChanges]] when viewing recentchanges from some specific time.\n\nThe corresponding message is {{msg-mw|Rclistfrom}}.\n\nParameters:\n* $1 - the maximum number of changes that are displayed\n* $2 - (Optional) a date and time\n* $3 - a date\n* $4 - a time\n* $5 - Number of changes are displayed, for use with PLURAL",
        "rclistfromreset": "Used on [[Special:RecentChanges]] to reset a selection of a certain date range.",
        "rclistfrom": "Used on [[Special:RecentChanges]]. Parameters:\n* $1 - (Currently not use) date and time. The date and the time adds to the rclistfrom description.\n* $2 - time. The time adds to the rclistfrom link description (with split of date and time).\n* $3 - date. The date adds to the rclistfrom link description (with split of date and time).\n\nThe corresponding message is {{msg-mw|Rcnotefrom}}.",
index c5f9e8c..ea49052 100644 (file)
@@ -62,7 +62,7 @@
        "tog-shownumberswatching": "Arată numărul utilizatorilor care urmăresc",
        "tog-oldsig": "Semnătura actuală:",
        "tog-fancysig": "Tratează semnătura ca wikitext (fără o legătură automată)",
-       "tog-uselivepreview": "Folosește previzualizarea în timp real",
+       "tog-uselivepreview": "Arată previzualizarea fără a reîncărca pagina",
        "tog-forceeditsummary": "Avertizează-mă când uit să descriu modificările",
        "tog-watchlisthideown": "Ascunde modificările mele din lista de pagini urmărite",
        "tog-watchlisthidebots": "Ascunde modificările roboților din lista de pagini urmărite",
        "nonwrite-api-promise-error": "Antetul HTTP „Promise-Non-Write-API-Action” a fost trimis, dar cererea s-a făcut către un modul de scriere API.",
        "internalerror": "Eroare internă",
        "internalerror_info": "Eroare internă: $1",
-       "internalerror-fatal-exception": "Excepție fatală pentru tipul „$1”",
+       "internalerror-fatal-exception": "Excepție fatală de tipul „$1”",
        "filecopyerror": "Fișierul \"$1\" nu a putut fi copiat la \"$2\".",
        "filerenameerror": "Fișierul \"$1\" nu a putut fi mutat la \"$2\".",
        "filedeleteerror": "Fișierul \"$1\" nu a putut fi șters.",
        "permissionserrorstext-withaction": "Nu aveți permisiunea să $2, din {{PLURAL:$1|următorul motiv|următoarele motive}}:",
        "contentmodelediterror": "Nu puteți modifica această versiune, deoarece modelul de conținut al acesteia este <code>$1</code>, diferit față de actualul model de conținut al paginii, care este <code>$2</code>.",
        "recreate-moveddeleted-warn": "'''Atenție: Recreați o pagină care a fost ștearsă anterior.'''\n\nAsigurați-vă că este oportună recrearea acestei pagini.\nJurnalul ștergerilor și al mutărilor pentru această pagină este disponibil:",
-       "moveddeleted-notice": "Această pagină a fost ștearsă.\nJurnalul ștergerilor și al redenumirilor este disponibil mai jos.",
-       "moveddeleted-notice-recent": "Ne cerem scuze, dar această pagină a fost ștearsă recent (în ultimele 24 de ore).\nJurnalele de ștergere și redenumire ale paginii sunt disponibile mai jos cu scop informativ.",
+       "moveddeleted-notice": "Această pagină a fost ștearsă.\nJurnalul ștergerilor, protejărilor și redenumirilor este disponibil mai jos.",
+       "moveddeleted-notice-recent": "Ne cerem scuze, dar această pagină a fost ștearsă recent (în ultimele 24 de ore).\n\nJurnalele ștergerilor, protejărilor și redenumirilor paginii sunt disponibile mai jos.",
        "log-fulllog": "Vezi tot jurnalul",
        "edit-hook-aborted": "Modificarea a fost abandonată din cauza unui hook.\nNicio explicație furnizată.",
        "edit-gone-missing": "Pagina nu s-a putut actualiza.\nSe pare că a fost ștearsă.",
        "prefs-editwatchlist-clear": "Golește-mi lista de pagini urmărite",
        "prefs-watchlist-days": "Numărul de zile care apar în lista paginilor urmărite:",
        "prefs-watchlist-days-max": "Maxim $1 {{PLURAL:$1|zi|zile}}",
-       "prefs-watchlist-edits": "Numărul de modificări care apar în lista extinsă a paginilor urmărite:",
+       "prefs-watchlist-edits": "Numărul de modificări care apar în lista de pagini urmărite:",
        "prefs-watchlist-edits-max": "Număr maxim: 1000",
        "prefs-watchlist-token": "Jeton pentru lista de pagini urmărite:",
        "prefs-misc": "Parametri diverși",
        "saveusergroups": "Salvează grupul de {{GENDER:$1|utilizatori}}",
        "userrights-groupsmember": "Membru al:",
        "userrights-groupsmember-auto": "Membru, implicit, al:",
-       "userrights-groups-help": "Puteți schimba grupul căruia îi aparține utilizatorul:\n*Căsuța bifată înseamnă că utilizatorul aparține grupului respectiv.\n*Căsuța nebifată înseamnă că utilizatorul nu aparține grupului respectiv.\n*Steluța (*) indică faptul că utilizatorul nu poate fi eliminat din grup odată adăugat, sau invers.\n* (#) indică faptul că puteti modifica data de expirare in trecut pentru acest grup o singură datăș data poate fi modificată doar in viitor.",
+       "userrights-groups-help": "Puteți schimba grupul căruia îi aparține utilizatorul:\n*Căsuța bifată înseamnă că utilizatorul aparține grupului respectiv.\n*Căsuța nebifată înseamnă că utilizatorul nu aparține grupului respectiv.\n*Steluța (*) indică faptul că utilizatorul nu poate fi eliminat din grup odată adăugat, sau invers.\n*Diezul (#) indică faptul că puteți modifica data de expirare doar în viitor; nu puteți să o mutați la un moment anterior.",
        "userrights-reason": "Motiv:",
        "userrights-no-interwiki": "Nu aveți permisiunea de a modifica permisiunile utilizatorilor pe alte wiki.",
        "userrights-nodatabase": "Baza de date $1 nu există sau nu este locală.",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (vedeți și [[Special:NewPages|lista cu pagini noi]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "recentchanges-submit": "Afișează",
+       "rcfilters-legend-heading": "<strong>Lista abrevierilor:</strong>",
        "rcfilters-activefilters": "Filtre active",
-       "rcfilters-limit-shownum": "Arată ultimele $1 modificări",
+       "rcfilters-limit-shownum": "Arată {{PLURAL:$1|ultima modificare|ultimele $1 modificări|ultimele $1 de modificări}}",
        "rcfilters-days-show-days": "$1 {{PLURAL:$1|zi|zile|de zile}}",
        "rcfilters-days-show-hours": "$1 {{PLURAL:$1|oră|ore|de ore}}",
-       "rcfilters-quickfilters": "Legături rapide",
+       "rcfilters-quickfilters": "Filtre salvate",
        "rcfilters-savedqueries-defaultlabel": "Filtre salvate",
        "rcfilters-savedqueries-rename": "Redenumește",
        "rcfilters-savedqueries-setdefault": "Setează ca predefinit",
        "rcfilters-savedqueries-unsetdefault": "Eliminați ca implicit",
        "rcfilters-savedqueries-remove": "Elimină",
        "rcfilters-savedqueries-new-name-label": "Nume",
-       "rcfilters-savedqueries-apply-label": "Crează un link rapid",
+       "rcfilters-savedqueries-apply-label": "Crează filtru",
        "rcfilters-savedqueries-cancel-label": "Anulare",
-       "rcfilters-savedqueries-add-new-title": "Salvați filtrele ca un link rapid",
+       "rcfilters-savedqueries-add-new-title": "Salvați filtrele curente",
        "rcfilters-restore-default-filters": "Restaurați filtrele prestabilite",
        "rcfilters-clear-all-filters": "Ștergeți toate filtrele",
        "rcfilters-search-placeholder": "Filtrați modificările recente (răsfoiți sau începeți să tastați)",
        "rcfilters-invalid-filter": "Filtru invalid",
        "rcfilters-empty-filter": "Nu există filtre active. Toate contribuțiile sunt afișate.",
        "rcfilters-filterlist-title": "Filtre",
-       "rcfilters-filterlist-whatsthis": "Ce este aceasta?",
+       "rcfilters-filterlist-whatsthis": "Cum funcționează acestea?",
        "rcfilters-filterlist-feedbacklink": "Oferiți feedback cu privire la noile filtre (beta)",
        "rcfilters-highlightbutton-title": "Evidențiați rezultatele",
        "rcfilters-highlightmenu-title": "Selectați o culoare",
        "rcfilters-filterlist-noresults": "Nu s-a găsit niciun filtru",
        "rcfilters-noresults-conflict": "Nu s-au găsit rezultate deoarece criteriile de căutare sunt în conflict",
        "rcfilters-state-message-subset": "Acest filtru nu are efecte deoarece rezultatele sale sunt incluse în filtrele cu selectie mai largă {{PLURAL:$2|filtru|filtre}} (încercați să subliniați pentru a o deosebi): $1",
-       "rcfilters-state-message-fullcoverage": "Selectarea tuturor filtrelor dintr-un grup este aceeași cu cea selectată, astfel încât acest filtru nu are efect. Grupul include: $1",
+       "rcfilters-state-message-fullcoverage": "Selectarea tuturor filtrelor din acest grup este același lucru cu a nu selecta niciunul, astfel încât acest filtru nu are efect. Grupul include: $1",
        "rcfilters-filtergroup-authorship": "Contribuția autorului",
        "rcfilters-filter-editsbyself-label": "Modificările tale",
        "rcfilters-filter-editsbyself-description": "Contribuțiile tale.",
        "rcfilters-filter-editsbyother-label": "Contribuțiile altora",
        "rcfilters-filter-editsbyother-description": "Toate modificările mai puțin ale tale.",
-       "rcfilters-filtergroup-userExpLevel": "Nivel de experiență (numai pentru utilizatorii înregistrați)",
+       "rcfilters-filtergroup-userExpLevel": "Nivelul de experiență a utilizatorilor",
        "rcfilters-filter-user-experience-level-registered-label": "Înregistrat",
        "rcfilters-filter-user-experience-level-registered-description": "Editorii conectați.",
        "rcfilters-filter-user-experience-level-unregistered-label": "Neînregistrat",
        "rcfilters-filter-user-experience-level-unregistered-description": "Editorii care nu sunt conectați.",
        "rcfilters-filter-user-experience-level-newcomer-label": "Nou veniți",
-       "rcfilters-filter-user-experience-level-newcomer-description": "Mai puțin de 10 editări și 4 zile de activitate.",
+       "rcfilters-filter-user-experience-level-newcomer-description": "Editorii înregistrați care au mai puțin de 10 editări și 4 zile de activitate.",
        "rcfilters-filter-user-experience-level-learner-label": "Cursanți",
-       "rcfilters-filter-user-experience-level-learner-description": "Mai multă experiență decât \"Noi veniți\" dar mai puțină decât \"Useri experimentați\".",
+       "rcfilters-filter-user-experience-level-learner-description": "Editorii înregistrați a căror experiență este între \"Noi veniți\" și \"Utilizatori experimentați\".",
        "rcfilters-filter-user-experience-level-experienced-label": "Utilizatori experimentați",
-       "rcfilters-filter-user-experience-level-experienced-description": "Mai mult de 30 de zile de activitate și 500 de editări.",
+       "rcfilters-filter-user-experience-level-experienced-description": "Editorii înregistrați cu mai mult de 500 de editări și 30 de zile de activitate.",
        "rcfilters-filtergroup-automated": "Contribuții automate",
        "rcfilters-filter-bots-label": "Robot",
        "rcfilters-filter-bots-description": "Modificări făcute cu unelte automate.",
        "rcfilters-filter-watchlist-watched-label": "Listă de urmărire",
        "rcfilters-filter-watchlist-watched-description": "Modificări are paginilor urmărite de dv.",
        "rcfilters-filter-watchlist-watchednew-label": "Modificari ale listei urmărite de dv.",
-       "rcfilters-filter-watchlist-watchednew-description": "Modificările paginilor care nu au fost vizitate de la efectuarea modificărilor.",
+       "rcfilters-filter-watchlist-watchednew-description": "Modificările paginilor urmărite care nu au fost vizitate de la efectuarea schimbărilor.",
        "rcfilters-filter-watchlist-notwatched-label": "Care nu sunt pe lista urmărită de dv.",
-       "rcfilters-filter-watchlist-notwatched-description": "Totul, cu excepția modificărilor aduse paginilor dvs. vizionate.",
+       "rcfilters-filter-watchlist-notwatched-description": "Totul, cu excepția modificărilor aduse paginilor urmărite de dvs.",
        "rcfilters-filtergroup-changetype": "Tipul modificării",
        "rcfilters-filter-pageedits-label": "Editări ale paginii",
        "rcfilters-filter-pageedits-description": "Editări ale conținutului wiki, discuții, descrieri de categorii...",
        "rcfilters-filter-logactions-label": "Acțiuni logate",
        "rcfilters-filter-logactions-description": "Acțiuni administrative, creare de conturi, ștergere de pagini, încărcări...",
        "rcfilters-hideminor-conflicts-typeofchange-global": "Filtrul \"Modificări minore\" se află în conflict cu unul sau mai multe filtre de tipul \"Modificare\", deoarece anumite tipuri de schimbări nu pot fi desemnate ca \"minore\". Filtrele conflictuale sunt marcate în zona Filtre Active, de mai sus.",
-       "rcfilters-hideminor-conflicts-typeofchange": "Anumite tipuri de schimbări nu pot fi desemnate ca fiind \"minore\", astfel că acest filtru este în conflict cu următoarele filtre de Tip de schimbare: $1",
-       "rcfilters-typeofchange-conflicts-hideminor": "Acest tip de filtrare a tipului de schimbare este în conflict cu filtrul \"Modificări minore\". Anumite tipuri de schimbări nu pot fi desemnate ca fiind \"minore\".",
-       "rcfilters-filtergroup-lastRevision": "Ultima revizie",
-       "rcfilters-filter-lastrevision-label": "Ultima revizie",
-       "rcfilters-filter-lastrevision-description": "Cea mai recentă modificare a unei pagini.",
-       "rcfilters-filter-previousrevision-label": "Versiuni recente",
-       "rcfilters-filter-previousrevision-description": "Toate modificările care nu sunt cea mai recentă modificare a unei pagini.",
+       "rcfilters-hideminor-conflicts-typeofchange": "Anumite tipuri de schimbări nu pot fi desemnate ca fiind \"minore\", astfel că acest filtru este în conflict cu următoarele tipuri de filtre de schimbări: $1",
+       "rcfilters-typeofchange-conflicts-hideminor": "Acest tip de filtru al schimbărilor este în conflict cu filtrul \"Modificări minore\". Anumite tipuri de schimbări nu pot fi desemnate ca fiind \"minore\".",
+       "rcfilters-filtergroup-lastRevision": "Ultimele versiuni",
+       "rcfilters-filter-lastrevision-label": "Versiunea curentă",
+       "rcfilters-filter-lastrevision-description": "Doar cea mai recentă modificare a unei pagini.",
+       "rcfilters-filter-previousrevision-label": "Nu versiunea curentă",
+       "rcfilters-filter-previousrevision-description": "Toate modificările care nu reprezintă cea mai recentă modificare a unei pagini.",
        "rcfilters-filter-excluded": "Exclus",
        "rcnotefrom": "Dedesubt {{PLURAL:$5|se află o modificare|sunt modificările}} începând cu <b>$3, $4</b> (maximum <b>$1</b> afișate).",
        "rclistfromreset": "Resetați selectarea datei",
        "fileexists-forbidden": "Un fișier cu acest nume există deja și nu poate fi rescris.\nMergeți înapoi și încărcați acest fișier sub un nume nou. [[File:$1|thumb|center|$1]]",
        "fileexists-shared-forbidden": "Un fișier cu acest nume există deja în magazia de imagini comune; mergeți înapoi și încărcați fișierul sub un nou nume. [[File:$1|thumb|center|$1]]",
        "fileexists-no-change": "Fișierul încărcat este un duplicat exact al versiunii curente a <strong>[[:$1]]</strong>.",
-       "fileexists-duplicate-version": "Fișierul încărcat este un duplicat exact al {{PLURAL:$2|versiunii vechi|versiunilor vechi}} a <strong>[[:$1]]</strong>.",
+       "fileexists-duplicate-version": "Fișierul încărcat este un duplicat exact al {{PLURAL:$2|versiune veche|versiuni vechi|de versiuni vechi}} a <strong>[[:$1]]</strong>.",
        "file-exists-duplicate": "Acest fișier este dublura {{PLURAL:$1|fișierului|fișierelor}}:",
        "file-deleted-duplicate": "Un fișier identic cu acesta ([[:$1]]) a fost șters anterior. Verificați istoricul ștergerilor fișierului înainte de a-l reîncărca.",
        "file-deleted-duplicate-notitle": "Un fișier identic cu acesta a fost șters anterior, iar titlul a fost suprimat.\nAr trebui să contactați pe cineva care poate vizualiza datele suprimate ale fișierului pentru a evalua situația înainte de a începe să-l reîncărcați.",
        "upload-too-many-redirects": "URL-ul conținea prea multe redirecționări",
        "upload-http-error": "A avut loc o eroare HTTP: $1",
        "upload-copy-upload-invalid-domain": "Încărcarea copiilor nu este disponibilă pentru acest domeniu.",
-       "upload-foreign-cant-upload": "Acest wiki nu este configurat pentru a încărca fișiere în depozitul  de fișiere străin solicitat.",
+       "upload-foreign-cant-upload": "Acest wiki nu este configurat pentru a încărca fișiere în depozitul de fișiere străin solicitat.",
        "upload-dialog-title": "Încărcare fișier",
        "upload-dialog-button-cancel": "Revocare",
        "upload-dialog-button-back": "Înapoi",
        "apisandbox-sending-request": "Se trimite solicitarea API...",
        "apisandbox-loading-results": "Se obțin rezultatele API...",
        "apisandbox-results-error": "A apărut o eroare la încărcarea răspunsului solicitării API: $1.",
-       "apisandbox-request-selectformat-label": "Afișați datele de solicitare ca:",
+       "apisandbox-request-selectformat-label": "Afișați datele solicitate ca:",
        "apisandbox-request-url-label": "URL cerere:",
        "apisandbox-request-time": "Durata cererii: {{PLURAL:$1|$1 ms}}",
        "apisandbox-results-fixtoken": "Corectează jetonul și retrimite",
        "emailccsubject": "O copie a mesajului la $1: $2",
        "emailsent": "E-mail trimis",
        "emailsenttext": "E-mailul dumneavoastră a fost trimis.",
-       "emailuserfooter": "Acest mesaj a fost {{GENDER:$1|trimis}} de $1 către {{GENDER:$2|$2}} prin intermediul funcției „{{int:emailuser}}” de la {{SITENAME}}.",
+       "emailuserfooter": "Acest mesaj a fost {{GENDER:$1|trimis}} de $1 către {{GENDER:$2|$2}} prin intermediul funcției „{{int:emailuser}}” al {{SITENAME}}. Dacă {{GENDER:$2|dvs.}} răspundeți acestui mesaj, adresa {{GENDER:$2|dvs.}} va fi trimisă direct către {{GENDER:$1|expeditorul original}}, fiind vizibilă de către {{GENDER:$1|acesta}}.",
        "usermessage-summary": "a lăsat un mesaj de sistem",
        "usermessage-editor": "Mesager de sistem",
        "watchlist": "Pagini urmărite",
        "enotif_body_intro_moved": "Pagina $1 de la {{SITENAME}} a fost redenumită la $PAGEEDITDATE de către {{gender:$2|$2}}; vedeți $3 pentru versiunea actuală.",
        "enotif_body_intro_restored": "Pagina $1 de la {{SITENAME}} a fost restaurată la $PAGEEDITDATE de către {{gender:$2|$2}}; vedeți $3 pentru versiunea actuală.",
        "enotif_body_intro_changed": "Pagina $1 de la {{SITENAME}} a fost modificată la $PAGEEDITDATE de către {{gender:$2|$2}}; vedeți $3 pentru versiunea actuală.",
-       "enotif_lastvisited": "Vedeți $1 pentru toate modificările de la ultima dvs. vizită.",
-       "enotif_lastdiff": "Apasă $1 pentru a vedea această schimbare.",
+       "enotif_lastvisited": "Pentru toate modificările de la ultima dvs. vizită, vedeți $1",
+       "enotif_lastdiff": "Pentru a vedea această schimbare, vedeți $1",
        "enotif_anon_editor": "utilizator anonim $1",
        "enotif_body": "Domnule/Doamnă $WATCHINGUSERNAME,\n$PAGEINTRO $NEWPAGE\n\nDescrierea lăsată de utilizator: $PAGESUMMARY $PAGEMINOREDIT\n\nPuteți contacta utilizatorul:\ne-mail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nNu veți mai primi notificări în cazul unei viitoare activități până când nu veți vizitați pagina ca utilizator autentificat. Puteți de asemenea reseta notificările pentru toate pagini pe care le urmăriți.\n\nAl dumneavoastră amic, sistemul de notificare de la {{SITENAME}}\n\n--\nPentru a modifica setările notificării prin e-mail, vizitați\n{{canonicalurl:{{#special:Preferences}}}}\n\nPentru a modifica setările listei de pagini urmărite, vizitați\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPentru a nu mai urmări pagina, vizitați\n$UNWATCHURL\n\nAsistență și suport:\n$HELPPAGE",
        "enotif_minoredit": "Aceasta este o modificare minoră",
        "editcomment": "Descrierea modificărilor a fost: <em>$1</em>.",
        "revertpage": "Anularea modificărilor efectuate de către [[Special:Contributions/$2|$2]] ([[User talk:$2|discuție]]) și revenire la ultima versiune de către [[User:$1|$1]]",
        "revertpage-nouser": "Anularea modificărilor efectuate de un utilizator ascuns și revenirea la ultima modificare de către {{GENDER:$1|[[User:$1|$1]]}}",
-       "rollback-success": "Anularea modificărilor făcute de $1;\nrevenire la ultima versiune de $2.",
+       "rollback-success": "Modificările făcute de {{GENDER:$3|$1}} au fost anulate;\nam revenit la ultima versiune de {{GENDER:$4|$2}}.",
        "sessionfailure-title": "Eroare de sesiune",
        "sessionfailure": "Se pare că este o problemă cu sesiunea de autentificare; această acțiune a fost oprită ca o precauție împotriva hijack. Apăsați \"back\" și reîncărcați pagina de unde ați venit, apoi reîncercați.",
        "changecontentmodel": "Modificare model de conținut al unei pagini",
        "changecontentmodel-emptymodels-title": "Nu sunt disponibile modele de conținut",
        "changecontentmodel-emptymodels-text": "Conținutul paginii [[:$1]] nu poate fi convertit în alt tip.",
        "log-name-contentmodel": "Jurnal modificări model de conținut",
-       "log-description-contentmodel": "Evenimente referitoare la modelele de conținut ale paginilor",
+       "log-description-contentmodel": "Această pagină listează schimbări în tipul de conținut al paginilor, precum și pagini care au fost create cu un tip de conținut altul decât cel implicit.",
        "logentry-contentmodel-change": "$1 {{GENDER:$2|a modificat}} modelul de conținut al paginii $3 din „$4” în „$5”",
        "logentry-contentmodel-change-revertlink": "revenire",
        "logentry-contentmodel-change-revert": "revenire",
        "undeleteviewlink": "vezi",
        "undeleteinvert": "Exclude spațiul",
        "undeletecomment": "Motiv:",
-       "cannotundelete": "Recuperarea a eșuat:\n$1",
+       "cannotundelete": "Recuperarea a eșuat parțial sau total:\n$1",
        "undeletedpage": "'''$1 a fost recuperat'''\n\nConsultați [[Special:Log/delete|jurnalul ștergerilor]] pentru a vedea toate ștergerile și recuperările recente.",
        "undelete-header": "Consultați [[Special:Log/delete|jurnalul de ștergeri]] pentru paginile șterse recent.",
        "undelete-search-title": "Căutare pagini șterse",
        "sp-contributions-newbies-sub": "Pentru începători",
        "sp-contributions-newbies-title": "Contribuțiile utilizatorului pentru conturile noi",
        "sp-contributions-blocklog": "jurnal blocări",
-       "sp-contributions-suppresslog": "contribuții suprimate ale utilizatorului",
-       "sp-contributions-deleted": "contribuțiile șterse ale utilizatorului",
+       "sp-contributions-suppresslog": "Contribuții suprimate ale {{GENDER:$1|utilizatorului}}",
+       "sp-contributions-deleted": "contribuțiile șterse ale {{GENDER:$1|utilizatorului}}",
        "sp-contributions-uploads": "încărcări",
        "sp-contributions-logs": "jurnale",
        "sp-contributions-talk": "discuție",
-       "sp-contributions-userrights": "administrarea permisiunilor de utilizator",
+       "sp-contributions-userrights": "administrarea permisiunilor de {{GENDER:$1|utilizator}}",
        "sp-contributions-blocked-notice": "Acest utilizator este momentan blocat.\nUltima blocare este indicată mai jos pentru informare:",
        "sp-contributions-blocked-notice-anon": "Această adresă IP este blocată acum.\nIată aici ultima înregistrare relevantă din jurnalul blocărilor:",
        "sp-contributions-search": "Căutare contribuții",
        "unblock": "Deblocare utilizator",
        "blockip": "Blocare {{GENDER:$1|utilizator|utilizatoare}}",
        "blockip-legend": "Blocare utilizator/adresă IP",
-       "blockiptext": "Pentru a bloca un utilizator completați rubricile de mai jos.<br />\n'''Respectați [[{{MediaWiki:Policy-url}}|politica de blocare]].'''<br />\nPrecizați motivul blocării; de exemplu indicați paginile vandalizate de acest utilizator.",
+       "blockiptext": "Folosiți formularul de mai jos pentru a bloca accesul la modificare al unei adrese IP specifice sau al unui nume de utilizator.\nAcest lucru ar trebui făcut doar pentru a preveni vandalismul, și în acord cu [[{{MediaWiki:Policy-url}}|politica]].\nCompletați un motiv specific mai jos (de exemplu, citând paginile care au fost vandalizate).\nPuteți bloca range-uri de adrese IP folosind notația [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR]; cea mai mică mască permisă este /$1 pentru IPv4 și /$2 pentru IPv6.",
        "ipaddressorusername": "Adresă IP sau nume de utilizator",
        "ipbexpiry": "Expiră",
        "ipbreason": "Motiv:",
        "compare-invalid-title": "Titlul specificat nu este corect.",
        "compare-title-not-exists": "Titlul specificat nu există.",
        "compare-revision-not-exists": "Versiunea specificată nu există.",
-       "diff-form": "un '''formular'''",
+       "diff-form": "Diferențe",
        "dberr-problems": "Ne cerem scuze! Acest site întâmpină dificultăți tehnice.",
        "dberr-again": "Așteptați câteva minute și încercați din nou.",
        "dberr-info": "(Nu se poate accesa baza de date: $1)",
        "htmlform-cloner-create": "Adăugă mai mult",
        "htmlform-cloner-delete": "Elimină",
        "htmlform-cloner-required": "Este necesară cel puțin o valoare.",
+       "htmlform-date-placeholder": "YYYY-MM-DD",
+       "htmlform-time-placeholder": "HH:MM:SS",
+       "htmlform-datetime-placeholder": "YYYY-MM-DD HH:MM:SS",
        "htmlform-title-badnamespace": "[[:$1]] nu se află în spațiul de nume „{{ns:$2}}”.",
        "htmlform-title-not-creatable": "„$1” este un titlu de pagină inutilizabil",
        "htmlform-title-not-exists": "$1 nu există.",
        "mw-widgets-dateinput-no-date": "Nicio dată selectată",
        "mw-widgets-dateinput-placeholder-day": "AAAA-LL-ZZ",
        "mw-widgets-dateinput-placeholder-month": "AAAA-LL",
+       "mw-widgets-mediasearch-noresults": "Niciun rezultat găsit.",
        "mw-widgets-titleinput-description-new-page": "pagina nu există încă",
        "mw-widgets-titleinput-description-redirect": "redirecționare către $1",
+       "mw-widgets-categoryselector-add-category-placeholder": "Adăugați o categorie...",
+       "mw-widgets-usersmultiselect-placeholder": "Adăugați mai multe...",
        "date-range-from": "De la data:",
        "date-range-to": "Până la data:",
        "sessionmanager-tie": "Nu se pot combina multiple tipuri de cereri de autentificare: $1.",
        "log-action-filter-newusers": "Tip de creare de cont:",
        "log-action-filter-patrol": "Tip de patrulare:",
        "log-action-filter-protect": "Tip de protecție:",
-       "log-action-filter-rights": "Tip de schimbare de drepturi",
+       "log-action-filter-rights": "Tip de schimbare de drepturi:",
+       "log-action-filter-suppress": "Tip de suprimare:",
        "log-action-filter-upload": "Tip de încărcare:",
        "log-action-filter-all": "Toate",
        "log-action-filter-block-block": "Blocare",
        "authmanager-realname-label": "Nume real",
        "authmanager-realname-help": "Numele real al utilizatorului",
        "authprovider-resetpass-skip-label": "Omite",
+       "specialpage-securitylevel-not-allowed-title": "Nepermis",
+       "specialpage-securitylevel-not-allowed": "Ne pare rău, nu aveți dreptul de a folosi această pagină deoarece identitatea dvs. nu a putut fi verificată.",
        "linkaccounts-submit": "Leagă conturile",
        "unlinkaccounts": "Dezleagă conturile",
        "unlinkaccounts-success": "Contul a fost dezlegat",
-       "userjsispublic": "Atenție: subpaginile JavaScript nu trebuie să conțină date confidențiale, întrucât ele sunt vizibile altor utilizatori."
+       "userjsispublic": "Atenție: subpaginile JavaScript nu trebuie să conțină date confidențiale, întrucât ele sunt vizibile altor utilizatori.",
+       "pagedata-title": "Datele paginii",
+       "pagedata-bad-title": "Titlu invalid: $1."
 }
index e6937d0..c752011 100644 (file)
        "compare-invalid-title": "'U titele ca è specificate jè invalide.",
        "compare-title-not-exists": "'U titele ca è specificate non g'esiste.",
        "compare-revision-not-exists": "'A revisione ca è specificate non g'esiste.",
-       "diff-form": "'nu '''form'''",
+       "diff-form": "Differenze",
        "dberr-problems": "Sime spiacende! Stu site stè 'ngondre de le difficoltà tecniche.",
        "dberr-again": "Aspitte quacche minute e pò recareche.",
        "dberr-info": "(Non ge riuscime a trasè sus a'u server d'u database: $1)",
index 2bded0c..ce42890 100644 (file)
        "tog-watchlisthideminor": "Скрывать малые правки из списка наблюдения",
        "tog-watchlisthideliu": "Скрывать правки представившихся участников из списка наблюдения",
        "tog-watchlistreloadautomatically": "Обновлять список наблюдения автоматически всякий раз, когда изменяется фильтр (требуется JavaScript)",
+       "tog-watchlistunwatchlinks": "Добавить прямые для включения/исключения записей в Список наблюдения (требуется JavaScript)",
        "tog-watchlisthideanons": "Скрывать правки анонимных участников из списка наблюдения",
        "tog-watchlisthidepatrolled": "Скрывать отпатрулированные правки из списка наблюдения",
        "tog-watchlisthidecategorization": "Скрывать категоризацию страниц",
        "rcfilters-restore-default-filters": "Восстановить фильтры по умолчанию",
        "rcfilters-clear-all-filters": "Очистить все фильтры",
        "rcfilters-show-new-changes": "Последние изменения",
-       "rcfilters-previous-changes-label": "Ранее просмотренные изменения",
        "rcfilters-search-placeholder": "Последние изменения фильтров (просмотрите или начните вводить)",
        "rcfilters-invalid-filter": "Недопустимый фильтр",
        "rcfilters-empty-filter": "Нет активных фильтров. Показываются все правки.",
        "rcfilters-filterlist-noresults": "Фильтры не найдены",
        "rcfilters-noresults-conflict": "Результатов не найдено из-за конфликта критериев поиска",
        "rcfilters-state-message-subset": "Фильтр не будет иметь эффекта, поскольку его результаты включены в {{PLURAL:$2|следующий более широкий фильтр|следующие более широкие фильтры}} (попробуйте подсвечивание для различения): $1",
-       "rcfilters-state-message-fullcoverage": "Выбор всех фильтров в группе — это то же самое, что и отсутствие какого-либо выбора, поэтому этот фильтр не имеет никакого эффекта. Включённые группы: $1",
+       "rcfilters-state-message-fullcoverage": "Выбор всех фильтров в этой группе — это то же самое, что и отсутствие какого-либо выбора, поэтому данный фильтр не имеет никакого эффекта. Включённые группы: $1",
        "rcfilters-filtergroup-authorship": "Редактировать авторство",
        "rcfilters-filter-editsbyself-label": "Внесённые вами изменения",
        "rcfilters-filter-editsbyself-description": "Ваш вклад.",
        "rcfilters-filter-watchlist-watchednew-description": "Правки на страницах из вашего списка наблюдения, которые вы не просмотрели с их совершения.",
        "rcfilters-filter-watchlist-notwatched-label": "Нет в списке наблюдения",
        "rcfilters-filter-watchlist-notwatched-description": "Всё, исключая правки со страниц из вашего списка наблюдения.",
+       "rcfilters-filtergroup-watchlistactivity": "Активность в списке наблюдения",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Непросмотренные изменения",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Правки на страницах, которые вы не видели с тех пор, как были внесены изменения.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Просмотренные изменения",
+       "rcfilters-filter-watchlistactivity-seen-description": "Правки на страницах, которые вы видели с тех пор, как были внесены изменения.",
        "rcfilters-filtergroup-changetype": "Тип изменения",
        "rcfilters-filter-pageedits-label": "Правки страницы",
        "rcfilters-filter-pageedits-description": "Правки содержимого, обсуждений, описания категорий…",
        "rcfilters-liveupdates-button": "Обновлять автоматически",
        "rcfilters-liveupdates-button-title-on": "Отключить автоматические обновления",
        "rcfilters-liveupdates-button-title-off": "Показывать новые изменения сразу после их появления",
+       "rcfilters-watchlist-markSeen-button": "Отметить все изменения как просмотренные",
        "rcnotefrom": "Ниже {{PLURAL:$5|указано изменение|перечислены изменения}} с <strong>$3, $4</strong> (показано не более <strong>$1</strong>).",
        "rclistfromreset": "Сбросить выбор даты",
        "rclistfrom": "Показать изменения с $3 $2.",
        "watching": "Добавление в список наблюдения…",
        "unwatching": "Удаление из списка наблюдения…",
        "watcherrortext": "Произошла ошибка при изменении настройки наблюдения для «$1».",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Отметить все страницы как просмотренные",
        "enotif_impersonal_salutation": "Участник {{grammar:genitive|{{SITENAME}}}}",
        "enotif_subject_deleted": "Страница проекта «{{SITENAME}}» с именем «$1» была удалена {{gender:$2|участником|участницей}} $2",
        "compare-revision-not-exists": "Указанной вами версии не существует.",
        "diff-form": "Различия",
        "diff-form-oldid": "Старый идентификатор версии (необязательно)",
+       "diff-form-revid": "Идентификатор версии с различиями",
        "diff-form-submit": "Показать отличия",
        "permanentlink": "Постоянная ссылка",
        "permanentlink-revid": "Идентификатор правки",
index 575a1bd..9d1f190 100644 (file)
@@ -67,9 +67,9 @@
        "fri": "Asimwas",
        "sat": "Asidyas",
        "january": "ⵉⵏⵏⴰⵢⵔ",
-       "february": "brayr",
+       "february": "ⴼⴱⵔⴰⵢⵔ",
        "march": "ⵎⴰⵔⵚ",
-       "april": "Ibrir",
+       "april": "ⴰⴱⵔⵉⵍ",
        "may_long": "ⵎⴰⵢⵢⵓ",
        "june": "ⵢⵓⵏⵢⵓ",
        "july": "ⵢⵓⵍⵢⵓⵣ",
@@ -79,7 +79,7 @@
        "november": "ⵏⵓⵡⴰⵏⴱⵉⵔ",
        "december": "ⴷⵓⵊⴰⵏⴱⵉⵔ",
        "january-gen": "ⵉⵏⵏⴰⵢⵔ",
-       "february-gen": "Brayr",
+       "february-gen": "ⴼⴱⵔⴰⵢⵔ",
        "march-gen": "ⵎⴰⵔⵚ",
        "april-gen": "Ibrir",
        "may-gen": "ⵎⴰⵢⵢⵓ",
@@ -93,7 +93,7 @@
        "jan": "ⵉⵏⵏ",
        "feb": "brayr",
        "mar": "ⵎⴰⵔ",
-       "apr": "Ibrir",
+       "apr": "ⴰⴱⵔ",
        "may": "ⵎⴰⵢ",
        "jun": "ⵢⵓⵏ",
        "jul": "ⵢⵓⵍ",
        "october-date": "$1 ⴽⵜⵓⴱⵔ",
        "november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ",
        "december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ",
-       "pagecategories": "{{PLURAL:$1|â´°âµ\99âµ\8eâµ\89âµ\8d|âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ}}",
-       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f â´³ âµ\93âµ\99âµ\8eâµ\89âµ\8d \"$1\"",
+       "pagecategories": "{{PLURAL:$1|âµ\9cⴰⴳⴳⴰⵢâµ\9c|âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ}}",
+       "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ\96 âµ\9cⴰⴳⴳⴰⵢâµ\9c \"$1\"",
        "subcategories": "ⵉⴷⵓⵙⵎⵉⵍⵏ",
        "category-media-header": "Asdaw multimedya ɣ taggayt \"$1\"",
        "category-empty": "Taggayt ad ur gis kra n tasna, du-taggayt niɣd asddaw multimidya",
-       "hidden-categories": "{{PLURAL:$1|â´°âµ\99âµ\8eâµ\89âµ\8d âµ\89âµ\8fâµ\9câµ\8dâµ\8f|âµ\89âµ\99âµ\8eâµ\89âµ\8dⵏ ⵏⵜⵍⵏⵉⵏ}}",
+       "hidden-categories": "{{PLURAL:$1|âµ\9cⴰⴳⴳⴰⵢâµ\9c âµ\89âµ\8fâµ\9câµ\8dâµ\8f|âµ\9cⴰⴳⴳⴰⵢâµ\89ⵏ ⵏⵜⵍⵏⵉⵏ}}",
        "hidden-category-category": "ⵉⵙⵎⵉⵍⵏ ⵏⵜⵍⵏⵉⵏ",
        "category-subcat-count": "Taggayt ad gis {{PLURAL:$2|ddu taggayt|$2 ddu taggayin, lli ɣ tlla {{PLURAL:$1|ɣta|ɣti $1}}}} γu flla nna.",
        "category-subcat-count-limited": "Taggayt ad illa gis {{PLURAL:$1|ddu taggayt| $1 ddu taggayyin}} ɣid ɣ uzddar.",
        "listingcontinuesabbrev": "Attfr",
        "index-category": "Tisniwin su umatar",
        "noindex-category": "Tisniwin bla amatar",
-       "broken-file-category": "Tisniwin ɣ llan izdayn rzanin",
+       "broken-file-category": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵖ ⵍⵍⴰⵏ ⵉⵍⵉⵏⴽⵏ ⵔⵥⴰⵏⵉⵏ",
        "about": "ⵅⴼ",
        "article": "ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "newwindow": "(ⵉⵜⵜⵏⵓⵔⵥⵓⵎ ⴷⴳ ⵓⵙⴽⵙⵍ ⴰⵎⴰⵢⵏⵓ)",
        "specialpage": "ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ",
        "personaltools": "ⵉⵎⴰⵙⵙⵏ ⵉⵏⵉⵎⴰⵏⴻⵏ",
        "talk": "ⴰⵎⵙⴰⵡⴰⵍ",
-       "views": "Ẓr.. (Mel)",
+       "views": "ⵜⴰⵏⵏⴰⵢⵉⵏ",
        "toolbox": "ⵉⵎⴰⵙⵙⵏ",
        "imagepage": "Ẓr tasna n-usddaw",
        "mediawikipage": "Ẓr tasna n tabrat",
        "otherlanguages": "ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵢⴰⴹⵏ",
        "redirectedfrom": "(Tmmuttid z $1)",
        "redirectpagesub": "Tasna n-usmmattay",
-       "lastmodifiedat": "â´°âµ\99âµ\8fâ´¼âµ\8d âµ\89ⴳⴳⵯâµ\94â´°âµ\8f â´³ ⵜⴰⵙⵏⴰ ⴰⴷ ⵉⵜⵜⵢⵓⵙⴽⵔ ⴰⵙⵙ ⵏ $1 ⴳ $2.",
+       "lastmodifiedat": "â´°âµ\99âµ\8fâ´¼âµ\8d âµ\89ⴳⴳⵯâµ\94â´°âµ\8f âµ\96 ⵜⴰⵙⵏⴰ ⴰⴷ ⵉⵜⵜⵢⵓⵙⴽⵔ ⴰⵙⵙ ⵏ $1 ⴳ $2.",
        "viewcount": "Tmmurzm tasna yad {{PLURAL:$1|yat twalt|$1 mnnawt twal}}.",
        "protectedpage": "Tasnayat iqn ugdal nes.",
        "jumpto": "ⴷⴷⵓ ⵙ:",
        "pool-timeout": "Tzrit tizi n uql lli yak ittuykfan. Ggutn midn lli iran ad iẓr tasna yad. Urrid yan imik..",
        "pool-queuefull": "Umuɣ n twuri iẓun (iεmr)",
        "pool-errorunknown": "Anzri (error) ur ittuyssan.",
-       "aboutsite": "âµ\85â´¼ {{SITENAME}}",
-       "aboutpage": "Project:âµ\85ⴼ",
+       "aboutsite": "ⴼ {{SITENAME}}",
+       "aboutpage": "Project:âµ\96ⴼ",
        "copyright": "Mayllan gis illa ɣ ddu $1.",
-       "copyrightpage": "{{ns:project}}:Izrfan n umgay",
+       "copyrightpage": "{{ns:project}}:ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵎⴳⴰⵢ",
        "currentevents": "Immussutn n ɣila",
        "currentevents-url": "Project:Immussutn n ɣilad",
        "disclaimers": "ⵉⵙⵎⵉⴳⵍⵏ",
        "editold": "ⵙⵏⴼⵍ",
        "viewsourceold": "Mel aɣbalu",
        "editlink": "ⵙⵏⴼⵍ",
-       "viewsourcelink": "Mel aɣbalu",
+       "viewsourcelink": "ⵥⵔ ⴰⵙⴰⴳⵎ",
        "editsectionhint": "ⵙⵏⴼⵍ ⵜⵉⴳⵣⵎⵉ: $1",
        "toc": "ⵜⵓⵎⴰⵢⵉⵏ",
        "showtoc": "Mel",
        "site-atom-feed": "$1 lqm n' atom",
        "page-rss-feed": "\"$1\" tlqim RSS",
        "page-atom-feed": "$1 azday atom",
-       "red-link-title": "$1 (tasna yad ur tlli)",
+       "red-link-title": "$1 (ⵜⴰⵙⵏⴰ ⵓⵔ ⵉⵍⵍⵉⵏ)",
        "nstab-main": "ⵜⴰⵙⵏⴰ",
        "nstab-user": "ⵜⴰⵙⵏⴰ ⵏ {{GENDER:{{ROOTPAGENAME}}|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}}",
        "nstab-media": "Tasnat Ntuzumt",
        "nstab-mediawiki": "ⵜⵓⵣⵉⵏⵜ",
        "nstab-template": "Talɣa",
        "nstab-help": "ⵜⴰⵙⵏⴰ ⵏ ⵜⵡⵉⵙⵉ",
-       "nstab-category": "â´°âµ\99âµ\8eâµ\89âµ\8d",
+       "nstab-category": "âµ\9cⴰⴳⴳⴰⵢâµ\9c",
        "mainpage-nstab": "ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "nosuchaction": "ⵓⵔ ⵜⵍⵍⵉ ⵜⵉⴳⴰⵡⵜ ⴰⴷ",
        "nosuchactiontext": "Mytuskarn ɣu tansa yad ur tti tgi.\n\nIrwas is turit tansa  skra mani yaḍnin, ulla azday ur igi amya.\n\nTzdar attili tamukrist ɣ {{SITENAME}}.",
        "italic_sample": "Aḍṛiṣ iknan",
        "italic_tip": "Aḍṛiṣ iknan",
        "link_sample": "Azwl n uzday",
-       "link_tip": "Azday uwgns",
-       "extlink_sample": "http://www.example.com azwl n uzday",
-       "extlink_tip": "Azday n brra (af ur ttut amzwir http://prefix)",
+       "link_tip": "ⴰⵍⵉⵏⴽ ⴰⴳⵯⵏⵙⴰⵏ",
+       "extlink_sample": "http://www.example.com ⴰⵣⵡⵍ ⵏ ⵓⵍⵉⵏⴽ",
+       "extlink_tip": "ⴰⵍⵉⵏⴽ ⴰⴱⵔⵔⴰⵏ (ⴰⴷ ⵓⵔ ⵜⴻⵜⵜⵓⵜ ⴰⵣⵡⵉⵔ http://)",
        "headline_sample": "Aḍṛiṣ n ddu uzwl",
        "headline_tip": "Ddu-uzwl taskfalt 2",
        "nowiki_sample": "Kcm aḍṛiṣ li ur imzln ɣid",
        "accmailtitle": "awal ihdan hatin yuznak nnit",
        "newarticle": "(ⴰⵎⴰⵢⵏⵓ)",
        "newarticletext": "Tfrt yan uzday s yat tasna lli ur ta jju illan [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} ttuykkas].\nIɣ rast daɣ tskrt skcm atṛiṣ nk ɣ tanaka  yad (Tẓḍaṛt an taggt γi [$1 tasna u usaws] iɣ trit inɣmisn yaḍn).\nIvd tlkmt {{GENDER:||e|(e)}} ɣis bla trit, klikki f tajrrayt n '''urrir''' n iminig nk (navigateur).",
-       "noarticletext": "ɣilad ur illa walu may ityuran  f tasnatad ad, tzdart at [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nulla cabba  [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.",
+       "noarticletext": "ⵓⵔ ⵖⵉⵍⴰⴷ ⵉⵍⵍⵉ ⴽⵔⴰ ⵏ ⵓⴹⵔⵉⵙ ⵖ ⵜⴰⵙⵏⴰ ⴰⴷ.\nⵜⵥⴹⴰⵔⵜ [[Special:Search/{{PAGENAME}}|ⴰⴷ ⵜⵙⵉⴳⴳⵍⵜ ⴰⵣⵡⵍ ⴰⴷ]] ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵢⴰⴹⵏ,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nⵏⵖ [{{fullurl:{{FULLPAGENAME}}|action=edit}} ⴰⴷ ⵜⵙⵏⵓⵍⴼⵓⵜ ⵜⴰⵙⵏⴰ ⴰⴷ]</span>.",
        "noarticletext-nopermission": "Ur illa may itt yuran ɣ tasna tad.\nẒr [[Special:Search/{{PAGENAME}}|search for this page title]] ɣ tisnatin yaḍnin,\nulla <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}search the related logs]</span>.",
        "updated": "(mohdata)",
        "note": "'''molahada:'''",
        "copyrightwarning": "ikhssak atst izd kolchi tikkin noun ɣ {{SITENAME}} llan ɣdo $2 (zr $1 iɣ trit ztsnt uggar).\niɣ ortrit ayg ɣayli torit ḥor artisbadal wnna ka-iran, attid ortgt ɣid.<br />\nikhssak ola kiyi ador tnqilt ɣtamani yadni.\n'''ador tgat ɣid ɣayli origan ḥor iɣzark orilli lidn nbab-ns!'''",
        "templatesused": "{{PLURAL:$1|Tamuḍimt lli nsxdm|Timuḍimin}} ɣ tasna yad:",
        "templatesusedpreview": "{{PLURAL:$1|Tamuḍimt llis nskar |Timuḍam lli sa nskar }} ɣ iẓriyad amzwaru :",
-       "template-protected": "Agdal",
+       "template-protected": "(ⵉⵜⵜⵢⵓⴼⵔⴰⴳ)",
        "template-semiprotected": "Azin-ugdal",
        "hiddencategories": "{{PLURAL:$1|Taggayt iḥban|Taggayin ḥbanin}} lli ɣtlla tasba yad :",
        "permissionserrors": "ⵜⴰⵣⴳⵍⵜ ⵖ ⵜⵓⵔⴰⴳⵜ",
        "showhideselectedversions": "Ml/Ḥbu ilqmn lli ittuystayn",
        "editundo": "Urri",
        "diff-multi-manyusers": "({{PLURAL:$1|yan ulqm n gratsn|$1 ilqmn ngratsn}} zdar mnnaw {{PLURAL:$2|amcgr |n $2 imcgrn}} {{PLURAL:$1|iḥba|lli iḥban}})",
-       "searchresults": "Mad akkan icnubcn",
-       "searchresults-title": "âµ\9câµ\89ⵢⴰⴼâµ\93âµ\9câµ\89âµ\8f âµ\8f âµ\93âµ\94ⵣⵣâµ\93 âµ\85â´¼ \"$1\"",
+       "searchresults": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ",
+       "searchresults-title": "ⵜⵉⵢⴰⴼⵓⵜⵉⵏ ⵏ ⵓⵔⵣⵣⵓ ⴼ \"$1\"",
        "titlematches": "Assaɣ n tasna iga zund",
        "textmatches": "Aṭṛiṣ n tasna iga zund",
        "notextmatches": "Ur ittyufa kra nu uṭṛiṣ igan zund ɣwad",
        "searchmenu-exists": "\"'Tlla yat tasna lli ilan assaɣ « [[:$1]] » ɣ wiki yad",
        "searchmenu-new": "<strong>ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ \"[[:$1]]\" ⴳ ⵓⵡⵉⴽⵉ ⴰⴷ!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
        "searchprofile-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
-       "searchprofile-images": "Multimedia",
+       "searchprofile-images": "ⴰⴳⵜⵎⵉⴷⵢⴰ",
        "searchprofile-everything": "ⴰⴽⴽⵯ",
-       "searchprofile-advanced": "motaqqadim",
+       "searchprofile-advanced": "Advanced",
        "searchprofile-articles-tooltip": "ⵙⵉⴳⴳⵍ ⵖ $1",
        "searchprofile-images-tooltip": "ⵙⵉⴳⴳⵍ ⵉⴼⴰⵢⵍⵓⵜⵏ",
        "searchprofile-everything-tooltip": "ⵙⵉⴳⴳⵍ ⵖ ⵜⵓⵎⴰⵢⵜ ⴽⵓⵍⵍⵓ ⵜⵜ (ⵓⵍⴰ ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵓⵎⵙⴰⵡⴰⵍ)",
-       "searchprofile-advanced-tooltip": "Cabba ɣ igmmaḍn li tuyzlaynin",
+       "searchprofile-advanced-tooltip": "ⵙⵉⴳⴳⵍ ⵖ custom namespaces",
        "search-result-size": "$1 ({{PLURAL:$2|1 ⵜⴳⵓⵔⵉ|$2 ⵜⴳⵓⵔⵉⵡⵉⵏ}})",
        "search-result-category-size": "$1 {{PLURAL:$1|ⵓⴳⵎⴰⵎ|ⵉⴳⵎⴰⵎⵏ}} ($2 {{PLURAL:$2|ⵡⴰⴷⵓⵎⵙⵉⵍ|ⵉⴷⵓⵎⵙⵉⵍⵏ}}, $3 {{PLURAL:$3|ⵓⴼⴰⵢⵍⵓ|ⵉⴼⴰⵢⵍⵓⵜⵏ}})",
        "search-redirect": "(Asmmati $1)",
        "number_of_watching_users_pageview": "[$1 iżŗi {{PLURAL:$1|amsqdac|imsqdacn}}]",
        "rc_categories_any": "wanna",
        "rc-change-size": "$1",
-       "rc-change-size-new": "$1 {{PLURAL:$1|ⴱⴰⵢⵜ|ⵉⴷ ⴱⴰⵢⵜ}} ⴷⴼⴼⵉⵔ ⵓⵙⵏⴼⵍ",
+       "rc-change-size-new": "$1 {{PLURAL:$1|ⴱⴰⵢâµ\9c|âµ\89â´· â´±â´°âµ¢âµ\9c}} â´·â´¼â´¼âµ\89âµ\94 âµ\8f âµ\93âµ\99âµ\8fâ´¼âµ\8d",
        "newsectionsummary": "/* $1 */ ⵜⵉⴳⵣⵎⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ",
        "rc-enhanced-expand": "Ml ifruriyn (ira JavaScript)",
        "rc-enhanced-hide": "Ĥbu ifruriyn",
        "recentchangeslinked-feed": "Imbddeln zund ɣwid",
        "recentchangeslinked-toolbox": "Imbddeln zund ɣwid",
        "recentchangeslinked-title": "ⵉⵙⵏⴼⵉⵍⵏ ⵇⵇⵏⵏⵉⵏ ⵙ \"$1\"",
-       "recentchangeslinked-summary": "Ɣid umuɣ iymbddeln li ittyskarnin tigira yad ɣ tisniwin li ittuyzdayn d kra n tasna (ulla i igmamn n kra taggayt ittuyzlayn). Tisniwin  ɣ [[Special:Watchlist|Umuɣ n tisniwin li ttsaggat]].",
+       "recentchangeslinked-summary": "ⵉⵙⵏⴼⵉⵍⵏ ⵜⵜⵢⵓⵙⴽⴰⵔⵏⵉⵏ ⵜⵉⴳⵉⵔⴰ ⴰⴷ ⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏⵏⴰ ⵙⵔⵙⵏⵜ ⵜⴻⵜⵜⴰⵡⵉ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ (ⵏⵖ ⵉ ⵉⴳⵎⴰⵎⵏ ⵏ ⴽⵔⴰ ⵏ ⵜⴰⴳⴳⴰⵢⵜ ⵉⵥⵍⵉⵏ).\nⵜⴰⵙⵏⵉⵡⵉⵏ ⵍⵍⴰⵏⵉⵏ ⵖ [[Special:Watchlist|ⵜⵍⴳⴰⵎⵜ ⵏⵏⴽ/ⵎ ⵏ ⵓⴹⴼⴼⵓⵔ]] ⵍⵍⴰⵏⵜ ⵙ ⵜⵉⵔⵔⴰ ⵣⵓⵔⵏⵉⵏ.",
        "recentchangeslinked-page": "ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ:",
        "recentchangeslinked-to": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵇⵇⵏⵏⵉⵏ ⵙ ⵜⴰⵙⵏⴰ instead",
        "upload": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "filehist-user": "ⴰⵙⵎⵔⴰⵙ",
        "filehist-dimensions": "ⵉⵎⵏⴰⴷⵏ",
        "filehist-comment": "ⴰⵅⴼⴰⵡⴰⵍ",
-       "imagelinks": "Izdayn n usdaw",
+       "imagelinks": "ⴰⵙⵇⴷⵛ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "linkstoimage": "Tasna yad {{PLURAL:$1|izdayn n tasna|$1 azday n tasniwin}} s usdaw:",
-       "nolinkstoimage": "Ḥtta kra n tasna ur tra asdaw ad",
+       "nolinkstoimage": "ⵓⵔ ⵜⵍⵍⵉ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵉⵏⴰⵡⵍⵏ ⴰⴼⴰⵢⵍⵓ ⴰⴷ.",
        "sharedupload": "Asdawad z $1 tẓḍart at tsxdmt gr iswirn yaḍnin",
        "sharedupload-desc-here": "ⴰⴼⴰⵢⵍⵓ ⴰⴷ ⵉⴽⴽⴰ ⴷ $1 ⴷ ⵉⵥⴹⴰⵔ ⴰⴷ ⵢⵉⵍⵉ ⵉⵜⵜⵢⴰⵡⵙⵅⴷⴰⵎ ⵖ ⵉⵙⵏⴼⴰⵔⵏ ⵢⴰⴹⵏ.\nⴰⴳⵍⴰⵎ ⵉⵍⵍⴰⵏ ⵖ [$2 ⵜⴰⵙⵏⴰ ⵏⵏⵙ ⵏ ⵓⴳⵍⴰⵎ] ⵀⴰ ⵜ ⴷⴷⴰⵡ ⴰⵙ.",
        "uploadnewversion-linktext": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵜⵓⵏⵖⵉⵍⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵏ ⵓⴼⴰⵢⵍⵓ ⴰⴷ",
        "booksources-search-legend": "Acnubc s iɣbula n idlisn",
        "booksources-isbn": "ISBN:",
        "booksources-search": "ⵙⵉⴳⴳⵍ",
-       "specialloguserlabel": "Amsqdac",
+       "specialloguserlabel": "ⴰⵎⴳⴰⵢ:",
        "speciallogtitlelabel": "Azwl",
        "log": "Immussutn ittyuran",
        "all-logs-page": "Immussutn ittyuran immurzmn i kullu..",
        "sp-contributions-submit": "ⵙⵉⴳⴳⵍ",
        "sp-contributions-explain": "↓",
        "whatlinkshere": "ⵎⴰⴷ ⵉⵇⵇⵏⴻⵏ ⵙ ⵖⵉⴷ",
-       "whatlinkshere-title": "Tisniwin li izdayn d \"$1\"",
+       "whatlinkshere-title": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵜⵜⴰⵡⵉⵏⵉⵏ ⵙ \"$1\"",
        "whatlinkshere-page": "ⵜⴰⵙⵏⴰ:",
        "linkshere": "Tasnawinad ar slkamnt i '''[[:$1]]''':",
-       "nolinkshere": "Ur llant tasniwin li izdin d '''[[:$1]]'''.",
+       "nolinkshere": "ⵓⵍⴰ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵓⵔ ⴰⵔ ⵜⴻⵜⵜⴰⵡⵉ ⵙ <strong>[[:$1]]</strong>.",
        "nolinkshere-ns": "Ur tlla kra n tasna izdin d  '''[[:$1]]''' ɣ tɣult l-ittuystayn.",
        "isredirect": "Tasna immutin",
        "istemplate": "Illa gis",
-       "isimage": "Azday s usdaw",
+       "isimage": "ⴰⵍⵉⵏⴽ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "whatlinkshere-prev": "{{PLURAL:$1|amzwaru|amzwaru $1}}",
        "whatlinkshere-next": "{{PLURAL:$1|wali d yuckan|wali d yuckan $1}}",
-       "whatlinkshere-links": "← izdayn",
+       "whatlinkshere-links": "← ⵉⵍⵉⵏⴽⵏ",
        "whatlinkshere-hideredirs": "$1 Ismmattayn",
        "whatlinkshere-hidetrans": "$1 mayllan gis",
-       "whatlinkshere-hidelinks": "$1 izdayn",
+       "whatlinkshere-hidelinks": "$1 ⵉⵍⵉⵏⴽⵏ",
        "whatlinkshere-hideimages": "$1 izdayn awlaf",
        "whatlinkshere-filters": "Istayn",
        "blockip": "ⴳⴷⵍ {{GENDER:$1|ⴰⵙⵎⵔⴰⵙ|ⵜⴰⵙⵎⵔⴰⵙⵜ}}",
        "tooltip-ca-unwatch": "ⵙⵉⵜⵜⵉ ⵜⴰⵙⵏⴰ ⴰⴷ ⵣⵖ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ",
        "tooltip-search": "ⵙⵉⴳⴳⵍ ⵖ {{SITENAME}}",
        "tooltip-search-go": "Ftu s tasna s w-assaɣ znd ɣ-wad  iɣ tlla",
-       "tooltip-search-fulltext": "Cnubc aṭṛiṣad ɣ tisnatin",
+       "tooltip-search-fulltext": "ⵙⵉⴳⴳⵍ ⴰⴹⵔⵉⵙ ⴰⴷ ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ",
        "tooltip-p-logo": "ⴽⴽ ⴷ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "tooltip-n-mainpage": "ⴽⴽ ⴷ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
        "tooltip-n-mainpage-description": "ⴽⴽ ⴷ ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ",
-       "tooltip-n-portal": "f' usenfar, matzdart atitskrt, maniɣrattaft ɣayli trit",
+       "tooltip-n-portal": "ⴼ ⵓⴱⵔⵓⵊⵉ, ⵎⴰⴷ ⵜⵥⴹⴰⵔⵜ ⴰⴷ ⵜ ⵜⵙⴽⵔⵜ, ⵎⴰⵏⵉ ⵔⴰⴷ ⵜⴰⴼⵜ ⵓⵎⵍⴰⵏ",
        "tooltip-n-currentevents": "Tiɣri izrbn i kullu maɣid immusn",
        "tooltip-n-recentchanges": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ ⵖ ⵓⵡⵉⴽⵉ",
-       "tooltip-n-randompage": "Srbu yat tasna ɣik nna ka tga",
+       "tooltip-n-randompage": "ⵣⴷⵎ ⴷ ⴽⵔⴰ ⵏ ⵜⴰⵙⵏⴰ ⵙ ⵓⴷⵀⵎⴰⵙ",
        "tooltip-n-help": "Adɣar n w-aws",
        "tooltip-t-whatlinkshere": "Umuɣ n kullu tisnatin n Wiki lid ilkkmn ɣid",
-       "tooltip-t-recentchangeslinked": "Imbddln imaynutn n tisnatin li ittylkamn s tasna yad",
+       "tooltip-t-recentchangeslinked": "ⵉⵙⵏⴼⵉⵍⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ ⵖ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏⵏⴰ ⵙⵔⵙⵏ ⵜⴻⵜⵜⴰⵡⵉ ⵜⴰⵙⵏⴰ ⴰⴷ",
        "tooltip-feed-rss": "Usuddm (Flux) n tasna yad",
        "tooltip-feed-atom": "Usuddm Atum n tasna yad",
        "tooltip-t-contributions": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵜⵓⵎⵓⵜⵉⵏ ⵏ {{GENDER:$1|ⵓⵙⵎⵔⴰⵙ|ⵜⵙⵎⵔⴰⵙⵜ}} ⴰⴷ",
        "tooltip-t-emailuser": "Ṣafd tabrat umsqdac ad",
        "tooltip-t-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ",
-       "tooltip-t-specialpages": "âµ\9câ´°âµ\8dⴳⴰâµ\8eâµ\9c âµ\8f âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ¥âµ\8dâµ\89âµ\8fâµ\89âµ\8f â´°â´½â´½âµ¯",
+       "tooltip-t-specialpages": "âµ\9câ´°âµ\8dⴳⴰâµ\8eâµ\9c âµ\8f â´½âµ\93âµ\8dâµ\8dâµ\93 âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f âµ¥âµ\8dâµ\89âµ\8fâµ\89âµ\8f",
        "tooltip-t-print": "Lqim uziggz n tasna yad",
        "tooltip-t-permalink": "Azday bdda i lqim n tasna yad",
-       "tooltip-ca-nstab-main": "Ẓr mayllan ɣ tasna",
+       "tooltip-ca-nstab-main": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⵓⵎⴰⵢⵜ",
        "tooltip-ca-nstab-user": "Ẓr tasna n useqdac",
        "tooltip-ca-nstab-media": "Iẓri n tasna n midya",
        "tooltip-ca-nstab-special": "ⵜⴰⴷ ⵜⴳⴰ ⵢⴰⵜ ⵜⴰⵙⵏⴰ ⵉⵥⵍⵉⵏ, ⴷ ⵓⵔ ⵉⵎⴽⵉⵏ ⴰⴷ ⵜⵜ ⵜⵙⵏⴼⵍⵜ",
        "tooltip-ca-nstab-project": "Żr tasna n twwuri",
-       "tooltip-ca-nstab-image": "Źr tasna n usdaw",
+       "tooltip-ca-nstab-image": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
        "tooltip-ca-nstab-mediawiki": "Żr tabrat nu-nagraw.",
        "tooltip-ca-nstab-template": "Żr tamudemt",
        "tooltip-ca-nstab-help": "Źr tasna nu-saws",
-       "tooltip-ca-nstab-category": "Źr tasna nu-stay",
+       "tooltip-ca-nstab-category": "ⵥⵔ ⵜⴰⵙⵏⴰ ⵏ ⵜⴰⴳⴳⴰⵢⵜ",
        "tooltip-minoredit": "ⵔⵛⵎ ⴰⵢⴰ ⵎⴰⵙ ⵉⴳⴰ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
        "tooltip-save": "Ḥbu imbddel nek",
        "tooltip-preview": "Mel(fsr) imbddeln nek, urat tḥibit matskert",
        "previousdiff": "Imbddln imzwura",
        "nextdiff": "Ambdl d ittfrn  →",
        "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|ⵜⴰⵙⵏⴰ|ⵜⴰⵙⵏⵉⵡⵉⵏ}}",
-       "file-info-size": "$1 × $2 piksil, asdaw tugut: $3, MIME anaw: $4",
+       "file-info-size": "$1 × $2 ⴱⵉⴽⵙⵉⵍ, ⵜⵉⴷⴷⵉ ⵏ ⵓⴼⴰⵢⵍⵓ: $3, ⴰⵏⴰⵡ MIME: $4",
        "file-nohires": "↓Ur tlli tabudut tamqrant.",
        "svg-long-desc": "Asdaw SVG, Tabadut n $1 × $2 ifrdan, Tiddi : $3",
        "show-big-image": "ⴰⴼⴰⵢⵍⵓ ⴰⵏⵚⵍⵉ",
        "specialpages-group-spam": "ladawat n spam",
        "blankpage": "tawriqt orgiss walo",
        "external_image_whitelist": "# Ajji aṣṭtar nna ɣiklli iga. <pre>\n# Ml igzman n tannayin (ɣir imi lli illan gr//) ɣ uzddar ɣid.\n# Rad tmiqqirn d tansiwin URL n tiwlaf n brra.\n# Tilli dis tmiqqirnin rad baynt zund tiwlaf, niɣd yan uzday s tawlaft arad ibayn.\n# Isṭṭarn lli ittizwirn s # rad gin zund iwnnan.\n# Tasna yad tfta d ugmmaḍ ad\n\n# Gatn igzman n iwnnan ɣ uflla n usṭṭar ad. Ajji yataṣṭṭar amggaru ɣiklli iga. </pre>",
-       "tag-filter": "Astay n [[Special:Tags|balises]] :",
+       "tag-filter": "ⵜⴰⵙⵜⵜⴰⵢⵜ ⵏ [[Special:Tags|ⵜⵔⵛⴰⵎⵉⵏ]]:",
        "tag-filter-submit": "Istayn",
        "tags-title": "imarkiwn",
        "tags-source-header": "ⴰⵙⴰⴳⵎ",
index db48f9a..05baecc 100644 (file)
@@ -6,6 +6,7 @@
        },
        "tog-underline": "لنک  ہیٹھ لکیر",
        "tog-hideminor": "چھوٹیاں تبدیلیاں لُکاؤ",
+       "tog-hidepatrolled": "تازہ تبدیلیاں وچوں زیرنگرانی تبدیلیاں لکاؤ",
        "tog-hidecategorization": "ورقیاں دیاں قسم بندی لُکاؤ",
        "tog-numberheadings": "سرخیاں کوں خود کار نمبر ݙیوو",
        "tog-showtoolbar": "آلات ترمیم ݙکھاؤ",
@@ -94,6 +95,7 @@
        "hidden-categories": "{{PLURAL:$1|پوشیدہ زمرہ|پوشیدہ زمرہ جات}}",
        "hidden-category-category": "لکیاں قسماں",
        "listingcontinuesabbrev": "جاری۔",
+       "index-category": "فہرست شدہ ورقے",
        "noindex-category": "غیر فہرست شدہ صفحات",
        "broken-file-category": "ٹٹے ہوۓ جوڑاں آلے صفحے",
        "about": "تعارف",
        "newwindow": "(نویں ونڈو وچ کھولو)",
        "cancel": "مکاؤ",
        "moredotdotdot": "ٻئے",
+       "morenotlisted": "ایہ فہرست پوری کائنی",
        "mypage": "ورقہ",
        "mytalk": "ڳالھ مہاڑ",
        "anontalk": "ڳالھ مہاڑ",
        "and": "&#32;تے",
        "faq": "عام طور تے پچھے ونڄݨ آلے سوال",
        "actions": "کم",
-       "namespaces": "Ù\86اں Ø¯Û\8cاں Ø¬Û\81اÙ\88اں",
+       "namespaces": "Ù\86اں Ø¬Ø§Û\81Û\8cں",
        "variants": "قسماں",
        "navigation-heading": "فہرست رہنمائی",
        "errorpagetitle": "نقص",
        "internalerror": "اندر دی غلطی",
        "internalerror_info": "اندر دی غلطی:$1",
        "filedeleteerror": "مِسَل \"$1\" کوں مٹایا نی ونڄ سڳیا۔",
+       "formerror": "رپھڑ: فارم نی بھیج سڳے",
        "cannotdelete-title": "ورقہ\"$1\" نی مٹا سڳدے",
        "badtitle": "بھیڑا عنوان",
        "viewsource": "ماخذ ݙیکھو",
        "botpasswords-label-cancel": "منسوخ",
        "botpasswords-label-delete": "مٹاؤ",
        "botpasswords-label-resetpassword": "پاس ورڈ تبدیل کرو",
+       "botpasswords-label-grants-column": "ݙے ݙتا ڳئے",
+       "botpasswords-bad-appid": "\"$1\" بوٹ ناں ٹھیک کائنی۔",
        "resetpass-submit-loggedin": "پاس ورڈ تبدیل کرو",
        "resetpass-submit-cancel": "منسوخ",
        "resetpass-temp-password": "عارضی لنگھݨ لفظ، پاس ورڈ",
        "timezoneregion-indian": "بحر ہند",
        "timezoneregion-pacific": "بحر الکاہل",
        "prefs-searchoptions": "ڳولو",
-       "prefs-namespaces": "Ù\86اں Ø¯Û\8cاں Ø¬Û\81اÙ\88اں",
+       "prefs-namespaces": "Ù\86اں Ø¬Ø§Û\81Û\8cں",
        "default": "پہلے کنوں طے تھیا ہویا",
        "prefs-files": "فائلاں",
        "prefs-custom-css": "کسٹم سی ایس ایس",
        "prefs-custom-js": "کسٹم جاوا سکرپٹ",
        "prefs-emailconfirm-label": "ای میل دی تصدیق",
        "youremail": "ای میل",
+       "username": "{{GENDER:$1|ورتݨ آلا ناں}}:",
        "prefs-registration": "رجسٹریشن ویلہ:",
        "yourrealname": "اصلی ناں:",
        "yourlanguage": "زبان",
        "prefs-advancedwatchlist": "اعلیٰ اختیارات",
        "prefs-tokenwatchlist": "ٹوکن",
        "prefs-diffs": "فرق",
+       "userrights-user-editname": "ورتݨ آلا ناں درج کرو:",
        "userrights-reason": "سبب:",
        "userrights-expiry": "مُکسی:",
        "userrights-expiry-othertime": "ٻیا ویلا:",
        "listfiles-latestversion-no": "کو",
        "file-anchor-link": "فائل",
        "filehist": "فائل دا تاریخچہ",
-       "filehist-help": "Ú©Û\81Û\8cÚº Ø®Ø§Øµ Ù\88Û\8cÙ\84Û\92 ØªÛ\92 ØªØ§Ø±Û\8cØ® Ú©Ù\88Úº Ù\81ائÙ\84 Ú©Û\8cÙ\86Ù\88Û\8cÚº  Ù\86ظردÛ\8c Û\81ائÛ\8cØ\8c Ý\99Û\8cÚ©ݨ کیتے اوں ویلے تے کلک کرو۔",
+       "filehist-help": "Ú©Û\81Û\8cÚº Ø®Ø§Øµ Ù\88Û\8cÙ\84Û\92 ØªÛ\92 ØªØ§Ø±Û\8cØ® Ú©Ù\88Úº Ù\81ائÙ\84 Ú©Û\8cÙ\86Ù\98Ù\88Û\8cÚº  Ù\86ظردÛ\8c Û\81ائÛ\8cØ\8c Ý\99Û\8cÚ©Ú¾ݨ کیتے اوں ویلے تے کلک کرو۔",
        "filehist-deleteall": "سارے مٹاؤ",
        "filehist-deleteone": "مٹاؤ",
        "filehist-revert": "واپس",
        "protectedpages-page": "ورقہ",
        "protectedpages-reason": "سبب",
        "protectedpages-unknown-timestamp": "اݨ سونہاں",
-       "listusers": "ورتݨ والیاں دے ناں",
+       "listusers": "ورتݨ آلیاں دے ناں",
        "newpages": "نویں ورقے",
        "newpages-submit": "ݙِکھاؤ",
        "newpages-username": "ورتݨ آلا ناں:",
index 0f5b47c..a1e9979 100644 (file)
        "rcfilters-restore-default-filters": "Obnovi privzete filtre",
        "rcfilters-clear-all-filters": "Počisti vse filtre",
        "rcfilters-show-new-changes": "Ogled najnovejših sprememb",
-       "rcfilters-previous-changes-label": "Predhodno videne spremembe",
        "rcfilters-search-placeholder": "Zadnje spremembe filtrov (prebrskajte ali začnite vnašati)",
        "rcfilters-invalid-filter": "Neveljaven filter",
        "rcfilters-empty-filter": "Ni dejavnih filtrov. Prikazani so vsi prispevki.",
        "rcfilters-filterlist-noresults": "Nismo našli nobenega filtra",
        "rcfilters-noresults-conflict": "Našli nismo nobenih rezultatov, ker si merila za iskanje nasprotujejo",
        "rcfilters-state-message-subset": "Ta filter nima učinka, saj njegove rezultate {{PLURAL:$2|vključuje naslednji, širši filter|vključujeta naslednja, širša filtra|vključujejo naslednji, širši filtri}} (označite jih, da razlikujete med njimi): $1",
-       "rcfilters-state-message-fullcoverage": "Izbira vseh filtrov v skupini je enako kot izbira nobenega, zato ta filter nima učinka. Skupina vključuje: $1",
+       "rcfilters-state-message-fullcoverage": "Izbira vseh filtrov v tej skupini je enako kot izbira nobenega, zato ta filter nima učinka. Skupina vključuje: $1",
        "rcfilters-filtergroup-authorship": "Avtorstvo prispevka",
        "rcfilters-filter-editsbyself-label": "Vaše spremembe",
        "rcfilters-filter-editsbyself-description": "Vaša lastna urejanja.",
        "rcfilters-filter-watchlist-watchednew-description": "Spremembe nadzorovanih strani, ki jih niste obiskali, odkar je prišlo do sprememb.",
        "rcfilters-filter-watchlist-notwatched-label": "Ni na spisku nadzorov",
        "rcfilters-filter-watchlist-notwatched-description": "Vse razen spremembe strani na vašem spisku nadzorov.",
+       "rcfilters-filtergroup-watchlistactivity": "Dejavnost spiska nadzorov",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Nepregledane spremembe",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Spremembe strani, ki jih niste obiskali, odkar je prišlo do sprememb.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Pregledane spremembe",
+       "rcfilters-filter-watchlistactivity-seen-description": "Spremembe strani, ki ste jih obiskali, odkar je prišlo do sprememb.",
        "rcfilters-filtergroup-changetype": "Vrsta spremembe",
        "rcfilters-filter-pageedits-label": "Urejanja strani",
        "rcfilters-filter-pageedits-description": "Urejanja vsebine wikija, razprav, opisov kategorij ...",
        "rcfilters-liveupdates-button": "Posodobitve v živo",
        "rcfilters-liveupdates-button-title-on": "Izklopi posodobitve v živo",
        "rcfilters-liveupdates-button-title-off": "Prikaži nove spremembe, ko se zgodijo",
+       "rcfilters-watchlist-markSeen-button": "Označi vse spremembe kot pregledane",
        "rcnotefrom": "{{PLURAL:$5|Navedena je sprememba|Navedeni sta spremembi|Navedene so spremembe}} od <strong>$3 $4</strong> dalje (prikazujem jih do <strong>$1</strong>).",
        "rclistfromreset": "Ponastavi izbiro datuma",
        "rclistfrom": "Prikaži spremembe od $3 $2 naprej",
index 1cbcf69..0755c09 100644 (file)
@@ -51,7 +51,7 @@
        "tog-watchdefault": "Shto faqet dhe skedat e redaktuara prej meje tek lista e faqeve nën mbikqyrje",
        "tog-watchmoves": "Shto faqet dhe skedat e zhvendosura prej meje tek lista e faqeve nën mbikqyrje",
        "tog-watchdeletion": "Shto faqet dhe skedat e grisura prej meje tek lista e faqeve nën mbikqyrje",
-       "tog-watchuploads": "Shtoni fotografitë e rreja që ngarkoj në listën mbikëqyrëse",
+       "tog-watchuploads": "Shtoni fotografitë e reja që ngarkova në listën mbikëqyrëse",
        "tog-watchrollback": "Shto faqet ku unë kam kryer një rikthim tek lista ime mbikqyrëse",
        "tog-minordefault": "Shëno të gjitha redaktimet si të vogla automatikisht",
        "tog-previewontop": "Trego parapamjen para kutisë së redaktimit",
        "userlogin-yourname": "Emri i përdoruesit",
        "userlogin-yourname-ph": "Fut emrin tënd të përdoruesit",
        "createacct-another-username-ph": "Shtypni emrin e përdoruesit",
-       "yourpassword": "Fusni fjalëkalimin tuaj",
+       "yourpassword": "Fjalëkalimi:",
        "userlogin-yourpassword": "Fjalëkalimi",
        "userlogin-yourpassword-ph": "Shtypni fjalëkalimin tuaj",
        "createacct-yourpassword-ph": "Shtypni një fjalëkalim",
        "createaccount": "Hap një llogari",
        "userlogin-resetpassword-link": "Keni harruar fjalëkalimin?",
        "userlogin-helplink2": "Ndihmë rreth identifikimit",
-       "userlogin-loggedin": "Ju tashmë jeni i regjistruar si {{GENDER:$1|$1}}.\nPërdore formularin më poshtë për të hyrë si një përdorues tjetër.",
+       "userlogin-loggedin": "Ju tashmë jeni i regjistruar si {{GENDER:$1|$1}}.\nPërdor formularin më poshtë për të hyrë si një përdorues tjetër.",
        "userlogin-reauth": "Duhet të identifikoheni përsëri për të verifikuar që jeni {{GENDER:$1|$1}}",
        "userlogin-createanother": "Krijo një llogari tjeter",
        "createacct-emailrequired": "Posta elektronike",
        "createacct-benefit-body2": "{{PLURAL:$1|faqe|faqe}}",
        "createacct-benefit-body3": "{{PLURAL:$1|kontribuesi i|kontribuesit e}} fundit",
        "badretype": "Fjalëkalimet nuk janë njësoj.",
-       "usernameinprogress": "Një krijim i llogarisë me këtë emër përdoruesi tashmë është në progres.\nTë lutem prit.",
+       "usernameinprogress": "Një krijim i llogarisë me këtë emër përdoruesi tashmë është në progres.\nJu lutemi prisni.",
        "userexists": "Emri i përdoruesit që kërkuat është në përdorim. \nZgjidhni një emër tjetër.",
        "loginerror": "Gabim gjatë identifikimit",
        "createacct-error": "krijim gabim llogarie",
        "emailconfirmlink": "Vërtetoni adresën tuaj",
        "invalidemailaddress": "Posta elektronike nuk mund të pranohet kështu si është pasi ka format jo valid. Ju lutemi, vendoni një postë mirë të formatuar, ose zbrazeni fushën.",
        "cannotchangeemail": "Adresat e-mail të llogarive nuk mund të ndryshohen në këtë wiki.",
-       "emaildisabled": "Kjo faqe nuk mund të dërgojë e-maila.",
+       "emaildisabled": "Kjo faqe nuk mund të dërgojë e-maile.",
        "accountcreated": "Llogarija e Përdoruesit u krijua",
        "accountcreatedtext": "Llogarija e Përdoruesit për $1 u krijua",
        "createaccount-title": "Hapja e llogarive për {{SITENAME}}",
        "createacct-another-realname-tip": "* Emri i vërtetë nuk është i domosdoshëm: Nëse e jepni do të përmendeni si kontribues për punën që ke bërë.",
        "pt-login": "Hyni",
        "pt-login-button": "Hyni",
-       "pt-login-continue-button": "Vazhdoidntifikohu",
+       "pt-login-continue-button": "Vazhdoni identifikohuni",
        "pt-createaccount": "Krijo llogari",
        "pt-userlogout": "Dil",
        "php-mail-error-unknown": "Gabim i panjohur në funksionin e postës PHP ()",
        "changepassword": "Ndërroni fjalëkalimin",
        "resetpass_announce": "Për të përfunduar regjistrimin, ju duhet të vendosni një fjalëkalim të ri.",
        "resetpass_header": "Ndrysho fjalëkalimin e llogarisë",
-       "oldpassword": "I vjetri",
-       "newpassword": "I riu",
-       "retypenew": "I riu përsëri",
-       "resetpass_submit": "Ndrysho fjalëkalimin dhe hyni brenda",
+       "oldpassword": "Fjalëkalimi i vjetër:",
+       "newpassword": "Fjalëkalimi i ri",
+       "retypenew": "Rivendosni fjalëkalimin e ri përsëri,",
+       "resetpass_submit": "Ndryshoni fjalëkalimin dhe hyni brenda",
        "changepassword-success": "Fjalëkalimi yt është ndryshuar.",
        "changepassword-throttled": "Keni bërë shumë tentime të njëpasnjëshme në fjalëkalimin e kësaj llogarie. Ju lutemi prisni para se te tentoni përsëri.",
        "botpasswords": "Bot fjalëkalimet",
        "rcfilters-invalid-filter": "Filtër jo i vlefshëm",
        "rcfilters-empty-filter": "S'ka filtra aktiv. Tregohen të gjitha kontributet.",
        "rcfilters-filterlist-title": "Filtrat",
-       "rcfilters-filterlist-whatsthis": "Çka është kjo?",
+       "rcfilters-filterlist-whatsthis": "Si punon?",
        "rcfilters-highlightbutton-title": "Thekso rezultatet",
        "rcfilters-highlightmenu-title": "Zgjedh një ngjërë",
        "rcfilters-highlightmenu-help": "Zgjedh një ngjyrë për të theksuar këtë tipar",
        "rcfilters-filter-editsbyself-description": "Kontributet tuaja.",
        "rcfilters-filter-editsbyother-label": "Kontributet nga të tjerët",
        "rcfilters-filter-editsbyother-description": "Të gjitha ndryshimet përveç nga ti.",
-       "rcfilters-filtergroup-userExpLevel": "Niveli i përvojës (vetëm për përdoruesit e regjistruar)",
+       "rcfilters-filtergroup-userExpLevel": "Përdoruesit e regjistruar dhe me eksperience",
        "rcfilters-filter-user-experience-level-registered-label": "Regjistruar",
        "rcfilters-filter-user-experience-level-registered-description": "Redaktorët e kyçur",
        "rcfilters-filter-user-experience-level-unregistered-label": "Ç'regjistruar",
        "rcfilters-filter-categorization-description": "Regjistri i faqeve të shtuara ose hequra nga kategoritë.",
        "rcfilters-filter-logactions-label": "Veprimet e regjistruara",
        "rcfilters-filter-logactions-description": "Veprimet administrative, krijimet e llogarive, fshirjet e faqeve, ngarkimet...",
-       "rcfilters-filtergroup-lastRevision": "Versioni i fundit",
-       "rcfilters-filter-lastrevision-label": "Versioni i fundit",
-       "rcfilters-filter-lastrevision-description": "Ndryshimet më të fundit në një faqe.",
-       "rcfilters-filter-previousrevision-label": "Versionet më të hershme",
+       "rcfilters-filtergroup-lastRevision": "Rishikimet e fundit",
+       "rcfilters-filter-lastrevision-label": "Versioni më i fundit",
+       "rcfilters-filter-lastrevision-description": "Vetëm dryshimet më të fundit në një faqe.",
+       "rcfilters-filter-previousrevision-label": "Jo rishimet e fundit",
        "rcfilters-filter-previousrevision-description": "Të gjitha ndryshimet që nuk janë ndryshimet më të fundit në një faqe.",
        "rcfilters-filter-excluded": "Përjashtuar",
        "rcfilters-tag-prefix-namespace-inverted": "<strong>:jo</strong> $1",
        "compare-invalid-title": "Titulli që keni specifikuar është i pavlefshëm",
        "compare-title-not-exists": "Titulli që keni specifikuar nuk ekziston.",
        "compare-revision-not-exists": "Rishikimi që ju specifikuat nuk ekziston",
-       "diff-form": "'''formë'''",
+       "diff-form": "Ndryshimet",
        "dberr-problems": "Na vjen keq! Kjo faqe po has vështirësi teknike.",
        "dberr-again": "Pritni disa minuta dhe provoni të ringarkoni faqen.",
        "dberr-info": "(Nuk mund të qaset në bazën e të dhënave: $1)",
index 2546fdc..46e6a36 100644 (file)
        "emailccsubject": "Копија ваше поруке кориснику $1: $2",
        "emailsent": "Имејл је послат",
        "emailsenttext": "Ваша имејл порука је послата.",
-       "emailuserfooter": "Овај имејл је {{GENDER:$1|послао|послала}} $1 {{GENDER:$2|кориснику|корисници}} $2 помоћу „{{int:emailuser}}“ с викија {{SITENAME}}. Ако одговорите на овај имејл, {{GENDER:$2|Ваш}} имејл ће бити непосредно прослеђен ка {{GENDER:$1|првобитном пошиљаоцу}}, чиме ће те {{GENDER:$2|му|јој}} открити {{GENDER:$2|Вашу}} имејл адресу.",
+       "emailuserfooter": "Овај имејл је {{GENDER:$1|послао|послала}} $1 {{GENDER:$2|кориснику|корисници}} $2 помоћу опције „{{int:emailuser}}“ на викију {{SITENAME}}. Ако одговорите на овај имејл, {{GENDER:$2|Ваш}} имејл ће бити непосредно прослеђен ка {{GENDER:$1|првобитном пошиљаоцу}}, чиме ћете {{GENDER:$2|му|јој}} открити {{GENDER:$2|своју}} имејл адресу.",
        "usermessage-summary": "Слање системске поруке.",
        "usermessage-editor": "Уређивач системских порука",
        "usermessage-template": "MediaWiki:UserMessage",
index 1c752eb..13ebcb4 100644 (file)
        "emailccsubject": "Kopija vaše poruke korisniku $1: $2",
        "emailsent": "Imejl je poslat",
        "emailsenttext": "Vaša imejl poruka je poslata.",
-       "emailuserfooter": "Ovaj imejl je {{GENDER:$1|poslao|poslala}} $1 {{GENDER:$2|korisniku|korisnici}} $2 pomoću „{{int:emailuser}}“ s vikija {{SITENAME}}.",
+       "emailuserfooter": "Ovaj imejl je {{GENDER:$1|poslao|poslala}} $1 {{GENDER:$2|korisniku|korisnici}} $2 pomoću opcije „{{int:emailuser}}“ na vikiju {{SITENAME}}. Ako odgovorite na ovaj imejl, {{GENDER:$2|Vaš}} imejl će biti neposredno prosleđen ka {{GENDER:$1|prvobitnom pošiljaocu}}, čime ćete {{GENDER:$2|mu|joj}} otkriti {{GENDER:$2|svoju}} imejl adresu.",
        "usermessage-summary": "Slanje sistemske poruke.",
        "usermessage-editor": "Uređivač sistemskih poruka",
        "usermessage-template": "MediaWiki:UserMessage",
index c53b13a..c0c1283 100644 (file)
        "recentchanges-legend-heading": "<strong>Pedaran:</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (tempo ogé [[Special:NewPages|béréndélan kaca anyar]])",
        "recentchanges-submit": "Témbongkeun",
+       "rcfilters-tag-remove": "Pupus '$1'",
        "rcfilters-activefilters": "Panyaringan aktif",
        "rcfilters-savedqueries-rename": "Robah ngaran",
        "rcfilters-savedqueries-remove": "Hapus",
        "mimesearch": "Pamaluruhan MIME",
        "mimesearch-summary": "Ieu kaca bisa dipaké nyaring koropak dumasar tipeu MIME-na. Asupan: contenttype/subtype, contona <code>image/jpeg</code>.",
        "mimetype": "Tipeu MIME:",
-       "download": "pulut",
+       "download": "undeur",
        "unwatchedpages": "Kaca nu teu diawaskeun",
        "listredirects": "Daptar alihan",
        "listduplicatedfiles": "Daptar berkas duplikat.",
        "fileduplicatesearch-result-n": "Koropak \"$1\" mibanda {{PLURAL:$2|1 duplikat idéntik|$2 duplikat idéntik}}.",
        "specialpages": "Kaca husus",
        "specialpages-note-top": "Kamandang",
-       "specialpages-note": "* Kaca husus normal.\n* <span class=\"mw-specialpagerestricted\">Kaca husus diwates.</span>",
        "specialpages-group-maintenance": "Laporan pigawéeun",
        "specialpages-group-other": "Kaca husus lainna",
        "specialpages-group-login": "Asup log / jieun akun",
index 28ea0ae..3650bec 100644 (file)
        "tog-watchlisthideminor": "Dölj mindre ändringar i bevakningslistan",
        "tog-watchlisthideliu": "Visa inte redigeringar av inloggade användare i bevakningslistan",
        "tog-watchlistreloadautomatically": "Uppdatera bevakningslistan automatiskt när ett filter ändras (JavaScript krävs)",
+       "tog-watchlistunwatchlinks": "Lägg till länkar för att bevaka och sluta bevaka artiklar i bevakningslistan (JavaScript krävs)",
        "tog-watchlisthideanons": "Dölj redigeringar av anonyma användare i bevakningslistan",
        "tog-watchlisthidepatrolled": "Dölj patrullerade redigeringar i bevakningslistan",
        "tog-watchlisthidecategorization": "Dölj kategorisering av sidor",
        "rcfilters-restore-default-filters": "Återställ standardfilter",
        "rcfilters-clear-all-filters": "Rensa alla filter",
        "rcfilters-show-new-changes": "Visa nyaste ändringarna",
-       "rcfilters-previous-changes-label": "Ändringar som visades tidigare",
        "rcfilters-search-placeholder": "Filtrera senaste ändringar (bläddra eller börja skriva)",
        "rcfilters-invalid-filter": "Ogiltigt filter",
        "rcfilters-empty-filter": "Inga aktiva filter. Alla bidrag visas.",
        "rcfilters-filterlist-noresults": "Inga filter hittades",
        "rcfilters-noresults-conflict": "Inga resultat hittades eftersom sökkriterierna är i konflikt",
        "rcfilters-state-message-subset": "Detta filter har ingen effekt, eftersom resultaten inkluderar följande, bredare {{PLURAL:$2|filter}} (försök att markera för att särskilja det): $1",
-       "rcfilters-state-message-fullcoverage": "Att markera alla filter i en grupp är detsamma som att markera inget alls, så detta filter har igen effekt. Grupper som inkluderas: $1",
+       "rcfilters-state-message-fullcoverage": "Att markera alla filter i denna grupp är detsamma som att markera inget alls, så detta filter har ingen effekt. Grupper som inkluderas: $1",
        "rcfilters-filtergroup-authorship": "Författarskap av bidrag",
        "rcfilters-filter-editsbyself-label": "Redigeringar av dig",
        "rcfilters-filter-editsbyself-description": "Dina egna bidrag.",
        "rcfilters-filter-watchlist-watchednew-description": "Ändringar i bevakade sidor som du inte har besökt sedan ändringarna ägde rum.",
        "rcfilters-filter-watchlist-notwatched-label": "Inte i bevakningslistan",
        "rcfilters-filter-watchlist-notwatched-description": "Allting förutom ändringar i sidor på din bevakningslista.",
+       "rcfilters-filtergroup-watchlistactivity": "Aktivitet för bevakningslista",
+       "rcfilters-filter-watchlistactivity-unseen-label": "Osedda ändringar",
+       "rcfilters-filter-watchlistactivity-unseen-description": "Ändringar i sidor som du inte har besökt sedan ändringarna ägde rum.",
+       "rcfilters-filter-watchlistactivity-seen-label": "Sedda ändringar",
+       "rcfilters-filter-watchlistactivity-seen-description": "Ändringar i sidor som du har besökt sedan ändringarna ägde rum.",
        "rcfilters-filtergroup-changetype": "Typ av ändring",
        "rcfilters-filter-pageedits-label": "Sidredigeringar",
        "rcfilters-filter-pageedits-description": "Redigeringar till wikiinnehåll, diskussioner, kategoribeskrivningar…",
        "rcfilters-liveupdates-button": "Liveuppdateringar",
        "rcfilters-liveupdates-button-title-on": "Stäng av live-uppdateringar",
        "rcfilters-liveupdates-button-title-off": "Visa nya ändringar när de händer",
+       "rcfilters-watchlist-markSeen-button": "Markera alla ändringar som sedda",
        "rcnotefrom": "Nedan visas {{PLURAL:$5|ändringen|ändringar}} sedan <strong>$3, $4</strong> (upp till <strong>$1</strong> ändringar visas).",
        "rclistfromreset": "Återställ datumval",
        "rclistfrom": "Visa nya ändringar från och med $2 $3",
        "watching": "Bevakar...",
        "unwatching": "Avbevakar...",
        "watcherrortext": "Ett fel inträffade när du ändrade dina bevakningsinställningarna för \"$1\".",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "Markera alla sidor som besökta",
        "enotif_impersonal_salutation": "{{SITENAME}}användare",
        "enotif_subject_deleted": "{{SITENAME}}sidan $1 har raderats av {{gender:$2|$2}}",
index baf6ce6..f6f2b11 100644 (file)
@@ -84,8 +84,8 @@
        "about": "Nanu’ quw",
        "newwindow": "(gyahiy na giqas na kktan)",
        "cancel": "laxan",
-       "moredotdotdot": "pzyux na’...",
-       "mypage": "qutux qutux gnyahan",
+       "moredotdotdot": "Pzyux na’...",
+       "mypage": "Zzngayan",
        "mytalk": "mpkal",
        "anontalk": "mpkal",
        "navigation": "Pglaing pzyangay",
        "view": "view",
        "view-foreign": "Psbzih mita’ squ$1",
        "edit": "Smr’zyut miru’smr’zyut miru’",
-       "create": "ps’rux",
+       "create": "Ps’rux",
        "create-local": "Tnwang sa kay’ na rhzyal qasa",
        "delete": "’muyut",
        "protect": "mlahang",
        "toolbox": "Qayqaya’",
        "otherlanguages": "Kay’ bzinah",
        "redirectedfrom": "(wal niya’ t’ringun paykura’ squ $1)",
+       "redirectpagesub": "t’ringun pawsa’ sa zngayan",
        "redirectto": "T’ringun pawsa’ sa",
        "lastmodifiedat": "Zzngayan qaniy gasinr’zyut niya’ squ pucing balay tay$1 $2.",
+       "protectedpage": "Zngyan na Cwan’an",
        "jumpto": "Musa’",
        "jumptonavigation": "Pglaing pzyangay",
-       "jumptosearch": "Hkangi’",
+       "jumptosearch": "Hhkangi’",
        "aboutsite": "Nanu’ quw {{SITENAME}}",
        "aboutpage": "Project: Nanu’ quw",
        "copyrightpage": "{{ns:project}}:pancyuen",
        "portal-url": "Project:kkzyup secyun",
        "privacy": "Gaga’ na zyuwaw nanak",
        "privacypage": "Project: Gaga’ na zyuwaw nanak",
-       "ok": "OK",
+       "ok": "Wal balay",
        "retrievedfrom": "’Nagal sa \"$1\"",
-       "editsection": "Smr’zyut miru’",
+       "editsection": "smr’zyut miru’",
        "editold": "Smr’zyut miru’",
-       "editlink": "Smr’zyut miru’",
+       "editlink": "smr’zyut miru’",
        "viewsourcelink": "Kta quw llpgan aring sa cin’ringan",
        "editsectionhint": "Smr’zyut miru’ gnaygay binrwan:$1",
        "toc": "bnrwan tay qsahuy",
        "showtoc": "Pkaykita’",
-       "hidetoc": "smbbaq",
+       "hidetoc": "lqing",
+       "collapsible-collapse": "Psqunun",
        "confirmable-yes": "Aw’",
        "confirmable-no": "Iyat",
        "site-atom-feed": "$1 na tkhulan Atom",
        "nstab-image": "biru’ na zayzyuwaw",
        "nstab-mediawiki": "pintkaykay’",
        "nstab-template": "Mopan",
-       "nstab-category": "pintbcyan na mlmlamu’",
+       "nstab-category": "Ps’anak sa mkgluw",
        "mainpage-nstab": "T’ringan na zzngayan",
+       "missingarticle-diff": "(Kin’ini’ ptnaq:$1, $2)",
        "badtitle": "Ungat zyuwaw na lalu’ na spzyang kkayal",
        "badtitletext": "Sni’ su’ lalu’ na spzyang kkayal su’ qasa ga ungat zyuwaw niya’, ungat ana nanu’ qsahuy niya’, ini’ ga ini’ su’ ’nblayqiy p’ubuy quw pin’ubuy su’ squw bzinah na kay’, ini’ ga ’mubuy sa sni’ naha’ lalu’ sa Wiki’. \nKuna kya wal su’ syun ka biru’ qasa ga kya’a cyux ’magan sa biru’ na ini’ baqiy mita’ hazi’.",
        "viewsource": "Kta quw llpgan aring sa cin’ringan",
        "createacct-emailoptional": "Zyusyo na e-meyo’ (bruwiy)",
        "createacct-email-ph": "Brwaniy zyusyo na e-meyo’ su’",
        "createacct-another-email-ph": "Brwaniy zyusyo na e-meyo’ su’",
+       "createacct-reason": "’ringan",
        "createacct-benefit-heading": "{{SITENAME}} hya’ ga ’nagal squw yan isu’ psr’zyut miru’ na squliq pins’rux.",
        "createacct-benefit-body1": "{{PLURAL:$1|smr’zyut miru’ }}",
        "createacct-benefit-body2": "{{PLURAL:$1|zzngayan}}",
        "pt-login-button": "mzyup",
        "pt-createaccount": "Ps’rux  canghaw",
        "pt-userlogout": "mshriq",
-       "botpasswords-label-create": "ps’rux",
+       "botpasswords-label-create": "Ps’rux",
        "botpasswords-label-update": "Sbahun giqas",
        "botpasswords-label-cancel": "laxan",
        "botpasswords-label-delete": "’muyut",
        "resetpass-submit-cancel": "laxan",
        "passwordreset": "T’aring lawziy smi’ mima’",
        "passwordreset-username": "Lalu’ na pptzyuwaw:",
+       "resettokens-tokens": "Niwan sawsu’:",
        "bold_sample": "Qthuy na biru’",
        "bold_tip": "Qthuy na biru’",
        "italic_sample": "Mtkkiy na biru’",
        "minoredit": "Iyat spzyang balay ssr’tun miru’ balay qaniy hya’",
        "watchthis": "Kmyagal mita’ sa zngayan qaniy",
        "savearticle": "Cucun qu zngazyan",
+       "preview": "Pnaynama’ mita’",
        "showpreview": "Pnaynama’ pkita’ sa misa spkita’ na zayzyuwaw",
        "showdiff": "Pkaykita’ sinbah",
        "anoneditwarning": "<strong>Smrhuw kmal:</strong> Ini’ su’ kzyup na’. Maha iy wal su’ sbahun ana inu’ ga, nanu’ quw cyux ki’an na  IP su’ ga musa’ ktan kwara’ squliq. Maha iy <strong>[$1 wal mzyup]</strong> ini’ ga <strong>[$2 ps’rux Canghaw]</strong>,sinr’zyut su’ miru’ qaniy ga musa’ niya’ s’agal sa lalu’ su’ ka nyux mmiru’ qaniy smbbaq, ru musa’ magal sa kwara’ ka qqblayqan na hway naha’.",
        "currentrevisionlink": "Pzyang giqas na sinhzi’",
        "cur": "misuw qaniy ga",
        "last": "tay glaing",
+       "histlast": "giqas balay",
        "historysize": "({{PLURAL:$1|$1 bzyaqan kkayal na llpgan}})",
        "rev-delundel": "Smbah sa musa’ slwan mita’",
        "rev-showdeleted": "Pkaykita’",
        "revdelete-show-file-submit": "Aw’",
+       "revdelete-radio-set": "Lqing",
+       "revdelete-radio-unset": "Pkaykita’",
+       "revdelete-log": "’ringan:",
+       "mergehistory-reason": "’ringan:",
        "history-title": "Tay \"$1\" na sinbah bniru’ sraral",
        "difference-title": "Kin ini’ ptnaq sinbahan squw \"$1\"",
        "lineno": "Tuqiy binkgan binrwan$1:",
        "search-result-size": "$1 ({{PLURAL:$2|1 binrwan|$2 binrwan}})",
        "search-redirect": "(t’aring pglaing squw $1)",
        "search-section": "(binkgan sa lalu’ na puqing kkayal squw uzyuk na kkayal tay $1)",
+       "search-category": "(ps’anak sa mkgluw $1)",
        "search-suggest": "Imi’ na kay’ su’ ga yasa qasa: $1",
        "search-interwiki-more": "(pzyux na’)",
+       "search-relatedarticle": "Ubuy na",
        "searchall": "kwara’",
        "search-showingresults": "{{PLURAL:$4|tay <strong>$1</strong>pucing niya’, psqunun lga <strong>$3</strong> |tay <strong>$1 - $2</strong> pucing nya’, psqunun lga <strong>$3</strong> pucing nya’}}",
        "search-nonefound": "Ktan qu bniru’ niya’ ga ungat quw musa’ mtnaq sa tthuzyay sa awsa’ hmkangi’.",
+       "powersearch-toggleall": "Kwara’",
        "mypreferences": "Sni’ maku’",
+       "prefs-skin": "Ktan na rawziq",
+       "skin-preview": "Pnaynama’ mita’",
+       "prefs-misc": "Mzinah",
        "prefs-email": "bbzagan sa e-meyo’",
+       "prefs-rendering": "Ktan na rawziq",
        "saveprefs": "Cucun",
-       "prefs-editing": "smr’zyut miru’",
-       "searchresultshead": "hhkangi’",
-       "prefs-searchoptions": "hhkangi’",
+       "prefs-editing": "Smr’zyut miru’",
+       "searchresultshead": "Hhkangi’",
+       "timezoneregion-america": "Meco",
+       "timezoneregion-arctic": "Peci’",
+       "timezoneregion-asia": "Aziya’",
+       "timezoneregion-australia": "Ostoraliya",
+       "timezoneregion-europe": "Oco",
+       "prefs-searchoptions": "Hhkangi’",
+       "default": "pinnama’ smi’",
        "prefs-files": "biru’ na zayzyuwaw",
        "youremail": "e-meyo’:",
        "username": "{{GENDER:$1|Lalu’ na pptzyuwaw}}:",
+       "yourlanguage": "Kay’:",
        "email": "e-meyo’",
+       "prefs-timeoffset": "Kinini’ ptnaq na zikang",
+       "prefs-preview": "Pnaynama’ mita’",
+       "prefs-tokenwatchlist": "Niwan sawsu’",
+       "prefs-diffs": "Kin’ini’ ptnaq",
+       "userrights-reason": "’ringan:",
+       "userrights-expiry-current": "Sinpngan ryax $1",
+       "userrights-expiry": "Sinpngan ryax:",
        "group-user": "kwara’ ka cyux mbing ka qutux qutux ngasal",
        "group-bot": "squliq na kikay",
        "group-sysop": "pklahang",
+       "group-all": "(kwara’)",
        "group-user-member": "{{GENDER:$1|kwara’ ka cyux mbing ka qutux qutux ngasal}}",
        "grouppage-user": "{{ns:project}}: kwara’ ka cyux mbing ka qutux qutux ngasal",
        "grouppage-bot": "{{ns:project}}:squliq na kikay",
        "recentchanges-legend-heading": "<strong> pinkita’ niya’ sa pinzga’ :</strong>",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (aniy mita’ sa[[Special:NewPages|giqas na zzngayan]])",
        "recentchanges-submit": "Pkaykita’",
+       "rcfilters-filterlist-title": "Hhkangi’",
        "rcfilters-filter-bots-label": "squliq na kikay",
        "rclistfrom": "Inkahul misan sinbahan sa $2, $3",
        "rcshowhideminor": "$1 mszik sa ssr’tun",
        "rcshowhideminor-show": "Pkaykita’",
-       "rcshowhideminor-hide": "smbbaq",
+       "rcshowhideminor-hide": "Lqing",
        "rcshowhidebots": "$1 squliq na kikay",
        "rcshowhidebots-show": "Pkaykita’",
-       "rcshowhidebots-hide": "smbbaq",
+       "rcshowhidebots-hide": "Lqing",
        "rcshowhideliu": "$1 wal pbiru’ na pptzyuwaw",
        "rcshowhideliu-show": "Pkaykita’",
-       "rcshowhideliu-hide": "smbbaq",
+       "rcshowhideliu-hide": "Lqing",
        "rcshowhideanons": "$1 ini’ sbbqan lalu’ na mintzyuwaw",
        "rcshowhideanons-show": "Pkaykita’",
-       "rcshowhideanons-hide": "smbbaq",
+       "rcshowhideanons-hide": "Lqing",
        "rcshowhidepatr-show": "Pkaykita’",
+       "rcshowhidepatr-hide": "Lqing",
        "rcshowhidemine": "$1 sinr’zyut maku’ miru’",
        "rcshowhidemine-show": "Pkaykita’",
-       "rcshowhidemine-hide": "smbbaq",
+       "rcshowhidemine-hide": "Lqing",
+       "rcshowhidecategorization-show": "Pkaykita’",
+       "rcshowhidecategorization-hide": "Lqing",
        "rclinks": "Pinkaykita’ sinbah sa $1 smbah squw $2  misuw qaniy",
-       "diff": "Kin’ini’ ptnaq",
+       "diff": "kin’ini’ ptnaq",
        "hist": "Pinhknyan sraral",
        "hide": "Lqing",
        "show": "pkaykita’",
        "upload": "Pawsa’ sa kktan zayzyuwaw na biru’",
        "filename": "Lalu’ na tang’an",
        "filedesc": "Lalu’ na spzyang bbiru’ su’",
+       "filesource": "Tkhulan:",
+       "upload-dialog-button-back": "’bzinah",
+       "upload-dialog-button-save": "Cucun",
+       "upload-form-label-infoform-description": "Miblaq pnqzyu’ sa zyuwaw",
+       "upload-form-label-infoform-date": "Ryax",
        "license-header": "Biru’ na gaga’ nqu snwayal hmriq sa kinri’",
+       "listfiles-delete": "’muyut",
        "imgfile": "biru’ na zayzyuwaw",
+       "listfiles_date": "Ryax",
        "listfiles_user": "kwara’ ka cyux mbing ka qutux qutux ngasal",
+       "listfiles_size": "Sspngan kinkrahu’",
+       "listfiles_description": "Miblaq pnqzyu’ sa zyuwaw",
+       "listfiles_count": "Ubuy gluw bbiru’ ni",
+       "listfiles-latestversion-yes": "Aw’",
+       "listfiles-latestversion-no": "iyat",
        "file-anchor-link": "biru’ na zayzyuwaw",
        "filehist": "Bniru’ naha’ sa sinr’zyutan na biru’",
        "filehist-help": "Pphtan ryax/zikang sa kkita’ squw kinblayan biru’ na zayzyuwaw.",
+       "filehist-revert": "psbzih",
        "filehist-current": "misuw qaniy",
        "filehist-datetime": "ryax/zikang",
        "filehist-thumb": "Swotu’",
        "nolinkstoimage": "Ungat ana qutux wal ’mubuy sa biru’ na ana nanu’ zyuwaw qaniy.",
        "sharedupload-desc-here": "Tang’an qaniy hya’ ga  kahul squw$1 ruw hazi’ ana wal sptzyuwaw na cwan’an bbzinah. \nTay kyahu’ cyux spkita’ sa Tang’an qaniy hya’ ga cyux squw [$2 Tang’an pinqzyu’ zngayan ] na qsahuy pinqzyuwan.",
        "upload-disallowed-here": "Iyat su’ bauqn ’mumuk quw biru’ na zayzyuwaw qaniy.",
+       "filerevert": "Psbzih $1",
+       "filerevert-comment": "’ringan:",
+       "filedelete-comment": "’ringan:",
+       "filedelete-submit": "’muyut",
        "randompage": "Random page",
+       "randomincategory-submit": "Musa’",
        "statistics": "Sinqunan plpuw",
+       "pageswithprop-submit": "Musa’",
        "brokenredirects-edit": "Smr’zyut miru’",
+       "brokenredirects-delete": "’muyut",
+       "withoutinterwiki-submit": "Pkaykita’",
        "nbytes": "$1 {{PLURAL:$1|qutux llpgan na bzyaqan kkayal}}",
        "nmembers": "$1 {{PLURAL:$1|pinglgan}}",
+       "prefixindex-submit": "Pkaykita’",
+       "protectedpages-page": "Zzngayan",
+       "protectedpages-expiry": "Sinpngan ryax",
+       "protectedpages-reason": "’ringan",
+       "protectedpages-unknown-timestamp": "Ini’ bqbaqiy ginlaylwan",
        "usereditcount": "$1 {{PLURAL:$1|smr’zyut miru’}}",
        "newpages": "Giqas na zzngzyan",
+       "newpages-submit": "Pkaykita’",
        "newpages-username": "Lalu’ na pptzyuwaw:",
-       "move": "smhzi’",
+       "move": "Smhzi’",
        "pager-older-n": "{{PLURAL:$1|smural hazi’ quw $1}}",
+       "suppress": "Shtuy",
+       "apisandbox-results": "Pcingan balay",
+       "apisandbox-continue": "Siy lhingiy",
        "booksources": "Brbiru’ na inkhulan na pila’",
        "booksources-search-legend": "Hkangi’ tkhulan pila’ na brbiru’",
        "booksources-search": "Hkangi’",
        "log": "Bniru",
+       "logeventslist-submit": "Pkaykita’",
+       "checkbox-all": "Kwara’",
+       "allpages": "Kwara’ biru’ na zngyan",
        "allarticles": "Kwara’ biru’ na zngyan",
-       "allpagessubmit": "mtzyuwaw",
+       "allpagessubmit": "Mtzyuwaw",
        "categories": "Pintbcyan",
-       "linksearch-ok": "hhkangi’",
+       "categories-submit": "Pkaykita’",
+       "linksearch-ok": "Hhkangi’",
+       "listusers-submit": "Pkaykita’",
+       "listgrouprights-rights": "Pcingan na sinpngan",
+       "listgrants-rights": "Pcingan na sinpngan",
        "emailusername": "Lalu’ na pptzyuwaw:",
+       "emailusernamesubmit": "Pawsun",
        "watchlist": "Cyes’ cingtan",
        "mywatchlist": "Kta quw binkgan biru’",
        "watch": "Kita’",
+       "watchlist-hide": "Lqing",
+       "watchlist-submit": "Pkaykita’",
        "wlshowhidebots": "squliq na kikay",
        "wlshowhideanons": "inqing lalu’ nqu squliq cyux mbing",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_impersonal_salutation": "{{SITENAME}} kwara’ ka cyux mbing ka qutux qutux ngasal",
        "enotif_anon_editor": "inqing lalu’ nqu squliq cyux mbing $1",
+       "delete-confirm": "’muyut \"$1\"",
+       "historyaction-submit": "Pkaykita’",
        "dellogpage": "Wayal pzyutan ka bniru’ qasa",
+       "deletecomment": "’ringan:",
        "rollbacklink": "psbnahun",
-       "rollbacklinkcount": "psbzih $1{{PLURAL:$1|sinr’zyut miru’}}",
+       "rollbacklinkcount": "psbzinah squw  {{PLURAL:sinr’zyut miru’ sa|$1}}",
+       "changecontentmodel-reason-label": "’ringan:",
+       "changecontentmodel-submit": "Smbah",
+       "logentry-contentmodel-change-revertlink": "psbzih",
+       "protectlogpage": "Kklahang sa bniru’",
+       "protectcomment": "’ringan:",
+       "protectexpiry": "Sinpngan ryax:",
+       "protect-expiring": "Sinpngan ryax $1 (UTC)",
+       "restriction-type": "Pcingan na sinpngan:",
        "pagesize": "(bzyaqan kkayal na llpgan)",
        "restriction-edit": "Smr’zyut miru’",
-       "restriction-move": "smhzi’",
-       "undelete-search-submit": "hhkangi’",
+       "restriction-move": "Smhzi’",
+       "restriction-create": "Ps’rux",
+       "undeletebtn": "Psbzih",
+       "undeletecomment": "’ringan:",
+       "undelete-search-submit": "Hhkangi’",
+       "undelete-show-file-submit": "Aw’",
        "namespace": "Kung cyen na sslalu’:",
        "invert": "Mssyuk mwazyaw",
        "tooltip-invert": "Prawngan mwazyaw squw “bbzyagan” qaniy ga lqingun niya’ quw sinbahan zngazyan na wnwazyaw sa “kungcyen na sslalu’ ” (maha iy prawngan su’ mwazyaw quw gluw na “kungcyen na sslalu’ ” lga, mutuw niya’ siy ptnaqiy lmqing uziy kwara’ quw gluw na “kungcyen na sslalu’.”)",
        "year": "Pcingan na sniyan naha’ ryax na kawas",
        "sp-contributions-logs": "bniru",
        "sp-contributions-talk": "mpkal",
-       "sp-contributions-submit": "hhkangi’",
+       "sp-contributions-submit": "Hhkangi’",
        "whatlinkshere": "Aniy p’ubuy tay lpgan sqaniy",
        "whatlinkshere-title": "Aniy ’mubuy sa zngayan tay \"$1\"",
        "whatlinkshere-page": "Zngayan",
        "linkshere": "Zngayan tay suruw qaniy ga aniy p’ubuy sa <strong>[[:$1]]</strong>:",
        "isredirect": "t’ringun pawsa’ sa zngayan",
-       "istemplate": " ’nagal sa",
+       "istemplate": "’nagal sa",
        "isimage": "’ubuy sa biru’ na ana nanu’ zayzyuwaw",
        "whatlinkshere-prev": "{{PLURAL:$1|glaing tay|glaing tay $1 }}",
        "whatlinkshere-next": "{{PLURAL:$1|tay suruw|’mubuy sa $1 }}",
        "whatlinkshere-hidetrans": "’ nagal sa $1",
        "whatlinkshere-hidelinks": "$1 p’ubuy",
        "whatlinkshere-filters": "Hmkangi’",
-       "autoblocklist-submit": "hhkangi’",
-       "ipblocklist-submit": "hhkangi’",
+       "whatlinkshere-submit": "Musa’",
+       "ipbreason": "’ringan:",
+       "autoblocklist-submit": "Hhkangi’",
+       "blocklist-expiry": "Sinpngan ryax",
+       "blocklist-reason": "’ringan",
+       "ipblocklist-submit": "Hhkangi’",
        "blocklink": "qmhut",
        "contribslink": "wal miq sa pincyuwagan",
+       "move-page": "Smhzi’ $1",
        "movelogpage": "Sinhzyan sa bniru’",
+       "movereason": "’ringan:",
+       "revertmove": "psbzih",
        "export": "Pawsa’ sa bzinah quwzngayan",
+       "export-submit": "Pawsa’",
+       "allmessages-filter-legend": "Hhkangi’",
+       "allmessages-filter-all": "Kwara’ biru’ na zngyan",
+       "allmessages-language": "Kay’:",
+       "allmessages-filter-submit": "Mtzyuwaw",
+       "allmessages-filter-translate": "Gmbang miru’",
        "thumbnail-more": "Pkrahu’",
        "import-upload-filename": "Lalu’ na tang’an:",
+       "import-comment": "Tnwang smbbaq miru’",
        "tooltip-pt-userpage": "{{GENDER:|Lalu’ su’ sa pptzyuwaw}}sinr’zyut miru’",
        "tooltip-pt-mytalk": "{{GENDER:|Rwa su’}} zngayan sa spkayal",
        "tooltip-pt-preferences": "{{GENDER:|Rwa su’}}sni’ maku’ ktan krayryax",
        "tooltip-rollback": "ssbu’ sa ’ubuy squ “Psbznahan” lga musa’ baq mbzinah squw sinr’ztan binrwan na misan mniru’ sa wayal qasa",
        "tooltip-undo": "\"Psbzinah\"hya’ ga mutuw niya’ baqun psbzinah quw sinr’zyut miru’, ruw kahul sa yuran mosu’ gmyah sa pcyuawag na smr’zyut miru’, ana su’ twangan miru’ sa nanu’ quw stwang squw sslalu’ na kkayal qaniy.",
        "tooltip-summary": "Brwaniy quw lalu’ na spzyang bbiru’ su’",
+       "others": "bzinah",
        "simpleantispam-label": "Kmyagal sa kana ptayqihiy na niwan saysyup na kay’ na nnanu.\n<strong>Laxiy</strong> brwaniy sa bbrwan qaniy!",
+       "pageinfo-language-change": "smbah",
+       "pageinfo-content-model-change": "smbah",
        "pageinfo-watchers": "Number of page watchers",
        "pageinfo-toolboxlink": "Zzngayan na ggalan qqbaqan",
        "pageinfo-contentpage-yes": "Aw’",
+       "pageinfo-protect-cascading-yes": "Aw’",
+       "confirm-markpatrolled-button": "Wal balay",
        "nextdiff": "Giqas hazi’ sinr’zyut→",
        "file-info-size": "$1 × $2 qqblayqan zzyangay, zayzyuwaw biru’ na sspngan kinkrahu’: $3, gluw na mmntnaq MIME: $4",
        "file-nohires": "Ungat qbaqan miq qutux sa musa’ tthuzyay iyal pkaykita’ sa kinslwan iyal na qayqaya’.",
        "show-big-image-preview": "Squw tay $1 tay glaing",
        "show-big-image-other": "Kinbaqun iyal mita’ na kwara’ tay bbzinah na {{PLURAL:$2||}}:$1",
        "show-big-image-size": "$1 × $2 qqblayqan zzyangay",
-       "ilsubmit": "hhkangi’",
+       "file-info-gif-looped": "syunxwan",
+       "file-info-png-looped": "syunxwan",
+       "newimages-legend": "Hhkangi’",
+       "ilsubmit": "Hhkangi’",
        "metadata": "Cyuens’cryaw",
        "metadata-help": "Taki’ sa biru’ na kwara’ zayzyuwaw qaniy ga kwara’ kin na zayzyuwaw bbzinah, kwara’ quw zyuwaw sqaniy ga hazi’ na kahul sa pins’rux na Suwe syangciy ini’ ga tmrang squw cyux ps’rux squw Sken ini’ ga cyux tmrang smr’zyut sa Suwe . \nMaha iy wal sbahun squw puqing balay na biru’ cyux syan squw ana nanu’ zyuwaw lga, iyat hazi’ baqun minblaq ppwah kruma’ quw wal minblayqun miru’ na wayal sbahun na zyuwaw hya’ la.",
        "metadata-fields": "maki’ squw bnaykgan na pintkaykay’ ka qsahuy na Cyens’cryaw EXIF ga, syun niya’ sa zzngazyan kwara’ kin na Syasing, nanu’ iy mhiriq quw binrwan niya’ Cyens’cryaw lga nanak yaquw nyux sbiru’ hugal ka pintkaykay’ qaniy msthay.\ncyuens’ cryaw bzinah hya’ lga skun niya’ sa llqingun qasa hya’. \n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "exif-imagewidth": "Kinglabang",
        "exif-orientation": "Ppiray sa iyat ptkkiy ktan quw syasing",
        "exif-xresolution": "Sweping Cyesitu’",
        "exif-yresolution": "Cwec’ Cyesitu’",
        "exif-colorspace": "Hhalan mwazyaw sa qqlah sa ini’ ptnaq  kktan na bbiru’",
        "exif-datetimeoriginal": "Ryax na sni’ sa Craw squw zikang na sni’ sa Craw",
        "exif-datetimedigitized": "Ryax na minsuwexwa’ squw zikang na minsuwexwa’",
+       "exif-headline": "Lalu’",
+       "exif-source": "Tkhulan",
+       "exif-writer": "Sinmung miru’",
+       "exif-languagecode": "Kay’:",
+       "exif-iimcategory": "Ps’anak sa mkgluw",
+       "exif-label": "Qinlah lalu’",
        "exif-orientation-1": "Mutuw galan sa puqing pspngan kwara’ na squliq",
+       "exif-meteringmode-0": "Ini’ bqbaqiy ginlaylwan",
+       "exif-meteringmode-255": "Bzinah",
+       "exif-lightsource-0": "Ini’ bqbaqiy ginlaylwan",
+       "exif-lightsource-10": "Mzyulung",
+       "exif-focalplaneresolutionunit-2": "incun",
+       "exif-scenecapturetype-0": "Galan pspngan",
+       "exif-contrast-0": "Galan pspngan",
+       "exif-saturation-0": "Galan pspngan",
+       "exif-sharpness-0": "Galan pspngan",
+       "exif-subjectdistancerange-0": "Ini’ bqbaqiy ginlaylwan",
+       "exif-gpslatitude-n": "Pewe’",
+       "exif-gpslatitude-s": "Nanwe’",
+       "exif-gpslongitude-w": "Sicing",
+       "exif-gpsdestdistance-k": "Kirometa’",
+       "exif-gpsdestdistance-m": "Inri’",
+       "exif-gpsdestdistance-n": "Hayri’",
+       "exif-ycbcrpositioning-1": "Kska’",
+       "exif-dc-date": "Ryax",
+       "exif-dc-rights": "Pcingan na sinpngan",
+       "exif-iimcategory-hth": "Blaq hi’",
+       "exif-iimcategory-spo": "Tayyok",
+       "exif-urgency-normal": "Galan pspngan ($1)",
        "namespacesall": "kwara’",
        "monthsall": "kwara’",
+       "confirm_purge_button": "Wal balay",
+       "confirm-watch-button": "Wal balay",
+       "confirm-unwatch-button": "Wal balay",
+       "confirm-rollback-button": "Wal balay",
+       "imgmultigo": "Aw’!",
+       "img-lang-go": "Musa’",
+       "table_pager_limit_submit": "Pawsun",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|mpkal]])",
-       "redirect-submit": "Ptzyuwaw",
+       "version": "Ubuy gluw bbiru’ ni",
+       "version-other": "Bzinah",
+       "version-skin-colheader-name": "Ktan na rawziq",
+       "version-ext-colheader-version": "Ubuy gluw bbiru’ ni",
+       "version-ext-colheader-description": "Miblaq pnqzyu’ sa zyuwaw",
+       "version-poweredby-others": "bzinah",
+       "version-software-version": "Ubuy gluw bbiru’ ni",
+       "version-entrypoints": "Kkzyup URL",
+       "version-libraries-version": "Ubuy gluw bbiru’ ni",
+       "version-libraries-description": "Miblaq pnqzyu’ sa zyuwaw",
+       "redirect-submit": "Mtzyuwaw",
+       "redirect-lookup": "Hmkangi’:",
        "redirect-file": "Lalu’ na tang’an",
        "fileduplicatesearch-filename": "Lalu’ na tang’an:",
-       "fileduplicatesearch-submit": "hhkangi’",
+       "fileduplicatesearch-submit": "Hhkangi’",
        "specialpages": "Mnanak na zzngayan",
        "tag-filter": "[[Special:Tags|qinlah lalu’]]hhkangi’:",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|qinlah lalu’}}]]: $2)",
+       "tags-title": "Qinlah lalu’",
+       "tags-source-header": "Tkhulan",
        "tags-active-yes": "Aw’",
        "tags-active-no": "Iyat",
        "tags-edit": "Smr’zyut miru’",
+       "tags-delete": "’muyut",
+       "tags-deactivate": "phngagun",
+       "tags-create-reason": "’ringan:",
+       "tags-create-submit": "Ps’rux",
+       "tags-delete-reason": "’ringan:",
+       "tags-activate-reason": "’ringan:",
+       "tags-deactivate-reason": "’ringan:",
+       "tags-edit-reason": "’ringan:",
+       "compare-page2": "Zzngayan 2",
+       "diff-form": "Kin’ini’ ptnaq",
+       "permanentlink": "Mrayrhuw na pin’ubuy",
+       "htmlform-submit": "Pawsun",
+       "htmlform-selectorother-other": "Bzinah",
+       "htmlform-no": "iyat",
+       "htmlform-yes": "Aw’",
        "logentry-delete-delete": "$1 {{GENDER:$2|wal laxan}}zngayan $3",
        "logentry-move-move": "$1 {{GENDER:$2|wal shzyun}}zngyan $3 squw $4",
        "logentry-newusers-create": "Wayal tmasuq {{GENDER:$2|ps’rux sq }} quw cin canghaw $1",
        "logentry-upload-upload": "$1 {{GENDER:$2|wal pawsun }} $3",
+       "feedback-back": "’bzinah",
+       "feedback-submit": "Pawsun",
        "searchsuggest-search": "Hhkangi’ {{SITENAME}}",
        "limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|bzyaqan kkayal na llpgan}}",
        "limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|bzyaqan kkayal na llpgan}}",
+       "expand_templates_output": "Pcingan balay",
+       "expand_templates_ok": "Wal balay",
+       "expand_templates_preview": "Pnaynama’ mita’",
+       "pagelang-language": "Kay’:",
+       "pagelang-reason": "’ringan",
+       "pagelang-submit": "Pawsun",
        "mediastatistics-nbytes": "{{PLURAL:$1|$1 bzyaqan kkayal na llpgan}} ($2; $3%)",
+       "mediastatistics-header-unknown": "Ini’ bqbaqiy ginlaylwan",
+       "special-characters-group-symbols": "Sni’ naha’ sa gaga’ na bbiru’",
+       "special-characters-group-thai": "Biru’ na Taykok",
+       "log-action-filter-all": "Kwara’ biru’ na zngyan",
+       "log-action-filter-block-block": "Qmhut",
        "authmanager-email-label": "e-meyo’"
 }
index ad083e9..37349a0 100644 (file)
        "pageinfo-header-edits": "ประวัติการแก้ไข",
        "pageinfo-header-restrictions": "การล็อกหน้า",
        "pageinfo-header-properties": "คุณสมบัติหน้า",
-       "pageinfo-display-title": "à¹\81สà¸\94à¸\87à¸\8aืà¹\88อ",
-       "pageinfo-default-sort": "หลัà¸\81à¸\81ารà¹\80รียà¸\87ลำà¸\94ัà¸\9aà¹\82à¸\94ยà¸\9bริยาย",
+       "pageinfo-display-title": "หัวà¹\80รืà¹\88อà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¹\80มืà¹\88อà¹\81สà¸\94à¸\87à¸\9cล",
+       "pageinfo-default-sort": "à¸\84à¹\88าà¸\9bริยายà¸\82อà¸\87à¸\84ำหลัà¸\81à¹\83à¸\99à¸\81ารà¹\80รียà¸\87ลำà¸\94ัà¸\9a",
        "pageinfo-length": "ความยาวหน้า (ไบต์)",
        "pageinfo-article-id": "หมายเลขประจำหน้า",
-       "pageinfo-language": "ภาษาเนื้อหาของหน้า",
-       "pageinfo-content-model": "à¸\95ัวแบบเนื้อหาของหน้า",
+       "pageinfo-language": "ภาษาà¸\82อà¸\87à¹\80à¸\99ืà¹\89อหาà¸\82อà¸\87หà¸\99à¹\89า",
+       "pageinfo-content-model": "รูà¸\9bแบบเนื้อหาของหน้า",
        "pageinfo-robot-policy": "การทำดัชนีโดยบอต",
        "pageinfo-robot-index": "อนุญาต",
        "pageinfo-robot-noindex": "ไม่อนุญาต",
        "pageinfo-lasttime": "วันที่แก้ไขล่าสุด",
        "pageinfo-edits": "จำนวนการแก้ไขรวม",
        "pageinfo-authors": "จำนวนผู้เขียนทั้งหมด",
-       "pageinfo-recent-edits": "à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82ลà¹\88าสุà¸\94 (ภายà¹\83à¸\99 $1ที่ผ่านมา)",
+       "pageinfo-recent-edits": "à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82ลà¹\88าสุà¸\94 (à¹\83à¸\99à¸\8aà¹\88วà¸\87 $1ที่ผ่านมา)",
        "pageinfo-recent-authors": "จำนวนผู้เขียนล่าสุด",
+       "pageinfo-magic-words": "{{PLURAL:$1|คำสั่งพิเศษ}} ($1)",
        "pageinfo-hidden-categories": "หมวดหมู่ที่ซ่อนอยู่ ($1)",
        "pageinfo-templates": "แม่แบบที่ใช้ ($1)",
        "pageinfo-toolboxlink": "สารสนเทศหน้า",
index a75aaf0..43c0c77 100644 (file)
        "watchthis": "Bantayan ang pahinang ito",
        "savearticle": "Itala ang pahina",
        "publishpage": "Ilimbag ang pahina",
+       "publishchanges": "Ilathala ang binago",
        "preview": "Paunang tingin",
        "showpreview": "Paunang tingin",
        "showdiff": "Ipakita ang mga pagbabago",
index 03bbe0b..cb1e5c8 100644 (file)
        "rcfilters-restore-default-filters": "Відновити стандартні фільтри",
        "rcfilters-clear-all-filters": "Очистити фільтри",
        "rcfilters-show-new-changes": "Переглянути найновіші зміни",
-       "rcfilters-previous-changes-label": "Раніше переглянуті зміни",
        "rcfilters-search-placeholder": "Фільтруйте нові редагування (переглядайте або почніть вводити)",
        "rcfilters-invalid-filter": "Недійсний фільтр",
        "rcfilters-empty-filter": "Без фільтрів. Показано всі зміни.",
index 39f8d8e..c92fcdc 100644 (file)
        "rcfilters-legend-heading": "<strong>缩写列表:</strong>",
        "rcfilters-other-review-tools": "<strong>其他复核工具</strong>",
        "rcfilters-group-results-by-page": "按页面分组结果",
-       "rcfilters-grouping-title": "正在分组",
+       "rcfilters-grouping-title": "分组",
        "rcfilters-activefilters": "激活的过滤器",
        "rcfilters-advancedfilters": "高级过滤器",
        "rcfilters-limit-title": "要显示的更改",
        "rcfilters-restore-default-filters": "恢复默认过滤器",
        "rcfilters-clear-all-filters": "清空所有过滤器",
        "rcfilters-show-new-changes": "显示最新更改",
-       "rcfilters-previous-changes-label": "之前查看过的更改",
        "rcfilters-search-placeholder": "过滤器最近更改(浏览或开始输入)",
        "rcfilters-invalid-filter": "无效过滤器",
        "rcfilters-empty-filter": "没有激活的过滤器。已显示所有贡献。",
        "rcfilters-filterlist-noresults": "找不到过滤器",
        "rcfilters-noresults-conflict": "找不到结果,因为搜索条件不一致",
        "rcfilters-state-message-subset": "该过滤器没有影响,因为其结果已包含在以下影响更广的{{PLURAL:$2|过滤器}}中(尝试高亮来区别它):$1",
-       "rcfilters-state-message-fullcoverage": "组中选择的所有过滤器与选定过滤器相同,因此该过滤器没有影响。组包含:$1",
+       "rcfilters-state-message-fullcoverage": "组中选择的所有过滤器与选定过滤器相同,因此该过滤器没有影响。组包含:$1",
        "rcfilters-filtergroup-authorship": "贡献的作者",
        "rcfilters-filter-editsbyself-label": "您的更改",
        "rcfilters-filter-editsbyself-description": "您自己的贡献。",
        "rcfilters-filter-watchlist-watchednew-description": "自从更改发生以来,对您没有访问的监视页面做出的更改。",
        "rcfilters-filter-watchlist-notwatched-label": "未在监视列表上",
        "rcfilters-filter-watchlist-notwatched-description": "除了对您监视的页面做出更改以外的任何事项。",
+       "rcfilters-filtergroup-watchlistactivity": "监视列表活动",
+       "rcfilters-filter-watchlistactivity-unseen-label": "未查看更改",
+       "rcfilters-filter-watchlistactivity-unseen-description": "自从更改发生以来,对您没有访问的页面做出的更改。",
+       "rcfilters-filter-watchlistactivity-seen-label": "已查看更改",
+       "rcfilters-filter-watchlistactivity-seen-description": "自从更改发生以来,对您已访问的页面做出的更改。",
        "rcfilters-filtergroup-changetype": "更改类型",
        "rcfilters-filter-pageedits-label": "页面编辑",
        "rcfilters-filter-pageedits-description": "对wiki内容、讨论、分类描述等的编辑",
        "rcfilters-liveupdates-button": "实时更新",
        "rcfilters-liveupdates-button-title-on": "关闭实时更新",
        "rcfilters-liveupdates-button-title-off": "显示新更改(如有)",
+       "rcfilters-watchlist-markSeen-button": "标记所有更改为已查看",
        "rcnotefrom": "下面{{PLURAL:$5|是}}<strong>$3 $4</strong>之后的更改(最多显示<strong>$1</strong>个)。",
        "rclistfromreset": "重置时间选择",
        "rclistfrom": "显示$3 $2之后的新更改",
        "watching": "正在监视...",
        "unwatching": "正在取消监视...",
        "watcherrortext": "更改“$1”的监视列表设置时出错。",
-       "watchlist-unwatch": "×",
-       "watchlist-unwatch-undo": "+",
        "enotif_reset": "标记所有页面为已访问",
        "enotif_impersonal_salutation": "{{SITENAME}}用户",
        "enotif_subject_deleted": "{{SITENAME}}页面$1已被$2删除",
index a7b7004..342ccef 100644 (file)
        "poolcounter-usage-error": "用法錯誤:$1",
        "aboutsite": "關於 {{SITENAME}}",
        "aboutpage": "Project:關於",
-       "copyright": "除非另有註明,否則頁面內容均以 $1 條款授權。",
+       "copyright": "除非另有註明,否則所有內容皆以 $1 條款授權。",
        "copyrightpage": "{{ns:project}}:版權",
        "currentevents": "新聞動態",
        "currentevents-url": "Project:Current events",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (請參考[[Special:NewPages|新頁面]])",
        "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "recentchanges-submit": "顯示",
+       "rcfilters-grouping-title": "分組",
        "rcfilters-activefilters": "使用中的過濾條件",
        "rcfilters-advancedfilters": "進階查詢條件",
        "rcfilters-quickfilters": "儲存的查詢條件",
        "rcfilters-savedqueries-add-new-title": "儲存目前的過濾器設定",
        "rcfilters-restore-default-filters": "還原預設過濾條件",
        "rcfilters-clear-all-filters": "清除所有過濾條件",
+       "rcfilters-show-new-changes": "顯示最新更改",
        "rcfilters-search-placeholder": "過濾條件近期變更 (瀏覽或開始輸入)",
        "rcfilters-invalid-filter": "無效的過濾條件",
        "rcfilters-empty-filter": "沒有使用中的過濾條件。已顯示所有的貢獻。",
index 04565f2..89e8089 100644 (file)
@@ -1243,7 +1243,7 @@ abstract class Maintenance {
         * If not set, wfGetDB() will be used.
         * This function has the same parameters as wfGetDB()
         *
-        * @param integer $db DB index (DB_REPLICA/DB_MASTER)
+        * @param int $db DB index (DB_REPLICA/DB_MASTER)
         * @param array $groups; default: empty array
         * @param string|bool $wiki; default: current wiki
         * @return IMaintainableDatabase
diff --git a/maintenance/deleteRevision.php b/maintenance/deleteRevision.php
deleted file mode 100644 (file)
index 3abbdab..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/**
- * Delete one or more revisions by moving them to the archive table.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Maintenance
- */
-
-require_once __DIR__ . '/Maintenance.php';
-
-/**
- * Maintenance script that deletes one or more revisions by moving them
- * to the archive table.
- *
- * @ingroup Maintenance
- */
-class DeleteRevision extends Maintenance {
-
-       public function __construct() {
-               parent::__construct();
-               $this->addDescription( 'Delete one or more revisions by moving them to the archive table' );
-       }
-
-       public function execute() {
-               if ( count( $this->mArgs ) == 0 ) {
-                       $this->error( "No revisions specified", true );
-               }
-
-               $this->output( "Deleting revision(s) " . implode( ',', $this->mArgs ) .
-                       " from " . wfWikiID() . "...\n" );
-               $dbw = $this->getDB( DB_MASTER );
-
-               $affected = 0;
-               foreach ( $this->mArgs as $revID ) {
-                       $dbw->insertSelect( 'archive', [ 'page', 'revision' ],
-                               [
-                                       'ar_namespace' => 'page_namespace',
-                                       'ar_title' => 'page_title',
-                                       'ar_page_id' => 'page_id',
-                                       'ar_comment' => 'rev_comment',
-                                       'ar_user' => 'rev_user',
-                                       'ar_user_text' => 'rev_user_text',
-                                       'ar_timestamp' => 'rev_timestamp',
-                                       'ar_minor_edit' => 'rev_minor_edit',
-                                       'ar_rev_id' => 'rev_id',
-                                       'ar_text_id' => 'rev_text_id',
-                                       'ar_deleted' => 'rev_deleted',
-                                       'ar_len' => 'rev_len',
-                               ],
-                               [
-                                       'rev_id' => $revID,
-                                       'page_id = rev_page'
-                               ],
-                               __METHOD__
-                       );
-                       if ( !$dbw->affectedRows() ) {
-                               $this->output( "Revision $revID not found\n" );
-                       } else {
-                               $affected += $dbw->affectedRows();
-                               $pageID = $dbw->selectField(
-                                       'revision',
-                                       'rev_page',
-                                       [ 'rev_id' => $revID ],
-                                       __METHOD__
-                               );
-                               $pageLatest = $dbw->selectField(
-                                       'page',
-                                       'page_latest',
-                                       [ 'page_id' => $pageID ],
-                                       __METHOD__
-                               );
-                               $dbw->delete( 'revision', [ 'rev_id' => $revID ] );
-                               if ( $pageLatest == $revID ) {
-                                       $newLatest = $dbw->selectField(
-                                               'revision',
-                                               'rev_id',
-                                               [ 'rev_page' => $pageID ],
-                                               __METHOD__,
-                                               [ 'ORDER BY' => 'rev_timestamp DESC' ]
-                                       );
-                                       $dbw->update(
-                                               'page',
-                                               [ 'page_latest' => $newLatest ],
-                                               [ 'page_id' => $pageID ],
-                                               __METHOD__
-                                       );
-                               }
-                       }
-               }
-               $this->output( "Deleted $affected revisions\n" );
-       }
-}
-
-$maintClass = "DeleteRevision";
-require_once RUN_MAINTENANCE_IF_MAIN;
index 4a2b49a..84d4533 100644 (file)
@@ -459,10 +459,10 @@ class NamespaceConflictChecker extends Maintenance {
 
        /**
         * Get the preferred destination title for a given target page.
-        * @param integer $ns The destination namespace ID
+        * @param int $ns The destination namespace ID
         * @param string $name The conflicting prefix
-        * @param integer $sourceNs The source namespace
-        * @param integer $sourceDbk The source DB key (i.e. page_title)
+        * @param int $sourceNs The source namespace
+        * @param int $sourceDbk The source DB key (i.e. page_title)
         * @param array $options Associative array of validated command-line options
         * @return Title|false
         */
index 5df432e..b93d112 100644 (file)
@@ -32,9 +32,9 @@ use MediaWiki\MediaWikiServices;
  * @ingroup Maintenance
  */
 class RebuildRecentchanges extends Maintenance {
-       /** @var integer UNIX timestamp */
+       /** @var int UNIX timestamp */
        private $cutoffFrom;
-       /** @var integer UNIX timestamp */
+       /** @var int UNIX timestamp */
        private $cutoffTo;
 
        public function __construct() {
index 8507238..96a425f 100644 (file)
@@ -9,7 +9,7 @@
   "devDependencies": {
     "deepmerge": "1.3.2",
     "eslint": "3.12.2",
-    "eslint-config-wikimedia": "0.4.0",
+    "eslint-config-wikimedia": "0.5.0",
     "grunt": "1.0.1",
     "grunt-banana-checker": "0.6.0",
     "grunt-contrib-copy": "1.0.0",
index cabea09..4c5266e 100644 (file)
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -9,10 +9,6 @@
                <exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
                <exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfter" />
                <exclude name="MediaWiki.Commenting.FunctionComment.ParamNameNoMatch" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.NotShortBoolReturn" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.NotShortIntReturn" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.NotShortBoolParam" />
-               <exclude name="MediaWiki.Commenting.FunctionComment.NotShortIntParam" />
                <exclude name="MediaWiki.Commenting.FunctionComment.ExtraParamComment" />
                <exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
                <exclude name="MediaWiki.Commenting.IllegalSingleLineComment.IllegalSingleLineCommentStart" />
index 09bd4dc..89eab94 100644 (file)
@@ -301,10 +301,6 @@ return [
                'scripts' => 'resources/src/jquery/jquery.mw-jump.js',
                'targets' => [ 'desktop', 'mobile' ],
        ],
-       'jquery.mwExtension' => [
-               'scripts' => 'resources/src/jquery/jquery.mwExtension.js',
-               'targets' => [ 'desktop', 'mobile' ],
-       ],
        'jquery.placeholder' => [
                'deprecated' => 'Use of "jquery.placeholder" is deprecated since MediaWiki 1.29.0',
 
@@ -1799,6 +1795,7 @@ return [
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightColorPickerWidget.js',
                        'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.LiveUpdateButtonWidget.js',
+                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js',
                        'resources/src/mediawiki.rcfilters/mw.rcfilters.HighlightColors.js',
                        'resources/src/mediawiki.rcfilters/mw.rcfilters.init.js',
                ],
@@ -1835,6 +1832,7 @@ return [
                        ],
                ],
                'messages' => [
+                       'rcfilters-tag-remove',
                        'rcfilters-activefilters',
                        'rcfilters-advancedfilters',
                        'rcfilters-group-results-by-page',
@@ -1845,6 +1843,7 @@ return [
                        'rcfilters-hours-title',
                        'rcfilters-days-show-days',
                        'rcfilters-days-show-hours',
+                       'rcfilters-highlighted-filters-list',
                        'rcfilters-quickfilters',
                        'rcfilters-quickfilters-placeholder-title',
                        'rcfilters-quickfilters-placeholder-description',
@@ -1889,6 +1888,7 @@ return [
                        'rcfilters-liveupdates-button',
                        'rcfilters-liveupdates-button-title-on',
                        'rcfilters-liveupdates-button-title-off',
+                       'rcfilters-watchlist-markSeen-button',
                        'rcfilters-other-review-tools',
                        'blanknamespace',
                        'namespaces',
diff --git a/resources/src/jquery/jquery.mwExtension.js b/resources/src/jquery/jquery.mwExtension.js
deleted file mode 100644 (file)
index 9d970ed..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * JavaScript backwards-compatibility alternatives and other convenience functions
- *
- * @deprecated since 1.26 Dated collection of miscellaneous utilities. Methods are
- *  either trivially inline, obsolete, or have a better place elsewhere.
- */
-( function ( $, mw ) {
-       $.each( {
-               trimLeft: function ( str ) {
-                       return str === null ? '' : str.toString().replace( /^\s+/, '' );
-               },
-               trimRight: function ( str ) {
-                       return str === null ?
-                               '' : str.toString().replace( /\s+$/, '' );
-               },
-               ucFirst: function ( str ) {
-                       return str.charAt( 0 ).toUpperCase() + str.slice( 1 );
-               },
-               isDomElement: function ( el ) {
-                       return !!el && !!el.nodeType;
-               },
-               isEmpty: function ( v ) {
-                       var key;
-                       if (
-                               v === '' || v === 0 || v === '0' || v === null || v === false || v === undefined
-                       ) {
-                               return true;
-                       }
-                       // the for-loop could potentially contain prototypes
-                       // to avoid that we check its length first
-                       if ( v.length === 0 ) {
-                               return true;
-                       }
-                       if ( typeof v === 'object' ) {
-                               for ( key in v ) {
-                                       return false;
-                               }
-                               return true;
-                       }
-                       return false;
-               },
-               compareArray: function ( arrThis, arrAgainst ) {
-                       var i;
-                       if ( arrThis.length !== arrAgainst.length ) {
-                               return false;
-                       }
-                       for ( i = 0; i < arrThis.length; i++ ) {
-                               if ( Array.isArray( arrThis[ i ] ) ) {
-                                       if ( !$.compareArray( arrThis[ i ], arrAgainst[ i ] ) ) {
-                                               return false;
-                                       }
-                               } else if ( arrThis[ i ] !== arrAgainst[ i ] ) {
-                                       return false;
-                               }
-                       }
-                       return true;
-               },
-               compareObject: function ( objectA, objectB ) {
-                       var prop, type;
-
-                       // Do a simple check if the types match
-                       if ( typeof objectA === typeof objectB ) {
-
-                               // Only loop over the contents if it really is an object
-                               if ( typeof objectA === 'object' ) {
-                                       // If they are aliases of the same object (ie. mw and mediaWiki) return now
-                                       if ( objectA === objectB ) {
-                                               return true;
-                                       } else {
-                                               // Iterate over each property
-                                               for ( prop in objectA ) {
-                                                       // Check if this property is also present in the other object
-                                                       if ( prop in objectB ) {
-                                                               // Compare the types of the properties
-                                                               type = typeof objectA[ prop ];
-                                                               if ( type === typeof objectB[ prop ] ) {
-                                                                       // Recursively check objects inside this one
-                                                                       switch ( type ) {
-                                                                               case 'object' :
-                                                                                       if ( !$.compareObject( objectA[ prop ], objectB[ prop ] ) ) {
-                                                                                               return false;
-                                                                                       }
-                                                                                       break;
-                                                                               case 'function' :
-                                                                                       // Functions need to be strings to compare them properly
-                                                                                       if ( objectA[ prop ].toString() !== objectB[ prop ].toString() ) {
-                                                                                               return false;
-                                                                                       }
-                                                                                       break;
-                                                                               default:
-                                                                                       // Strings, numbers
-                                                                                       if ( objectA[ prop ] !== objectB[ prop ] ) {
-                                                                                               return false;
-                                                                                       }
-                                                                                       break;
-                                                                       }
-                                                               } else {
-                                                                       return false;
-                                                               }
-                                                       } else {
-                                                               return false;
-                                                       }
-                                               }
-                                               // Check for properties in B but not in A
-                                               // This is about 15% faster (tested in Safari 5 and Firefox 3.6)
-                                               // ...than incrementing a count variable in the above and below loops
-                                               // See also: https://www.mediawiki.org/wiki/ResourceLoader/Default_modules/compareObject_test#Results
-                                               for ( prop in objectB ) {
-                                                       if ( !( prop in objectA ) ) {
-                                                               return false;
-                                                       }
-                                               }
-                                       }
-                               }
-                       } else {
-                               return false;
-                       }
-                       return true;
-               }
-       }, function ( key, value ) {
-               mw.log.deprecate( $, key, value, null, '$.' + key );
-       } );
-
-       mw.log.deprecate( $, 'escapeRE', function ( str ) {
-               return str.replace( /([\\{}()|.?*+\-^$\[\]])/g, '\\$1' ); // eslint-disable-line no-useless-escape
-       }, 'Use mediawiki.RegExp instead.', '$.escapeRE' );
-
-}( jQuery, mediaWiki ) );
index 56824f2..0ad791b 100644 (file)
@@ -1,20 +1,14 @@
 // Colors for use in mediawiki.ui and elsewhere
 
-// Although this defines many shades, be parsimonious in your own use of grays. Prefer
-// colors already in use in MediaWiki. Prefer semantic color names such as "@colorText".
+// Although this defines many shades, be parsimonious in your own use of grays.
+// Prefer semantic color names such as `@colorText` below.
 @colorGray1: #000; // darkest
 @colorGray2: #222;
-@colorGray3: #333;
 @colorGray4: #444;
 @colorGray5: #54595d;
-@colorGray6: #666;
 @colorGray7: #72777d;
-@colorGray8: #888;
-@colorGray9: #999;
 @colorGray10: #a2a9b1;
-@colorGray11: #bbb;
 @colorGray12: #c8ccd1;
-@colorGray13: #ddd;
 @colorGray14: #eaecf0;
 @colorGray15: #f8f9fa; // lightest
 @colorBaseInverted: #fff;
 
 // Form input sizes, equal to OOUI at 14px base font-size
 @sizeInputBinary: 1.5625em;
+
+// Deprecated color variables from when WikimediaUI color palette wasn't around
+// See https://wikimedia.github.io/WikimediaUI-Style-Guide/visual-style_colors.html
+@colorGray3: #333;
+@colorGray6: #666;
+@colorGray8: #888;
+@colorGray9: #999;
+@colorGray11: #bbb;
+@colorGray13: #ddd;
index f221b2b..d7042ff 100644 (file)
@@ -14,6 +14,7 @@
                this.newChangesExist = false;
                this.nextFrom = null;
                this.liveUpdate = false;
+               this.unseenWatchedChanges = false;
        };
 
        /* Initialization */
        mw.rcfilters.dm.ChangesListViewModel.prototype.update = function ( changesListContent, $fieldset, isInitialDOM, separateOldAndNew ) {
                var from = this.nextFrom;
                this.valid = true;
-               this.extractNextFrom( $fieldset );
+               if ( mw.rcfilters.featureFlags.liveUpdate ) {
+                       this.extractNextFrom( $fieldset );
+               }
+               this.checkForUnseenWatchedChanges( changesListContent );
                this.emit( 'update', changesListContent, $fieldset, isInitialDOM, separateOldAndNew ? from : null );
        };
 
                return this.liveUpdate;
        };
 
+       /**
+        * Check if some of the given changes watched and unseen
+        *
+        * @param {jQuery|string} changeslistContent
+        */
+       mw.rcfilters.dm.ChangesListViewModel.prototype.checkForUnseenWatchedChanges = function ( changeslistContent ) {
+               this.unseenWatchedChanges = changeslistContent !== 'NO_RESULTS' &&
+                       changeslistContent.find( '.mw-changeslist-line-watched' ).length > 0;
+       };
+
+       /**
+        * @return {boolean} Whether some of the current changes are watched and unseen
+        */
+       mw.rcfilters.dm.ChangesListViewModel.prototype.hasUnseenWatchedChanges = function () {
+               return this.unseenWatchedChanges;
+       };
 }( mediaWiki ) );
index c066a1f..81c8306 100644 (file)
@@ -42,7 +42,7 @@
        /**
         * Get an object representing the state of this item
         *
-        * @returns {Object} Object representing the current data state
+        * @return {Object} Object representing the current data state
         *  of the object
         */
        mw.rcfilters.dm.SavedQueryItemModel.prototype.getState = function () {
index 0085bd6..209e7c8 100644 (file)
@@ -8,11 +8,15 @@
         * @param {mw.rcfilters.dm.FiltersViewModel} filtersModel Filters view model
         * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel Changes list view model
         * @param {mw.rcfilters.dm.SavedQueriesModel} savedQueriesModel Saved queries model
+        * @param {Object} config Additional configuration
+        * @cfg {string} savedQueriesPreferenceName Where to save the saved queries
         */
-       mw.rcfilters.Controller = function MwRcfiltersController( filtersModel, changesListModel, savedQueriesModel ) {
+       mw.rcfilters.Controller = function MwRcfiltersController( filtersModel, changesListModel, savedQueriesModel, config ) {
                this.filtersModel = filtersModel;
                this.changesListModel = changesListModel;
                this.savedQueriesModel = savedQueriesModel;
+               this.savedQueriesPreferenceName = config.savedQueriesPreferenceName;
+
                this.requestCounter = {};
                this.baseFilterState = {};
                this.uriProcessor = null;
                );
 
                try {
-                       parsedSavedQueries = JSON.parse( mw.user.options.get( 'rcfilters-saved-queries' ) || '{}' );
+                       parsedSavedQueries = JSON.parse( mw.user.options.get( this.savedQueriesPreferenceName ) || '{}' );
                } catch ( err ) {
                        parsedSavedQueries = {};
                }
                        // so it gets processed
                        this.changesListModel.update(
                                $changesList.length ? $changesList : 'NO_RESULTS',
-                               $( 'fieldset.rcoptions' ).first(),
+                               $( 'fieldset.cloptions' ).first(),
                                true // We're using existing DOM elements
                        );
                }
                this.filtersModel.toggleInvertedNamespaces();
 
                if (
-                       this.filtersModel.getFiltersByView( 'namespaces' )
-                               .filter( function ( filterItem ) {
-                                       return filterItem.isSelected();
-                               } )
-                               .length
+                       this.filtersModel.getFiltersByView( 'namespaces' ).filter(
+                               function ( filterItem ) { return filterItem.isSelected(); }
+                       ).length
                ) {
                        // Only re-fetch results if there are namespace items that are actually selected
                        this.updateChangesList();
                }
 
                // Save the preference
-               new mw.Api().saveOption( 'rcfilters-saved-queries', stringified );
+               new mw.Api().saveOption( this.savedQueriesPreferenceName, stringified );
                // Update the preference for this session
-               mw.user.options.set( 'rcfilters-saved-queries', stringified );
+               mw.user.options.set( this.savedQueriesPreferenceName, stringified );
        };
 
        /**
         * Update the list of changes and notify the model
         *
         * @param {Object} [params] Extra parameters to add to the API call
-        * @param {string} [updateMode='filterChange'] One of 'filterChange', 'liveUpdate', 'showNewChanges'
+        * @param {string} [updateMode='filterChange'] One of 'filterChange', 'liveUpdate', 'showNewChanges', 'markSeen'
         * @return {jQuery.Promise} Promise that is resolved when the update is complete
         */
        mw.rcfilters.Controller.prototype.updateChangesList = function ( params, updateMode ) {
 
                return $.ajax( uri.toString(), { contentType: 'html' } )
                        .then(
-                               // Success
                                function ( html ) {
-                                       var $parsed;
+                                       var $parsed,
+                                               pieces;
+
                                        if ( !latestRequest() ) {
                                                return $.Deferred().reject();
                                        }
 
                                        $parsed = $( $.parseHTML( html ) );
 
-                                       return {
+                                       pieces = {
                                                // Changes list
                                                changes: $parsed.find( '.mw-changeslist' ).first().contents(),
                                                // Fieldset
-                                               fieldset: $parsed.find( 'fieldset.rcoptions' ).first()
+                                               fieldset: $parsed.find( 'fieldset.cloptions' ).first()
                                        };
+
+                                       // Watchlist returns 200 when there is no results
+                                       if ( pieces.changes.length === 0 ) {
+                                               pieces.changes = 'NO_RESULTS';
+                                       }
+
+                                       return pieces;
                                },
-                               // Failure
+                               // RC returns 404 when there is no results
                                function ( responseObj ) {
                                        var $parsed;
 
                                        // Force a resolve state to this promise
                                        return $.Deferred().resolve( {
                                                changes: 'NO_RESULTS',
-                                               fieldset: $parsed.find( 'fieldset.rcoptions' ).first()
+                                               fieldset: $parsed.find( 'fieldset.cloptions' ).first()
                                        } ).promise();
                                }
                        );
                        this.prevLoggedItems = filters;
                }
        };
+
+       /**
+        * Mark all changes as seen on Watchlist
+        */
+       mw.rcfilters.Controller.prototype.markAllChangesAsSeen = function () {
+               var api = new mw.Api();
+               api.postWithToken( 'csrf', {
+                       formatversion: 2,
+                       action: 'setnotificationtimestamp',
+                       entirewatchlist: true
+               } ).then( function () {
+                       this.updateChangesList( null, 'markSeen' );
+               }.bind( this ) );
+       };
 }( mediaWiki, jQuery ) );
index 701e61d..a6bce14 100644 (file)
                                topLinksCookieName = 'rcfilters-toplinks-collapsed-state',
                                topLinksCookie = mw.cookie.get( topLinksCookieName ),
                                topLinksCookieValue = topLinksCookie || 'collapsed',
+                               savedQueriesPreferenceName = mw.config.get( 'wgStructuredChangeFiltersSavedQueriesPreferenceName' ),
                                filtersModel = new mw.rcfilters.dm.FiltersViewModel(),
                                changesListModel = new mw.rcfilters.dm.ChangesListViewModel(),
                                savedQueriesModel = new mw.rcfilters.dm.SavedQueriesModel(),
-                               controller = new mw.rcfilters.Controller( filtersModel, changesListModel, savedQueriesModel ),
+                               controller = new mw.rcfilters.Controller(
+                                       filtersModel, changesListModel, savedQueriesModel,
+                                       {
+                                               savedQueriesPreferenceName: savedQueriesPreferenceName
+                                       }
+                               ),
                                $overlay = $( '<div>' )
                                        .addClass( 'mw-rcfilters-ui-overlay' ),
                                filtersWidget = new mw.rcfilters.ui.FilterWrapperWidget(
-                                       controller, filtersModel, savedQueriesModel, changesListModel, { $overlay: $overlay } );
+                                       controller, filtersModel, savedQueriesModel, changesListModel, { $overlay: $overlay } ),
+                               markSeenButton,
+                               currentPage = mw.config.get( 'wgCanonicalNamespace' ) +
+                                       ':' +
+                                       mw.config.get( 'wgCanonicalSpecialPageName' );
 
                        // TODO: The changesListWrapperWidget should be able to initialize
                        // after the model is ready.
@@ -35,7 +45,7 @@
 
                        // eslint-disable-next-line no-new
                        new mw.rcfilters.ui.FormWrapperWidget(
-                               filtersModel, changesListModel, controller, $( 'fieldset.rcoptions' ) );
+                               filtersModel, changesListModel, controller, $( 'fieldset.cloptions' ) );
 
                        $( '.rcfilters-container' ).append( filtersWidget.$element );
                        $( 'body' ).append( $overlay );
 
                        controller.replaceUrl();
 
-                       toplinksTitle = new OO.ui.ButtonWidget( {
-                               framed: false,
-                               indicator: topLinksCookieValue === 'collapsed' ? 'down' : 'up',
-                               flags: [ 'progressive' ],
-                               label: $( '<span>' ).append( mw.message( 'rcfilters-other-review-tools' ).parse() ).contents()
-                       } );
-                       $( '.mw-recentchanges-toplinks-title' ).replaceWith( toplinksTitle.$element );
-                       // Move the top links to a designated area so it's near the
-                       // 'saved filters' button and make it collapsible
-                       $( '.mw-recentchanges-toplinks' )
-                               .addClass( 'mw-rcfilters-ui-ready' )
-                               .makeCollapsible( {
-                                       collapsed: topLinksCookieValue === 'collapsed',
-                                       $customTogglers: toplinksTitle.$element
-                               } )
-                               .on( 'beforeExpand.mw-collapsible', function () {
-                                       mw.cookie.set( topLinksCookieName, 'expanded' );
-                                       toplinksTitle.setIndicator( 'up' );
-                               } )
-                               .on( 'beforeCollapse.mw-collapsible', function () {
-                                       mw.cookie.set( topLinksCookieName, 'collapsed' );
-                                       toplinksTitle.setIndicator( 'down' );
-                               } )
-                               .appendTo( '.mw-rcfilters-ui-filterWrapperWidget-top-placeholder' );
+                       if ( currentPage === 'Special:Recentchanges' ) {
+                               toplinksTitle = new OO.ui.ButtonWidget( {
+                                       framed: false,
+                                       indicator: topLinksCookieValue === 'collapsed' ? 'down' : 'up',
+                                       flags: [ 'progressive' ],
+                                       label: $( '<span>' ).append( mw.message( 'rcfilters-other-review-tools' ).parse() ).contents()
+                               } );
+                               $( '.mw-recentchanges-toplinks-title' ).replaceWith( toplinksTitle.$element );
+                               // Move the top links to a designated area so it's near the
+                               // 'saved filters' button and make it collapsible
+                               $( '.mw-recentchanges-toplinks' )
+                                       .addClass( 'mw-rcfilters-ui-ready' )
+                                       .makeCollapsible( {
+                                               collapsed: topLinksCookieValue === 'collapsed',
+                                               $customTogglers: toplinksTitle.$element
+                                       } )
+                                       .on( 'beforeExpand.mw-collapsible', function () {
+                                               mw.cookie.set( topLinksCookieName, 'expanded' );
+                                               toplinksTitle.setIndicator( 'up' );
+                                       } )
+                                       .on( 'beforeCollapse.mw-collapsible', function () {
+                                               mw.cookie.set( topLinksCookieName, 'collapsed' );
+                                               toplinksTitle.setIndicator( 'down' );
+                                       } )
+                                       .appendTo( '.mw-rcfilters-ui-filterWrapperWidget-top-placeholder' );
+                       } // end Special:RC
+
+                       if ( currentPage === 'Special:Watchlist' ) {
+                               markSeenButton = new mw.rcfilters.ui.MarkSeenButtonWidget( controller, changesListModel );
+                               $( 'form#mw-watchlist-resetbutton' ).detach();
+                               filtersWidget.prependToTopRow( markSeenButton );
+                       } // end Special:WL
                }
        };
 
index 7bdc2a2..e39be6c 100644 (file)
@@ -46,7 +46,8 @@
                        }
                },
                featureFlags: {
-                       liveUpdate: mw.config.get( 'wgStructuredChangeFiltersEnableLiveUpdate' ) || new mw.Uri().query.liveupdate
+                       liveUpdate: mw.config.get( 'wgStructuredChangeFiltersLiveUpdateSupported' ) &&
+                               ( mw.config.get( 'wgStructuredChangeFiltersEnableLiveUpdate' ) || new mw.Uri().query.liveupdate )
                }
        };
 }( mediaWiki ) );
index ef29655..d5528e1 100644 (file)
@@ -3,7 +3,7 @@
 
 // Corrections for the standard special page
 .client-js {
-       .rcoptions {
+       .cloptions {
                border: 0;
        }
 
@@ -38,7 +38,7 @@
                        opacity: 0.5;
                        pointer-events: none;
 
-                       .rcoptions {
+                       .cloptions {
                                display: none;
                        }
                }
index 4a7c3f8..667f528 100644 (file)
@@ -9,6 +9,15 @@
 
        &-buttonSelect {
                &-color {
+                       // Override OOUI definition from padded popup; the definition
+                       // forces the first-child to be margin-top:0; which overrides
+                       // our definitions below where margin is 0.5em.
+                       // We set up the margin-top as 0.5em for all circles so we get
+                       // a consistent result
+                       &.oo-ui-widget-enabled.oo-ui-optionWidget.oo-ui-buttonElement.oo-ui-buttonElement-frameless.oo-ui-buttonOptionWidget {
+                               margin-top: 0.5em;
+                       }
+
                        // Make the rule much more specific to override OOUI
                        .oo-ui-iconElement-icon.oo-ui-icon-check {
                                // Override OOUI icon dimensions
index ba3ca97..955e01d 100644 (file)
@@ -48,7 +48,9 @@
                // Set up highlight containers
                this.setupHighlightContainers( this.$element );
 
-               this.setupNewChangesButtonContainer( this.$element );
+               if ( mw.rcfilters.featureFlags.liveUpdate ) {
+                       this.setupNewChangesButtonContainer( this.$element );
+               }
        };
 
        /* Initialization */
                }
 
                this.filtersViewModel.getHighlightedItems().forEach( function ( filterItem ) {
+                       var $elements = this.$element.find( '.' + filterItem.getCssClass() );
+
                        // Add highlight class to all highlighted list items
-                       this.$element.find( '.' + filterItem.getCssClass() )
+                       $elements
                                .addClass( 'mw-rcfilters-highlight-color-' + filterItem.getHighlightColor() );
+
+                       $elements.each( function () {
+                               var filterString = $( this ).attr( 'data-highlightedFilters' ) || '',
+                                       filters = filterString ? filterString.split( '|' ) : [];
+
+                               if ( filters.indexOf( filterItem.getLabel() ) === -1 ) {
+                                       filters.push( filterItem.getLabel() );
+                               }
+
+                               $( this )
+                                       .attr( 'data-highlightedFilters', filters.join( '|' ) );
+                       } );
                }.bind( this ) );
+               // Apply a title for relevant filters
+               this.$element.find( '[data-highlightedFilters]' ).each( function () {
+                       var filterString = $( this ).attr( 'data-highlightedFilters' ) || '',
+                               filters = filterString ? filterString.split( '|' ) : [];
+
+                       if ( filterString ) {
+                               $( this ).attr( 'title', mw.msg( 'rcfilters-highlighted-filters-list', filters.join( ', ' ) ) );
+                       }
+               } );
 
                // Turn on highlights
                this.$element.addClass( 'mw-rcfilters-ui-changesListWrapperWidget-highlighted' );
                        this.$element.find( '.mw-rcfilters-highlight-color-' + color ).removeClass( 'mw-rcfilters-highlight-color-' + color );
                }.bind( this ) );
 
+               this.$element.find( '[data-highlightedFilters]' )
+                       .removeAttr( 'title' )
+                       .removeAttr( 'data-highlightedFilters' );
                // Turn off highlights
                this.$element.removeClass( 'mw-rcfilters-ui-changesListWrapperWidget-highlighted' );
        };
index 8f8ca38..c3af7c5 100644 (file)
@@ -17,7 +17,7 @@
        mw.rcfilters.ui.FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget(
                controller, model, savedQueriesModel, changesListModel, config
        ) {
-               var $top, $topRow, $bottom;
+               var $top, $bottom;
                config = config || {};
 
                // Parent
@@ -59,7 +59,7 @@
                );
 
                // Initialize
-               $topRow = $( '<div>' )
+               this.$topRow = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-row' )
                        .append(
                                $( '<div>' )
@@ -69,7 +69,7 @@
                $top = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top' )
                        .addClass( 'mw-rcfilters-ui-table' )
-                       .append( $topRow );
+                       .append( this.$topRow );
 
                $bottom = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-filterWrapperWidget-bottom' )
@@ -84,7 +84,7 @@
                        { $overlay: this.$overlay }
                );
 
-               $topRow.append(
+               this.$topRow.append(
                        $( '<div>' )
                                .addClass( 'mw-rcfilters-ui-cell' )
                                .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
 
        OO.inheritClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.Widget );
        OO.mixinClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.mixin.PendingElement );
+
+       /* Methods */
+
+       /**
+        * Add a widget at the beginning of the top row
+        *
+        * @param {OO.ui.Widget} widget Any widget
+        */
+       mw.rcfilters.ui.FilterWrapperWidget.prototype.prependToTopRow = function ( widget ) {
+               this.$topRow.prepend(
+                       widget.$element
+                               .addClass( 'mw-rcfilters-ui-cell' )
+               );
+       };
+
 }( mediaWiki ) );
index 82992fb..5a64edd 100644 (file)
         * Clean up the old-style show/hide that we have implemented in the filter list
         */
        mw.rcfilters.ui.FormWrapperWidget.prototype.cleanUpFieldset = function () {
-               var $namespaceSelect = this.$element.find( '#namespace' );
-
-               this.$element.find( '.rcshowhideoption[data-feature-in-structured-ui=1]' ).each( function () {
+               this.$element.find( '.clshowhideoption[data-feature-in-structured-ui=1]' ).each( function () {
                        // HACK: Remove the text node after the span.
                        // If there isn't one, we're at the end, so remove the text node before the span.
                        // This would be unnecessary if we added separators with CSS.
                } );
 
                // Hide namespaces and tags
-               $namespaceSelect.closest( 'tr' ).detach();
+               this.$element.find( '.namespaceForm' ).detach();
                this.$element.find( '.mw-tagfilter-label' ).closest( 'tr' ).detach();
 
-               // Hide limit and days
-               this.$element.find( '.rclinks' ).detach();
+               // misc: limit, days, watchlist info msg
+               this.$element.find( '.rclinks, .cldays, .wlinfo' ).detach();
 
                if ( !this.$element.find( '.mw-recentchanges-table tr' ).length ) {
                        this.$element.find( '.mw-recentchanges-table' ).detach();
                        this.$element.find( 'br' ).detach();
                }
 
+               if ( this.$element.find( '.cloption' ).text().trim() === '' ) {
+                       this.$element.find( '.cloption-submit' ).detach();
+               }
+
                if ( mw.rcfilters.featureFlags.liveUpdate ) {
                        this.$element.find(
-                               'legend, .rclistfrom, .rcnotefrom, .rcoptions-listfromreset'
+                               '.rclistfrom, .rcnotefrom, .rcoptions-listfromreset'
                        ).detach();
                }
 
-               if ( this.$element.text().trim() === '' ) {
+               if ( this.$element.text().trim() === this.$element.find( 'legend' ).text() ) {
                        this.$element.detach();
                }
        };
diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js
new file mode 100644 (file)
index 0000000..073cd1e
--- /dev/null
@@ -0,0 +1,55 @@
+( function ( mw ) {
+       /**
+        * Button for marking all changes as seen on the Watchlist
+        *
+        * @extends OO.ui.ButtonWidget
+        *
+        * @constructor
+        * @param {mw.rcfilters.Controller} controller
+        * @param {mw.rcfilters.dm.ChangesListViewModel} model Changes list view model
+        * @param {Object} [config] Configuration object
+        */
+       mw.rcfilters.ui.MarkSeenButtonWidget = function MwRcfiltersUiMarkSeenButtonWidget( controller, model, config ) {
+               config = config || {};
+
+               // Parent
+               mw.rcfilters.ui.MarkSeenButtonWidget.parent.call( this, $.extend( {
+                       label: mw.message( 'rcfilters-watchlist-markSeen-button' ).text(),
+                       icon: 'doubleCheck'
+               }, config ) );
+
+               this.controller = controller;
+               this.model = model;
+
+               // Events
+               this.connect( this, { click: 'onClick' } );
+               this.model.connect( this, { update: 'onModelUpdate' } );
+
+               this.$element.addClass( 'mw-rcfilters-ui-markSeenButtonWidget' );
+
+               this.onModelUpdate();
+       };
+
+       /* Initialization */
+
+       OO.inheritClass( mw.rcfilters.ui.MarkSeenButtonWidget, OO.ui.ButtonWidget );
+
+       /* Methods */
+
+       /**
+        * Respond to the button being clicked
+        */
+       mw.rcfilters.ui.MarkSeenButtonWidget.prototype.onClick = function () {
+               this.controller.markAllChangesAsSeen();
+               // assume there's no more unseen changes until the next model update
+               this.setDisabled( true );
+       };
+
+       /**
+        * Respond to the model being updated with new changes
+        */
+       mw.rcfilters.ui.MarkSeenButtonWidget.prototype.onModelUpdate = function () {
+               this.setDisabled( !this.model.hasUnseenWatchedChanges() );
+       };
+
+}( mediaWiki ) );
index 70a2227..bb837e0 100644 (file)
         * Respond to input keyup event, this is the way to intercept 'escape' key
         *
         * @param {jQuery.Event} e Event data
-        * @returns {boolean} false
+        * @return {boolean} false
         */
        mw.rcfilters.ui.SaveFiltersPopupButtonWidget.prototype.onInputKeyup = function ( e ) {
                if ( e.which === OO.ui.Keys.ESCAPE ) {
index cac1059..3655c16 100644 (file)
         * Respond to input keyup event, this is the way to intercept 'escape' key
         *
         * @param {jQuery.Event} e Event data
-        * @returns {boolean} false
+        * @return {boolean} false
         */
        mw.rcfilters.ui.SavedLinksListItemWidget.prototype.onInputKeyup = function ( e ) {
                if ( e.which === OO.ui.Keys.ESCAPE ) {
        /**
         * Get item ID
         *
-        * @returns {string} Query identifier
+        * @return {string} Query identifier
         */
        mw.rcfilters.ui.SavedLinksListItemWidget.prototype.getID = function () {
                return this.model.getID();
index bf75149..81889b2 100644 (file)
@@ -48,6 +48,9 @@
                this.$highlight = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-tagItemWidget-highlight' );
 
+               // Add title attribute with the item label to 'x' button
+               this.closeButton.setTitle( mw.msg( 'rcfilters-tag-remove', this.model.getLabel() ) );
+
                // Events
                this.model.connect( this, { update: 'onModelUpdate' } );
 
index 1d53344..97c3c05 100644 (file)
@@ -527,7 +527,7 @@ class ParserTestRunner {
         * Determine whether a particular setup function has been run
         *
         * @param string $funcName
-        * @return boolean
+        * @return bool
         */
        public function isSetupDone( $funcName ) {
                return isset( $this->setupDone[$funcName] ) ? $this->setupDone[$funcName] : false;
diff --git a/tests/phpunit/includes/db/LoadBalancerTest.php b/tests/phpunit/includes/db/LoadBalancerTest.php
new file mode 100644 (file)
index 0000000..f8ab7f4
--- /dev/null
@@ -0,0 +1,135 @@
+<?php
+
+use Wikimedia\Rdbms\LoadBalancer;
+
+/**
+ * Holds tests for LoadBalancer MediaWiki class.
+ *
+ * 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
+ *
+ * @group Database
+ * @file
+ */
+class LoadBalancerTest extends MediaWikiTestCase {
+       public function testLBSimpleServer() {
+               global $wgDBserver, $wgDBname, $wgDBuser, $wgDBpassword, $wgDBtype, $wgSQLiteDataDir;
+
+               $servers = [
+                       [
+                               'host'        => $wgDBserver,
+                               'dbname'      => $wgDBname,
+                               'user'        => $wgDBuser,
+                               'password'    => $wgDBpassword,
+                               'type'        => $wgDBtype,
+                               'dbDirectory' => $wgSQLiteDataDir,
+                               'load'        => 0,
+                               'flags'       => DBO_TRX // REPEATABLE-READ for consistency
+                       ],
+               ];
+
+               $lb = new LoadBalancer( [
+                       'servers' => $servers,
+                       'localDomain' => wfWikiID()
+               ] );
+
+               $dbw = $lb->getConnection( DB_MASTER );
+               $this->assertTrue( $dbw->getLBInfo( 'master' ), 'master shows as master' );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set on master" );
+
+               $dbr = $lb->getConnection( DB_REPLICA );
+               $this->assertTrue( $dbr->getLBInfo( 'master' ), 'DB_REPLICA also gets the master' );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set on replica" );
+
+               $dbwAuto = $lb->getConnection( DB_MASTER, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertFalse( $dbwAuto->getFlag( $dbw::DBO_TRX ), "No DBO_TRX with CONN_TRX_AUTO" );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX still set on master" );
+               $this->assertNotEquals( $dbw, $dbwAuto, "CONN_TRX_AUTO uses separate connection" );
+
+               $dbrAuto = $lb->getConnection( DB_REPLICA, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertFalse( $dbrAuto->getFlag( $dbw::DBO_TRX ), "No DBO_TRX with CONN_TRX_AUTO" );
+               $this->assertTrue( $dbr->getFlag( $dbw::DBO_TRX ), "DBO_TRX still set on replica" );
+               $this->assertNotEquals( $dbr, $dbrAuto, "CONN_TRX_AUTO uses separate connection" );
+
+               $dbwAuto2 = $lb->getConnection( DB_MASTER, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertEquals( $dbwAuto2, $dbwAuto, "CONN_TRX_AUTO reuses connections" );
+
+               $lb->closeAll();
+       }
+
+       public function testLBSimpleServers() {
+               global $wgDBserver, $wgDBname, $wgDBuser, $wgDBpassword, $wgDBtype, $wgSQLiteDataDir;
+
+               $servers = [
+                       [ // master
+                               'host'        => $wgDBserver,
+                               'dbname'      => $wgDBname,
+                               'user'        => $wgDBuser,
+                               'password'    => $wgDBpassword,
+                               'type'        => $wgDBtype,
+                               'dbDirectory' => $wgSQLiteDataDir,
+                               'load'        => 0,
+                               'flags'       => DBO_TRX // REPEATABLE-READ for consistency
+                       ],
+                       [ // emulated slave
+                               'host'        => $wgDBserver,
+                               'dbname'      => $wgDBname,
+                               'user'        => $wgDBuser,
+                               'password'    => $wgDBpassword,
+                               'type'        => $wgDBtype,
+                               'dbDirectory' => $wgSQLiteDataDir,
+                               'load'        => 100,
+                               'flags'       => DBO_TRX // REPEATABLE-READ for consistency
+                       ]
+               ];
+
+               $lb = new LoadBalancer( [
+                       'servers' => $servers,
+                       'localDomain' => wfWikiID(),
+                       'loadMonitorClass' => 'LoadMonitorNull'
+               ] );
+
+               $dbw = $lb->getConnection( DB_MASTER );
+               $this->assertTrue( $dbw->getLBInfo( 'master' ), 'master shows as master' );
+               $this->assertEquals(
+                       ( $wgDBserver != '' ) ? $wgDBserver : 'localhost',
+                       $dbw->getLBInfo( 'clusterMasterHost' ),
+                       'cluster master set' );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set on master" );
+
+               $dbr = $lb->getConnection( DB_REPLICA );
+               $this->assertTrue( $dbr->getLBInfo( 'replica' ), 'slave shows as slave' );
+               $this->assertEquals(
+                       ( $wgDBserver != '' ) ? $wgDBserver : 'localhost',
+                       $dbr->getLBInfo( 'clusterMasterHost' ),
+                       'cluster master set' );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set on replica" );
+
+               $dbwAuto = $lb->getConnection( DB_MASTER, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertFalse( $dbwAuto->getFlag( $dbw::DBO_TRX ), "No DBO_TRX with CONN_TRX_AUTO" );
+               $this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX still set on master" );
+               $this->assertNotEquals( $dbw, $dbwAuto, "CONN_TRX_AUTO uses separate connection" );
+
+               $dbrAuto = $lb->getConnection( DB_REPLICA, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertFalse( $dbrAuto->getFlag( $dbw::DBO_TRX ), "No DBO_TRX with CONN_TRX_AUTO" );
+               $this->assertTrue( $dbr->getFlag( $dbw::DBO_TRX ), "DBO_TRX still set on replica" );
+               $this->assertNotEquals( $dbr, $dbrAuto, "CONN_TRX_AUTO uses separate connection" );
+
+               $dbwAuto2 = $lb->getConnection( DB_MASTER, [], false, $lb::CONN_TRX_AUTO );
+               $this->assertEquals( $dbwAuto2, $dbwAuto, "CONN_TRX_AUTO reuses connections" );
+
+               $lb->closeAll();
+       }
+}
index 58a6d38..881ace2 100644 (file)
@@ -28,7 +28,7 @@ class WANObjectCacheTest extends PHPUnit_Framework_TestCase {
         * @covers WANObjectCache::get()
         * @covers WANObjectCache::makeKey()
         * @param mixed $value
-        * @param integer $ttl
+        * @param int $ttl
         */
        public function testSetAndGet( $value, $ttl ) {
                $curTTL = null;
index ee3cd5b..7367560 100644 (file)
@@ -56,7 +56,6 @@ return [
                        'tests/qunit/suites/resources/jquery/jquery.highlightText.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.localize.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js',
-                       'tests/qunit/suites/resources/jquery/jquery.mwExtension.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.tabIndex.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js',
                        'tests/qunit/suites/resources/jquery/jquery.tablesorter.parsers.test.js',
@@ -112,7 +111,6 @@ return [
                        'jquery.highlightText',
                        'jquery.localize',
                        'jquery.makeCollapsible',
-                       'jquery.mwExtension',
                        'jquery.tabIndex',
                        'jquery.tablesorter',
                        'jquery.textSelection',
diff --git a/tests/qunit/suites/resources/jquery/jquery.mwExtension.test.js b/tests/qunit/suites/resources/jquery/jquery.mwExtension.test.js
deleted file mode 100644 (file)
index aeda516..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-( function ( $ ) {
-       QUnit.module( 'jquery.mwExtension', QUnit.newMwEnvironment( {
-               // This entire module is deprecated.
-               // Surpress deprecation warnings in test output.
-               setup: function () {
-                       this.suppressWarnings();
-               },
-               teardown: function () {
-                       this.restoreWarnings();
-               }
-       } ) );
-
-       QUnit.test( 'String functions', function ( assert ) {
-               assert.equal( $.trimLeft( '  foo bar  ' ), 'foo bar  ', 'trimLeft' );
-               assert.equal( $.trimRight( '  foo bar  ' ), '  foo bar', 'trimRight' );
-               assert.equal( $.ucFirst( 'foo' ), 'Foo', 'ucFirst' );
-
-               assert.equal( $.escapeRE( '<!-- ([{+mW+}]) $^|?>' ),
-                       '<!\\-\\- \\(\\[\\{\\+mW\\+\\}\\]\\) \\$\\^\\|\\?>', 'escapeRE - Escape specials' );
-               assert.equal( $.escapeRE( 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ),
-                       'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'escapeRE - Leave uppercase alone' );
-               assert.equal( $.escapeRE( 'abcdefghijklmnopqrstuvwxyz' ),
-                       'abcdefghijklmnopqrstuvwxyz', 'escapeRE - Leave lowercase alone' );
-               assert.equal( $.escapeRE( '0123456789' ), '0123456789', 'escapeRE - Leave numbers alone' );
-       } );
-
-       QUnit.test( 'isDomElement', function ( assert ) {
-               assert.strictEqual( $.isDomElement( document.createElement( 'div' ) ), true,
-                       'isDomElement: HTMLElement' );
-               assert.strictEqual( $.isDomElement( document.createTextNode( '' ) ), true,
-                       'isDomElement: TextNode' );
-               assert.strictEqual( $.isDomElement( null ), false,
-                       'isDomElement: null' );
-               assert.strictEqual( $.isDomElement( document.getElementsByTagName( 'div' ) ), false,
-                       'isDomElement: NodeList' );
-               assert.strictEqual( $.isDomElement( $( 'div' ) ), false,
-                       'isDomElement: jQuery' );
-               assert.strictEqual( $.isDomElement( { foo: 1 } ), false,
-                       'isDomElement: Plain Object' );
-       } );
-
-       QUnit.test( 'isEmpty', function ( assert ) {
-               assert.strictEqual( $.isEmpty( 'string' ), false, 'isEmpty: "string"' );
-               assert.strictEqual( $.isEmpty( '0' ), true, 'isEmpty: "0"' );
-               assert.strictEqual( $.isEmpty( '' ), true, 'isEmpty: ""' );
-               assert.strictEqual( $.isEmpty( 1 ), false, 'isEmpty: 1' );
-               assert.strictEqual( $.isEmpty( [] ), true, 'isEmpty: []' );
-               assert.strictEqual( $.isEmpty( {} ), true, 'isEmpty: {}' );
-
-               // Documented behavior
-               assert.strictEqual( $.isEmpty( { length: 0 } ), true, 'isEmpty: { length: 0 }' );
-       } );
-
-       QUnit.test( 'Comparison functions', function ( assert ) {
-               assert.ok( $.compareArray( [ 0, 'a', [], [ 2, 'b' ] ], [ 0, 'a', [], [ 2, 'b' ] ] ),
-                       'compareArray: Two deep arrays that are excactly the same' );
-               assert.ok( !$.compareArray( [ 1 ], [ 2 ] ), 'compareArray: Two different arrays (false)' );
-
-               assert.ok( $.compareObject( {}, {} ), 'compareObject: Two empty objects' );
-               assert.ok( $.compareObject( { foo: 1 }, { foo: 1 } ), 'compareObject: Two the same objects' );
-               assert.ok( !$.compareObject( { bar: true }, { baz: false } ),
-                       'compareObject: Two different objects (false)' );
-       } );
-}( jQuery ) );